Requirement Enginering Software Requirement Tutorial 7

download Requirement Enginering  Software Requirement Tutorial 7

of 22

Transcript of Requirement Enginering Software Requirement Tutorial 7

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

    1/22

    1

    Requirements Engineering

    Processes2

    Lecture # 7

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

    2/22

    2

    Recap of Last Lecture - 1

    We introduced the concept of

    requirements engineering process

    We discussed inputs and outputs ofthe requirements engineering process

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

    3/22

    3

    Recap of Last Lecture - 2

    We introduced high-level activities in

    the requirements engineering process

    Requirements elicitation Requirements analysis and negotiation

    Requirements specification

    Requirements validation

    Requirements management

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

    4/22

    4

    Todays Topics

    Actors and stakeholders in the

    requirements engineering process

    Process and process improvement for

    requirements engineering

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

    5/22

    5

    Who are Actors?

    Actors in a process are the people

    involved in the execution of that

    process Actors are normally identified by their

    roles rather than individually, e.g.,

    project manager, purchasing director,and system engineer

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

    6/22

    6

    Actors in the RE Process - 1

    Requirements engineering involves peoplewho are primarily interested in the problemto be solved (end-users, etc) as well as

    people interested in the solution (systemdesigners, etc.)

    Another group of people, such as health &

    safety regulators, and maintenanceengineers may be effected by the existenceof the system

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

    7/22

    7

    Actors in the RE Process - 2

    Role-action diagrams are process models

    which show the actors associated with

    different process activities

    They document the information needs of

    different people involved in the process

    They use model of prototype softwaresystem as part of requirements elicitation

    process

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

    8/22

    8

    Role-Action Diagram for

    Software Prototyping

    Understand

    problem

    Establish

    outline

    requirements

    Select

    prototyping

    system

    Develop

    prototype

    Evaluate

    prototype

    Req. EngineerDomain expert

    End-user

    Req. Engineer

    End-user

    SW Engineer

    Project Mgr

    Req. Engineer

    SW Engineer

    End-userDomain expert

    Req. Engineer

    SW Engineer

    ACTIONS

    ROLES

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

    9/22

    9

    Role Descriptions - 1

    Role Description

    Domain

    Expert

    Responsible for proving

    information about theapplication domain and the

    specific problem in that

    domain, which is to be solved

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

    10/22

    10

    Role Descriptions - 2

    Role Description

    System End-

    user

    Responsible for using the

    system after delivery

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

    11/22

    11

    Role Descriptions - 3

    Role Description

    Requirements

    Engineer

    Responsible for eliciting and

    specifying the systemrequirements

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

    12/22

    12

    Role Descriptions - 4

    Role Description

    Software

    Engineer

    Responsible for developing

    the prototype software system

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

    13/22

    13

    Role Descriptions - 5

    Role Description

    Project

    Manager

    Responsible for planning and

    estimating the prototypingproject

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

    14/22

    14

    Human and Social Factors

    Requirements engineering processes aredominated by human, social andorganizational factors because they always

    involve a range of stakeholders fromdifferent backgrounds and with differentindividual and organizational goals

    System stakeholders may come from arange of technical and non-technicalbackground and from different disciplines

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

    15/22

    15

    Stakeholder Types

    Software engineers

    System end-users

    Managers of system end-users

    External regulators

    Domain experts

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

    16/22

    16

    Factors Influencing

    Requirements

    Personality and status of stakeholders

    The personal goals of individuals

    within an organization The degree of political influence of

    stakeholders within an organization

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

    17/22

    17

    Process Support

    One way to minimize errors in therequirements engineering is to use processmodels and to use CASE tools

    The most mature CASE tools support well-understood activities such as programmingand testing and the use of structured

    methods Support for requirements engineering is

    still limited because of the informality andthe variability of the process

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

    18/22

    18

    CASE Tools for RE

    Modeling and validation tools support the

    development of system models which can

    be used to specify the system and thechecking of these models for completeness

    and consistency

    Management tools help manage a database

    of requirements and support the

    management of changes to these

    requirements

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

    19/22

    19

    RE Process Problems

    Lack of stakeholder involvement

    Business needs not considered

    Lack of requirements management Lack of defined responsibilities

    Stakeholder communication problems

    Over-long schedules and poor qualityrequirements documents

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

    20/22

    20

    Requirements Engineering Costs

    About fifteen percent (15%) of system

    development costs

    However, if the requirementsengineering process is not executed

    properly, this cost can increase

    substantially

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

    21/22

    21

    Summary

    Human, social and organizational factorsare important influences on requirementsengineering processes

    Requirements engineering processimprovement is difficult and is best tackledin an incremental way

    Requirements engineering processes can beclassified according to their degree ofmaturity

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

    22/22

    22

    References

    Requirements Engineering: Processes

    and Techniques by G. Kotonya and I.

    Sommerville, John Wiley & Sons,1998