1 / 35

Goal-Oriented Requirements Engineering: A Guided Tour

Message of the Paper. A goal is an objective a system under consideration should achieveGoals can be used to drive the requirementsGoals can be used to drive object modelsGoals can be used to validate/verify requirementsGoals provide rationales for requirementsGoals provide structures for makin

sileas
Download Presentation

Goal-Oriented Requirements Engineering: A Guided Tour

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. Goal-Oriented Requirements Engineering: A Guided Tour By Axel van Lamsweerde Farshad Tajalli

    2. Message of the Paper A goal is an objective a system under consideration should achieve Goals can be used to drive the requirements Goals can be used to drive object models Goals can be used to validate/verify requirements Goals provide rationales for requirements Goals provide structures for making important decisions (choose from alternative) Goals provides structures for requirement documents Alternative goal refinements allow alternative requirement exploration Different levels of abstraction Different types of concerns functional/non-functional Different levels of abstraction Different types of concerns functional/non-functional

    3. Contents Goals Goals for Requirement Engineering (RE) process The running example is part of the Bay Area Rapid Transit System (BART) which is a real, complex, real-time, and safety-critical transportation system

    4. GOALS

    5. Where to Get the Goals Stakeholders and/or preliminary materials (search intentional keywords) explicitly implicitly, needs goal elicitation Preliminary system analysis problems and deficiencies Goal/requirement refinement Goal/requirement abstraction Conflict resolution of goals Obstacles Objective, purpose, intent, concern, Objective, purpose, intent, concern,

    6. When to Specify Goals The sooner the better Deriving role Analogy to software development programs implement software specification requirements “implement” goals Some late goal identification ex. requirement abstraction

    7. Goal Modeling Enables qualitative, formal, heuristic reasoning Types functional/non-functional soft goals/(hard) goals achieve(denied)/maintain(avoid)/optimize Attributes name, specifications, priority Links (goal structures) with other goals with other elements Soft : alternative goal refinement Hard: varification Priority : refinement. Soft : alternative goal refinement Hard: varification Priority : refinement.

    8. Goal Links Links (goal structures) with other goals hard goals satisfaction AND-refinement link OR-refinement link Conflict link soft goals satisficing Contribute link (positively, negatively) with other elements

    9. Goal Links Links (goal structures) With other goals Hard goals satisfaction AND-refinement link OR-refinement link Conflict link Soft goals Satisficing Contribute (positively, negatively) With other elements

    10. Goal Links Links (goal structures) with other goals with other elements to operations to scenarios (coverage link) Implicit vs. explicit intended properties to objects (entities, relationships, or agents) drive related objects from goals

    12. Goal Links Links (goal structures) with other goals with other elements to operations to scenarios (coverage link) Implicit vs. explicit intended properties to objects (entities, relationships, or agents) drive related objects from goals responsibility link to agents to organizational policies

    13. How to Specify Goals Semi-formal by their type, attribute, and links textual, graphical (GRAIL/KAOS) by instantiation and parameterization of subtyped goals (NFR framework) keywords with predefined semantics Achieve, Maintain, Avoid (KAOS) Formal

    14. Formal vs. Informal Goal Spec

    15. GOAL-BASED REASONING FOR REQUIREMENT ENGINEERING

    16. Verification Verify : whether requirements are related to goals whether requirements are sufficient for goals Formally or informally Formal proof (ex. STeP for temporal goals) matching to refinement patterns (for Achieve, Maintain, Avoid goals) STeP for STeP for

    17. Goal Verification Verify : whether requirements are related to goals whether requirements are sufficient for goals Formally or informally Formal proof (ex. STeP for temporal goals) matching to refinement patterns (for Achieve, Maintain, Avoid goals) STeP for STeP for

    18. Goal Verification Verify : whether requirements are related to goals whether requirements are sufficient for goals Formally or informally Formal proof (ex. STeP for temporal goals) matching to refinement patterns (for Achieve, Maintain, Avoid goals) STeP for STeP for

    19. Goal Verification Verify : whether requirements are related to goals whether Requirements are sufficient for goals Formally or informally Formal proof (ex. STeP for temporal goals) matching to refinement patterns (for Achieve, Maintain, Avoid goals) Qualitative reasoning for soft goals (NFR framework) mark nodes bottom-up (S, D, C, U) STeP for STeP for

    20. Goal Verification Verify : whether requirements are related to goals whether Requirements are sufficient for goals Formally or informally Formal proof (ex. STeP for temporal goals) matching to refinement patterns Qualitative Reasoning (NFR framework) mark nodes bottom-up (S, D, C, U) (Exa STeP for STeP for

    21. Goal Validation Goals are validated by identifying/generating the covered scenarios Planning to generate scenarios to achieve the goals using formal models of goals, operations, prohibited conditions

    22. Refinement Asking the HOW question Refinement pattern Goal/Requirement Elicitation (1)

    23. Refinement Ask HOW question Refinement pattern Goal/Requirement Elicitation (1)

    24. Goal/Requirement Elicitation (2) Abstraction Asking The WHY question

    25. Goal/Requirement Elicitation (2) Abstraction Asking The WHY question

    26. Goal/Requirement Elicitation (2) Abstraction Asking The WHY question

    27. Goal/Requirement Elicitation (2) Abstraction Asking The WHY question Using the scenarios Refinement patterns (in revers)

    28. Goal Operationalization Goals as state transitions Pre (not(command.Sent)) Post (command.sent) And(command.trainId=train1.ID) Ensure goals linked to transitions

    29. Obstacle-driven Elaboration Handling obstacles at RE time leads to new requirements for more robust systems Assert obstacle to goal satisfaction from scenarios from goals

    30. Obstacle-driven Elaboration Handling obstacles at RE time leads to new requirements for more robust systems Assert obstacle to goal satisfaction from scenarios from goals

    31. Obstacle-driven Elaboration Handling obstacles at RE time leads to new requirements for more robust systems Assert obstacle to goal satisfaction from scenarios from goals Resolve the obstacles goal substitution agent substitution goal weakening goal restoration ….

    32. Obstacle-driven Elaboration Handling obstacles at RE time leads to new requirements for more robust systems Assert obstacle to goal satisfaction from scenarios from goals

    33. Conflict management Conflicts are the rule not the exception Divergence boundary conditions Weaken the none safety condition

    34. Negotiation of Requirements

    35. Pros/Cons Cons some techniques are discussed too briefly that are not useable the future work/short comings are not discussed properly Pros easy to read wide range of techniques are explored nice example is provided

    36. Future Work Paper suggest using goals (functional/non-functional) goals to derive and refine architectures and annotate patterns alternative selection which goal refinement which agent assignment

More Related