19. System Analysis and Development Rev: Feb, 2013 Euiho (David) Suh, Ph.D. POSTECH Strategic Management of Information and Technology Laborato (POSMIT: http://posmit.postech.ac.kr) Dept. of Industrial & Management Engineering POSTECH
Jan 02, 2016
19. System Analysis and DevelopmentRev: Feb, 2013
Euiho (David) Suh, Ph.D.
POSTECH Strategic Management of Information and Technology Laboratory(POSMIT: http://posmit.postech.ac.kr)
Dept. of Industrial & Management EngineeringPOSTECH
Contents1 System Analysis
(1) Basic Concepts
(2) Modeling
2 System Development
(1) Systems Development Life Cycle (SDLC)
(2) Rapid Application Development (RAD)
(3) Prototyping
3 Case Study
3
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
4
Overview of Analysis1. System Analysis(1) Basic concepts
Users
Developer
Manager
GenerateRequests
User interview
Domain knowledge
Real-world experience
BuildModel
ProblemStatement
Data ModelFunctional ModelBehavioral Model
Analysis
Design
5
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(1) Basic concepts
6
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
7
Data Modeling (2/2)
■ ERD
1. System Analysis(2) Modeling
ManufacturerManufacturer BuildsBuilds CarCar
DealershipDealershipShipperShipper
LicensesLicenses StocksStocksContractsContracts
Entity
Relationship
Cardinality
8
Functional Modeling (1/2)
■ 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– E.g.) Input and output values
for ATM system
1. System Analysis(2) Modeling
Cashcard
Cashcard
UserUser
ATMATM
bank code, card code
PasswordTransaction kind,Account type,amount cash.,
receipt.,messages System boundary
9
Functional Modeling (2/2)
■ Describing functions– E.g.) Function description for update account function
1. System Analysis(2) Modeling
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
10
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
11
Behavioral Modeling (2/4)
■ Prepare scenarios– E.g.) Normal ATM scenario
■ Identify Events– Examine scenario to identify all external events: Events include all signals, inputs, de-
cisions, interrupts, transitions, and actions to or from users or external devices
■ Prepare an event trace– E.g.) Event trace for ATM scenario (next slide)
■ Build a state diagram– E.g.) State diagram for ATM (next slide)
1. System Analysis(2) Modeling
The ATM asks the user to insert a card; the user insert a cash card.The ATM accepts the card and reads its serial numberThe 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 acceptanceThe ATM asks the user to select the kind of transaction ; the user select withdrawalThe ATM asks for the amount of cash ; the user enters $100The ATM asks the consortium to process the transaction ; consortium passes the request to the bankThe ATM dispenses cash and asks the user to take it; the user takes the cashThe ATM asks whether the user wants to continue; the user indicates noThe ATM prints a receipt, ejects the card, and asks the user to take them; the user takes the receipt and the cardThe ATM asks a user to insert a card
12
Behavioral Modeling (3/4)
■ Event trace
1. System Analysis(2) Modeling
User ATM Consortium Bank
Insert card
Request passwordEnter password
Verify accountVerify card
Bank account OKAccount OK
Request kind
Enter kind
Request amount
Enter amountProcess transaction Process bank
succeed
13
Behavioral Modeling (4/4)
■ State diagram
1. System Analysis(2) Modeling
Main screenDo: display main
screen
Insert card[readable]
Insert card[unreadable]
Do: request password
UnreadableDo: UnreadableCard message
Enter password Do: verify account
Account OK
Do: request kind
Do: verify account
Cancel Enter Kind
CancelDo: canceled
message Cancel
Enter amount
Do: process transaction
Card ejectedDo: eject card;
Request take card
Takecard
Cancel
Do: dispense cash;request take cash
Do: request continuation
TransactionsucceedTake cash
Badaccount
Do: bad account message;Finish
Do: print receipt
Terminatecancel
14
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 - Introduction to SDLC
15
5 Phases of Waterfall Development Method
Systems AnalysisSystems Designs
2. System Development(1) SDLC - Waterfall Development Method
16
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
Technical Fea-sibility
• Availability of computing hardware and software to do a particular jobManagers’ concerns about the absence of technology in many cases
Economic Feasibility
• Ability of a system to pay for itself in monetary termsNo unprofitable spendinge.g.) Cost-benefit Analysis, Break-even Analysis, Payback Analysis, NPV
Operational Feasibility
• Ability of the people working within a system to do their jobs in a pre-scribed manner
e.g.) Ability of Users and Participants & Attitudes of Users and Participants
Organiza-tional Feasibil-
ity
• How well a proposed e-commerce system helps the company’s plans for developing Web-based sales, marketing, and financial system
2. System Development(1) SDLC - Waterfall Development Method
17
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
18
■ 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
Phase 3: Design2. System Development
(1) SDLC - Waterfall Development Method
19
Phase 4: Implementation
■ Evaluating Hardware, Software, and Services– Scoring evaluation system:
Used when there are several competing proposals for a hardware or software acquisi-tion
■ 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
20
Phase 4: Implementation
■ Conversion
Running old & new systems for awhile to check validity
Safe
Parallel Strategy
Installed in one part of organi-zation at a time
Learning and adapting
Pilot Strategy
Changing one function at a time in large system
e.g. order entry
Phased Strategy
Starting using entire system
Dangerous if errors exist
Plunge Strategy
2. System Development(1) SDLC - Waterfall Development Method
21
Phase 5: Maintenance
■ Modification– Modifying established system due to changes in the system
for potential problems or necessary change
■ Correcting errors
■ Feedback
<Martin, “Managing Information Technology” p.395>
2. System Development(1) SDLC - Waterfall Development Method
22
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(1) SDLC - Pros and Cons of SDLC
23
Rapid Application Development (RAD)
■ 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
“Why wait 3 years to develop systemslikely to be obsolete upon completion?”
RAD methodology was born!
2. System Development(2) RAD
24
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 genera-
tion
Computer-Aided Software Engineering (CASE) Any software tool to transfer some of the systems development workload
from the human developer to the computerby automating one or more steps of a software development methodology
2. System Development(2) RAD
25
RAD Life Cycle
JAD session to develop basis de-sign
CASE tool is used
Delivery of new system to users
JRP(Joint Requirement Planning) workshopsto agree requirements, overall planning
Executives, managers, and users determine require-ments
Generate code End users validate design
2. System Development(2) RAD
26
Prototyping
■ Definition– The overall process of developing IS, which enables creation of system (or part of sys-
tem) 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
27
Prototyping Life Cycle
Prototype cycle
2. System Development(3) Prototyping
28
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
29
3 Types of System Development
SDLC
RAD
Prototyp-ing
SPEED
STABILITY
Large and complex sys-tem
Hybrid type of SDLC and Prototyp-ing
When requirements are hard to de-fine
Trade-off
2. System Development(3) Prototyping
30
Reference
■ O’Brien & Marakas, “Introduction to Information Systems – Sixteenth Edition”, McGraw – Hill, Chapter 11
■ O’Brien & Marakas, “Introduction to Information Systems – Sixteenth Edition”, McGraw – Hill, Chapter 12
■ Hyungjong Roh, “System Development Methods (PPT slide)”