Goal Oriented Requirements Engineering A Guided Tour Colette Rolland What is? Why? Where? When? How requirements engineering (RE) with goals PARIS 1 SORBONNE Recap What is RE about? The WHY question Why the system needs to be developed? The WHAT question What the system shall do? « Requirements definition must say – why a system is needed, based on current or foreseen conditions, – what system features will satisfy this context, ……………….» (Ross77) (Bubenko94, Mylopoulos92, Dardenne93, Loucopoulos95, etc..) PARIS 1 SORBONNE What is RE with goals ? Introducing explicit goal representations in requirements models “Requirements are complete if they are sufficient to establish the goal they are refining” (Yue87) "RE is concerned with the real-world goals for, functions of, constraints on software systems; and with their : – link to precise specifications of software behaviour, – evolution over time & families " (Zave97) "RE is concerned with the identification of goals to be achieved by the envisioned system, the operationalization of such goals into services and constraints…." (Lamnsweerde00) PARIS 1 SORBONNE What is RE about? Mission statements & strategic objectives System Requirements (from Axel van Lamsweerde) PARIS 1 SORBONNE Goal Orientation • found in traditional methodologies for system engineering : context analysis (Ross77), definition study (Hice & Turner74), participative analysis (Munford81), object oriented analysis (Rubin & Golberg92)….. • addressed by IEEE-Std-830 • ignored by UML, "but needed" (Fowler97) • increasingly considered in RE research PARIS 1 SORBONNE Goal Oriented Requirements Engineering Roles of Goals in RE : requirements elicitation exploration of alternatives requirements completeness requirements pre-traceability detection & resolution of conflicts documentation negotiation evolution & change PARIS 1 SORBONNE Outline • Goals... what? why? where? when? • Modelling goals • Formulating goals • Conclusion PARIS 1 SORBONNE What are Goals? Objectives that the system under consideration must achieve • optative statements (as opposed to descriptive), (Jackson95) expressions of intents, (Rolland98) Screen passengers entering the lift (goal); Create ET Passenger (action) • related to the system in its environment, bounded by the subject matter, (Zave & Jackson97) Keep door closed when moving relates to Transport passengers safely • through co operation of agents, van Lamsweerde00 Lift system depends on lift software to Keep door closed when moving • associated with the current system (As-Is) or the future system (To-Be) PARIS 1 SORBONNE What are Goals? High level, Goals are expressed at different strategic, levels of abstraction organisation wise Increase the number of contracts by 20% Diversify the number of ways of making offers Make Offer Low level, tactic, design specific Through the With a pull car vendor strategy Directly to the client by Internet PARIS 1 SORBONNE What are Goals? More examples • high-level goals strategic, global, organization-wide “more passengers served" "ubiquitous cash service provided ” • low-level goals technical, local, design-specific “Trigger acceleration every 3 seconds" " Keep card after 3 wrong password entries" PARIS 1 SORBONNE What are Goals? Ubiquitous cash service Goals cover different types ofprovided concerns card kept after 3 wrong pin code entries • functional goals : what the system is expected to do • non-functional goals : quality of security, safety, accuracy, performance, cost, usability, adaptability, Serve customer quickly the system behaviour Pop up window in less than 1/2 sec PARIS 1 SORBONNE What are Goals? • Actor responsible for goal (Feather87) Achieving goals require co operation among agents/actors • Actor dependencies (Yu94) • Goal as requirement when assigned to system versus assumption in the Safe Goal environment (Lamsweerde01) Transportation Actor Train transportation system Get in when doors open at station Maintain doors closed while moving Passenger Software System Tracking Passenger system PARIS 1 SORBONNE What are Goals? Goals may be owned by stakeholders "train frequency increased" (passengers) "number of passengers increased" (train company) potential for conflicting viewpoints "card kept when KO-customer" (banks) "card returned when KO-customer" (customers) (Robinson89, Nuseibeh94, Boehm95, Lamsweerde98a) PARIS 1 SORBONNE Exercise (1) Assume that you have to set the goals for an insurance claim system 1. Elicit some goals 2. Classify them into functional and non functional goals 3. Draw some dependencies of the form < actor1, goal g, actor2> expressing the fact that goal g requires the cooperation between actor1 (dependee) and actor2 (depender) 4. Identify two (or more) conflicting goals Assumption: The company employs appraisers to estimate damages; car owners are reimbursed of repairs done by body shops accordingly PARIS 1 SORBONNE Why are goals needed ? Goals help deriving purposeful requirements ! Goals drive the elaboration of requirements to support them (Ross77, Dardenne91, Rubin92, Anton98, Kaindl00, ... ) Goals provide rich structuring mechanism AND/OR refinement, abstraction (Dardenne91, Mylopoulos92) Goals are roots for conflict detection & resolution (Robinson89, Boehm95, Nuseibeh94, Lamsweerde98a) PARIS 1 SORBONNE Where are goals coming from ? Bottom-up (why) By abstracting from the current system (early reqs) Avoiding/ reducing problems & deficiencies As-Is Goals Intentional level To-Be Goals By refinement from scenarios, obstacles & conflicts (late reqts) Understanding needs for change Abstracting Operationalizing Top-down (how) Operational Level Current system & Processes To-Be system & processes Eliciting goals in not an easy task!! PARIS 1 SORBONNE Where are goals coming from ? Goal identification Top-down: asking HOW? questions about goals available Screen passengers entering in the lift flows from How to Ensure security in the building? Bottom-up: asking WHY? questions about technical/operational details available Why Having the ET passenger in the conceptual schema forces to come to the general goal of Ensuring security in the building PARIS 1 SORBONNE When should goals be made explicit ? • early phases of RE, generally the sooner the better, for goal-driven elaboration, validation, negotiation • but late identification as well • from scenarios, obstacles, conflicts • late why questions • at every step of the design process (e.g RUP) PARIS 1 SORBONNE Exercise (2) Apply a bottom-up approach to the Room Booking System to identify one or more high level goals PARIS 1 SORBONNE Outline • Goals... what? why? where? when? • Modelling goals • Formulating goals • Conclusion PARIS 1 SORBONNE Modelling goals Aim : to support heuristic,qualitative or formal reasoning during RE understanding the context in which the system will have to function, the rationale for the To-Be system, deriving the system requirements from the explicit representation of the organisation’s mission & objectives bridging organisation objectives to system requirements The goal model is a goal graph build with AND/OR links PARIS 1 SORBONNE Modelling goals : AND/OR links Borrowed from problem reduction methods in AI Collect Meter Readings AND decomposition/refinement Organise Routes Physically Collect Readings AND link meaning : the father goal is satisfied only if the children goals are satisfied AND links help in driving the process of goal operationalisation PARIS 1 SORBONNE Modelling goals : AND/OR links AND Collect Meter Readings Organise Routes Produce Daily Routes Assign Routes Physically Collect Readings Read Meters Collect & Manage Readings PARIS 1 SORBONNE Modelling goals : AND/OR links OR refinement Provide 24-hours telephone hot-line Provide Customer support Provide interactive bulletin board on Internet Provide service catalogue on CD-ROM OR link meaning : The father goal is satisfied if one of the children goals is satisfied Constructing OR links supports identify, evaluate, negotiate and reason on alternatives PARIS 1 SORBONNE Modelling goals : AND/OR links OR Provide 24-hours telephone hot-line Develop specific WEB application Provide Customer support Provide interactive bulletin board on Internet Provide service catalogue on CD-ROM Purchase WEB server services from provider PARIS 1 SORBONNE Modelling goals : AND/OR links Estimate efficiently load needs OR Use forecast efficiently Hire estimation agents Elicit estimation needs Make forecast AND By district Centrally Define forecast periodicity Define estimation criteria By region Make shifting forecasts Make short term forecasts Make long term forecasts PARIS 1 SORBONNE Modelling goals : AND/OR links Operationalize goal OR (choice) Operationalize goal following Peri’s approach> Operationalize goal following Axel’s approach> AND (composition) Identify hypotheses Formulate decomposition Express Pros and Cons for each hypothesis Perform an OR reduction based on case OR (choice) , Perform an OR reduction based on milestone PARIS 1 SORBONNE Exercise (3) Decompose the goal Provide Services for Lending Books PARIS 1 SORBONNE Modelling goals : As-Is & To-Be graphs Run PPC distribution Ensure product quality From As-Is model to To-Be model Minimise operational costs INTRODUCE Satisfy customer requests Offer services to Public Organisations Ensure safe and continuous electricity provision Supply Customers with electricity Stop supply of electricity to Handle financial aspects of electricity supply customers to customers Collect data on customer consumption Introduce IFD to serve eligible customers CEASE Cease services offered to Public Organisations MAINTAIN Ensure the safe and continuous provision of electricity REPLACE Disconnect customer via IFD REPLACE Supply electricity via IFD ADAPT Automate the financial aspects for electricity supply INTRODUCE Introduce GIS REPLACE Bill customer consumption ... Replace manual meter reading by remote meter reading EXTEND Extend the billing module to collect remote meter readings PARIS 1 SORBONNE Modelling goals : goal types MAINTAIN ELEKTRA taxonomy : 7 types of change goals (Rolland99) Maintain the safe and continuous provision of electricity CEASE Cease offering services to public EXTEND IMPROVE organisations Extend current liaison procedures REPLACE Improve customer satisfaction for new installation request INTRODUCE Introduce a customer oriented culture ADAPT Replace manual meter reading by remote meter reading Automate the financial aspects for electricity supply PARIS 1 SORBONNE Modelling goals : goal types Anton's taxonomy : 2 main types of goals (Anton96) Goal Type Does this goal ensure Policy level goals that some condition is held true throughout Is continuous Maintenance achievement required? Provide career tracks Coordinate training Does this goal denote a state that has been achieved or a desired state? Process level goals Achievement Create career track portfolio Announce available course slots Maintain Cease, Improve, Extend, Introduce, Adapt, Replace PARIS 1 SORBONNE Modelling goals : goal types Dardenne's taxonomy : 3 types of behaviours & 5 types of goals (Dardenne93) Goal Type Generate behaviours Achieve: P Q Compare behaviours Restrict behaviours Optimise:Maximise , Achieve[message sent in Minimise time] Cease: P ¬ Q Avoid :P •¬ Q Cease[deliver electricity] Avoid[train collision] Maintain: P •Q Maintain[distance between train] Q :property Q will hold in all future states Q : property Q will hold in some future state PARIS 1 SORBONNE Modelling goals : goal types Prat's taxonomy (Prat97) goal maintenance state remain Each class has its set of semantic functions Ex : become [Qual]; keep[Object]; dissociate[source]etc. ownership keep evolution process knowledge choose decide argue on justify Action describe modify maximise minimise state change become execution Mapping associate dissociate couple attach Realisation realise create identify Transfer give delegate receive PARIS 1 SORBONNE Exercise (4) Classify the following goals (Dardenne’s taxonomy) : Satisfy book request Provide long borrowing period Ensure accurate classification Notify availability Maintain as many copies as possible Limit borrowing period Avoid loss of books Cease lending books manually PARIS 1 SORBONNE Modelling goals : goal types Soft versus hard goals hard goals: that the goal has been reached can be verified ex : quantitative criteria (Robinson02) goal satisfaction ex : block speed limit, door closed while moving soft goals: whether the goal has been reached cannot be established in clear-cut sense goal satisficing, (Mylopoulos92, Chung00) ex : safe transportation PARIS 1 SORBONNE Modelling goals : AND/OR satisfycing Qualitative framework Passenger Transportation +: G contributes positively to K - : G contributes negatively to K (Mylopoulos92, Nixon93, Chung00) PARIS 1 SORBONNE Modelling goals : goal links Relating goals to … other goals AND/OR satisfaction AND/OR satisficing (soft goals) conflict other concepts problem, opportunity, thread, (EKD,Bubenko94) objects, (Dardenne91, Mylopoulos92, Prat97, Rolland98) scenarios, (Fickas92, Potts95, Leite97, Sutcliffe 98, Haumer98, Rolland98, Anton98) agents (responsibility- Kaos,Leiter01), (goal dependencyI*,Yu93) PARIS 1 SORBONNE Modelling goals : goal links Improve financial results EKD model supports supports Increase revenue Minimise costs Problem Too many failures Opportunity Existence of infrastructure supports hinders supports solves Reduce power failures by 10% in the next 5 years Enter new markets exploiting existing assets PARIS 1 SORBONNE Modelling goals : goal links Object reference (Dardenne91, Mylopoulos92, Rolland98, ...) PARIS 1 SORBONNE Modelling goals : goal links Scenario coverage PARIS 1 SORBONNE Modelling goals : goal links Agent/goal dependency (Yu93) + hard goal, task & resource dependency PARIS 1 SORBONNE Outline • Goals... what? why? where? when? • Modelling goals • Formulating goals • Conclusion PARIS 1 SORBONNE Formulating goals Aim : • to document elements of the goal model • to enable some form of reasoning Informal, semi formal, formal In any case informal description is required to make a goal designation precise (Zave & Jackson’97) Ex: Replace [manual transfer of meter readings] Capturing data of meter reading sheets is error-prone. Introducing devices permitting automatic transfer should reduce errors PARIS 1 SORBONNE Formulating goals Semi formal expression of goal statements • goal type, parameters Accuracy [account.balance] (Mylopoulos92) Avoid [ train collision] (Dardenne91) Maintain [Career tracks] (Anton96) PARIS 1 SORBONNE Formulating goals • Linguistic approach (Prat97) Goal : Verb <Target> [<parameter>]* Target : verb complement ex: Grant Verb (a loan)Target The Target can be Object or Result • The Object pre-exists to the goal achievement ex: DecideVerb (on the offer)Object • The Result is produced by the goal achievement ex: CollectVerb (the offer data)Result PARIS 1 SORBONNE Formulating goals Semi-Formal Goal : Verb <Target> [<parameter>]* Other parameters:: source, beneficiary, destination, means, manner, place, time, quantity, quality, reference ex: ImproveVerb (services)Oj (to our customer)Ben (by providing an ubiquitous cash service)Man ex: Respond-toVerb (a loan request)Ob presented (by a customer)So (in 8 days)Time PARIS 1 SORBONNE Formulating goals Source : where the goal originated from (information source or physical location) Exclude (competitor)Obj (from market)So Destination : reverse of source Transfer (research department)Obj (in Nice)dest Location : situate the goal in space Reduce (delay)obj (on the ground)loc Time : situate goal in time Renew (product catalogue)obj (every year) time PARIS 1 SORBONNE Formulating goals Reference : entity by reference to which a state is preserved/reached or an action is executed Adjust (prices) obj (to inflation rate) ref Quality : a quality criterion that must be preserved/satisfied Become (a big CD exporter)qual Remain (more reliable)qual (than competitors)ref Quantity : express a positive/negative evolution that must occur Reduce (production costs)obj (by 10%) Increase (turnover)obj (by 15%)quant (compare to last year turnover)ref PARIS 1 SORBONNE Formulating goals Mean : tool used for the goal achievement Present (new enterprise products)Obj (on the Internet)moy Manner : an approach to reach the goal Define (car models)obj (taking into account (customer surveys)obj)man Improve (services)obj (to our customers)ben (installing (a service to pay invoices)obj (with an ATM )moy)man A manner may be a goal (recursive definition of a goal) PARIS 1 SORBONNE Exercise (5) 1- Elicit verbs and parameters of the following goal statements : Give more autonomy to traffic controllers Withdraw cash from an ATM in the fast mode Reduce air pollution Add Entity Type to E/R schema Improve services to our customers by providing an ubiquitous cash service with card based ATM 2- Formulate 5 goals related to your activity and formalise their statements with the case template PARIS 1 SORBONNE Formulating goals Formal specification in Kaos : Achieve [BookRequestSatisfied] ( bor: Borrower, b: Book, lib: Library) Requesting (bor, b) b.subject lib.coverageArea ( bc:BookCopy) (Copy(bc, b)Borrowing(bor, bc)) PARIS 1 SORBONNE Conclusion & Open Issues Goal based reasoning is central to RE for - elicitation of requirements - exploration of alternatives - exception handling - conflict management Goals provide - better abstractions for decision makers - support to pro-actively guide the RE process - pre-traceability links Open issues - architecture derivation - change management - monitoring of requirements - quality assessment PARIS 1 SORBONNE Exercise (6) Home Assignment Part 2 1- Assume that the stakeholders of the room reservation system agree that the high level goal is to ‘Secure customers’ loyalty’ Decompose this high level goal till operationalisable goals are found. Convert these into requirements and relate to parts of the conceptual schema of the future system (reuse your initial schema with extensions/adaptations etc. ). 2- Assume that the stakeholders of the room reservation system agree that the high level goal is to ‘Maximize customer turn over’. Same question as in (1) PARIS 1 SORBONNE
© Copyright 2026 Paperzz