19.System_Analysis_and_Development

advertisement
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
1
System Analysis
2
3
(1)
Basic Concepts
(2)
Modeling
System Development
(1)
Systems Development Life Cycle (SDLC)
(2)
Rapid Application Development (RAD)
(3)
Prototyping
Case Study
Discussion Questions
■ Explain the differences between Prototyping and
SDLC (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?
3
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
4
1. System Analysis
(1) Basic concepts
Overview of Analysis
Users
Developer
Generate
Requests
Manager
Problem
Statement
User interview
Domain knowledge
Analysis
Build
Model
Real-world experience
Data Model
Functional Model
Behavioral Model
Design
5
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
6
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
7
1. System Analysis
(2) Modeling
Data Modeling (2/2) - ERD
Manufacturer
Contracts
Car
Builds
Stocks
Licenses
Dealership
Shipper
Entity
Cardinality
Relationship
8
1. System Analysis
(2) Modeling
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
Cash
card
bank code, card code
Password
Transaction kind,
Account type,
amount
User
9
cash.,
receipt.,
messages
ATM
System boundary
1. System Analysis
(2) Modeling
Functional Modeling (2/2)
■ Describing functions
– Ex> Function description for update account function
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
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
11
1. System Analysis
(2) Modeling
Behavioral Modeling (2/4)
■ Prepare scenarios
– Ex> Normal ATM scenario
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
■ 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)
12
1. System Analysis
(2) Modeling
Behavioral Modeling (3/4)
■ Event trace
User
ATM
Consortium
Insert card
Request password
Enter password
Request kind
Verify account
Verify card
Account OK
Bank account
OK
Process
transaction
Process bank
Enter kind
Request amount
Enter amount
13
succeed
Bank
1. System Analysis
(2) Modeling
Behavioral Modeling (4/4)
■ State diagram
Main screen
Do : display main
screen
Insert card
[readable]
Enter password
Do : request password
Insert card
[unreadable]
Account OK
Cancel
Unreadable
Take
card
Do : verify account
Bad
account
Do : Unreadable
Card message
Do: request kind
Card ejected
Cancel
Do : eject card;
Request take card
Cancel
Do : canceled
message
Enter
Kind
Cancel
Do : verify account
Finish
Do : bad account message;
Do : print receipt
Enter amount
Terminate
cancel
Do : request
continuation
Take cash
Do : dispense cash;
request take cash
14
Transaction
succeed
Do : process transaction
Systems Development Life Cycle (SDLC)
2. System Development
(1) SDLC - Introduction to 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)
15
5 Phases of Waterfall Development Method
16
2. System Development
(1) SDLC - Waterfall Development Method
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
Technical
Feasibility
•
Availability of computing hardware and software to do a particular job
Economic
Feasibility
•
Ability of a system to pay for itself in monetary terms
Operational
Feasibility
•
Ability of the people working within a system to do their jobs in a prescribed
manner
Organizational
Feasibility
•
 Managers’ concerns about the absence of technology in many cases
 No unprofitable spending
 e.g.) Cost-benefit Analysis, Break-even Analysis, Payback Analysis, NPV
 e.g.) Ability of Users and Participants & Attitudes of Users and Participants
How well a proposed e-commerce system helps the company’s plans for
developing Web-based sales, marketing, and financial system
17
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
18
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
19
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
20
2. System Development
(1) SDLC - Waterfall Development Method
Phase 4: Implementation
■ Conversion
Parallel Strategy
 Running old & new systems for
awhile to check validity
 Safe
Pilot Strategy
 Installed in one part of
organization at a time
 Learning and adapting
Phased Strategy
 Changing one function at a time
in large system
 e.g. order entry
Plunge Strategy
 Starting using entire system
 Dangerous if errors exist
21
2. System Development
(1) SDLC - Waterfall Development Method
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>
22
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
23
2. System Development
(2) RAD
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 systems
likely to be obsolete upon completion?”
RAD methodology was born!
24
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 workload
from the human developer to the computer
by automating one or more steps of a software development methodology
25
2. System Development
(2) RAD
RAD Life Cycle
JRP(Joint Requirement Planning) workshops
to 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
26
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
27
2. System Development
(3) Prototyping
Prototyping Life Cycle
Prototype cycle
28
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
29
2. System Development
(3) Prototyping
3 Types of System Development
SPEED
 When requirements are hard to define
Prototyping
STABILITY
 Hybrid type of SDLC and Prototyping
RAD
 Large and complex system
SDLC
30
Case Study
3. Case Study
31
Reference
■ O’Brien & Marakas, “Introduction to Information Systems – Fifteenth Edition”,
McGraw – Hill, Chapter 10, pp. 404~450
■ Hyungjong Roh, “System Development Methods (PPT slide)”
32
Download