Introduction to Analysis and Design - Faculty Web Server

Download Report

Transcript Introduction to Analysis and Design - Faculty Web Server

Introduction to Systems
Analysis and Design
CIS 4800
Kannan Mohan
Department of CIS
Zicklin School of Business, Baruch College
Copyright © 2009 John Wiley & Sons, Inc.
Copyright © 2009 Kannan Mohan
Learning Objectives
• Explain the importance of analysis and
design
• Explain the phases in the systems
development life cycle
• Explain the role of Unified Modeling
Language and Unified Process in systems
development
Software Woes…
• 1983: F16 autopilot flipped plane upside
down whenever it crossed the equator
• 1985: Arthritis-therapy microwave set
patient’s heart pacemaker to 214, resulting in
fatal coronary
• 1987: NORAD defense radar system mistook
the Moon for a hostile incoming missile
Software Woes…
• 1988: Bank of America
– Spent $ 23 Million on MasterNet
– A computerized accounting and reporting system
– Spent another $ 60 million to make it work and
finally gave up
– Lost billions of dollars of customer accounts
Software Woes…
• 1990: Vancouver Stock exchange index rose 50%
when 2 years of round-off errors in the program
were corrected
• 1992: “Compatible” teller machines of 2 British
banks handled leap years differently, withholding
cash and confiscating cards during New Year
Holiday
Recent Significant IT Failures
Company
Year
Outcome
Hudson Bay (Canada)
2005
Inventory system problems lead to $33.3
million loss.
UK Inland Revenue
2004/
5
$3.45 billion tax-credit overpayment
caused by software errors.
Avis Europe PLC (UK)
2004
Enterprise resource planning (ERP) system
cancelled after $54.5 million spent.
Ford Motor Co.
2004
Purchasing system abandoned after
deployment costing approximately $400
M
Hewlett-Packard Co.
2004
ERP system problems contribute to $160
million loss.
AT&T Wireless
2004
Customer relations management system
upgrade problems lead to $100M loss
Why Should We Care?
Would you buy a car that only had a 28% chance
of driving off the lot with no problems?
Software Project Success Rate
(Emam et al, 2008)
Reasons for Project Cancellation
•
•
•
•
•
Senior management not sufficiently involved
Too many requirements and scope changes
Lack of necessary management skills
Over budget
Lack of necessary technical skills
(Emam et al, 2008)
Reasons for Project Cancellation
(Contd.)
•
•
•
•
•
•
No more need for the system to be developed
Over schedule
Technology too new; didn’t work as expected
Insufficient staff
Critical quality problems with software
End users not sufficiently involved
(Emam et al, 2008)
Systems Development Life Cycle
Planning
Implementation
Analysis
Design
SDLC: Planning
1. Project Initiation
– Develop a system request
– Conduct a feasibility analysis
2. Project Management
– Develop work plan
– Staff the project
– Control and direct the project
Why should we build this system?
SDLC: Analysis
1. Develop analysis strategy
2. Gather requirements
3. Develop a system proposal
What should the system do for us?
Where and when will it be used?
SDLC: Design
1.
2.
3.
4.
Develop a design strategy
Design architecture and interfaces
Develop databases and file specifications
Develop the program design
How will we build the system?
SDLC: Implementation
1. Construct system
2. Install system
– Implement a training plan for the users
3. Establish a support plan
Build the system!
Putting the SDLC Together
• Each phase consists of steps that lead to
specific deliverables
• The system evolves through gradual
refinement
• Once the system is implemented, it may go
back into a planning phase for its next
revision, a follow-on system, or maintenance
releases
Processes and Deliverables
Process
Product
Planning
Project Plan
Analysis
System Proposal
Design
Implementation
System
Specification
New System and
Maintenance Plan
Systems Development Methodologies
• A methodology is a formalized approach to
implementing the SDLC
• Well-known methodologies include:
– Waterfall development
– Prototyping
– Agile development
Waterfall Development
Prototyping
Agile Development
Extreme
Programming
(Beck, 1999)
Software Development Life
Cycle Costs
Requirements
Design
Implementation
Maintenance
Cost of Fixing Problems
900
800
700
Cost to fix
600
500
400
300
200
100
0
Requirements
Design
Code
Development
Test
Acceptance
Test
Operation
Software Faults
60
50
40
Errors Introduced
% of all faults 30
Errors Observed
20
10
0
Requirements
Design
Construction
Operation
Selecting the Right Methodology
Usefulness for
Waterfall
Prototyping
Throwaway
Prototyping
Extreme
Programming
Unclear user
requirements
Poor
Excellent
Excellent
Excellent
Unfamiliar
technology
Poor
Poor
Excellent
Poor
Complex systems
Good
Poor
Excellent
Poor
Reliable systems
Good
Poor
Excellent
Good
Short time
schedule
Poor
Excellent
Good
Excellent
Schedule visibility Poor
Excellent
Good
Good
Process
• What, when, who, and how?
• From requirements to software
New or changed
requirements
Software Engineering
Process
New or changed
system
• Unified Modeling Language - A visual
language
• Unified Process - A process
The Unified Process
(IBM RUP)
The Unified Process
• A two-dimensional process framework
consisting of phases and flows
– Phases describe how the system evolves over time
– Workflows are collections of tasks that occur
throughout the lifecycle, but vary in intensity
What is UML?
•
•
•
•
•
Unified Modeling Language
General purpose visual modeling language
Not a methodology or a process
Industry standard
Approved by Object Management Group
(OMG)
Unified Modeling Language
• Provides a common vocabulary of objectoriented terms and diagramming techniques
rich enough to model any systems
development project from analysis through
implementation
• Version 2.0 has 14 diagrams in 2 major groups:
– Structure diagrams
– Behavior diagrams
History of UML
• Unifying past approaches
– Booch method
– Object Management Technique (OMT) by
Rumbaugh
• Evolving
– Changes in profile
– Latest is UML specification 2.0
Nature of Specification
• How formal?
– UML as a –
• Sketch
• Blueprint
• Executable
• Model Driven Architecture (MDA)
– Enough details are added into models so code can
be generated
UML Structure Diagrams
• Represent the data and static relationships in
an information system
– Class
– Object
– Package
– Deployment
– Component
– Composite structure
UML Behavior Diagrams
• Depict the dynamic relationships among the
instances or objects that represent the business
information system
– Activity
– Sequence
– Communication
– Interaction overview
– Timing
– Behavior state
machine
– Protocol state
machine,
– Use-case diagrams
Architecture
• Structure
• Decomposed
into parts
• Interactions of
parts
• 4+1 view
Logical view
Diagrams:
Class
Object
Package
State
Implementation view
Diagrams:
Component
Use case View
Diagrams:
Use case
Interaction
Process view
Diagrams:
Class
Object
Deployment view
Diagrams:
Deployment
Summary
• What is SDLC? Explain the various phases.
• What are various development methodologies
commonly used to develop information
systems?
• What is the difference between UML and UP?
• What are various skills that are important for
those involved in software development?