software engineering paradigms

Upload: ronnie-arap-jr

Post on 06-Apr-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 Software Engineering Paradigms

    1/23

    Software Engineering

    Paradigms

    What happens in the life of software

  • 8/3/2019 Software Engineering Paradigms

    2/23

    Software Engineering

    Layers

    22

    a quality focus

    process model

    methods

    tools

  • 8/3/2019 Software Engineering Paradigms

    3/23

    The Primary Goal:

    High Quality

    33

    Remember:

    High quality = project timeliness

    Why?

    Less rework!

  • 8/3/2019 Software Engineering Paradigms

    4/23

    Classic Life Cycle\Waterfall Model

    44

    SystemEngineering

    Analysis

    Design

    Code

    Testing

    Maintenance

  • 8/3/2019 Software Engineering Paradigms

    5/23

    Waterfall Model

    CharacteristicsThe classic life cycle - oldest and most widelyused paradigm

    Activities flow from one phase to anotherIf there are corrections, return to a previousphase and flow from there again

    Major advantages: Good for planning and well-defined/repeated projects

    55

  • 8/3/2019 Software Engineering Paradigms

    6/23

    Problems of Waterfall

    ModelReal projects often follow the sequenceAll requirements may not be stated

    explicitly by customerCustomer only sees the results aftersome time

    Developers are often delayed atcertain phases

    66

  • 8/3/2019 Software Engineering Paradigms

    7/23

    Prototyping Model

    77

    Stop

    Requirementsgathering and

    refinement

    Buildingprototype

    Quickdesign

    Customerevaluation

    Refiningprototype

    Engineerproduct

    Start

    listento

    customer

    build/revisemock-up

    customertest-drivesmock-up

  • 8/3/2019 Software Engineering Paradigms

    8/23

    Prototyping Model

    CharacteristicsDeveloper and customer determineobjectives and draft requirements

    Prototype quickly produced and

    evaluated by customer

    Prototype then refined, and re-evaluated

    Process iterated, before final productdevelopment

    Advantages: Customer participation andbetter requirements

    88

  • 8/3/2019 Software Engineering Paradigms

    9/23

    Problems of Prototyping

    ModelProblem 1: Customer may seeprototype as working model andexpects fast results

    Problem 2: Developer compromisedwhen producing prototype quickly, e.g.different operating system or

    programming language

    99

  • 8/3/2019 Software Engineering Paradigms

    10/23

  • 8/3/2019 Software Engineering Paradigms

    11/23

    Six Task Region

    Spiral Model

    11

  • 8/3/2019 Software Engineering Paradigms

    12/23

    Customer Communication-tasksrequired to establish effectivecommunication between developer andcustomer.

    12

  • 8/3/2019 Software Engineering Paradigms

    13/23

    Planning-tasks required to defineresources, timelines, and other projectrelated information.

    13

  • 8/3/2019 Software Engineering Paradigms

    14/23

    Risk analysis-tasks required to assessboth technical and management risks

    14

  • 8/3/2019 Software Engineering Paradigms

    15/23

    Engineering-Tasks required to build oneor more representations of the application

    15

  • 8/3/2019 Software Engineering Paradigms

    16/23

    Construction & Release-Tasksrequired to construct, test, install andprovide user support (e.g., documentationand training)

    16

  • 8/3/2019 Software Engineering Paradigms

    17/23

    Customer Evaluation-Tasks required toobtain customer feedback based onevaluation of the software representationscreated during the engineering stage and

    implementation during the installation stage 17

  • 8/3/2019 Software Engineering Paradigms

    18/23

    Spiral Model

    CharacteristicsOriginally proposed by Boehm, couplesiterative nature of prototyping and thesystematic aspects of waterfall model

    Software is developed in series ofincremental releases

    Each iteration produces a more complete

    productBetter management through risk analysis

    18

  • 8/3/2019 Software Engineering Paradigms

    19/23

    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

    19

  • 8/3/2019 Software Engineering Paradigms

    20/23

    Fourth GenerationTechniques (4GT)

    20

  • 8/3/2019 Software Engineering Paradigms

    21/23

    4GT Characteristics

    Use of software tools that allowsoftware engineer to specify s/wcharacteristics at higher 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

    21

  • 8/3/2019 Software Engineering Paradigms

    22/23

    Conclusion

    The paradigm used for development ofsoftware depends on a number of factors

    People - staff & users

    Software productTools available

    Environment

    Existing models makes development processclearer, but they can be evolved to becomenew paradigms

    22

  • 8/3/2019 Software Engineering Paradigms

    23/23

    References

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

    Software Engineering by IanSommerville, Addison-Wesley, 2001

    23