32 Systemdevelopment Methodologies 101107012049 Phpapp02

download 32 Systemdevelopment Methodologies 101107012049 Phpapp02

of 36

Transcript of 32 Systemdevelopment Methodologies 101107012049 Phpapp02

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    1/36

    Fundamen

    talInformatio

    nTechnologyEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    System Development

    MethodologiesSoftware Crisis: The Need for a Methodology

    What is a Methodology?

    The Objectives of the Software DeveloperWhat is software quality?

    The Generic Tasks of System Development

    Methodologies

    Classical Life Cycle (Waterfall)

    Prototyping

    Spiral Method

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    2/36

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    3/36

    Fundamen

    talInformatio

    nTechnologyEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Software Crisis

    Some findings of the OASIG (UK) 1996:

    80-90% of software projects do not meet theirperformance goals,

    about 80% are delivered later and over budget,

    around 40% fail or are abandoned,

    under 40% fully address training and skillsrequirements,

    less than 25% properly integrate enterprise andtechnology objectives,

    just 10-20% meet all their success criteria

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    4/36

    Fundamen

    talInformatio

    nTechnologyEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Software Crisis

    Some of the problems identified:

    Lack of a complete requirements specification,

    Lack of an appropriate developmentmethodology,

    Poor decomposition of design into manageablecomponents

    Conclusion:

    The need for a structured approach to softwaredevelopment

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    5/36

    Fundamen

    talInformatio

    nTechnologyEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    What is a Methodology?

    A particular combination of procedures,

    techniques (methods) and tools for developing a

    system

    Elements of a methodology

    Procedures: A sequence of well defined steps

    Methods: Technical know-how for building software

    Examples: techniques to carry out requirements analysis,design, testing, etc.

    Tools: Provide automated or semi-automated support

    for process and techniques/methods

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    6/36

    Fundamen

    talInformatio

    nTechnologyEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Generic Tasks of System

    Development Requirements Gathering, Analysis and Specification

    Tailor:

    System Development

    Design: Tailor:

    Systems Development: Construction

    Tailor:

    Systems Development:

    Testing Tailor:

    Systems Development:

    Implementation, Operations and Maintenance Tailor:

    Systems Development:

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    7/36

    Fundamen

    talInformationTechnologyEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Objectives of the System Developer

    Each methodology attempts to approach

    system development in a way that would

    result in a better product and achieveobjectives

    What are the objectives of the software

    developer?

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    8/36

    Fundamen

    talInformationTechnologyEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Software Quality

    What are the characteristics of software

    quality?

    Which software quality factor is most

    important?

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    9/36

    Fundamen

    talInformationTechnologyEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Characteristics of Methodology

    All methodologies however contain the

    following components:

    A work breakdown structure that providesguidance on what to do and when to do it.

    Techniques on how to do whatneeds to be done

    Advice on how to manage the quality of theseresults

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    10/36

    Fundamen

    talInformationTechnologyEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Why do we need a methodology?

    Ensure high quality outputs

    Ensure system development process issystematic and not haphazard or based on

    individual inspiration Allows system development process to be

    managed, taught and practiced to ensure highquality assurance

    Achieve efficiency and effectiveness in softwareengineering

    In your opinion, what is a good methodology?

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    11/36

    Fundamen

    talInformationTechnologyEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Difference Between SDLC and

    Methodology SDLC describes the stages or phases in the

    development of a system

    A methodology is a particular combination

    of procedures, techniques and tools for

    developing an (information) system.

    Each methodology will have its ownsystems development life cycle.

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    12/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Classical SDLC (Waterfall Model)

    Characterized by a sequential approachanearlier phase has to be completed before the

    next phase is embarked User get to see the system late in its

    development

    Any wrong requirements or design aretherefore realized later and may results inmore expensive loop-backs.

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    13/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Classical SDLC (Waterfall Model)

    Analysis

    Design

    Implementation

    Testing

    Evaluation &

    Maintenance

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    14/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Classical SDLC (Waterfall Model)

    Question:

    In what situations would the Classical System

    Development Life Cycle be more useful?

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    15/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Prototyping

    Iterative process

    Stages: Requirements Gathering

    Build initial prototypea working model, based oninitial requirements consolidated

    Refinement of requirements through review andrevision of prototype

    Features of the prototype used as requirements toformally engineer the product

    Main objective of prototyping is to enhance thequality of the requirement specification.

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    16/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Prototyping

    InitialRequirements

    Gathering

    Quick Design

    Build Prototype

    Evaluate &

    Refine

    Requirements

    Engineer

    Product

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    17/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Prototyping

    Questions:

    When would prototyping be most useful?

    How can prototyping reduce or increasedevelopment time?

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    18/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Good Candidates for Prototyping

    Projects exhibiting the following characteristics

    are usually good candidates for the use of

    prototyping: A large degree of uncertainty in the system

    The user is unable or unwilling to examine an abstract

    paper model such as a data flow diagrams

    The user is unable or unwilling to articulaterequirements: I dont know what I want, but Ill

    recognize it when I see it!

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    19/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Good Candidates for Prototyping

    Candidates for prototyping

    The system is intended to be on-line, with full-screen

    terminal activities (i.e. where user interface is importantespecially in systems used by the mass public)

    The system does not require large amounts of

    algorithmic process

    Systems where the emphasis is on screen layout, reportformat, error messages, data entry etc. rather than on

    computational power (for example, decision support, ad

    hoc retrieval, record management systems, etc.)

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    20/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Guidelines for Developing a

    Prototype

    Work in manageable modules

    Not necessary to build a complete systembefore testing functionality

    Build modules that allow interaction with theirkey features

    Modules can be built and tested separately fromother parts of the system

    Less important features can be left to laterstages

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    21/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Guidelines for Developing a

    Prototype

    Build the prototype rapidly

    Speed is essential in prototyping

    Prototype can be started even though requirements are

    still being gatheredprototyping helps users focus

    their thoughts on what they really want or need

    Rapid prototyping allows the developers of the system

    to discover how feasible the final system is likely to be

    and make any necessary adjustments to resources oreven to scrap a project is it looks unworkable.

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    22/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Guidelines for Developing a

    Prototype Modify the prototype in successive

    iterations

    Modules should not be highly interdependentso that modifications can be made in a stand-alone manner

    It is usual to make the modifications in a very

    short time spanoften just a day or twoinorder to keep up the momentum and not toallow users requirements to change due toelapsed time

    s

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    23/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Guidelines for Developing a

    Prototype Stress on the user interface as an

    essential part of the prototyping

    Obtaining user feedback is the key idea behindprototyping

    For many users the interface is the only part ofthe system they understand

    Hence, it is important that users are able tointeract easily with the interfacethe interfaceshould be such that users will need a minimumamount of training

    s

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    24/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Guidelines for Developing a

    Prototype Stress on the user interface as an

    essential part of prototyping (contd)

    A 3 day training course for each prototype willdefeat the purpose of prototyping

    Interface intricacies may need to be ignored or

    at least streamlined until the user can interacteasily

    s

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    25/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Spiral Model

    Attempts to capture the best features ofclassical life cycle and prototyping

    Incorporates a new elementrisk analysis Works by iteration around (the spiral, from

    center and outwards) four main activities:planning, risk analysis, engineering andcustomer evaluation

    Go, no-go decision made at each iteration

    s

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    26/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Spiral Model

    Classic life-cycle or prototyping approaches

    can be used in the engineering quadrant

    The number of development activities at theengineering quadrant increases at each

    outward iteration

    s

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    27/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Spiral Model

    er r

    r t u e nsdoc e t

    Requreme tsdocumntandvalidaionreort

    t

    START

    Go-nogo decision

    Engineering

    Risk AnalysisPlanning

    Customer Evaluation

    Towards a completed system

    Initial software prototype

    Next level prototype

    Engineered system

    RA based on customer

    reaction

    RA based on initial

    requirements

    Initial requirements

    gathering & project

    planning

    Planning based on

    customer comments

    Customer evaluation

    s

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    28/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Advantages of the Spiral Model

    Evolutionary approach allows for developer andcustomer to understand and react to risks at eachevolutionary level.

    Prototyping can be applied as a risk-reductionmechanism at each evolution.

    Maintains the systematic stepwise approach(classic life cycle) while incorporating an iterative

    framework that reflects the real world Demands consideration of technical risk at eachevolutionhence reducing risks before theybecome problematic.

    s

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    29/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Weaknesses of the Spiral Model

    May be difficult to control its evolutionary

    nature (particularly in contract situations)

    Demands considerable risk assessmentexpertise and relies on this expertise for

    success

    Not as commonly used as classic life cycleand prototyping

    s

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    30/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Questions

    Prototyping replaces the usual software life

    cycle and results in a better product in a

    shorter period of time. Discuss

    rs

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    31/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Questions

    What are the differences between a

    prototype and the actual product

    rs

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    32/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Basic Planning

    Systematization Plan

    Project Planning

    Requirements Specification

    rs

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    33/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Project Planning Activities

    Define project deliverables

    defined by contract or agreed with client/user

    specified by methodology

    internal deliverables

    deliverables from subcontractors/vendors

    rs

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    34/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Project Planning Activities

    Develop the work breakdown structure

    a list of tasks that need to be performed to achieve theproject objectives and deliverables

    basis for project estimation and scheduling allow for hidden activities

    Examples: Briefings, project meetings and productionof minutes, reviews, re-working, management andadministration

    failure to identify all activities is a major cause ofproject slippage

    rs

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    35/36

    Fundamen

    talInformationTechnolog

    yEngineers

    By: Alex PuahFujitsu Asia Pte Ltd

    Project Planning Activities

    Identify staffing and other resources (resource

    allocation)

    identify skills and roles required to carry out activities

    match staff to roles and assess staff availability

    identify required development and test environment

    identify supporting facilities (eg. administrative support,

    project office)

    rs

  • 7/31/2019 32 Systemdevelopment Methodologies 101107012049 Phpapp02

    36/36

    Fundamen

    talInformationTechnolog

    yEngineers

    Project Planning Activities

    Determine project structure / organization

    Estimate effort required to complete tasks

    A estimate is the quantification of the effort or duration

    required to accomplish the tasks identified in the workbreakdown structure

    Identify dependencies and establish a schedule ofproject activities

    Estimate project costs

    Identify and evaluate risks