Upload
allan-ryan
View
225
Download
1
Tags:
Embed Size (px)
Citation preview
Introduction to SystemsAnalysis and Design
CIS 4800Kannan Mohan
Department of CISZicklin 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 FailuresCompany 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?
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)
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. Develop a design strategy
2. Design architecture and interfaces
3. Develop databases and file specifications
4. 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
Analysis
Design
Implementation
Project Plan
System Proposal
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
Cost of Fixing Problems
0
100
200
300
400
500
600
700
800
900
Requirements Design Code DevelopmentTest
AcceptanceTest
Operation
Co
st
to f
ix
Software Faults
0
10
20
30
40
50
60
% of all faults
Requirements Design Construction Operation
Errors Introduced
Errors Observed
Selecting the Right MethodologyUsefulness for Waterfall Prototyping Throwaway
PrototypingExtreme 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
• Unified Modeling Language - A visual language
• Unified Process - A process
New or changed
requirements
New or changed
system
Software EngineeringProcess
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 object-oriented 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:ClassObjectPackageState
Implementation view
Diagrams:Component
Process view
Diagrams:ClassObject
Deployment view
Diagrams:Deployment
Use case View
Diagrams:Use case
Interaction