requirement enginering software requirement tutorial 5

Upload: soleh-my

Post on 03-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    1/24

    1

    Processes and Process Models

    Lecture # 5

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    2/24

    2

    Process - 1

    A process is an organized set ofactivities, which transforms inputs tooutputs

    We can use synonyms of process suchas: procedure, method, course ofaction, etc.

    Processes are essential for dealingwith complexity in real world

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    3/24

    3

    Process - 2

    Processes document the steps in solving a

    certain problem

    They allow knowledge to be reused

    They Allow people to apply the process intheir peculiar but similar problems

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    4/24

    4

    Examples of Processes - 1

    An instruction manual for operating a

    microwave oven

    An instruction manual for assembling a

    computer or its parts

    A procedure manual for operating a motor

    vehicle radio and CD player

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    5/24

    5

    Examples of Processes - 2

    A quality manual for software

    development.

    Such a manual describes the

    processes, which should be used to

    assure the quality of the software

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    6/24

    6

    Software Processes

    Software engineering, as a discipline,

    has many processes

    These processes help in performing

    different software engineering

    activities in an organized manner

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    7/24

    7

    Software Processes

    Requires creativity

    Provides interactions between a wide

    range of different people Helps in engineering judgment

    Requires background knowledge

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    8/24

    8

    Examples of Software Processes

    Software engineering development

    process (SDLC)

    Requirements engineering process Design process

    Quality assurance process

    Change management process

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    9/24

    9

    Software Requirements Engineering

    Process

    Before discussing different aspects of

    requirements engineering process, let

    us discuss the concept of processmodels

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    10/24

    10

    Process Models

    A process model is a simplifieddescription of a process presentedfrom a particular perspective

    There may be several different modelsof the same process

    No single model gives a completeunderstanding of the process beingmodeled

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    11/24

    11

    Variations in Process Models

    A process model is produced on the

    anticipated need for that model. We may

    need

    A model to help explain how process

    information has been organized

    A model to help understand and improve a

    process

    A model to satisfy some quality management

    standard

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    12/24

    12

    Types of Process Model

    Coarse-grain activity models

    Fine-grain activity models

    Role-action models

    Entity-relation models

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    13/24

    13

    Coarse-grain Activity Model

    This type of model provides an overall

    picture of the process

    Describes the context of differentactivities in the process

    It doesnt document how to enact a

    process

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    14/24

    14

    Context of Requirements

    Engineering

    Software requirements follow the

    system requirements and system

    design The primary goal is understanding

    Software requirements are followed

    by software design in a software

    development life cycle

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    15/24

    15

    Context of RE Process in

    Waterfall Model

    System

    requirements

    engineering Software

    requirements

    engineeringSoftware

    design

    Programming

    and

    unit testingSystem

    testing

    System

    operation

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    16/24

    16

    Another Perspective on Context

    of RE Process

    System acquisition

    Requirements engineering

    System design

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    17/24

    17

    Coarse-grain Activity Model of

    the Requirements Engineering

    Process

    Requirements engineering process is

    an example of coarse-grain activitymodel

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    18/24

    18

    Coarse-grain Activity Model of

    the Requirements Engineering

    Process

    Requirements

    Elicitation

    Requirements

    Analysis and

    Negotiation

    Requirements

    Specification

    Requirements

    Validation

    User Needs,

    Domain Information,

    Existing System

    Information, Regulations,

    Standards, Etc.

    Requirements

    Document

    Agreed

    Requirements

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    19/24

    19

    Spiral Model of RE Process

    Informal statement ofrequirements

    Draft requirements

    document

    Requirements

    document and

    validation report

    Agreed

    requirements

    START

    Requirement

    elicitation

    Requirement analysis

    and negotiation

    Requirement

    validation

    Requirementdocumentation

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    20/24

    20

    Fine-grain Activity Models

    These are more detailed models of aspecific process, which are used forunderstanding and improving existingprocesses

    Well discuss some fine-grainprocesses within the generalrequirements engineering processes inlater lectures

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    21/24

    21

    Role-action Models

    These are models, which show the

    roles of different people involved in

    the process and the actions which theytake

    They are useful for processunderstanding and automation

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    22/24

    22

    Entity-relation Models

    The models show the process inputs,

    outputs, and intermediate results and

    the relationships between them

    They are useful in quality

    management systems

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    23/24

    23

    Summary

    A process is an organized set of activitieswhich transforms inputs to outputs, andthey help in coping with complexity in the

    world Differences between these processes

    usually emerge at the level of detailed

    description A process model is a simplified description

    of a process presented from a particularperspective

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 5

    24/24

    24

    References

    Requirements Engineering: Processes

    and Techniques by G. Kotonya and I.

    Sommerville, John Wiley & Sons,1998