340 likes | 493 Vues
System Analysis and Development. Rev: Feb 15, 2012 Euiho (David) Suh , Ph.D. POSTECH Strategic Management of Information and Technology Laboratory (POSMIT: http://posmit.postech.ac.kr) Dept. of Industrial & Management Engineering POSTECH. Contents. Discussion Questions.
E N D
System Analysis and Development Rev: Feb 15, 2012 Euiho (David) Suh, Ph.D. POSTECH Strategic Management of Information and Technology Laboratory (POSMIT: http://posmit.postech.ac.kr) Dept. of Industrial & Management EngineeringPOSTECH
Discussion Questions • Explain the differences between Prototyping andSDLC (Systems Development Life Cycle) • Explain the Feasibility (Technical, Economic, Operational, and Organizational) • What is a System Conversion (Parallel, Pilot, Phased, and Plunge)? • DFD (Data Flow Diagram) vs. ERD (Entity Relationship Diagram) • RAD (Rapid Application Development) vs. SDLC • When do we use RAD?
1. System Analysis (1) Basic concepts System Analysis (SA) • Definition of SA • To model the real-world system so that it can be understood • Goals of SA • To fully specify the problem and application domain without introducing a bias to any particular implementation • Benefits of SA • It clarifies the requirements of customer(end-user) • It provides a basis for agreement between customer and the developer • It becomes the framework for later design and implementation
1. System Analysis (1) Basic concepts Overview of Analysis Generate Requests Users Developer Manager Problem Statement Analysis User interview Build Model Domain knowledge Real-world experience Data Model Functional Model Behavioral Model Design
1. System Analysis (1) Basic concepts Problem Statement • Consist of requirements statement and design & implementation policy • Requirement statements • Problem scope • Application Context • Assumptions • Performance Needs • Design & implementation policy • General approach • Algorithms • Data Structures • Architecture
1. System Analysis (2) Modeling Data Modeling (1/2) • Data model answers following specific questions • What are the primary data objects to be processed by the system? • What is the composition of each data objects and what attributes describe the object? • Where do the objects currently reside? • What are the relationships between each object and other objects? • What is the relationship between the objects and the processes that transform them ? • Data modeling methods • ERD(Entity Relationship Diagram) • DD(Data Dictionary) • OM(Object Modeling) : object-oriented modeling method
1. System Analysis (2) Modeling Data Modeling (2/2) - ERD Manufacturer Builds Car Contracts Stocks Licenses Dealership Shipper Entity Cardinality Relationship
1. System Analysis (2) Modeling Functional Modeling (1/2) Cash card bank code, card code ATM Password Transaction kind, Account type, amount cash., receipt., messages User System boundary • Functional model shows • How values are computed, without regard for sequencing, decision, or object structure • Which values depend on which other values and the functions that relate them • Steps for constructing a functional model • Identify input and output values • Show functional dependencies(Using DFD or IDEF0) • Describe functions • Identify constraints • Identify input and output values • Ex> Input and output valuesfor ATM system
1. System Analysis (2) Modeling Functional Modeling (2/2) Update account(account, amount, transaction-kind) -> cash, receipt, message If the account on a withdrawal exceeds the current account balance, reject the transaction and dispense no cash If the account on a withdrawal does not exceed the current account balance debit the account and dispense the amount requested If the transaction is a deposit credit the account and dispense no cash If the transaction is a status request dispense no cash In any case, the receipt shows ATM number, date, time, account number, transaction-kind, amount transacted(if any), and new balance • Describing functions • Ex> Function description for update account function
1. System Analysis (2) Modeling Behavioral Modeling (1/4) • Behavioral model • Shows the time-dependent behavior of the system and object in it • Begins by looking for events(externally-visible stimuli & responses) • Is insignificant for a purely static data repository, such as a DB. • Is important for interactive system • Steps for constructing a Behavioral model • Prepare scenarios of typical interaction sequences • Identify events between objects • Prepare an event trace for each scenario • Build a state diagram
1. System Analysis (2) Modeling Behavioral Modeling (2/4) The ATM asks the user to insert a card; the user insert a cash card. The ATM accepts the card and reads its serial number The ATM requests the password : the user enters “1234” The ATM verifies the serial number and password with the consortium; the consortium checks it with bank “39” and notifies the ATM of acceptance The ATM asks the user to select the kind of transaction ; the user select withdrawal The ATM asks for the amount of cash ; the user enters $100 The ATM asks the consortium to process the transaction ; consortium passes the request to the bank The ATM dispenses cash and asks the user to take it; the user takes the cash The ATM asks whether the user wants to continue; the user indicates no The ATM prints a receipt, ejects the card, and asks the user to take them; the user takes the receipt and the card The ATM asks a user to insert a card • Prepare scenarios • Ex> Normal ATM scenario • Identify Events • Examine scenario to identify all external events. : Events include all signals, inputs, decisions, interrupts, transitions, and actions to or from users or external devices • Prepare an event trace • Ex> Event trace for ATM scenario (next slide) • Build a state diagram • Ex> State diagram for ATM (next slide)
1. System Analysis (2) Modeling Behavioral Modeling (3/4) User ATM Consortium Bank Insert card Request password Enter password Verify account Verify card Bank account OK Account OK Request kind Enter kind Request amount Enter amount Process transaction Process bank succeed Event trace
1. System Analysis (2) Modeling Behavioral Modeling(4/4) Insert card [readable] Main screen Do : display main screen Enter password Do : request password Do : verify account Insert card [unreadable] Account OK Cancel Bad account Unreadable Do : Unreadable Card message Take card Do: request kind Card ejected Do : eject card; Request take card Cancel Cancel Do : canceled message Enter Kind Cancel Do : verify account Finish Do : print receipt Do : bad account message; Enter amount Terminate cancel Transaction succeed Take cash Do : request continuation Do : dispense cash; request take cash Do : process transaction State diagram
2. System Development (1) SDLC - Introduction to SDLC Systems Development Life Cycle (SDLC) • Definition • The overall process of developing information systems through a multi step process from investigation of initial requirements through analysis, design, implementation and maintenance <Russell Kay, Computer World> • Types of SDLC • Waterfall • Major methodology of SDLC • Fountain • Spiral • Outputs from one step → Inputs to next • Often referred to as the “waterfall” model (The oldest one - early 1970s)
2. System Development (1) SDLC - Waterfall Development Method 5 Phases of Waterfall Development Method Systems Analysis Systems Designs
2. System Development (1) SDLC - Waterfall Development Method Phase 1: Investigation • Initialization • Management planning, Users’ needs & opportunities • Formal definition • Objective, motivation, scope, boundaries, constraints, strategy • Verifying a problem or deficiency which really exists, or passing judgment on the new requirement • Feasibilities studies
2. System Development (1) SDLC - Waterfall Development Method Phase 2: Analysis • What a system should do to meet the needs of users • Determine requirements • Study current system • Structure requirements and eliminate redundancies • Requirement Analysis • Functional requirements • Performance requirements • Generate alternative designs • Compare alternatives • Recommend best alternative
2. System Development (1) SDLC - Waterfall Development Method Phase 3: Design • How the system will accomplish the objective • User interface Design • Screen • Form • Report • Dialog Design • Data Design • Data Element structure Design • Process Design • Program and Procedure Design
2. System Development (1) SDLC - Waterfall Development Method Phase 4: Implementation • Evaluating Hardware, Software, and Services • Scoring evaluation system:Used when there are several competing proposals for a hardware or software acquisition • Software Development or Modification • Documentation • Major mechanism of communication during development process • Data Conversion • Correcting incorrect data • Filtering unwanted data • Consolidating data from several data warehouses. • Testing • Testing & Debugging the Software • Training
2. System Development (1) SDLC - Waterfall Development Method Phase 4: Implementation Parallel Strategy Pilot Strategy Phased Strategy Plunge Strategy • Running old & new systems for awhile to check validity • Safe • Installed in one part of organization at a time • Learning and adapting • Changing one function at a time in large system • e.g. order entry • Starting using entire system • Dangerous if errors exist Conversion
2. System Development (1) SDLC - Waterfall Development Method Phase 5: Maintenance <Martin, “Managing Information Technology” p.395> • Modification • Modifying established system due to changes in the systemfor potential problems or necessary change • Correcting errors • Feedback
2. System Development (1) SDLC - Pros and Cons of SDLC Pros and Cons of SDLC • Advantages: • Highly structured, systematic process • Thorough requirements definition • Clear milestone with business management sign-offs • Disadvantages • Not accounting well for evolving requirements during project • Time-consuming (and costly) process
2. System Development (2) RAD Rapid Application Development (RAD) “Why wait 3 years to develop systemslikely to be obsolete upon completion?” RAD methodology was born! • Definition • Rapid Application Design • A system development methodology created to radically decrease the time needed to design and implement information systems <James Martin, “RAD, CIRCA”> • Motivation of Rapid Application Development (RAD) • Limitation of SDLC • Pressures for businesses to speed up • Shorter development lifecycles • Competition in changing global environment
2. System Development (2) RAD The 4 Essentials of RAD (1/2) • Management • Executives, Support for the RAD • People • Participation in JAD type • Specialized team for RAD: SWAT(“Skilled With Advanced Tools”) • Joint application design (JAD) • Group Decision Support System • Users, Managers and Analysts work together for several days • System requirements are reviewed • Structured meetings • Methodologies • RAD life cycle: Users play key roles • Tools • Fourth-generation languages and CASE tools that facilitate prototyping and code generation • Computer-Aided Software Engineering (CASE) • Any software tool to transfer some of the systems development workloadfrom the human developer to the computerby automating one or more steps of a software development methodology
2. System Development (2) RAD RAD Life Cycle • JRP(Joint Requirement Planning) workshopsto agree requirements, overall planning • Executives, managers, and users determine requirements JAD session to develop basis design • CASE tool is used • Generate code • End users validate design Delivery of new system to users
2. System Development (3) Prototyping Prototyping • Definition • The overall process of developing IS, which enables creation of system (or part of system) more quickly, then revising after users have tried it < Martin, “Managing Information Technology”> • Selected features:Only some essential features included in prototype, more added later
2. System Development (3) Prototyping Prototyping Life Cycle Prototype cycle OK!
2. System Development (3) Prototyping Pro and Cons of Prototyping • Advantages • Improved communications between the developer and user • A more active role of users in system development • Less time and effort of information specialists and user in developing the system • Much easier implementation due to the user’s understanding about what to expect • Disadvantages • Lack of security and control features in end prototype • Possibility that prototyping may not undergo as rigorous testing • Possibility of less complete final documentation • Bigger difficulty to manage user expectations
2. System Development (3) Prototyping 3 Types of System Development SPEED SDLC RAD Prototyping • When requirements are hard to define Trade-off STABILITY • Hybrid type of SDLC and Prototyping • Large and complex system
Case Study 3. Case Study
Reference O’Brien & Marakas, “Introduction to Information Systems – Fifteenth Edition”, McGraw – Hill, Chapter 10, pp. 404~450 Hyungjong Roh, “System Development Methods (PPT slide)”