system analysis and development
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
System Analysis and DevelopmentRev: 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
Contents※ Discussion Questions
1 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
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?
4
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
5
Overview of Analysis 1. System Analysis(1) Basic concepts
UsersDeveloperManager
GenerateRequests
User interview
Domain knowledge
Real-world experience
BuildModel
ProblemStatement
Data ModelFunctional ModelBehavioral Model
Analysis
Design
6
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
7
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
8
Data Modeling (2/2) - ERD 1. System Analysis(2) Modeling
Manufacturer Builds Car
DealershipShipper
Licenses StocksContracts
Entity
RelationshipCardinality
9
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– Ex> Input and output values
for ATM system
1. System Analysis(2) Modeling
Cashcard
User
ATM
bank code, card code
PasswordTransaction kind,Account type,amount cash.,
receipt.,messages System boundary
10
Functional Modeling (2/2)
■ Describing functions– Ex> 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
11
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
12
Behavioral Modeling (2/4)
■ Prepare scenarios– Ex> 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– Ex> Event trace for ATM scenario (next slide)
■ Build a state diagram– Ex> 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
13
Behavioral Modeling (3/4)
■ Event trace
1. System Analysis(2) Modeling
User ATM Consortium Bank
Insert cardRequest passwordEnter password
Verify accountVerify cardBank account OKAccount OKRequest kind
Enter kindRequest amountEnter amount
Process transaction Process bank
succeed
14
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;FinishDo : print receipt
Terminatecancel
15
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
16
5 Phases of Waterfall Development Method
Systems Analysis Systems Designs
2. System Development(1) SDLC - Waterfall Development Method
17
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 ParticipantsOrganiza-
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
18
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
19
■ 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: Design 2. System Development(1) SDLC - Waterfall Development Method
20
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
21
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
22
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
23
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
24
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
25
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 workload
from the human developer to the computerby automating one or more steps of a software development methodology
2. System Development(2) RAD
26
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
27
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 Technol-
ogy”>
■ Selected features:Only some essential features included in prototype, more added later
2. System Development(3) Prototyping
28
Prototyping Life Cycle
Prototype cycle
2. System Development(3) Prototyping
29
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
30
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 define
Trade-off
2. System Development(3) Prototyping
31
Case Study 3. Case Study
32
Reference
■ O’Brien & Marakas, “Introduction to Information Systems – Fifteenth Edition”, McGraw – Hill, Chapter 10, pp. 404~450
■ Hyungjong Roh, “System Development Methods (PPT slide)”