se-ch5.ppt

Upload: harsha-pania

Post on 02-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/27/2019 SE-CH5.ppt

    1/42

    Chapter - 5

    Understanding Requirements

    Unit II

  • 7/27/2019 SE-CH5.ppt

    2/42

    Introduction

    Definition : The broad spectrum of tasks and

    techniques that lead to an understanding ofrequirements is called Requirement Engineering.

    Why it is important? : Designing and building anelegant computer program that solves wrong

    problem serves no ones needs. Thats why its

    important to understand what the customer wants

    before you begin to design and build a computerbased system.

  • 7/27/2019 SE-CH5.ppt

    3/42

    It is a major software engineering action thatbegins during the communication activity and

    continues into modeling activity.

    Requirement Engineering builds a bridge todesign and construction.

    Requirement engineering provides theappropriate mechanism for understanding what thecustomer wants, analyzing need, assessing

    feasibility, negotiating a reasonable solution,specifying the solution unambiguously, validatingthe specification and managing the requirementsas they are transformed into operational system.

  • 7/27/2019 SE-CH5.ppt

    4/42

    Requirement engineering tasks

    1. Inception:-

    The intent is to establish a basic understandingof a problem, the people who want a solution,

    the nature of the solution that is desired, and

    the effectiveness of the preliminary

    communication and collaboration between thecustomers and the developer.

  • 7/27/2019 SE-CH5.ppt

    5/42

    2. Elicitation :-

    It seems simple enough ask the customer, theuser, and other what the objective for the systemare, what is to be accomplished etc. But it isntsimple.

    A number of problems that are encountered aselicitation occurs:

    a) Problem of scope:- The boundary of thesystem is ill-defined or the customer/ usersspecify unnecessary technical details that mayconfuse

  • 7/27/2019 SE-CH5.ppt

    6/42

    b) Problem of understanding :- customer/

    users are not completely sure of what isneeded, do not have full understanding of

    the problem domain, have trouble

    communicating needs to the s.w engineer,, omit important information, specify

    ambiguous requirements

    c) Problem of volatility :- the requirements

    change over time

  • 7/27/2019 SE-CH5.ppt

    7/42

    3. Elaboration:-

    The information obtained from the customer

    during the pervious two stages is expanded and

    refined during elaboration.

    It focuses on developing a refined technical

    model that identifies various aspects of s.w

    functions, behavior and information.

    Elaboration is driven by the creation and

    refinement of user scenario that describe how

    the end user will interact with system.

  • 7/27/2019 SE-CH5.ppt

    8/42

    4. Negotiation :-

    It isnt unusual for customers and users to askfor more than can be achieved, given limitedbusiness resources.

    Customers, users and other stakeholders areasked to rank requirements and then discuss

    conflicts in priority.

    Risk associated with each requirement areidentified and analyzed.

    Using iterative approach , requirements areeliminated, combined, modified so that eachparty achieve some measures of satisfaction.

  • 7/27/2019 SE-CH5.ppt

    9/42

    5. Specification :-

    A specification can be a written document, a set

    of graphical models, a formal mathematical

    model, a collection of usage scenario, a

    prototype, or any combination of these.

    It describes the functions and performance of

    the computer based system and the constraintsthat will govern its development.

  • 7/27/2019 SE-CH5.ppt

    10/42

    6. Validation :-

    Consequences of the requirement engineering

    are assessed for quality.

    Requirement validation examines hespecification to ensure that all software

    requirements have been stated unambiguously,that inconsistencies, omission, and error havebeen detected and corrected.

    The review team includes s.w engineers,customers, users, and other stake holders whoexamine the specification looking for errors incontents or interpretations, missing informationetc.

  • 7/27/2019 SE-CH5.ppt

    11/42

    7. Requirement management :-

    It is a set of activities that helps the projectteam identify, control, and track

    requirements and changes to

    requirements at any time as the projectproceeds.

    Features traceability table:- show how therequirements relate to important customer

    observable system.

  • 7/27/2019 SE-CH5.ppt

    12/42

    Source traceability table:- identifies the source ofeach requirements

    Dependency traceability table:- indicates howrequirements are related to one another.

    Subsystem traceability table:- categorizerequirements by the subsystem that they govern.

    Interface traceability table:- shows howrequirements are related to internal and external

    system interfaces.

  • 7/27/2019 SE-CH5.ppt

    13/42

    Establishing The Ground Work

    The steps required to establish the groundwork for

    understanding of software requirements

    (1) Identifying the stakeholders :-

    Stakeholder means anyone who benefits in adirect or indirect way from the system which isbeing developed.

    Every stakeholder has different view of thesystem, achieves benefits when the system issuccessfully developed, and is open to different

    risks if the development effort should fail.

  • 7/27/2019 SE-CH5.ppt

    14/42

    2) Recognizing multiple viewpoints

    Because of many stakeholders, the requirementsof the system will be explored from many differentpoints of view. (if possible give example)

    As information is collected from many viewpoints,it can be inconsistent or conflicting. The job ofrequirement engineer is to categorize all

    stakeholder information in way that will allow

    decision maker to choose an internallyconsistent set of requirements for thesystem.

  • 7/27/2019 SE-CH5.ppt

    15/42

    3) Working towards collaboration :-

    The job of the requirement engineer is toidentify areas of commonality and areas ofconflict / inconsistency.

    Collaboration does not mean thatrequirements are defined by committee.Stakeholder collaborate by providing theirview of requirements,but a strong projectchampion may make the final decisionaboutwhich requirements make the cut.

  • 7/27/2019 SE-CH5.ppt

    16/42

    4) Asking the first questions:-

    Questions in 3 different sets

    (1) Context free questions focuses on thecustomers and stakeholders, the overall proj.

    goals. For eg.

    a. Who is behind the request for this work?

    b. Who will use the solution?

    c. What will be the economic benefit of a

    successful solution?

    d. Is there another source for the solution

    that one needs?

    (2) Allow the customer to voice his or her

    perceptions about a solution:

  • 7/27/2019 SE-CH5.ppt

    17/42

    For eg.

    a. How would you characterize good

    output that would be generated by asuccessful solution?

    b. What problem will this solution address?

    c. Can you show the business environmentin which the solution will be used?

    d. Will special performance issues or

    constraints affect the way the solution isapproached?

  • 7/27/2019 SE-CH5.ppt

    18/42

    (3) Focuses on the effectiveness of the

    communication activityMeta-Questions

    For eg.a. Are you the right person to answer these

    questions? Are your answers official?

    b. Are my ques. relevant to the prob. that youhave?

    c. Am I asking too many questions?

    d. Can anyone else provide additional info.?

    e. Should I be asking you anything else?

  • 7/27/2019 SE-CH5.ppt

    19/42

    Eliciting requirements

    Collaborative requirement gathering

    Team of stakeholders and developers worktogether to identify the problem, propose

    elements of solution, negotiate differentapproaches, and specify preliminarily set ofsolution requirements.

    Guidelines :-

    1) Meeting are conducted and attended byboth s.w engineers and customers.

  • 7/27/2019 SE-CH5.ppt

    20/42

    2)Rules for preparation and participation areestablished.

    3)An agenda is suggested that formal enoughto cover all important points but informalenough to encourage the free flow of ideas.

    4)A facilitator control the meeting.

    5)A definitionmechanism is used. ( can bework sheet, flip charts , wall stickers etc.)

  • 7/27/2019 SE-CH5.ppt

    21/42

    The goal is to identify the problem, propose

    elements of solution, negotiate different

    approaches, and specify preliminarily set ofsolution requirements.

    Out of the initial meetings, the stakeholders write

    a one-or-two page productrequest.

    A meeting place, time and date are selected and

    a facilitator is chosen.

    The product request is distributed to all the

    attendees before the meeting date.

  • 7/27/2019 SE-CH5.ppt

    22/42

    Each attendee is asked to make a list of objectsthat are part of the environment that surrounds

    the system, other objects that are to beproduced by the system, and the objects that areused by the system to perform its functions.

    In addition, each attendee is asked to listservices that manipulate or interact with theobjects.

    Then list of constraints and performance criteriaare also developed.

  • 7/27/2019 SE-CH5.ppt

    23/42

    As the requirement gathering meeting begins,

    the first topic of the discussion is the need and

    justification for the new product.

    Everyone should agree that the product is

    justified. Once the agreement has beenestablished , each participant presents his list.

    Then a combined list is created for one topicarea.

  • 7/27/2019 SE-CH5.ppt

    24/42

    It eliminates redundant data, adds new idea but

    does not delete anything.

    After combined lists for all topic areas ( objects,

    services, constraints , performance) have been

    created , the facilitator coordinates the

    discussion.

    The objective is to develop a consensus list of

    objects, services, constraints, and performancefor the system to be built.

    An object or service described on a list will

  • 7/27/2019 SE-CH5.ppt

    25/42

    require further explanation. To accomplish this,stakeholder develop mini-specification for

    entries on list.

    Mini-specification is an elaboration of an objector service.

    The mini-specification are presented to allstakeholders for discussion. Addition, deletions,and further elaboration are made.

    In some cases, the development of mini-specswill uncover new objects, services, constraints,or performance requirements that will be addedto the original lists.

  • 7/27/2019 SE-CH5.ppt

    26/42

    During all discussion, the team may arise an

    issue that can not be resolved during the

    meeting.

    An issue list is maintained so that these ideaswill be acted on later.

  • 7/27/2019 SE-CH5.ppt

    27/42

    Quality Function Deployment

    QFD is a technique that translates the needs of

    the customer into technical requirements for s.w.

    It identifies three types of requirements :

    1) Normal:- It reflects objectives and goals stated

    by customer. If these requirements are present ,the customer is satisfied. (graphical displays,

    specific system functions etc.)

  • 7/27/2019 SE-CH5.ppt

    28/42

    2) Expected:- These requirements are implicit tothe product or system and may be so

    fundamental that the customer does notexplicitly state them. Their absence will causedissatisfaction. Ex: ease of software installation.

    3) Exciting:- It reflects features that go beyond thecustomers expectations and prove to be verysatisfying when present. Ex: multiple touchscreen.

    QFD uses customer interviews and observation,surveys, and examination of historical data.

  • 7/27/2019 SE-CH5.ppt

    29/42

    These data are then translated into a table ofrequirements called the Customer Voice Table

    that is reviewed with the customer and other

    stakeholders.

    A variety of diagrams, matrices, and evolution

    methods are then used to extract expected

    requirements and to attempt to derive excitingrequirements.

  • 7/27/2019 SE-CH5.ppt

    30/42

    User Scenarios

    As the requirements are gathered , an overall

    vision of system features and functions begins to

    materialize.

    Developers and users can create a set of

    scenarios that identify a thread of usage for the

    system to be constructed.

    The scenarios are often called use cases.

  • 7/27/2019 SE-CH5.ppt

    31/42

    Elicitation Work Product

    For most systems, the work product includes:-

    Statement of need and feasibility

    Statement of scope for product / system

    List of customers, users and other stakeholderswho participated in requirements elicitation.

    Description ofsystems technical environment.

  • 7/27/2019 SE-CH5.ppt

    32/42

    A list of requirements and constraints

    A set of usage scenario

    Any prototype developed

    D l i U C

  • 7/27/2019 SE-CH5.ppt

    33/42

    Developing Use Cases

    The use case describes the systems behavior

    under various conditions as the systemresponds to a request from one of its

    stakeholders.

    The first step in writing a use case is to define the

    set ofactors that will be involved in the story.

    An actor is anything that communicates with thesystem or product and it is external to the

    system itself.

  • 7/27/2019 SE-CH5.ppt

    34/42

    Because requirement elicitation is an evolutionary

    activity, not all actors are identified during the first

    iteration.

    Primary actors are identified during first iteration

    and secondary actors as more is learned about

    the system.

    Primary actors interact to achieve required system

    function and derive the intended benefit from the

    system.

    Secondary actors support the system so that

    primary actors can do their work.

  • 7/27/2019 SE-CH5.ppt

    35/42

    Once actors have been identified, use cases can be

    developed.

    A number of questions that should be answered by

    a use case :

    Who is the primary actor, the secondary actor

    (s)?

    What are the actors goal?

    What variations in the actors interaction are

    possible?

    B ildi Th R i t M d l

  • 7/27/2019 SE-CH5.ppt

    36/42

    Building The Requirement Model

    The intent of the analysis model is to provide a

    description of the required informational,functional, and behavioral domains for acomputer-based system.

    As the requirements model evolves, certainelements will become relatively stable, providinga solid foundation for the design task thatfollows.

    Other elements of the model may be more volatile,indicating that stakeholders do not yetunderstand requirements for the system.

  • 7/27/2019 SE-CH5.ppt

    37/42

    Elements Of The Requirement Model

    Scenario Based ElementsScenario-based elements of requirement

    model are often the first part of the model that isdeveloped. As such, they serve as input for the

    creation of the other modeling elements.

    Class-based Elements

    Each usage scenario implies a set of objects

    that are manipulated as an actor interacts withthe system. These objects are categorized intoclasses- a collection of things that have similarattributes and common behavior.

  • 7/27/2019 SE-CH5.ppt

    38/42

    Behavioral Elements

    The state diagram is one method for

    representing the behavior of a system. A state isany externally observable mode of behavior. In

    addition, state diagram indicates actions taken

    as a consequence of a particular event.

    Flow-oriented Elements

    Information is transformed as it flows through a

    computer based system. The system acceptsinput in a variety of forms, applies functions to

    transform it, and produces the output in a variety

    of form.

  • 7/27/2019 SE-CH5.ppt

    39/42

    Analysis Patterns

    Certain problems reoccur across all projects withina specific application domain.

    The analysis patterns suggest solution within the

    application domain that can be reused whenmodeling many applications.

    Analysis patterns are integrated into the analysis

    model by reference to the pattern name.

    They are also stored in a repository so thatrequirements engineers can use search facilities

    to find and apply them.

    Negotiating Req irements

  • 7/27/2019 SE-CH5.ppt

    40/42

    Negotiating RequirementsThe intent of the negotiation is to develop a project

    plan that meets stakeholders needs while at thesame time reflecting the real-world constraints(e.g. time, people, budget) that have been placedon the software team.

    The best negotiations strive for a win-win result.That is stakeholders win by getting the system orproduct that satisfies the majority of their needsand software team win by working to realistic andachievable budgets and deadlines.

    Set of activities defined at the beginning of each s.wprocess iteration by Boehm:-

  • 7/27/2019 SE-CH5.ppt

    41/42

    Set of negotiation activities at the beginning ofeach software process iteration by Bohem :-

    1. Identification of the system orsubsystems keystakeholders.

    2. Determination of the stakeholders wincondition.

    3. Negotiation of the stakeholders win conditionsto reconcile them into a set of win-winconditions for all concerned.

  • 7/27/2019 SE-CH5.ppt

    42/42

    Validating Requirements

    As each element of the requirements model iscreated, it is examined for inconsistency,omissions, and ambiguity.

    A review of requirement model addresses a setof questions.

    Questions should be asked and answered to

    ensure that the requirements model is anaccurate reflection ofcustomer need and that itprovides solid foundation for design.