36
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

Introduction to Systems Analysis and Design CIS 4800 Kannan Mohan Department of CIS Zicklin School of Business, Baruch College Copyright © 2009 John Wiley

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?

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

Analysis

Design

Implementation

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

Waterfall Development

Prototyping

Agile Development

Extreme Programming(Beck, 1999)

Software Development Life Cycle Costs

Requirements

Design

Implementation

Maintenance

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

(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 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

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?