+ All Categories

Sdlc

Date post: 14-Nov-2014
Category:
Upload: api-27124815
View: 51 times
Download: 2 times
Share this document with a friend
Popular Tags:
85
CSC 2202 Systems Analysi s and Design 2. The Systems Development Life Cycle (SDLC)
Transcript
Page 1: Sdlc

CSC 2202 Systems Analysis and Design

2. The Systems Development Life Cycle

(SDLC)

Page 2: Sdlc

CSC 2202 Systems Analysis and Design

The System Development Life Cycle

It was started in the 1960s and 1970s as the first

documented approach to computer systems

development. All the stages of the development

system are thought about, planned, monitored

and Completed. SDLC is the process by which an

Information System comes to life and maintains

its usefulness to a business as it moves from

inception to replacement.

Page 3: Sdlc

CSC 2202 Systems Analysis and Design

Business need - changing business conditions prompt request for new/improved computer system

System development - analyse, design and implement a system to meet the business need

System installation - move new system into production

System Development Life Cycle

Page 4: Sdlc

CSC 2202 Systems Analysis and Design

System operation - period of active use

System obsolescence - system no longer reflects changed business needs

System Development Life Cycle

Page 5: Sdlc

CSC 2202 Systems Analysis and Design

Need

Develop

Install

Operate

Obsolete

System Life Cycle - illustration

Page 6: Sdlc

CSC 2202 Systems Analysis and Design

Critical Success Factors for Systems Development:effectively meet the stated business needsbuild a flexible and maintainable systembuild a reliable systemproduce a system on time and within

budget

System Development Challenges

Page 7: Sdlc

CSC 2202 Systems Analysis and Design

The phases of the SDLC are described

Differently depending on the author:

Kendall & Kendall terminology

Shelly terminology

Powers et al terminology

Etc.

Terminologies for the SDLC phases

Page 8: Sdlc

CSC 2202 Systems Analysis and Design

Investigation Identify problems and opportunities

Determine requirements

Analysis

Design

Develop software

System Test

Implement and evaluate

System Development Life Cycle(Kendall & Kendall terminology)

Page 9: Sdlc

CSC 2202 Systems Analysis and Design

System Development Life Cycle(Kendall & Kendall terminology)

Page 10: Sdlc

CSC 2202 Systems Analysis and Design

Systems planning Preliminary investigation report

Systems analysis System requirements document

Systems design System design specification

Systems implementation Complete functioning information system

Systems operation and support Operational information system

Systems Development Life Cycle(Shelly terminology)

Page 11: Sdlc

CSC 2202 Systems Analysis and Design

SDLC – (Shelly terminology)

.

Page 12: Sdlc

CSC 2202 Systems Analysis and Design

Systems planning Purpose – identify problem’s nature/scope Systems request – begins the process &

describes desired changes/improvements Systems planning – includes preliminary

investigation or feasibility study End product – preliminary investigation report

Systems Development Life Cycle

Page 13: Sdlc

CSC 2202 Systems Analysis and Design

Systems analysis Purpose is to learn exactly how the current

system operates Fact-finding or requirements

determination is used to define all functions of the current system

Systems Development Life Cycle

Page 14: Sdlc

CSC 2202 Systems Analysis and Design

Options Develop a system in-house Purchase a commercial package Modify an existing system Stop development

The end product for this phase is the systems requirements document

Systems Development Life Cycle

Page 15: Sdlc

CSC 2202 Systems Analysis and Design

Systems designPurpose is to satisfy all documented

requirements Identify all outputs, inputs, files, manual

procedures, & application programsAvoid misunderstanding through manager and

user involvementEnd product is system design specification

Systems Development Life Cycle

Page 16: Sdlc

CSC 2202 Systems Analysis and Design

Systems implementationConstruct/deliver information system Prepares functioning, documented systemWrite, test, document application programsUser and manager approval obtainedFile conversion occursUsers, managers, IS staff trained to operate and

support the systemPost-implementation evaluation performed

Systems Development Life Cycle

Page 17: Sdlc

CSC 2202 Systems Analysis and Design

Systems operation and supportNew system supports business operationsMaintenance changes correct errors or meet

requirementsEnhancements increase system capabilityAfter several years of operation, systems

experience need for extensive changes Systems development life cycle ends with

system replacement

Systems Development Life Cycle

Page 18: Sdlc

CSC 2202 Systems Analysis and Design

2. Determine requirements

3. Analysis

4. Design

5. Develop software

1. Investigation -Identify problems, opportunities

6. System Test

7. Implement and evaluate

System Development Life Cycle illustration

Page 19: Sdlc

CSC 2202 Systems Analysis and Design

Many organisations and many authors use different terminology for the phases of the SDLC

However essentially the same activities are performed

Refer to examples of other terminology

Other Terminology for SDLC phases

Page 20: Sdlc

CSC 2202 Systems Analysis and Design

Investigation phase

Analysis and General Design phase

Detailed Design and Implementation phase

Installation phase

Review phase

System Development Life Cycle(Powers et al terminology)

Page 21: Sdlc

CSC 2202 Systems Analysis and Design

Initial investigation

Feasibility studyFinancial feasibilityTechnical feasibilityOperational feasibilityLegal /ethical feasibility

Investigation phase

Page 22: Sdlc

CSC 2202 Systems Analysis and Design

Existing system review build model of existing system

New system requirements from User’s point of view

New system design sufficient information for management to decide

whether to proceed

Implementation and Installation planning plan to cover next phases

Analysis and General Design phase

Page 23: Sdlc

CSC 2202 Systems Analysis and Design

Technical design for programs (pseudo-code), files, records, reports,

screens

Test specifications and Testingprepare test plansProgramming and Testing write and test program code

User TrainingSystem and Acceptance test by Users, simulating production conditions

Detailed Design and Implementation phase

Page 24: Sdlc

CSC 2202 Systems Analysis and Design

File conversion run programs to convert files into new format

System installation critical system transition to production

Options for installation are: Cutover can be abrupt Operate old and new systems in parallel

(for 2 weeks) Phase in new system, over time Install version of the system

Installation phase

Page 25: Sdlc

CSC 2202 Systems Analysis and Design

Development recap team review of project, for benefit of

future projects

Post implementation review evaluate how well the system is working to what extent are project benefits being

achieved?

Review phase

Page 26: Sdlc

CSC 2202 Systems Analysis and Design

Business SurveyFeasibilitySystems AnalysisSystems DesignProgrammingTestingImplementationPost Implementation ReviewMaintenance

S D L C Phases (general)

Page 27: Sdlc

CSC 2202 Systems Analysis and Design

Page 28: Sdlc

CSC 2202 Systems Analysis and Design

Management needs to know:project is on timeproject is within budget

These project control stages (checkpoints) are the end of each phase of the System Development Life Cycle

Why have a System Development Life Cycle?

Page 29: Sdlc

CSC 2202 Systems Analysis and Design

Initial broad term report

Estimate:project costproject resources (people)project time

Recommend whether go on to Feasibility

1. Business Survey

Page 30: Sdlc

CSC 2202 Systems Analysis and Design

Assess feasibility of the project:operational feasibility technical feasibility financial feasibility

Identify possible solutions and optionsRecommend most appropriate to managementOutline of development plan

2. Feasibility

Page 31: Sdlc

CSC 2202 Systems Analysis and Design

Information GatheringUser Requirements refined to specify the new systemGoal - User Requirements Document design for the new system just enough technical detail

for the customer

Report contents geared towards customer

3. Systems Analysis

Page 32: Sdlc

CSC 2202 Systems Analysis and Design

Convert User Requirements into computer terms

Specify how system will operatewhat programs are neededwhat the programs will do

4. Systems Design

Page 33: Sdlc

CSC 2202 Systems Analysis and Design

Convert specifications into program codePrepare test plans for unit testing (individual programs)

5. Programming and Design Aim

Page 34: Sdlc

CSC 2202 Systems Analysis and Design

Design aim must ensure that the system is: Accurate • Implementable Maintainable • Acceptable Timely • Flexible Robust • Economic Efficient • Secure Compatible • Portable

5. Programming and Design Aim

Page 35: Sdlc

CSC 2202 Systems Analysis and Design

System Testing & Acceptance Testing

System Testing test program as part of the whole

system e.g. new program in whole payroll system

6. Testing - make system “bullet proof”

Page 36: Sdlc

CSC 2202 Systems Analysis and Design

Acceptance TestingCustomers / Users now involvedusually have their own test planssometimes also use programmer

tests

Sign-Off document - signed by Customer Coordinator

6. Testing - make system “bullet proof”

Page 37: Sdlc

CSC 2202 Systems Analysis and Design

Implementation Plan or Update Log

Provides project leader with a list of all: files - new / amendedscreen messages - new / amendedprograms (sources) - new / amended

Timing for lodgment in production environment decided with customer

7. Implementation

Page 38: Sdlc

CSC 2202 Systems Analysis and Design

BUILDING of the system is now complete

Development recap team review - what can be learned from the

project

Post Implementation Review (after 3 or 4 months) degree to which system meets objectives often results in recommended improvements

8. Post Implementation Review

Page 39: Sdlc

CSC 2202 Systems Analysis and Design

Ensure customer changes to the system: retain quality adhere to standards and procedures

Now back at the beginning of the SDLCSize of maintenance change will determine whether all (or subset of) phases of the system Development Life Cycle are required

9. Maintenance

Page 40: Sdlc

CSC 2202 Systems Analysis and Design

Life-Cycle Models

1. The waterfall model

2. The spiral model

3. Rapid application development

4. Joint application development

5. The V model

Page 41: Sdlc

CSC 2202 Systems Analysis and Design

Each Phase of SDLC has an “Output”

PhaseRequirements analysis

Design

Implementation

Test

OutputSoftware Requirements Specification (SRS),

Design Document,Design ClassesCode

Test Report, Change Requests

Page 42: Sdlc

CSC 2202 Systems Analysis and Design

“Life-Cycle” Models

Single-Version Models

Incremental ModelsSingle-Version with Prototyping

Iterative Models

Page 43: Sdlc

CSC 2202 Systems Analysis and Design

“Life-Cycle” Models (1)

Single-Version ModelsWaterfall Model

Waterfall Model with “back flow”

“V” model: Integrating testing

Page 44: Sdlc

CSC 2202 Systems Analysis and Design

Incremental vs. Iterative

These sound similar, and sometimes are equated.

Subtle difference: Incremental: add to the product at each phase Iterative: re-do the product at each phase

Some of the models could be used either way

Page 45: Sdlc

CSC 2202 Systems Analysis and Design

The waterfall modelFirst described by Royce in 1970

There seem to be at least as many versions as there are authorities - perhaps more

The Waterfall model

Page 46: Sdlc

CSC 2202 Systems Analysis and Design

Waterfall Model

Requirements

Design

Implementation

Test

Each phase “pours over” into the next phase.

Page 47: Sdlc

CSC 2202 Systems Analysis and Design

Waterfall Model

Managers love waterfall models:Nice milestonesNo need to look back (linear system), one

activity at a timeEasy to check progress : 90% coded, 20%

tested

Page 48: Sdlc

CSC 2202 Systems Analysis and Design

Waterfall Model

Traditional life cycleAnalysis, design, code, test & maintenanceTop down rigidityNo iteration between phasesDifficult accommodating uncertainty & riskBlack box approach

Page 49: Sdlc

CSC 2202 Systems Analysis and Design

Why Not Waterfall?

2. Requirements are not stable/unchanging.

The market changes—constantly.

The technology changes.

The goals of the stakeholders change.

Page 50: Sdlc

CSC 2202 Systems Analysis and Design

Why Not Waterfall?3. The design may need to change during implementation.

Requirements are incomplete and changing.

Too many variables, unknowns, and novelties.

A complete specification must be as detailed as code itself.

Software is very “hard”. Discover Magazine, 1999: Software characterized as the most

complex “machine” humankind builds.

Page 51: Sdlc

CSC 2202 Systems Analysis and Design

V - Model

The V Model Distinguishes between Development and Verification Activities

Page 52: Sdlc

CSC 2202 Systems Analysis and Design

V - ModelEach phase has corresponding test or validation counterpart

Requirements Analysis

System Design

Program Design

Implementation

Unit Test

Integration Test

Acceptance Test

Page 53: Sdlc

CSC 2202 Systems Analysis and Design

V - ModelLevel of Detail

Project Time

Low

High

AcceptanceTesting

Problem with V-Model: Client’s Perception is the same as the Developer’s Perception

Client’s UnderstandingDeveloper’s Understanding

RequirementsElicitation

Analysis

Design

System Testing

Object Design Unit Testing

Integration Testing

Page 54: Sdlc

CSC 2202 Systems Analysis and Design

Problems with V - Model

The V model does not model iteration

Page 55: Sdlc

CSC 2202 Systems Analysis and Design

Boehm Spiral Model

Four major activities

1. Determination of objectives, alternatives, and constraints

2. Risk analysis and prototyping

3. Waterfall approach to next level product

4. Plan for the next phase cycle:

Page 56: Sdlc

CSC 2202 Systems Analysis and Design

Boehm Spiral Model

Page 57: Sdlc

CSC 2202 Systems Analysis and Design

Identify risks

Assign priorities to risks

Develop a series of prototypes for the identified risks starting with the highest risk.

Use a waterfall model for each prototype development (“cycle”)

If a risk has successfully been resolved, evaluate the results of the “cycle” and plan the next round

If a certain risk cannot be resolved, terminate the project immediately

Spiral Model Deals with Iteration

Page 58: Sdlc

CSC 2202 Systems Analysis and Design

Limitations of the Waterfall and Spiral Models

Neither of these model deals well with frequent change The Waterfall model assume that once you are

done with a phase, all issues covered in that phase are closed and cannot be reopened

The Spiral model can deal with change between phases, but once inside a phase, no change is allowed

What do you do if change is happening more frequently? (“The only constant is the change”)

Page 59: Sdlc

CSC 2202 Systems Analysis and Design

Rapid Application Development

RAD is a methodology for compressing the analysis, design, build, and test phases into a series of short, iterative development cycles.

This has a number of distinct advantages over the traditional sequential development model.

Page 60: Sdlc

CSC 2202 Systems Analysis and Design

Page 61: Sdlc

CSC 2202 Systems Analysis and Design

Rapid Application Development

Iteration allows for effectiveness and self-correction. Iterations results into many small refinements and improvements. An important, fundamental principle of iterative development is that each iteration delivers a functional version of the final system

Page 62: Sdlc

CSC 2202 Systems Analysis and Design

Rapid Application Development

Like prototyping, uses iterative development

Uses tools to speed up development GUI reusable code code generation programming, language testing and debugging

Page 63: Sdlc

CSC 2202 Systems Analysis and Design

Rapid Application Development

RAD projects are typically staffed with small integrated teams comprised of developers, end users, and IT technical resources. Small teams, combined with short, iterative development cycles optimizes speed, unity of vision and purpose, effective informal communication and simple project management.

Page 64: Sdlc

CSC 2202 Systems Analysis and Design

Rapid Application DevelopmentHigh SpeedHigh QualityAnd Lower Cost Quality is a primary concept in the RAD environment. Systems developed using the RAD development path meet the needs of their users effectively and have low maintenance costs.

Page 65: Sdlc

CSC 2202 Systems Analysis and Design

Preliminary working version of a system (or one of its parts) built quickly and inexpensively using “friendly, powerful” software reviewed by end userssuggest changes for system improvements.

Prototyping

Page 66: Sdlc

CSC 2202 Systems Analysis and Design

Iterative process, say 10 versionsResult - evolve to become final system, or... throw away, but clarified SDLC requirements

Prototyping

Page 67: Sdlc

CSC 2202 Systems Analysis and Design

Identify Basic User RequirementsIdentify Basic User Requirements

Rapidly Develop PrototypeRapidly Develop Prototype

Users work with PrototypeUsers work with Prototype

Obtain User FeedbackObtain User Feedback

Modify the PrototypeModify the Prototype

IterativeIterativeenhancementenhancement

ThrowawayThrowawayPrototypePrototype

EvolutionaryEvolutionaryPrototypePrototype

Prototyping Process

Page 68: Sdlc

CSC 2202 Systems Analysis and Design

Prototype

Steps followed by a systems analyst using a prototype during the systems analysis phase are shown

Page 69: Sdlc

CSC 2202 Systems Analysis and Design

Prototype

*

Page 70: Sdlc

CSC 2202 Systems Analysis and Design

Prototyping can help to obtain complete and reliable system requirements

Prototyping process: iterativeUser works with latest version of prototype

to determine the refined requirementsprototype quickly amended (by the User

and systems analyst)

Prototyping

Page 71: Sdlc

CSC 2202 Systems Analysis and Design

Interactive software development tools

Allows designer to quickly:design screens, create files, data entry

routines, basic reporting functions

Tools should be flexible and easy to use

Prototyping tools

Page 72: Sdlc

CSC 2202 Systems Analysis and Design

Prototyping goal is to enhance the System development process. Prototyping focuses on the Analysis and General Design phase.Outcome – one extreme is prototype actually becomes the

finished system (after many iterations) other extreme is throw away prototype and

build system using conventional methods BUT now have very high level of confidence

with accuracy and completeness of User Requirements

Prototyping and the SDLC

Page 73: Sdlc

CSC 2202 Systems Analysis and Design

Prototyping

Performing analysis, design, and implementation phases concurrently, and repeatedly

Users see system functionality quickly and provide feedback

Decision maker learns about problem

But can lose gains in repetition

Page 74: Sdlc

CSC 2202 Systems Analysis and Design

Prototyping

Design

Implementation

Analysis

Need

Planning

Prototype

System

Prototype Not OKPrototype OK

Page 75: Sdlc

CSC 2202 Systems Analysis and Design

Uses of Prototyping Verifying user needs

Verifying that design = specifications

Selecting the “best” design

Developing a conceptual understanding of novel

situations

Page 76: Sdlc

CSC 2202 Systems Analysis and Design

Uses of Prototyping Testing a design under varying environments

Demonstrating a new product to upper

management

Implementing a new system in the user

environment quickly

Page 77: Sdlc

CSC 2202 Systems Analysis and Design

Prototyping

Proposed AdvantagesImproved user

communicationUsers like itLow riskAvoids over-designExperimentation

and innovationSpreads labor to

user department

Disadvantages in practice Prototypes are used “as is”

Integration often difficult

Design flaws Poor performance

Difficult to manage process Creates unrealistic

expectations Documentation is difficult

Page 78: Sdlc

CSC 2202 Systems Analysis and Design

Advantages of Prototyping

Short development time

Short user reaction time

Improved user understanding

Low cost

Page 79: Sdlc

CSC 2202 Systems Analysis and Design

Disadvantages of Prototyping

Gains may be lost in

Thorough understanding information System’s benefits and costs

Detailed description of information needs

Easy to maintain IS design

Well-tested IS

Well-prepared users

Page 80: Sdlc

CSC 2202 Systems Analysis and Design

Alternative methodologies to SDLC are: Structured approaches.

Structured System Analysis & Design Methodology

YourdonJackson system developmentMerise Work flow systems

Prototyping.

Alternative system development methodologies

Page 81: Sdlc

CSC 2202 Systems Analysis and Design

Alternative methodologies to SDLC are: Joint Application DevelopmentRapid Application DevelopmentObject oriented analysis and design.Soft Systems Methodology.

Alternative system development methodologies

Page 82: Sdlc

CSC 2202 Systems Analysis and Design

JAD

Joint application development (JAD) Task force of users, managers, and IS staff Objectives

Gather information Discuss business needs Define the new system requirements

Methods Team usually meets at specific location Team has project leader and recorder(s) Key users participate in intense development effort

JAD can be costly, but highly effective

PackageClick to see Figure 3-11

Page 83: Sdlc

CSC 2202 Systems Analysis and Design

RADRapid application development (RAD) Team method similar to JAD, but goes further RAD phases resemble a mini-SDLC

Requirements planning, user design, construction, and cutover

RAD involves a continuous design process Team can react quickly Final objective is a functioning system

RAD can be faster and less costly, but stresses system mechanics rather than strategic needs

Page 84: Sdlc

CSC 2202 Systems Analysis and Design

OOAD

Object-oriented (O-O) systems development Object-based model Objects and their attributes are abstract entities Classes and subclasses

Page 85: Sdlc

CSC 2202 Systems Analysis and Design

Review Questions

1. List and describe the major stages of the systems development life cycle.

2. What is prototyping and what advantages does it offer in the SDLC?

3. Explain why the investigation phase and the initial analysis and design phases are perhaps the most critical stages of the SDLC.

4. Explain the systems life cycle and describe why this concept is important to systems developers.


Recommended