System Analysis and Development and Models Class Ppt

download System Analysis and Development and Models Class Ppt

of 92

Transcript of System Analysis and Development and Models Class Ppt

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    1/92

    System Analysis and

    Development andmodels

    Module 4

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    2/92

    What is Software?

    Instructions (computer programs) that when executedprovide desired function and performance

    Data structures enable the programs to adequately

    manipulate information Documents that describe the operation and use of

    the program

    Software engineering : A Practitioner's Approach

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    3/92

    A definition of the software

    development: The application of a systemic,

    disciplined, quantifiable approach todevelopment, operation, and

    maintenance of software. EEE Standard Computer Dictionary, 610, ISBN

    1-55937-079-3Software Engineering: A Practitioner's Approach

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    4/92

    Whos Who

    CUSTOMER Sponsors systemdevelopment

    USER

    Uses

    system

    DEVELOPER

    Builds

    system

    Contractualobligation

    $$$,needs

    Software system

    Needs

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    5/92

    5

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    6/92

    6

    Two Main Approaches

    Both traditional and object-oriented approaches tosystem development use the system development lifecycle (SDLC) as a project management and aprocess management framework.

    The predictive approach to the SDLC is used forprojects that are

    well understood and low risk. The adaptive approach to the SDLC is used for

    projects that are not well understood and are higherrisk.

    Adaptive SDLCs are more iterative and allow theproject team to adapt the project to changingcircumstances. Sometimes very important in today'srapidly changing environments.

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    7/92

    The System Development Life Cycle

    What is an information system (IS)?

    Hardware, software, data,

    people, and procedures that

    work together to producequality information

    SystemSet of components

    that interact to achieve

    common goal

    Businesses use many types of

    systems

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    8/92

    The System Development Life Cycle

    What are the phases of the system development cycle?

    Phase 1. Planning

    Phase 2. Analysis

    Phase 3. Design

    Phase 4. ImplementationPhase 5. Support

    Review project requests

    Prioritize project

    requests Allocate resources

    Identify project

    development team

    Conduct preliminary investigation

    Perform detailed analysis activities:

    Study current system

    Determine user requirements

    Recommend solution

    Acquire hardware

    and software, if

    necessary

    Develop details of

    system

    Develop programs, if necessary

    Install and test new system

    Train users

    Convert to new system

    Conduct post-implementation

    system review

    Identify errors and enhancements

    Monitor system performance

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    9/92

    Arrange tasks into phases

    The System Development Life Cycle

    What are guidelines for system development?

    Involve users (anyone for whom

    system is being built)

    Develop clearly defined standards (procedurescompany expects employees to follow)

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    10/92

    The System Development Life Cycle

    Who participates

    in the system

    development life

    cycle?

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    11/92

    The System Development Life Cycle

    What is the role of a systems analyst?

    Responsible for designing

    and developing

    information system

    Liaison between users

    and IT professionals

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    12/92

    The System Development Life Cycle

    What is the project team?

    Consists of users, systems analyst, and other IT professionals

    Formed to work on project from beginning to end

    Project leaderone member of the team who

    manages and controls project budget and schedule

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    13/92

    The System Development Life Cycle

    What is feasibility?Measure of

    how suitable

    system

    developmentwill be to the

    company

    Operational

    feasibility

    Schedule

    feasibility

    Four feasibility

    tests:

    Technicalfeasibility

    Economic

    feasibility

    (also calledcost/benefit

    feasibility)

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    14/92

    The System Development Life Cycle

    What is documentation?

    Includes reports, diagrams,

    programs, and other deliverables

    Collection and summarization

    of data and information

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    15/92

    The System Development Life Cycle

    What are six data and information gathering techniques? Review documentation Observe

    Questionnaire

    Interview

    Joint-application

    design (JAD) session

    Research

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    16/92

    The System Development Life Cycle

    What are some reasons to create or modify an

    information system?

    Competition canlead to change

    To improve

    existing system

    Outside group maymandate change

    To correct problem

    in existing system

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    17/92

    The System Development Life Cycle

    What is a request for system services? Formal request for

    new or modified

    information system Also called

    project request

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    18/92

    The System Development Life Cycle

    What is the planning phase?Begins when steering committee receives project request

    Steering

    committee

    decision-making

    body for the

    company

    Function of committee:

    Review and

    approve project

    requests

    Allocate

    resources

    Form projectdevelopment

    team for each

    approved

    project

    Prioritize

    project requests

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    19/92

    The System Development Life Cycle

    What is the analysis phase?Conduct preliminary

    investigation, also

    called feasibility

    study

    Perform detailed

    analysis

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    20/92

    The System Development Life Cycle

    What is the preliminary investigation? Determine exact nature of problem or improvement

    and whether it is worth pursuing Findings are presented in feasibility report, also known as a feasibility study

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    21/92

    The System Development Life Cycle

    What is detailed analysis?

    Sometimes called logical design

    2. Determine users wants, needs,and requirements

    3. Recommend solution

    1. Study how current system

    works

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    22/92

    Presented to

    steering

    committee,

    which decideshow system will

    be developed

    The System Development Life Cycle

    What is the

    system proposal? Assessesfeasibility

    of each

    alternative

    solution

    Recommends

    the most

    feasible

    solution forthe project

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    23/92

    The System Development Life Cycle

    What are possible solutions?Buypackaged softwareprewritten

    software available for purchase

    Outsourcehave outside sourcedevelop software

    Write own custom softwaresoftware

    developed at users request

    Vertical market

    softwaredesigned

    for particular industry

    Horizontal market

    softwaremeetsneeds of many

    companies

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    24/92

    The System Development Life Cycle

    What is the design phase?

    Acquire hardware and software

    Develop all details of new or

    modified information system

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    25/92

    Visit vendors stores

    The System Development Life Cycle

    What is needed to acquire new hardware and software?

    Identify all hardware and software requirements of new or

    modified system

    Surf Web

    Read print and online

    trade journals,newspapers, and

    magazines

    Talk with other

    systems analysts

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    26/92

    The System Development Life Cycle

    What are three basic documents used to summarize

    technical specifications?

    Less formal method

    that uses standard

    form to request

    information about

    product or service

    Vendor quotes

    price(s) for

    listed

    product(s)

    Vendor selects

    product(s) that

    meet(s) your

    requirements andthen quotes

    price(s)

    Identifies

    product(s)

    you want

    Request for information (RFI)

    Request for proposal (RFP)

    Request for quotation (RFQ)

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    27/92

    The System Development Life Cycle

    How do systems analysts test software products? References from vendor

    Talk to current users of product

    Product demonstrations

    Trial version of software

    Benchmark test measures performance

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    28/92

    The System Development Life Cycle

    What is a detailed design?

    Includes several activities

    Database

    design

    Input and

    output design

    Program

    design

    Detailed design specifications for components in proposed solution

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    29/92

    The System Development Life Cycle

    What is a mockup? Sample of input or output that contains actual data

    T

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    30/92

    The System Development Life Cycle

    What is a prototype?

    Working model of

    proposed system

    Beginning a prototype

    too early may lead to

    problems

    Th S D l if C l

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    31/92

    The System Development Life Cycle

    What is computer-aided software engineering (CASE)? Software tools designed to support activities of system

    development cycle

    Th S D l Lif C l

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    32/92

    Convert to new system

    The System Development Life Cycle

    What is the implementation phase? Purpose is to construct, or build, new or modified

    system and then deliver it to users

    Train users

    Install and test new system

    Develop programs

    Th S D l Lif C l

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    33/92

    The System Development Life Cycle

    What are the three types of tests performed by system

    developers?

    Verifies application

    works with other

    applications

    Systems test

    Integration Test

    Unit Test

    Verifies eachindividual program

    works by itself

    Verifies all programsin application work

    together

    Th S D l Lif C l

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    34/92

    The System Development Life Cycle

    What is training? Showing users exactly

    how they will use new

    hardware and software

    in system

    Th S D l Lif C l

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    35/92

    The System Development Life Cycle

    What is the support phase?Conductpost-implementation system reviewmeeting to find out if

    information system is performing according to expectations

    Identify errors

    Identify enhancements

    Monitor system performance

    Provides ongoing assistance after system is implemented

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    36/92

    SYSTEM DEVELOPMENTMODELS

    36

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    37/92

    Two Approaches to

    System Development1. Traditional Approach

    Structured system development

    Structured analysis Structured design

    Structured programming

    Known as Structured Analysis and

    Design Technique (SADT)

    2. Object-Oriented Approach

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    38/92

    Structured Programming

    Improves computer program quality

    Allows other programmers to easily

    read and modify the code Each program module has one

    beginning and one ending

    Three programming constructs

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    39/92

    Satzinger et al (2006) Fig 2-12

    Three Structured Programming

    Constructs

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    40/92

    Top-Down Programming

    Divides complex programs into hierarchy ofmodules

    Module at top controls execution by callinglower level modules

    Modular programming Similar to top-down programming One program calls others to work as single system

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    41/92

    Satzinger et al (2006) Fig 2-13

    Top-Down or Modular

    Programming

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    42/92

    Structured Design

    Developed to provide guidelines

    What the set of programs should be

    What each program should accomplish How programs should be organized into a

    hierarchy Structure Chart

    Main principles of program modules Loosely coupled

    Highly cohesive

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    43/92

    Satzinger et al (2006) Fig 2-14Structure Chart

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    44/92

    Structured Analysis

    Helps developer define what the systemneeds to do (processing requirements)

    Data to store and use Inputs and outputs

    How functions work together

    DFDs and ERDs commonly showresults of structured analysis

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    45/92

    Satzinger et al (2006) Fig 2-17

    Structured Analysis Leads to StructuredDesign and Structured Programming

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    46/92

    Automated Tools and

    Technology Computer-aided systems engineering

    (CASE)

    Application Development Environments(ADE) or Integrated DevelopmentEnvironments (IDE)

    Process and project managers

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    47/92

    ADE Tools

    Application development environments(ADEs) are:

    integrated software development tools

    provide all the facilities necessary to develop newapplication software

    maximise speed and quality

    A common synonym is integrateddevelopment environment (IDE)

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    48/92

    Project Managers

    A project manageris an automated tool to: help plan system development activities

    (preferably using the approved methodology)

    estimate and assign resources (including peopleand costs)

    schedule activities and resources

    monitor progress against schedule and budgetcontrol

    modify schedule and resources

    report project progress

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    49/92

    Computer-Aided System

    Engineering (CASE) Automated tools to improve the speedand quality of system development work

    Support the drawing of models Provide for the translation of systemmodels into application programs

    Database of information about systemcalled repository

    Upper CASE, Lower CASE, ICASE

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    50/92

    CASE repository

    is a system developers or project

    database

    it is a place where developers can storesystem models, detailed descriptions andspecifications, and other products ofsystem development

    synonyms include dictionary andencyclopedia

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    51/92

    Forward and Reverse

    Engineering Forward engineering requires the systemsanalyst to draw system models, either fromscratch or from templates. The resulting

    models are subsequently transformed intoprogram code

    Reverse engineering allows a CASE tool toread existing program code and transform

    that code into a representative system modelthat can be edited and refined by the systemsanalyst

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    52/92

    Satzinger et al (2006) Fig 2-22

    CASE ToolRepository containsall system Information

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    53/92

    Process AnalysisSystem Process Modeling

    Three main analysis techniques tobe reviewed here are:

    Data Flow Diagrams (DFDs)

    Data Dictionary Definitions

    Process Specifications

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    54/92

    Introduction to Data Flow Diagrams

    Basic Constructs:

    Processes

    Data flows

    Files

    External Entities: sources or sinks

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    55/92

    The Interrelation BetweenSpecification Components

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    56/92

    Example of a Data FlowDiagram(1)

    Example of a Data Flow

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    57/92

    Example of a Data FlowDiagram(2)

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    58/92

    Introduction to Data Flow Diagrams(cont.)

    Constructing Data Flow Diagrams

    Identify the Static Components

    Identify the Main Processes

    Expand and Refine the Diagram

    Review the Diagram

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    59/92

    Context DiagramDecomposition Level: 0

    Diagram 0

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    60/92

    Diagram 0Decomposition Level: 1

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    61/92

    Diagram 1Decomposition Level: 2

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    62/92

    Diagram 2Decomposition Level: 2

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    63/92

    Data Dictionaries (DD)

    Purpose:

    to keep data about:

    Data Flow and Data Item Specifications

    File Specifications

    Process Specifications

    Data Specification Language:

    Notational Conventions: = , + , [ ] , { } , ( )e.g. amount due = [dollar amount, sterling amount]

    Process Specifications

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    64/92

    Process Specifications

    Processing and control information omitted from a DFD belongsin a process specification

    Each functional primitive has one process specification

    Process Specifications can be represented in a variety oflanguages, the most popular are:

    Structured English

    Decision Tables and Decision Trees

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    65/92

    Decision Tables

    A tabular of conditions and actions and an indicationunder which conditions, which actions must beperformed

    Consists of four quadrants

    Condition Stub Rulesa list of all possible conditions contains selectors which identify

    that can arise within the process different combinations of the possible conditions

    Action Stub Action Entriesa list of all possible actions that indicators which select the actions to be performed

    occur within the process

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    66/92

    Decision Tables: 3 variants

    Limited Entry Decision Table

    Mixed Entry Decision Table

    Extended Entry Decision Table

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    67/92

    Limited Entry Decision Table

    Contains only the binary selectors Y & N and the catch all selector -in the rules quadrant. In the action entries, it contains only the actionselector symbol X.

    1 2 3 4

    Credit Satisfactory Y N N N

    Prompt Payer - Y N N

    Special Clearance - - Y N

    Accept Order X X XReturn Order X

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    68/92

    Contains only the binary selectors Y & N and the catch all selector -

    in the rules quadrant. In the action entries quadrant, indicators otherthan X appear.

    1 2 3

    Salaried Employee N N Y

    Hours Worked > 40 Y N -

    Pay Overtime Regular Regularrate rate rate

    Mixed Entry Decision Table

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    69/92

    Extended Entry Decision Table

    Selectors in the rules quadrant are no longer simply binary (y or N)but may take on specific values or ranges of values.

    1 2 3 4

    Approved Credit N Y Y Y

    Quantity Ordered - 0-24 25-55 56-99

    Discount (%) 0 5 10

    Release Order X X X

    Reject Order

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    70/92

    Advantages of Decision Tables

    Easily understood

    Alternatives are shown side by side

    Cause & effect relationship is shown, thus permittingeasier user validation

    Possible to check that all combinations of conditionshave been considered

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    71/92

    SDLC Model

    A framework that describes the activitiesperformed at each stage of a softwaredevelopment project.

    f

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    72/92

    Waterfall Model Requirements defines

    needed information, function,behavior, performance andinterfaces.

    Design data structures,

    software architecture, interfacerepresentations, algorithmicdetails.

    Implementation source

    code, database, userdocumentation, testing.

    W f ll S h

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    73/92

    Waterfall Strengths

    Easy to understand, easy to use

    Provides structure to inexperienced staff

    Milestones are well understood

    Sets requirements stability Good for management control (plan, staff, track)

    Works well when quality is more important than

    cost or schedule

    W f ll D fi i i

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    74/92

    Waterfall Deficiencies

    All requirements must be known upfront Deliverables created for each phase areconsidered frozeninhibits flexibility

    Can give a false impression of progress

    Does not reflect problem-solving nature ofsoftware development iterations of phases

    Integration is one big bang at the end

    Little opportunity for customer to preview thesystem (until it may be too late)

    Wh h W f ll M d l

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    75/92

    When to use the Waterfall Model

    Requirements are very well known Product definition is stable

    Technology is understood

    New version of an existing product Porting an existing product to a new platform.

    Structured Evolutionary Prototyping

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    76/92

    Structured Evolutionary PrototypingModel

    Developers build a prototype during therequirements phase

    Prototype is evaluated by end users

    Users give corrective feedback

    Developers further refine the prototype

    When the user is satisfied, the prototypecode is brought up to the standardsneeded for a final product.

    Structured Evolutionary Prototyping

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    77/92

    Structured Evolutionary PrototypingSteps

    A preliminary project plan is developed An partial high-level paper model is created The model is source for a partial requirements

    specification A prototype is built with basic and critical attributes The designer builds

    the database user interface algorithmic functions

    The designer demonstrates the prototype, the userevaluates for problems and suggests improvements. This loop continues until the user is satisfied

    Structured Evolutionary Prototyping

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    78/92

    Structured Evolutionary PrototypingStrengths

    Customers can see the system requirementsas they are being gathered

    Developers learn from customers

    A more accurate end product

    Unexpected requirements accommodated

    Allows for flexible design and development

    Steady, visible signs of progress produced

    Interaction with the prototype stimulatesawareness of additional needed functionality

    Structured Evolutionary Prototyping

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    79/92

    Structured Evolutionary PrototypingWeaknesses

    Tendency to abandon structured programdevelopment for code-and-fix development

    Bad reputation for quick-and-dirty methods

    Overall maintainability may be overlooked The customer may want the prototype delivered.

    Process may continue forever (scope creep)

    When to use

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    80/92

    When to useStructured Evolutionary Prototyping

    Requirements are unstable or have to beclarified

    As the requirements clarification stage of a

    waterfall model Develop user interfaces

    Short-lived demonstrations

    New, original development

    With the analysis and design portions of object-oriented development.

    R id A li ti M d l (RAD)

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    81/92

    Rapid Application Model (RAD)

    Requirements planning phase (a workshoputilizing structured discussion of businessproblems)

    User description phase automated tools

    capture information from users Construction phase productivity tools, such as

    code generators, screen generators, etc. insidea time-box. (Do until done)

    Cutover phase -- installation of the system, useracceptance testing and user training

    RAD St th

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    82/92

    RAD Strengths

    Reduced cycle time and improved productivitywith fewer people means lower costs

    Time-box approach mitigates cost and schedulerisk

    Customer involved throughout the completecycle minimizes risk of not achieving customersatisfaction and business needs

    Focus moves from documentation to code(WYSIWYG).

    Uses modeling concepts to capture informationabout business, data, and processes.

    RAD W k

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    83/92

    RAD Weaknesses

    Accelerated development process must givequick responses to the user

    Risk of never achieving closure

    Hard to use with legacy systems

    Requires a system that can be modularized

    Developers and customers must be committedto rapid-fire activities in an abbreviated time

    frame.

    Wh t RAD

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    84/92

    When to use RAD

    Reasonably well-known requirements

    User involved throughout the life cycle

    Project can be time-boxed

    Functionality delivered in increments

    High performance not required

    Low technical risks System can be modularized

    Spiral SDLC Model

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    85/92

    Spiral SDLC Model Adds risk analysis,

    and 4gl RADprototyping to thewaterfall model

    Each cycle involvesthe same sequence ofsteps as the waterfallprocess model

    Spiral QuadrantD t i bj ti lt ti d t i t

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    86/92

    Determine objectives, alternatives and constraints

    Objectives: functionality, performance,hardware/software interface, critical success factors, etc.

    Alternatives: build, reuse, buy, sub-contract, etc.

    Constraints: cost, schedule, interface, etc.

    Spiral Quadrant

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    87/92

    p QEvaluate alternatives, identify and resolve risks

    Study alternatives relative to objectives and constraints Identify risks (lack of experience, new technology, tight

    schedules, poor process, etc.

    Resolve risks (evaluate if money could be lost by

    continuing system development

    Spiral Quadrant

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    88/92

    pDevelop next-level product

    Typical activites: Create a design

    Review design

    Develop code

    Inspect code

    Test product

    Spiral Quadrant

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    89/92

    pPlan next phase

    Typical activities Develop project plan

    Develop configuration management plan

    Develop a test plan

    Develop an installation plan

    Spiral Model Strengths

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    90/92

    Spiral Model Strengths

    Provides early indication of insurmountablerisks, without much cost

    Users see the system early because of rapid

    prototyping tools Critical high-risk functions are developed first

    The design does not have to be perfect

    Users can be closely tied to all lifecycle steps

    Early and frequent feedback from users

    Cumulative costs assessed frequently

    Spiral Model Weaknesses

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    91/92

    Spiral Model Weaknesses Time spent for evaluating risks too large for small or low-

    risk projects

    Time spent planning, resetting objectives, doing riskanalysis and prototyping may be excessive

    The model is complex

    Risk assessment expertise is required Spiral may continue indefinitely

    Developers must be reassigned during non-developmentphase activities

    May be hard to define objective, verifiable milestonesthat indicate readiness to proceed through the nextiteration

    When to use Spiral Model

  • 8/3/2019 System Analysis and Development and Models Class Ppt

    92/92

    When to use Spiral Model

    When creation of a prototype is appropriate When costs and risk evaluation is important For medium to high-risk projects Long-term project commitment unwise because

    of potential changes to economic priorities Users are unsure of their needs Requirements are complex New product line

    Significant changes are expected (research andexploration)