Introduction to Analysis and Design - Faculty Web Server

advertisement

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

Hudson Bay (Canada)

UK Inland Revenue

Avis Europe PLC (UK)

Ford Motor Co.

Hewlett-Packard Co.

AT&T Wireless

Year Outcome

2005 Inventory system problems lead to $33.3 million loss.

2004/

5

$3.45 billion tax-credit overpayment caused by software errors.

2004 Enterprise resource planning (ERP) system cancelled after $54.5 million spent.

2004 Purchasing system abandoned after deployment costing approximately $400

M

2004 ERP system problems contribute to $160 million loss.

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

Planning

Analysis

Design

Implementation

Product

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

500

400

300

200

100

900

800

700

600

0

Requirements Design Code Development

Test

Acceptance

Test

Operation

Software Faults

60

50

40

% of all faults 30

20

10

0

Requirements Design Construction Operation

Errors Introduced

Errors Observed

Selecting the Right Methodology

Waterfall Usefulness for Prototyping Throwaway

Prototyping

Excellent

Extreme

Programming

Excellent Unclear user requirements

Poor

Unfamiliar technology

Poor

Complex systems Good

Reliable systems Good

Short time schedule

Poor

Schedule visibility Poor

Excellent

Poor

Poor

Poor

Excellent

Excellent

Excellent

Excellent

Excellent

Good

Good

Poor

Poor

Good

Excellent

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

Process view

Diagrams:

Class

Object

Use case View

Diagrams:

Use case

Interaction

Implementation view

Diagrams:

Component

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?

Download