se introduction

Upload: eeshma-singh

Post on 05-Apr-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 SE Introduction

    1/57

    1

  • 7/31/2019 SE Introduction

    2/57

    2

  • 7/31/2019 SE Introduction

    3/57

    3

  • 7/31/2019 SE Introduction

    4/57

    4

  • 7/31/2019 SE Introduction

    5/57

    5

  • 7/31/2019 SE Introduction

    6/57

    6

  • 7/31/2019 SE Introduction

    7/57

    7

  • 7/31/2019 SE Introduction

    8/57

    8

  • 7/31/2019 SE Introduction

    9/57

    9

  • 7/31/2019 SE Introduction

    10/57

    10

  • 7/31/2019 SE Introduction

    11/57

    11

  • 7/31/2019 SE Introduction

    12/57

    12

  • 7/31/2019 SE Introduction

    13/57

    13

  • 7/31/2019 SE Introduction

    14/57

    14

  • 7/31/2019 SE Introduction

    15/57

    15

  • 7/31/2019 SE Introduction

    16/57

    16

  • 7/31/2019 SE Introduction

    17/57

    17

  • 7/31/2019 SE Introduction

    18/57

    18

  • 7/31/2019 SE Introduction

    19/57

    19

  • 7/31/2019 SE Introduction

    20/57

    20

    Review

    V&V

    actions tobe carried

    out

    (entry criteria) (exit criteria)

    inputs

    ProjectControl info

    info for

    management

    outputs

  • 7/31/2019 SE Introduction

    21/57

    21

  • 7/31/2019 SE Introduction

    22/57

    22

  • 7/31/2019 SE Introduction

    23/57

    23

  • 7/31/2019 SE Introduction

    24/57

    24

  • 7/31/2019 SE Introduction

    25/57

    25

  • 7/31/2019 SE Introduction

    26/57

    26

    systemengineering

    AnalysisProject planning

    design

    code

    testing &integration

    Installation &

    maintenance

    -software part of some larger system-establish requirements for all elements of the system; assign some

    to software

    -understand information domain, functions, performance

    and interfacing. Project plans made

    -translate requirements into s/w architecture, data structures

    and procedural details. A detailed design step can be added

    -programming

    -test logic and function interfaces

    -deployment; make changes for

    -Errors, performance-changes in requirement

  • 7/31/2019 SE Introduction

    27/57

    27

  • 7/31/2019 SE Introduction

    28/57

    28

    Problemdefinition

    Feasibilitystudy

    Analysis Systemdesign

    Detaileddesign

    Implemen-tation

    Mainten-ance

    Total accumulated cost

  • 7/31/2019 SE Introduction

    29/57

    29

  • 7/31/2019 SE Introduction

    30/57

    30

  • 7/31/2019 SE Introduction

    31/57

    31

  • 7/31/2019 SE Introduction

    32/57

    32

  • 7/31/2019 SE Introduction

    33/57

    33

    Requirementsgathering

    Quick

    design buildprototype

    evaluate &refine

    Engineerproduct

  • 7/31/2019 SE Introduction

    34/57

    34

  • 7/31/2019 SE Introduction

    35/57

    35

  • 7/31/2019 SE Introduction

    36/57

    36

    Evolutionary Development model [SE-7, Fig 4.2]

    ValidationFinal

    version

    DevelopmentIntermediate

    versions

    Specification Initialversion

    Outline

    description

    Concurrent

    activities

  • 7/31/2019 SE Introduction

    37/57

    37

    Evolutionary Development..

    Main characteristics:

    The phases of the software construction are interleaved

    Feedback from the user is used throughout the entire process

    The software product is refined through many versions

    Types of evolutionary development:

    Exploratory development

    Throw-away prototyping

  • 7/31/2019 SE Introduction

    38/57

    38

    Evolutionary Development

    Advantages:

    Deals constantly with changes

    Provides quickly an initial version of the system

    Involves all development teams

    Disadvantages:

    Quick fixes may be involved

    Invisible process, not well-supported by documentation

    The systems structure can be corrupted by continuous change

  • 7/31/2019 SE Introduction

    39/57

    39

    Evolutionary Development

    Disadvantages [contd]:

    Special tools and techniques may be necessary

    The client may have the impression the first version is very close to the final

    product and thus be less patient

    Applicability:

    When requirements are not well understood

    When the client and the developer agree on a rapid prototype that will be

    thrown away

    Good for small and medium-sized software systems

  • 7/31/2019 SE Introduction

    40/57

    40

    Component-based Software Engineering

    Requirementsspecification Componentanalysis

    Developmentand integration

    System designwith reuse

    Requirementsmodification

    Systemvalidation

  • 7/31/2019 SE Introduction

    41/57

    41

    Component-based Software Engineering..

    Main characteristics:

    Makes intensive use of existing reusable components

    The focus is on integrating the components rather than on creatingthem from the scratch

  • 7/31/2019 SE Introduction

    42/57

    42

    Component-based Software Engineering.

    Advantages:

    Reduces considerably the software to be developed in-house

    Allows faster delivery

    In principle, more reliable systems, due to using previously tested

    components

  • 7/31/2019 SE Introduction

    43/57

    43

    Component-based Software Engineering

    Disadvantages:

    Compromises in requirements are needed

    Less control over the systems evolution

    Applicability:

    When there is a pool of existing components that could satisfy the

    requirements of the new product

    Emerging trend: integration of web services from a range of suppliers

  • 7/31/2019 SE Introduction

    44/57

    44

    1. Determine objectives,Alternatives, constraints

    2. Evaluate alternatives,identify and handle risks

    4. Plan next step 3. Develop the software

  • 7/31/2019 SE Introduction

    45/57

    45

  • 7/31/2019 SE Introduction

    46/57

    46

  • 7/31/2019 SE Introduction

    47/57

    47

    Spiral Model

    Main characteristics:

    Also a hybrid model that support process iteration

    The process is represented as a spiral, each loop in the spiral representing a process

    phase Four sectors per loop: objective setting, risk assessment and reduction, development

    and validation, planning

    Risk is explicitly taken into consideration

  • 7/31/2019 SE Introduction

    48/57

    48

    Spiral Model

    Advantages:

    Risk reduction mechanisms are in place

    Supports iteration and reflects real-world practices

    Systematic approach

    Disadvantages:

    Requires expertise in risk evaluation and reduction

    Complex, relatively difficult to follow strictly

    Applicable only to large systems

    Applicability:

    Internal development of large systems

  • 7/31/2019 SE Introduction

    49/57

    49

    The Rational Unified Process

    Phase iteration

    Incept ion Elaborat ion Const ruct ion Transit ion

  • 7/31/2019 SE Introduction

    50/57

    50

  • 7/31/2019 SE Introduction

    51/57

    51

  • 7/31/2019 SE Introduction

    52/57

    52

    Classification of CASE technology [SE-7, Fig 4.14]

    Single-methodworkbenches

    General-purposeworkbenches

    Multi-methodworkbenches

    Language-specificworkbenches

    Programming Test ingAnalysis anddesign

    Integratedenvironments

    Process-centredenvironments

    Filecomparators

    CompilersEditors

    EnvironmentsWorkbenchesTools

    CASEtechnology

  • 7/31/2019 SE Introduction

    53/57

    53

  • 7/31/2019 SE Introduction

    54/57

    54

  • 7/31/2019 SE Introduction

    55/57

    55

  • 7/31/2019 SE Introduction

    56/57

    56

  • 7/31/2019 SE Introduction

    57/57