IS 341

Business Systems Analysis

Chapter 1 - Notes

The Systems Development Environment

 

I.  What Is Systems Analysis and Design?  Basically, it is the process of developing and maintaining an information system. 

          System – a group of interrelated elements working together to accomplish a specific goal or task

          Analysis – a study of the CURRENT system, a look backward at what already exists

          Design – moving forward to something new; putting together all the elements identified in the analysis process to create a new system

          A.  It is done for a PURPOSE – a Business purpose ($$).

          B.  The system collects Data from within & without the organization and uses this data to produce Information that is useful to the organization.  The particular Data and Information depend on:

                   1.  The organizations’ objectives, structure, and processes; and

                   2.  How the organization decides to exploit information technologies for Competitive Advantage.

          C.  Success in this endeavor is usually accomplished by following a Structured approach such as the SDLC.

 

II.  Systems Analysis and Design:  Core Concepts

          A.  Application Software – does a specific job for the user.

          B.  Information Systems – all of the hardware, software, documentation controls, and persons (both developers and users) involved in collecting and processing the data being turned into information in a specific situation.

          C.  Organizational approach to SAD – a specific combination of three elements that works well for a particular organization or in a specific setting (note this is a Business approach, not a Techie approach)

                   1.  Methodology – a step-by-step approach to solving a specific problem

                   2.  Technique – processes that you follow to ensure that your work is well thought-out, complete, and comprehensible to others.

                   3.  Tools – software (e.g., CASE tools) that make it easier to use specific techniques.

 

III.  Systems

          A.  Definition of a System and Its Parts

          System – a group of interrelated elements working together to accomplish a specific goal or task; has nine (9) characteristics

                   1.  Components – irreducible parts or group of parts (subsystems) that makes up the system

                   2.  Interrelated – dependence of one part on one or more other parts of the system

                   3.  Boundary – demarcation that separates the system from everything outside the system

                   4.  Purpose – the overall goal or function of the system

                   5.  Environment – everything external to the system with which the systems does or may interact

                   6.  Interface – point of contact where system meets environment (or where two subsystems meet)

                   7.  Constraint – a limitation;

Three basic (most common) constraints:  Time, Finances (Money), People

                   8.  Inputs

                   9.  Outputs

          B.  Important System Concepts

                   1.  Decomposition – breaking sown a system into its smaller components

                             a.  smaller parts are easier to understand and more manageable

                             b.  Focus attention on one area (subsystem) at a time

                             c.  Focus attention on one group of users at a time

                             d.  Build different parts of the system at different times (or different groups building different parts at the same time)

                   2.  Modularity – dividing a system into chunks (modules) of the same size

                   3.  Coupling – the extent to which modules depend on each other; modules should be as lightly coupled (independent) of each other as possible so that a failure in one will not bring down the other modules

                   4.  Cohesion – the extent to which a subsystem performs a single function; each subsystem should exhibit high cohesion (should only have a single function)

 

IV.  A Modern Approach to Systems Analysis and Design

Systems Integration – a major focus today which allows hardware & software from different vendors to work together in an application

A.  Your Role in Systems Development – the primary role of the Systems Analyst is to study the problems and needs of an organization in order to determine how people, methods, and information technology can best be combined to bring about improvements in the organization.  BUSINESS FOCUS!

          Systems Analysts in Systems Development – need four (4) skills:

                   1.  Analytical – to understand the organization, and to identify problems and opportunities (“systems thinking”)

                   2.  Technical – understand the potentials and limitations of technology

                   3.  Managerial – manage projects, resources, risk, and change

                   4.  Interpersonal skills – work with all kinds of people, end users as well as other technicians (programmers and analysts)

NOTE:  Business Process Redesign (BPR) – examining a firm’s basic processes (how it goes about doing business) with the idea of improving those processes, discovering better processes, or doing business in a completely new manner.

          3 methodologies of BPR:  Restructuring, Reverse Engineering, Re-Engineering

 

V.  Developing Information Systems and the Systems Development Life Cycle

          Systems Development Methodology – standard process followed in an organization to conduct all the steps necessary to [plan,] analyze, design, implement, & maintain information systems.

          Systems Development Life Cycle (SDLC) – The series of steps used to mark the phases of development for an information system.  A logical process used (by analysts, etc.) to build information systems/applications to solve business problems/needs.

          A.  Phase 1:  Systems Planning and Selection – the organization’s total information (system) needs are analyzed; potential information systems projects are identified to solve those needs; arguments are presented for (not) continuing with the project(s); two (2) primary activities:

                   1.  Identify needs and possible solutions (systems) to those needs; written requests for solutions, and feasibility study for a solution

                   2.  Investigate the proposed system and determine its scope, written plans for solutions, estimates of needed resources to proceed

          B.  Phase 2:  Systems Analysis – current systems are studied and alternative systems are proposed

                   1.  Determine requirements of the new system (what do users want?)

                   2.  Study/structure/arrange requirements (full understanding)

                   3.  Generate alternative solutions to match the requirements

          C.  Phase 3:  Systems Design – the system chosen in the analysis phase is described independently of any computer platform (logical/conceptual design) and is transformed into technology-specific details (physical design) for future programming and construction

                   1. Logical/Conceptual Design – theoretical, can be implemented on any hardware; focus on the Business aspects/requirements of the system

                   2.  Physical Design – break down the logical specifications into smaller and smaller units that can be converted into instructions in a programming language, and applied to specific hardware platforms

          D.  Phase 4:  Systems Implementation and Maintenance [NOT Operation!] – the system is coded, tested, installed, then repaired and improved

          (NOTE:  Operation does _NOT_ belong here!  See Phase 5)

          E.  Phase 5:  Systems Operation and Maintenance – longest phase, system is utilized by users, maintenance and upgrades are provided as needed

 

VII.  Approaches to Development

A.               Prototyping – a working model, a scaled-down version of the system;

1.  Advantages of Prototyping:

a.  It involves the user directly in the development process; 

b.  It captures requirements in concrete form, rather than abstract/verbal form.

2.  Types of Prototypes:

                             a.  Type I – a working model that’s gets bigger and bigger and eventually becomes the system itself

                             b.  Type II – a throw-away model used to demonstrate key elements of the system to users; once it is approved, throw away the prototype then develop the new system in a real programming language

B.  Computer-Aided Software Engineering (CASE) Tools – automated software tools (programs) used to develop information systems.  They automate/support various activities throughout the development process.

          1.  Repository – centralized database that contains absolutely everything about the project

          2.  Types of CASE tools:

                   a.  Diagramming (Modeling) tools – graphically represent data, processes, control structures, etc.

                   b.  Report Generators – both display and print reports, speeds prototyping

                   c.  Analysis tools – check for incomplete, inconsistent, or incorrect specifications

                   d.  Central Repository – enables integrated storage of all parts of the specifications, diagrams, reports, project management information

                   e.  Document Generators – produce technical and user documentation

                   f.  Code Generators – automatics generation of program and database definition code directly from design documentation

          C.  Joint Application Design (JAD – IBM, early 1970’s) – structured (FORMAL!) process where users, managers and analysts work together in intensive meetings to specify/structure/review systems requirements (versus Brainstorming); includes Facilitator, Agenda, Time Limits

          D.  Rapid Application Design (RAD) – supported by CASE, Prototyping, and JAD;

Delays producing detailed system design documents until user requirements are clear;

methodology which uses prototypes for very quickly building/rebuilding systems while working closely with users by gaining user acceptance of interfaces and key system capabilities; may overlook key systems development principles by going too quickly & cause problems later (i.e., sacrifices computer efficiency for gains in human efficiency)

          E.  Participatory Design (PD – northern European idea, where labor roles are different from North America) – alternative to SDLC focusing on users and improvement of their work-lives; users (or their representatives) make decisions about needs and solutions.  Users make the decisions about needs and solutions – generally, the systems analysts work for the users (reverses roles of users and management).

          F.  Agile Methodologies – development methodologies with short iterative cycles, extensive testing, and active user involvement; many new ideas on how to shorten delivery time, improve quality, and lower delivery costs (remember the 3 ways your boss always wants a project?  See introductory notes)

          Three key principles:

1.  Focus on adaptive rather than predictive methodologies

2.  Focus on People rather than roles

3.  As methodologies are applied, they are adapted to a particular need/context