Вы находитесь на странице: 1из 35

Life Cycle Models

(Visual Programming Technologies) CS3001 Presentation 1

The theoretical background

System Development Life Cycle

Why we need a SDLC Advantages of using and SDLC The Waterfall Model Spiral Model Lifecycle vs. Methodology Methodology

Why we need a SDLC

Ease the process of building a system Avoid development problems

Unclear objectives Cost overruns Development delays

Avoid the system not meeting user requirements

Advantages of a Life Cycle

Facilitate project review Provide a more efficient / effective system Guide the systems development Improve communications Improve management and control Computer-based support

Waterfall Model
Problem Definition Requirement Analysis System Design System Development System Testing Implementation

Maintenance

Problem Definition

Project Goals

A broad statement of What the user expects from the system What areas the system effects and what areas remain the same
Resource limits (Financial, technology, human, S/w, H/w)

Project Bounds

Project Limits

Requirement Analysis

The current system

What it does, and how it works


What the new system will do, how it will work

A Detail Model in subject terms

High level description of the system

System Design

Produce a detailed specification for the new system

Here the description of the system analysis is converted in to a design which can be implemented

Steps in System Design

Select equipment Specify new programs or changes to existing programs Specify new database or changes to existing database Produce detailed procedures (Detailed Design)

System Development

The Detailed design is converted into the system


Individual system components are built and tested Data and tools are used to build the system User interfaces are developed and tried by users Database is initialized with data

System Testing

Two phases in testing

Unit testing (Individual components are tested) Integrated testing (The interfaces between these components are tested)

Test and evaluate results

Implementation

Installation of the system at the client end Represents the start of the systems functioning into its real environment

Maintenance

Maintenance is a continuous process Involves new modifications Eliminate errors in the system during its working life. Fixing any bugs and problem found by users Tune the system to any variations in its working environment

Problems with the Waterfall Model


Rigid design and inflexible procedure Top-down procedure

One phase must be completed before the next phase starts

Real projects rarely follow the sequential flow that the model proposes At the beginning of most projects there is often a great deal of uncertainty about requirements and goals, and it is therefore difficult for customers to identify these criteria on a detailed level. The model does not accommodate this natural uncertainty very well.

Problems with the Waterfall Model

No phase can be repeated

Assumptions made in the early phases no longer hold Some of the early work is incomplete Something was overlooked or not completely understood.

The Modified Waterfall Model


Problem Definition
Requirement Analysis System Design System Development System Testing Maintenance

Spiral Model

Main phases in the Spiral Model

Requirement analysis Design prototype Develop and integrate Acceptances and testing

Life Cycle vs. Methodology

The software development process consists of several well-defined steps. When following a design methodology, a designer can select appropriate modeling method related to each step

Life Cycle vs. Methodology


A system life cycle divides the life of an information system into two major Stages 1. Systems Development 2. Systems operation and support.

LIFE CYCLE STAGE System Development Using System Development Methodologies

LIFE CYCLE STAGE

Lifetime Of a System

System Operation & Support

Using Information Technology

Life Cycle vs. Methodology

A system development methodology is a very formal and precise system development process that defines

A set of activities Methods Best practices Deliverables Automated tools

System Development methodology


A System Development methodology (Process) has some general principles. P1: Get the owner and User Involved P2: Use a problem-solving approach

Study and understand the problem and its context Define the requirement of a suitable solution. Identify candidate solutions and select the best solution. Design and/or implement the solution. Observe and evaluate the solutions impact, and refine the solution accordingly

System Development methodology

P3: Establish phases and activities

Preliminary investigation Problem analysis Requirement analysis Decision analysis Design Construction Implementation

System Development methodology

P4: Establish standards

Documentation Quality Automated Tools Information technology

System Development methodology

P5: Justify systems as capital investments


Cost effectiveness Risk management

System Development methodology

P6: Dont be afraid to cancel or revise scope

Cancel the project if it is no longer feasible If project scope is to be increased, reevaluate and adjust the cost and schedule If the project budget and schedule are frozen and not sufficient to cover all project objectives, reduce the scope

System development methodology

P7: Divide and conquer

We divide a system into subsystem and components


Easily to conquer the problem Easy to build a large problem

System Development methodology

P8: Design systems for growth and change


Correcting simple mistakes To redesigning the system to accommodate changing technology To making modification to support changing user requirements.

Development Process

Methodology Modeling Methods or Techniques Tools

Methodology

Provides the framework Has a predefined set of steps Ensures that systems are built in the most effective way
E.g. SSADM, RUP

Uses tools and modeling methods

Modeling Methods

A set of techniques used to implement a Methodology


Data Flow Diagrams Entity Relationship Diagrams Structure Charts etc.

System Development methodologies

Supported by Modeling Methods or Techniques

Techniques used to implement the Methodology Provides the descriptions of the business system requirements from various view points

Tools

Software systems Assists analysts and designer to build information systems

e.g. Easy Case, Rational Rose, MS Visio

Supported by Tools.

They will not replace Systems Analysts.

Methodology
Rational Unified Process

Modeling Method or Technology


Use Case Diagrams Class Diagrams

Tools

Rational Suit Rational ROSE

Summary

System Life Cycles

Why we need them Advantages Faults with this model

Waterfall Model

Spiral Model SD Life Cycle vs. SD Methodology System Development Methodology