C H A P T E R 5 SYSTEMS ANALYSIS Overview of Remaining Chapters in Systems Analysis Chapters 6 -10 1
Chapter Five Systems Analysis n Define systems analysis and relate the term to the Preliminary Analysis (preliminary investigation, problem analysis), requirements analysis, and decision analysis phases of the systems development methodology. n Describe a number of systems analysis approaches for solving business system problems. n Describe the Preliminary Analysis, Requirements Analysis, and decision analysis phases in terms of your information system building blocks. n n Describe the Systems Analysis phases in terms of purpose, participants, inputs, outputs, techniques, and steps. NOTE: This chapter teaches only the process of systems analysis. The 2 tools and techniques will be taught in the subsequent five chapters.
Chapter Map Note: Primary Stakeholders are Owners & Users – for Prelim Analysis and Requirements Analysis – work with Systems and Business Analysts 3
Systems Analysis vs. Systems Design Systems Analysis is a problem-solving technique that decomposes a system into its component pieces for the purpose of studying how well those component parts work and interact to accomplish their purpose. Systems Design (also called systems synthesis) is a complementary problem-solving technique (to systems analysis) that reassembles a system’s component pieces back into a complete system—hopefully, an improved system. This may involves adding, deleting, and changing pieces relative to the original system. The Hows and the Whats Problem-based; Solution-based. 4
Systems Analysis and Design n Systems Analysis - early phases of software development. All about Problem Solving!!! n Systems Analysis is defined as those development phases in a project that primarily focus on the business problem, independent of any technology to implement a solution to that problem. n No industry-wide total acceptance of a definition of systems analysis or design either. n Systems Analysts serve as facilitators of systems analysis. 5
Context of Systems Analysis Note the elements constituting traditional “Systems Analysis. ” Pre lim ina First deliverable ry A nal ysis Second thru fourth deliverable Fifth Deliverable = a system proposal 6
Repository ¨A Repository is a location (or set of locations) where systems analysts, systems designers, and system builders keep all of the documentation associated with one or more systems or projects. ¨Will contain all your materials – even worksheets used for decision making…. 7
Model-Driven Analysis Methods Common approaches to solving problem include structured analysis, information engineering, object-oriented analysis, and rapid-application development (prototyping). The first three of these are Model-Driven Approaches to Analysis. Model-driven analysis emphasizes the drawing of pictorial system models to document and validate both existing and/or proposed systems. Ultimately, the system model becomes the blueprint for designing and constructing an improved system. A model is a (graphical) representation of either reality or vision. Just as “a picture is worth a thousand words, ” most models use pictures to represent the reality or vision. Nowadays almost always accommodated by automated tools. 8
Model-Driven Methods – Example 1 Structured Analysis is a model-driven, process-centered technique used to either analyze an existing system, define business requirements for a new system, or both. The models are pictures that illustrate the system’s component pieces: processes and their associated inputs, outputs, and files. . still one of the most widely used approaches today!!!. Emphasis is on the Process Building Blocks – always been the primary focus. . Building blocks are processes and these are modeled by Data Flow Diagrams (DFDs). Show Processes and their inputs, outputs and files. . Processes are ultimately implemented as programs. 9
More on Structured Analysis… Because of renewed emphasis on business process redesign, DFDs are studying their fundamental processes to improve throughput, performance, and customer service while reducing waste and other inefficiencies. DFDs are used to model business processes and data flow. Information engineering is more complex and comprehensive than the oversimplified presentation in this edition’s chapter. Few organizations that still practice pure IE. Many organizations still practice data-driven analysis and design. 10
A Simple Process Model a data store A process Data Flow Diagram External Entity Annotated flow lines Exist in varying degrees of detail (more ahead). Called Leveling DFDs Chapter 6. 11
Model-Driven Approaches – Ex. 2 n n n Information engineering (IE) is a model-driven and datacentered, but process-sensitive technique to plan, analyze, and design information systems. IE models are pictures that illustrate and synchronize the system’s data and processes. Here, data models are called Entity-Relationship diagrams IE still uses DFDs from structured analysis, but integrates and synchronizes ERDs into the process so we have data and process models. IE is data centered because it emphasizes studying and modeling of data PRIOR to that of Process and Interface. Data considerations (capture, storage, use, maintenance) actually drive the process design.
A Simple Data Model Data Relationships: cardinality; modality; 1 -1, 1 -many, many to many, etc… strong entities; weak entities, … more… Entity-Relationship Diagram ERDs in Chapter 7 13
Model-Driven Analysis – Ex. 3 Object-Oriented Analysis (OOA) is a model-driven technique that integrates data and process concerns into constructs called objects. OOA models are pictures that illustrate the system’s objects from various perspectives such as structure and behavior. OOA synthesizes data and process into objects as building blocks. Uses new concepts such as encapsulation, information hiding, inheritance, polymorphism, and more to describe the features of working with objects… Modeling technique uses models as building blocks and messagepassing among objects which provide a service to each other. UML (Unified Modeling Language) is a standard for using objects 14 and all that deals with them.
A Simple Object Model STUDENT -ID Number -Name -Grade Point Average 0. . * has record for> +Admit() +Regsiter for Classes() +Withdraw() +Change Address() +Calculate GPA() 1 +Graduate() Class (really, not an object) attributes; methods; visibility characteristics (private, …) 0. . * COURSE -Subject -Number -Title -Credit +Create a Course() +Delete from Course Master() +Change 1 in Course Master() TRANSCRIPT COURSE -Semester -Division -Grade +Add() +Drop() +Complete() +Change Grade() Object Diagram See Module A 15
Accelerated Analysis Methods vis a vis Model-Driven… Accelerated Analysis approaches emphasize the construction of prototypes to more rapidly identify business and user requirements for a new system. A prototype is a small-scale, incomplete, but working sample of a desired system. Prototypes cater to the “I’ll know what I want when I see it” thinking characteristic of many users and managers. Can evolve into operational systems – sometimes; Dangers lurk here, though. 16
Accelerated Analysis Modeling Discovery Prototyping…two types n 1. Discovery Prototyping – is requirements prototyping ¨ identify users’ business requirements by having them react to quick and dirty implementations of those requirements. e. g. Might use Microsoft Access, VB, or other prototyping technology. Danger: elegant prototypes; premature focus and commitment to design. Often very inefficient for larger databases, numbers of users, network traffic, etc. Is the preferred and recommended approach. But be aware of real dangers. 17
Accelerated Analysis Modeling – Rapid Application Development (RAD) ¨ 2. Rapid Application Analysis Here, we derive system models often from existing system or prototypes Lots of Reverse Engineering from existing models… n “Reverse Engineering technology reads the program code for an existing database, application program, and/or user interface and automatically generates the equivalent system model” n Discovery engineering using prototypes can be reversed engineered into system models. These models can then be forward engineered using same CASE tools into robust databases that might serve enterprise-level needs. n Normally software development nowadays is a blend of 18 accelerated analysis and then model-driven approaches. n
Requirements Discovery Methods ¨Requirements Discovery includes those techniques to be used by systems analysts to identify or extract system problems and solution requirements from the user community. n Fact-finding (or information gathering) is a classical set of techniques used to collect information about system problems, opportunities, solution requirements, and priorities. Sampling ¨ Research ¨ Observation ¨ Interviews ¨ - Reading quarterly reports - Studying a corporation’s web page - Questionnaires and surveys 19
Joint Application Development n We are separating joint application development (JAD) into its component parts, joint requirements planning (JRP) and joint application design (also JAD). Only JRP is applicable to this chapter. n Joint requirements planning (JRP) techniques use facilitated workshops to bring together all of the system owners, system users, systems analysts, and some systems designer and builders to jointly perform systems analysis. 20
Business Process Redesign Methods Business Process Redesign (or business process reengineering) is the application of systems analysis methods to the goal of dramatically changing and improving the fundamental business processes of an organization, independent of information technology. Reality: most systems nowadays are horribly inefficient and wasteful. This industry-wide effort is triggered by Total Quality Management (TQM) and Continuous Process Improvement 21 (CPI)
Business Process Redesign Some BPR focus on all business processes. After redesigning the business processes, most BPR projects then conclude by examining how information technology might best be applied to the improved business processes. This may create new information systems and application development projects to implement or support the new business processes. Sometimes BPR is needed to accompany purchase and integration of COTS. Generally, the business will have to adapt its processes to fit the software. So, an analysis of existing business processes during systems analysis is usual part of such projects. 22
Systems Analysis Phases n Preliminary Analysis (my term) ¨ Preliminary ¨ Really a survey phases; learning… § Interviewing, questionnaires, face-to-face § Gap analyses, research… ¨ Problem ¨ Investigation Phase Analysis Phase Really a ‘study phase’ First Deliverable) n Requirements Analysis Phase ¨(Enter: ¨ Really, a definition / modeling phase Data Analysis and Modeling – Phase II n Process Modeling – Phase III n Interface Modeling - Phase IV n 23
Preliminary Analysis (my preference) (lots of other terms… initial feasibility, initial study phase, problem statements and analysis, others; gathering of information; needs… My definition of Preliminary Analysis includes all the items due for your first deliverable: 1. Project Description Domain Modeling; Glossary 2. Use Case Collection Brief Description of Actions/Use Cases 3. Project Scope - preliminary 4. Project Plan - preliminary 25
Preliminary Investigation activity in Preliminary Analysis n n n Deliverable from Preliminary Investigation is the Project Charter : the four components of the Preliminary Analyses your team undertook. First, we need a formal (written) Request for Services!!! ¨ key user(s) (maybe), owners, key analyst(s) (those who REALLY know the business) I have provided this… ¨ Can arise in many ways. Secondly, we need to identify the functionality that the application will solve (problem solving again…) this may consist of documented problems from existing systems (or new problems that have arisen functionally in the discipline), opportunities, directives, perceived constraints that precipitated the Request for Software Services. So, create your (Problem Statements) Use Cases. 26
Sample Request for System Services Not all projects start of with a written document. Some are QUITE formal. This is sufficient for your initial description. 27
Problem Statements This can be / will be tailored to the individual project ALWAYS! Alternatively, could be provided in a report. Helps to get a handle on SCOPE!!! 28
Documenting Requirements with Use Cases A use case is a behaviorally related sequence of steps (a scenario), both automated and manual for the purpose of completing a single business task An actor represents anything that needs to interact with the system to exchange information. An actor is a user, a role, which could be an external system as well as a person. Use Cases describe system functions from the perspective of external users and in the manner and terminology in which they understand. result of decomposing the scope of system functionality into many smaller statements of system functionality. 29
Benefits of Using Use Cases Facilitates user involvement n A view of the desired system’s functionality from an external person’s viewpoint. n An effective tool for validating requirements n An effective communication tool. n Supports MANY follow on activities needed in systems analysis and design n 30
Example of a High-Level Use Case Author: S. Shepard Use Case Name: Actors: Description: Date: 03/01/2002 New Member Order Member This use case describes the process of a member submitting an order for Sound Stage products. On completion, the member will be sent a notification that the order was accepted. 31
Example of a Requirements Use Case Date: 10/05/2002 Author: S. Shepard Use Case Name: Submit New Member Order Actor(s): Member Description: This use case describes the process of a member submitting an order for Sound Stage products. On completion, the member will be sent a notification that 1 the order was accepted. System response Actor Action References: MSS-1. 0 Step 2: The member’s personal information Typical Course Step 1: This use case is such as address is validated against what is 2 of Events: currently recorded in member services. initiated when a member submits an order to be processed Step 3: The member’s credit status is checked with Accounts Receivable to make sure no payments are outstanding. Step 4: For each product being ordered, validate the product number and then check the availability in inventory and record the ordered product information. Step 7: This use case concludes when the member receives the order confirmation notice. Step 5: Create a picking ticket for the member order containing all ordered products that are available and route it to the warehouse for processing. Step 6: Generate an order confirmation notice 32 indicating the status of the order and send it to the member.
Example of a Requirements Use Case (concluded) Alternate Courses: 3 Pre-condition: Step 2: If the club member has indicated an address or telephone number change on the promotion order, update the club member’s record with the new information. Step 3: If Accounts Receivable returns a credit status that the customer is in arrears, send an order rejection notice to the member. Step 4: If the product number is not valid, send a notification to the member requesting them to submit a valid product number. If the product being ordered is not available, record the ordered product information and mark as “back-ordered. ” Orders can only be submitted by members. 4 Post-condition: Member order has been recorded and the picking ticket has been routed to the warehouse. 5 Assumptions: None at this time. 6 1. 2. 3. 4. 5. 6. 7. 8. A reference to a requirement use can be traced to Basic course of events. Interaction with an actor Alternate course descriptions for exceptions and alternate actions Preconditions describing the state of the system before use case is activated. Post condition describing state of the system after use case is executed. Assumptions, which includes any non-behavioral issues, such as performance, Security, … that is associated with the use case but is difficult to model within the Use cases course of events. 33
More… n Domain Model / Glossary. Use Cases should be accompanied by (sometimes prior to their creation; sometimes accompanying them…) a domain model (Can be class diagram if going into OOSE) - perhaps a complete Use Case context diagram – with actors…the business model restricted to the application domain. n Glossary – essential. Common definitions all agree upon. n Actor Description. Every identified actor should have a brief description of the actor and his/her/its connection to the system. ¨ n Actors trigger the system; The system provides the use cases. Supplementary Specifications. Statements of non-functional needs (generally declarative). Constraints (operating environment, language), regulatory issues, standards of development; paradigms, performance, usability, persistence, distribution, security…. provide the remainder (most (not all) of the non-functional requirements individually not appropriate to put into a single Use Case (often global requirements…) 34
Preliminary Investigation activity in Preliminary Analysis n Thirdly, Create a Preliminary Project Scope ¨ Sometimes called Statement of Work, and other name Work ¨ This (guaranteed!) will change later. ¨ Essential that we have a baseline starting position. Defined in terms of: (Most significant parts follow n Data that describe the system ¨ (like, Products, Orders, Customers – entities…. ) Business Processes ¨ (like business processes for management, customer relations, order management, order entry, etc. ) n Interfaces with Users, Locations, other Systems ¨ like (customers, sales reps, sales clerks, managers, regional offices, etc. ) 35 n
Preliminary Investigation activity in Preliminary Analysis n n Project Scope (continued) Items from project scope can also be inferred from the domain model, from the glossary (part of Deliverable #1), Use Cases, and the supplementary specifications. Entire idea behind scope is to BOUND the system. But you need this common understanding of what the application is to provide and to whom. (Thus the domain model and glossary) 36
Preliminary Investigation activity in Preliminary Analysis Fourth: Create a Project Plan n Baseline Plan – update at end of each phase. . ¨ n Contains schedule, resource assignments, for entire project. Plan for Next Phase – the Requirements Analysis Phase ¨ Done by project manager (for us, team leader in total coordination with team members. Team leader (here) is not in charge; rather, a ‘facilitator. ’) n OPTIONAL – Create a project website ¨ Contains project charter and links to project documentation 37
End of Preliminary Investigation of Preliminary Analysis – Kickoff the System Deliverable from Preliminary Analysis are the deliverables listed earlier n These contain: n ¨ Project Request / Description Transmittal letter ¨ Problems Statements / Use Cases - (opportunities, directives, constraints, domain model/glossary, supplementary specification (contains standards and environment; platforms, etc. ), … ¨ Project Scope – project boundaries ¨ Project Plan – for tracking and management n Project may create a project website 38
Problem Analysis Phase Context Focus is on both system owner and system user perspectives. Looking at the building blocks of the existing system. 39
Problem Analysis Phase n Goal: Study and understand the problem domain well enough to thoroughly analyze its problems, opportunities, and constraints. ¨ Sometimes detailed knowledge of current system is needed and modeled (physical DFDs) (Chapter 8) ¨ Main idea: need to be able to refine our understanding of project scope and problem statement to define a common vocabulary for the system. ¨ Generally create a Domain Model / Glossary / or Both n Final Deliverable – Produce System Improvement Objectives that address problems, opportunities, and directives or alternatively a collection of revised Use Cases. Update Project Plan (in repository) if necessary. Create Domain Model (Physical DFD; Perhaps a set of Use 40 Cases and Actors ) n n
Problem Analysis Phase n n n n Team Activities (as opposed to owners, …. ) Really must study the problem domain in more detail Learn about current system Owners, users, analysts bring different levels of understanding to the system – different detail, vocabulary, perceptions, opinions. This is the domain within which all these improvements, opportunities, etc. exist! Very important that Users be available to the project as full-time business analysts; SMEs… analysts Seek out the experts; get their opinions! 41 Oftentimes, current documentation does not exist.
Problem Analysis – Current Systems: n n n If there is a current system: ¨ list all reports, transactions, purposes of each; frequency, descriptions business events for which a business response is currently implemented, locations of current system users (e. g. regional offices; office managers) Can be quickly done. Don’t shortchange the business vocabulary – great way for communications between developers and users. Might want short data model (single page); one or two-page functional model w/decomposition; a one-page context model or updated use-case diagrams that show the system’s inputs and outputs locally or with other organizations (interface) Stay away from “We need to…” “We want to. . ” which are solution-based statements. Concentrate on understanding the problems – their causes and effects in the existing system. Update Project Plan as necessary following Problem Analysis 42
Cause-and-Effect Analysis Cause-and-effect analysis is a technique in which problems are studied to determine their causes and effects. In practice, effects can be symptomatic of more deeply rooted or basic problems which, in turn, must be analyzed for causes and effects until such a time as the causes and effects do not yield symptoms of other problems. Discuss! What causes a system to be enhanced / redesigned / replaced? 44
System Improvement Objectives An objective is a measure of success. It is something that you expect to achieve, if given sufficient resources. n Reduce the number of uncollectible customer accounts by 50 percent within the next year. n Increase by 25 percent the number of loan applications that can be processed during an eight-hour shift. n Decrease by 50 percent the time required to reschedule a production lot when a workstation malfunctions. A constraint is something that will limit your flexibility in defining a solution to your objectives. Essentially, 45 constraints cannot be changed.
Cause-and-Effect / System Improvement Objectives PROBLEMS, OPPORTUNITIES, OBJECTIVES, AND CONSTRAINTS MATRIX 46
Requirements Analysis Phase Context Requirements can be expressed in narrative, and prototype forms, or any combination thereof. 47
Requirements Analysis n n n Sometimes called the Definition Phase or Logical Design Phase We must define the business requirements for the solution! – No considerations of technology Sometimes, development teams are created at this time and NOW the work starts…. Some development models start with Requirements Analysis ¨ Previous work has been done; maybe backlogged. ¨ Sometimes Problem Analysis included here (if current system is a consideration – usually the case) So, we discover the WHATs of the required system. Functional Requirements may be captured in Use Cases ¨ Non-functional and other requirements captured in Supplementary Specification Document. ¨ n Assuming project is approved, this is usually considered 48 the most critical part of a project!
Recall our previous drawing: n n n Preliminary Analysis (my term) ¨ Preliminary Investigation Phase ¨ Problem Analysis Phase – current system; causes/effects; opportunities; constraints; system improvements… ¨ (Enter: First Deliverable) Requirements Analysis Phase ===== ¨ Data Analysis and Modeling – Deliverable #2 ¨ Process Modeling – Deliverable #3 ¨ Interface Modeling – Deliverable #4 All about REQUIREMENTS … at the ¨ process, data, interface levels ¨ Remember: these are impacted by preferences, constraints, managerial approaches, schedule, …. . ¨ That is, ‘scope’ items…. (statement of work…) 49
Identification of Business Requirements A functional requirement is a description of activities and services a system must provide. ¨ usually defined in terms of inputs / outputs / processes / stored data needed to support this requirement. ¨ May be expressed as a Use Case A nonfunctional requirement is a description of other features, characteristics, and constraints that define a satisfactory system. normally deal with performance, usability, budget, costs, deadlines, constraints, security, etc. . . 50
Requirements Analysis – Continued… n While desirable, rarely will all the functional requirements and non-functional requirements be identified. Framework for changes. They WILL happen. ¨ Not complete, usually ambiguous, not sufficient, perhaps not all necessary, perhaps not all testable… ¨ Use Cases (modern approach) helps a great deal. ¨ n n n Much better than ‘Requirements Lists. ’ These are draft requirements… Accommodated/documented by systems analysts Critical need: access to system stakeholders (various) for business requirements. ¨ Discuss ‘willingness’ of some vis a vis others…. Usually CASE tools used to document process, data, interface, stored data to the dictionary, encyclopedia and repository. 51
n Requirements Analysis – Continued… The SYSTEMS ANALYSTS MUST identify and analyze functional (and supplementary) requirements so that they can be communicated both to the users and to the technical people… ¨ Business may need to prioritize requirements for many reasons. Verify that analysts understands needs. ¨ Technical people need to fully understand all requirements in order to design solutions that are traceable to requirements. ¨ We typically capture requirements by: ¨ Requirements Lists – old way; difficult to deal with; boring! n Ambiguous, Charts/graphs, tables (DLTs), etc… ¨ Models, such as Use Case Model w/domain and supplementary descriptions and/or combination of models such as ERDs, DFDs, and prototypes. 52
1. . Requirements Analysis – Capturing Requirements via Logical System Models ¨ LOGICAL models (Logical Design)– no hint of ‘how’ Logical system models depict what a system is or what a system must do—not how the system will be do it. Because logical models depict the essential requirements of a system, they are sometimes called essential system models. ¨ Recall: Physical DFDs were used to model existing systems – these have implementations already. ¨ Used in Problem Analysis Phase ¨ 53
1. . Requirements Analysis – Capturing Requirements via Logical System Models n n Process models (e. g. , data flow diagrams – starting point for program design) Data models (e. g. , entity relationship diagrams – starting point for designing a database) Interface models (e. g. , context diagrams – starting point for designing user interfaces – shows system as a box plus external ‘entities’ Object models (e. g. , Uniform Modeling Language diagrams) ¨ Logical modeling (Logical Design) (data, process, interface) express business requirements. (LDFD) ¨ Physical modeling (Physical Design) addresses solution (PDFD) ¨ Physical system models, introduced in the systems design chapter – later… 54
2. Requirements Analysis – Capturing Requirements via Prototyping n n Building prototypes – particularly valuable when requirements not fully understood (by user and/or developer or both) and in developing the interfaces. Systems Analysts deal with ¨ system end-users a great deal in verifying requirements via the prototypes ¨ Sometimes, creation of the prototypes as well as databases might be supported by reverse engineering ¨ Depends on the approach and tools used…. ¨ Then, a model-driven approach can be continued… 55
Requirements Analysis n Modeling techniques generally use ¨ DFDs, ERDs, ¨ Biggest new trend is to emphasize Use Cases. n Fewer advocates of DFDs; but in common use…especially for domain modeling and information flow depicting current and/or desired system. ¨ CASE Tools such as Visio, System Architect, Visible Analyst, and several others. n some simple CASE ranging to i. CASE tools. ¨ Prototyping tools often include Microsoft Access or Visual Basic – even those these are used in courses dealing with application development. n There a number of tools to support prototyping 56
n n After requirements accomplished and captured via modeling or prototyping, the requirements capture ABSOLUTLEY NEED TO BE VERIFIED BY THE USER. How so? Discuss…. ¨ Use Cases for verification of proposed functionality? ? ¨ DFDs and ERDs ¨ Prototypes n Requirements Tracing refers to verifying the system models / prototypes against the requirements. ¨ May require some rework – VERY worth the effort!!!! ¨ Also associate the non-functional requirements with the functional requirements so that they will be accommodated in system design 57
…leaving Requirements Analysis n n General Rule of software development: ¨ Provide the maximum functionality in the minimum time on schedule and within budget Oftentimes business requirements may be prioritized. ¨ ‘mandatory requirements ‘ for any increment – ‘dead without it. ’ ¨ ‘desirable requirements’ (can be ranked) for subsequent versions. 58
Parting Comments n n If trouble (and OFTEN if not) Timeboxing (Versioning) is a mechanism of developing and implementing a key subset (one that provides immediate functionality and utility) in a small development timeframe. Do this successively with different subsets / increments. ’ Oftentimes called ‘incremental development’ Naturally, any of these activities require Project Plan updating. “Sign-Off” - get a signature. Realize ‘changes’ in requirements will come… 59
Requirements Statement Sample Software Requirements Specification document. 61
Decision Analysis Phase Context This phase deals with possible candidate solutions, or a comparison of possible solutions with recommendations Phase ends with a System Proposal for design… (later…) (5 th Deliverable) 62