02-refppt

Post on 06-Apr-2018

213 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

  • 8/2/2019 02-refppt

    1/34

    TCS2411 Software Engineering 1

    Software Life Cycle

    What happens in the life of software

  • 8/2/2019 02-refppt

    2/34

    TCS2411 Software Engineering 2

    Lecture Objectives

    To look at the life cycle of a software

    To understand the software process andits related elements

    To relate to the different softwareengineering paradigms

  • 8/2/2019 02-refppt

    3/34

    TCS2411 Software Engineering 3

    Software Engineering

    Layers

    a quality focusa quality focus

    process modelprocess model

    methodsmethodstoolstools

  • 8/2/2019 02-refppt

    4/34

    TCS2411 Software Engineering 4

    Software Process

    Activities in software projects

    Characterised by a common processframework

    Framework activities - task sets

    Umbrella activities

    Process maturity enables developmentof quality software products

  • 8/2/2019 02-refppt

    5/34

    TCS2411 Software Engineering 5

    Common Process

    Framework

    Common process frameworkCommon process framework

    Framework activitiesFramework activities

    work taskswork tasks

    work productswork products

    milestones & deliverablesmilestones & deliverables

    QA checkpointsQA checkpoints

    Umbrella ActivitiesUmbrella Activities

  • 8/2/2019 02-refppt

    6/34

    TCS2411 Software Engineering 6

    Umbrella Activities

    Software project management Formal technical reviews S

    oftware quality assurance Software configuration management Document preparation and production Reusability management

    Measurement Risk management

  • 8/2/2019 02-refppt

    7/34

    TCS2411 Software Engineering 7

    Process as Problem

    Solving

    statusquo

    problemdefinition

    technicaldevelopment

    solution

    integration

  • 8/2/2019 02-refppt

    8/34

    TCS2411 Software Engineering 8

    The Process Model:

    Adaptability

    the framework activities will alwaysbe applied on every project ... BUT

    the tasks (and degree of rigor) foreach activity will vary based on: the type of project (an entry point to

    the model)

    characteristics of the project

    common sense judgment; concurrenceof the project team

  • 8/2/2019 02-refppt

    9/34

    TCS2411 Software Engineering 9

    The Primary Goal:

    High Quality

    Remember:Remember:

    High quality = project timelinessHigh quality = project timeliness

    Why?Why?

    Less rework!Less rework!

  • 8/2/2019 02-refppt

    10/34

    TCS2411 Software Engineering 10

    The Systematic Process

    Problem

    Models

    Solution

    Analysis

    Design

    Development

    Testing

  • 8/2/2019 02-refppt

    11/34

    TCS2411 Software Engineering 11

    Generic Phases

    Definition Phase

    Focus on what the software is

    Development Phase

    Focus on how the software works

    Maintenance Phase

    Focus on change to the software

  • 8/2/2019 02-refppt

    12/34

    TCS2411 Software Engineering 12

    Definition Phase

    Identify information to be processed

    Identify system behaviour - functions and

    performance Determine constraints, interfaces,

    validation criteria

    Major tasks:

    System engineering

    Software project planning

    Requirements analysis

  • 8/2/2019 02-refppt

    13/34

    TCS2411 Software Engineering 13

    Development Phase

    Define data structures, functionimplementation, procedural details, interfaces

    Translate design to programming language

    How testing is performed

    Major tasks:

    Software design

    Code generation

    Software testing

  • 8/2/2019 02-refppt

    14/34

    TCS2411 Software Engineering 14

    Maintenance Phase

    Reapplies definition and developmentphases to existing software

    Types of changes:

    Correction

    Adaptation

    Enhancement Prevention

  • 8/2/2019 02-refppt

    15/34

    TCS2411 Software Engineering 15

    Waterfall Model

    SystemEngineering

    Analysis

    Design

    Code

    Testing

    Maintenance

  • 8/2/2019 02-refppt

    16/34

    TCS2411 Software Engineering 16

    Waterfall Model

    Characteristics

    The classic life cycle - oldest and mostwidely used paradigm

    Activities flow from one phase to another

    If there are corrections, return to aprevious phase and flow from there again

    Major advantages: Good for planning andwell-defined/repeated projects

  • 8/2/2019 02-refppt

    17/34

    TCS2411 Software Engineering 17

    Problems ofWaterfall

    Model

    Real projects often follow the sequence

    All requirements may not be stated

    explicitly by customer

    Customer only sees the results after sometime

    Developers are often delayed at certainphases

  • 8/2/2019 02-refppt

    18/34

    TCS2411 Software Engineering 18

    Prototyping Model

    Stop

    Requirements

    gathering and

    refinement

    Building

    prototype

    Quick

    design

    Customer

    evaluation

    Refining

    prototype

    Engineer

    product

    Start

    listento

    customer

    build/revisemock-up

    customertest-drivesmock-up

  • 8/2/2019 02-refppt

    19/34

    TCS2411 Software Engineering 19

    Prototyping Model

    Characteristics

    Developer and customer determineobjectives and draft requirements

    Prototype quickly produced and evaluatedby customer

    Prototype then refined, and re-evaluated

    Process iterated, before final productdevelopment

    Advantages: Customer participation andbetter requirements

  • 8/2/2019 02-refppt

    20/34

    TCS2411 Software Engineering 20

    Problems of Prototyping

    Model

    Problem 1: Customer may see prototypeas working model and expects fast results

    Problem 2: Developer compromised whenproducing prototype quickly, e.g. differentoperating system or programming

    language

  • 8/2/2019 02-refppt

    21/34

    TCS2411 Software Engineering 21

    Rapid Application

    Development (RAD)

    Business

    Modeling

    DataModeling

    Process

    ModelingApplication

    GenerationTesting &

    Turnover

    Team #1 BusinessModeling

    Data

    ModelingProcess

    ModelingApplication

    GenerationTesting &

    Turnover

    Team #2

    Time period

  • 8/2/2019 02-refppt

    22/34

    TCS2411 Software Engineering 22

    RAD Characteristics

    High-speed version of waterfall model

    Primarily for information systems applications

    Requirements well-understood, fully functionalsystem produced in short time

    The application modularised - major functionscan be completed in 3 months

    Separate teams complete the functions, thenintegrated as a whole

    Requires human resource and commitment

  • 8/2/2019 02-refppt

    23/34

    TCS2411 Software Engineering 23

    Incremental Model

    analysis design code test

    System/informationengineering

    analysis design code test

    analysis design code test

    analysis design code test

    increment 2

    increment 3

    increment 4

    increment 1

    delivery of1st increment

    delivery of2nd increment

    delivery of

    3rd increment

    delivery of4th increment

    calendar time

  • 8/2/2019 02-refppt

    24/34

    TCS2411 Software Engineering 24

    Incremental Model

    Characteristics

    Software separated into differentincrements - complete working portions

    Focus on delivery of operational productwith each increment - can be evaluated

    Useful when insufficient staff and can be

    planned to manage technical risks, e.g.waiting for new hardware

  • 8/2/2019 02-refppt

    25/34

    TCS2411 Software Engineering 25

    Spiral Model

    Customer

    Communication

    Planning

    Construction & ReleaseCustomerEvaluation

    Engineering

    Risk Analysis

  • 8/2/2019 02-refppt

    26/34

    TCS2411 Software Engineering 26

    Spiral Model

    Characteristics

    Originally proposed by Boehm, couplesiterative nature of prototyping and the

    systematic aspects of waterfall model Software is developed in series of

    incremental releases

    Each iteration produces a more completeproduct

    Better management through risk analysis

  • 8/2/2019 02-refppt

    27/34

    TCS2411 Software Engineering 27

    Problems of Spiral

    Model

    May be difficult to convince customersthat evolution is controllable

    Demands risk assessment expertise -major risk will cause problems if notidentified

    Relatively new and not widely used -cannot determine performance

  • 8/2/2019 02-refppt

    28/34

    TCS2411 Software Engineering 28

    Component Assembly

    Model

    Identify

    candidate

    components

    Look up

    components

    in library

    Available?

    Extract

    components

    Build

    components

    Construct

    System

    yes

    no

  • 8/2/2019 02-refppt

    29/34

    TCS2411 Software Engineering 29

    Component Assembly

    Characteristics

    Use of object-oriented technology

    Components - classes that encapsulate

    both data and algorithms

    Components developed to be reusable

    Paradigm similar to spiral model, but

    engineering activity involves components

    System produced by assembling thecorrect components

  • 8/2/2019 02-refppt

    30/34

    TCS2411 Software Engineering 30

    Fourth Generation

    Techniques (4GT)

    "

    Design"

    Strategy

    Testing

    Requirementsgathering

    Implementationusing 4GL

  • 8/2/2019 02-refppt

    31/34

    TCS2411 Software Engineering 31

    4GT Characteristics

    Use of software tools that allow softwareengineer to specify s/w characteristics athigher level

    The tools generate codes based onspecification

    More time in design and testing - increase

    productivity

    Tools may not be easy to use, codesgenerated may not be efficient

  • 8/2/2019 02-refppt

    32/34

    TCS2411 Software Engineering 32

    Other Process Models

    Component assembly modelthe process toapply when reuse is a development objective

    Concurrent process model

    recognizes thatdifferent part of the project will be at differentplaces in the process

    Formal methodsthe process to apply when amathematical specification is to be developed

    Cleanroom software engineeringemphasizes error detection before testing

  • 8/2/2019 02-refppt

    33/34

    TCS2411 Software Engineering 33

    Conclusion

    The paradigm used for development ofsoftware depends on a number of factors People - staff & users

    Software product Tools available

    Environment

    Existing models makes developmentprocess clearer, but they can be evolvedto become new paradigms

  • 8/2/2019 02-refppt

    34/34

    TCS2411 Software Engineering 34

    References

    Software Engineering: APractitionersApproach 5th Ed. by Roger S. Pressman,Mc-Graw-Hill, 2001

    Software Engineering by Ian Sommerville,Addison-Wesley, 2001

top related