COE691: User Requirements Notation (URN)

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Which of the following best describes a 'goal' in the context of software requirements?

  • The color of the application's user interface
  • The programming language used for development
  • A specific line of code that needs to be written
  • A representation of stakeholder objectives (correct)

A goal model is a linear list of requirements without any hierarchical structure.

False (B)

Which of the following exemplifies a functional goal?

  • The camera sensor must have a 180 degree field of view. (correct)
  • The system shall be implemented using the Python programming language.
  • The system shall process transactions within 3 seconds.
  • The system shall have a user-friendly interface.

What is a key characteristic of non-functional goals?

<p>They describe desired system qualities, like reliability and quality. (C)</p> Signup and view all the answers

In the context of goal-oriented requirements engineering, what does GRL stand for?

<p>Goal-oriented Requirements Language</p> Signup and view all the answers

Goals are objectives a system should achieve through cooperation of ______ in the software and environment.

<p>actors</p> Signup and view all the answers

Why is goal modeling considered more useful in the early phases of a project?

<p>It helps to understand organizational goals and stakeholder interests. (D)</p> Signup and view all the answers

A goal model primarily expresses what a system is supposed to do, and not why it should do it.

<p>False (B)</p> Signup and view all the answers

Which of the following is a benefit of using a goal model?

<p>It enables requirements completeness to be measured. (A)</p> Signup and view all the answers

Which phase of the software development process is best suited for the use of goal models?

<p>Early requirements engineering phase (B)</p> Signup and view all the answers

Goal models are typically performed after UML modeling.

<p>False (B)</p> Signup and view all the answers

Which of the following notations are used for goal models?

<p>All of the above (D)</p> Signup and view all the answers

What is the purpose of the 'Strategic Dependency' (SD) diagram in the i* goal modeling notation?

<p>Defining relationships between roles based on specific goal dependencies. (A)</p> Signup and view all the answers

In i* goal modeling notation, non-functional goals are modeled as ______ goals.

<p>soft</p> Signup and view all the answers

The i* Framework contains fewer types of actors and associations than GRL.

<p>False (B)</p> Signup and view all the answers

What does KAOS stand for?

<p>Knowledge Acquisition in automated specification (A)</p> Signup and view all the answers

According to the provided materials, what is the purpose of UML use case diagrams in the goal modeling notation?

<p>To represent a simple goal model focused on functional goals. (D)</p> Signup and view all the answers

Name one of the software tools mentioned for goal modeling.

<p>jUCMNav</p> Signup and view all the answers

What functionalities does jUCMNav offer for GRL?

<p>All of the above (D)</p> Signup and view all the answers

SanDriLa is a plug-in for Eclipse.

<p>False (B)</p> Signup and view all the answers

Which is a characteristic of the User Requirements Notation (URN)?

<p>Focus on early stages of development with goals and scenarios (D)</p> Signup and view all the answers

What are the two complementary notations combined in URN?

<p>Goal-oriented Requirement Language (GRL) and Use Case Maps (UCM) (B)</p> Signup and view all the answers

GRL is designed to support which of the following?

<p>Goal-oriented modeling and reasoning (A)</p> Signup and view all the answers

What is a primary benefit of using GRL for requirements elaboration?

<p>Expressing and clarifying ambiguous requirements (C)</p> Signup and view all the answers

According to the provided materials, UCM is quite like GRL in UML

<p>False (B)</p> Signup and view all the answers

What are the main categories of concepts in GRL?

<p>Intentional elements, relationships, and actors (D)</p> Signup and view all the answers

What are the intentional elements?

<p>Goal, soft goal, task, belief and resource (D)</p> Signup and view all the answers

Match the following GRL elements with their descriptions:

<p>Goal = A condition or situation that can be achieved or not; defines functional requirements Task = Different ways of accomplishing a goal; represented by a hexagon Softgoal = Non-functional requirements; usually a quality attribute Resource = A physical or information object available for use in a task</p> Signup and view all the answers

In a GRL model, what does a 'means-ends' relationship represent?

<p>How a goal can be achieved. (A)</p> Signup and view all the answers

What does a 'belief goal element' mean that the system does?

<p>It represents assumptions and relevant conditions. (C)</p> Signup and view all the answers

In GRL, an 'actor' is only a human user of the system.

<p>False (B)</p> Signup and view all the answers

What does the system include in the recurring pattern on Goal Modelling

<p>Has several functional goals and alternative ways of performing them. (D)</p> Signup and view all the answers

In Advanced GRL Notation, Dependencies can be defined between actors, together with:

<p>Intermediate resources (D)</p> Signup and view all the answers

What does a 'Softgoal' goal element mean in a GRL Basic notation?

<p>System Security (A)</p> Signup and view all the answers

Which of the following is the BEST description of a 'goal' in the context of requirements engineering?

<p>A representation of stakeholder objectives. (D)</p> Signup and view all the answers

Leaf-level goals in a goal hierarchy are typically considered as requirements.

<p>True (A)</p> Signup and view all the answers

What is a primary difference between functional and non-functional goals?

<p>Functional goals are easier to quantify and define criteria for. (C)</p> Signup and view all the answers

In goal modeling, what is the main purpose of expressing the relationships between a system and its environment?

<p>To understand why the system is needed, not just what it should do.</p> Signup and view all the answers

Which of the following BEST describes how goal modeling aids in managing conflicts during requirements engineering?

<p>It identifies conflicts and facilitates trade-offs. (D)</p> Signup and view all the answers

Goal models are most effective when applied late in the software development lifecycle, after the design phase.

<p>False (B)</p> Signup and view all the answers

Which of the following is NOT a common notation used for goal models?

<p>ER diagram (C)</p> Signup and view all the answers

In the i* goal modeling notation, relationships between roles are defined using ______ diagrams.

<p>strategic dependency</p> Signup and view all the answers

What does 'ownership' signify in the context of the i* goal modeling notation?

<p>The role's desire to satisfy specific goals. (D)</p> Signup and view all the answers

In i*, non-functional goals are typically diagrammed as squares.

<p>False (B)</p> Signup and view all the answers

How does the i* framework differ from GRL (Goal-oriented Requirements Language) concerning actors and associations?

<p>i* contains more types of actors and associations. (A)</p> Signup and view all the answers

What does KAOS stand for in the context of goal-oriented requirements?

<p>Knowledge Acquisition in automated specification or Keep All Objectives Satisfied</p> Signup and view all the answers

What do the bubbles represent in a UML use case diagram when used for simple goal modeling?

<p>Functional goals. (B)</p> Signup and view all the answers

UML use case diagrams provide a comprehensive notation suitable for capturing both functional and non-functional goals.

<p>False (B)</p> Signup and view all the answers

Which aspect of system development does jUCMNav (Eclipse Plug-in) primarily support?

<p>GRL evaluation algorithms. (B)</p> Signup and view all the answers

SanDriLa, a tool for goal modelling, is a plug-in for ______.

<p>visio</p> Signup and view all the answers

Match the following notations with their characteristics:

<p>GRL = Designed to support goal-oriented modeling and reasoning about requirements UCM = Models the 'what' aspects, including functional requirements as scenarios. i* = Provides Strategic Dependency and Strategic Rationale diagrams for modelling relationships between roles and analysing goals. KAOS = Provides a way of defining goals and obstacles, underpinned by a formal method of analysis.</p> Signup and view all the answers

Which of the following BEST describes the relationship between GRL and UCM?

<p>GRL focuses on 'why' questions, while UCM focuses on 'what' questions. (C)</p> Signup and view all the answers

An 'indicator', a element of GRL, is used to show how a task contributes to a softgoal.

<p>False (B)</p> Signup and view all the answers

Which relationship in GRL is used to show the sub-components of a specific Task?

<p>Decomposition. (D)</p> Signup and view all the answers

In GRL, what does an 'actor' represent?

<p>An active object that carries out actions to achieve the goal.</p> Signup and view all the answers

What is the primary purpose of 'strategies' in GRL?

<p>To specify different possible solutions or configurations. (A)</p> Signup and view all the answers

In GRL, 'evaluations' are performed from the top-down, starting with high-level goals and moving toward lower-level tasks.

<p>False (B)</p> Signup and view all the answers

Which of the following is considered when evaluating satisfaction levels in GRL?

<p>The degree of satisfaction of child elements. (D)</p> Signup and view all the answers

In GRL, an actor's evaluation is computed from the ______ level of intentional element references bound to the actor.

<p>importance</p> Signup and view all the answers

Flashcards

What is a goal?

A representation of stakeholder objectives.

What is a goal model?

A hierarchical arrangement of goals demonstrating relationships between them.

What are Functional goals?

Functions that a system will perform, with well-defined criteria for satisfaction.

What are Non-functional goals?

Desired system qualities that are harder to quantify, such as reliability or quality.

Signup and view all the flashcards

What are Goals?

Objectives a system should achieve through collaboration of actors in the software and environment.

Signup and view all the flashcards

What is a Goal Model?

Goal modeling provides the reasons why a system is needed and clarifies requirements.

Signup and view all the flashcards

What are i* Diagrams?

The i* notation provides two kinds of diagrams for goal modeling: Strategic Dependency and Strategic Rationale.

Signup and view all the flashcards

Strategic Dependency (SD)

Defines relationships between roles in terms of specific goals that one role depends on the other role to provide.

Signup and view all the flashcards

Strategic Rationale (SR)

Analyzing the goals identified on the Strategic Dependency model into subsidiary goals and tasks.

Signup and view all the flashcards

KAOS

A goal-oriented requirements capturing approach used in requirements engineering.

Signup and view all the flashcards

UML's use case diagram

Provides a simple goal modeling notation.

Signup and view all the flashcards

jUCMNav

An Eclipse plug-in with features for GRL, including evaluation algorithms and multiple diagrams.

Signup and view all the flashcards

SanDriLa

A plug-in for Visio that supports goal modeling.

Signup and view all the flashcards

piStar

A web-based goal modeling tool.

Signup and view all the flashcards

Goal-oriented Requirements Language (GRL)

A goal-oriented modeling language used in systems development, focusing on non-functional requirements.

Signup and view all the flashcards

Why GRL?

Expresses and clarifies tentative, ill-defined and ambiguous requirements, and helps in conflict resolution.

Signup and view all the flashcards

What is GRL in a Nutshell?

Graphical notation, connects requirements to business objectives, and allows reasoning about NFRs.

Signup and view all the flashcards

Use Case Maps (UCM)

Graphical scenario notation showing causal relationships; models 'what' aspects.

Signup and view all the flashcards

What are the three main categories of concepts in GRL?

Intentional elements, relationships, and actors.

Signup and view all the flashcards

What are Intentional elements? (GRL)

Goal, Softgoal, Task, Belief and Resource.

Signup and view all the flashcards

What does Means-ends show in relationships?

Show how the goal can be achieved; connect task to a goal.

Signup and view all the flashcards

What does Composition show in relationships?

Used to show sub-components of Task.

Signup and view all the flashcards

What does contribution describe in relationships?

Describes impacts between elements, uses weighted means-ends for defeasible reasoning.

Signup and view all the flashcards

What does Correlation describe in relationships?

Side effects of one element to others.

Signup and view all the flashcards

Dependency relationship

Interdependencies between agents.

Signup and view all the flashcards

Actors

A GRL element that that carries out actions to achieve the goal.

Signup and view all the flashcards

GRL: Strategies

A particular configuration of intentional elements is defined, user-defined satisfaction levels.

Signup and view all the flashcards

GRL Graphs Evaluations

Show the impact of qualitative decisions on high level softgoals.

Signup and view all the flashcards

What is feedback in GRL Strategies?

Initial evaluation is implemented with satisfaction levels and a visual.

Signup and view all the flashcards

Qualitative Contribution

From Make to Break.

Signup and view all the flashcards

Study Notes

  • COE691 covers software requirements and specifications.
  • Previous topics have been:
    • Requirements Classifications and Organizations
    • Requirements Conflicts
    • Requirements Prioritization and Negotiation
  • This weeks topics are:
    • User Requirements Notation (URN)
    • Goal Modelling Tools
    • Goal-oriented Requirements Language (GRL)
      • Notations
      • Examples
      • Strategies and Evaluations

Goals

  • Goals are a representation of stakeholder objectives
  • Goal models demonstrate relationships between hierarchically arranged goals.
  • A camera sensor having a 180-degree field of view and a radar sensor being always on are examples of goals
  • Examples of non-goals are camera software being implemented in C, or radar housing is painted red.
  • Goals can be decomposed from high-level objectives to low-level requirements.
  • Goals are refined with sub-goals that define how they are satisfied, and leaf-level goals are considered requirements
  • Functional goals are functions that a system will perform and have well-defined criteria for satisfaction
  • Non-functional goals are desired system qualities that are hard to define and quantify
  • Goals are objectives a system should achieve through the cooperation of actors in the defined software and its surrounding environment
  • Goal modelling is especially useful in the early phases of a project.

Goal Model

  • A Goal model expresses the relationships between a system and its environment.
  • A Goal model includes what the system is supposed to do, and for why it is supposed to do it.
  • Goal models clarify requirements and specifying goals leads to asking "why", "how" and "how else."
  • Stakeholders' requirements are revealed in this process with less risk.
  • Goal models allow large goals to be analyzed in small, realizable goals.
  • Goal modeling can identify and help to resolve trade-offs between cost, performance, flexibility, security and other goals.
  • Reveals divergent interests between stakeholders.
  • Identifies conflicts because meeting one goal can interfere with meeting other goals.
  • Enables measuring requirement completeness within the goal model.
  • Connects requirements and design where the i* Non-Functional Requirements (NFR framework) uses goals to guide the design process.
  • Goal models provide rationale for requirements.
  • Goal models identify stable information in system objectives.
  • Goal models guide requirements elicitation.
  • Goal models provide visual depiction of relationships and dependencies between objectives

When to use Goal Models

  • Early in requirements engineering process.
  • To identify problems.
  • To explore solutions and alternatives.
  • Before UML modelling.
  • To continually refine goal model as new requirements or obstacles surface.

Notations

  • There are several notations in use for goal models in software development.
  • These include:
    • i* (pronounced "eye-star") and a variant, GRL.
    • KAOS.
    • UML Use Case diagram.
  • Other notations have been proposed by researchers.
  • The Goal Structuring Notation (GSN) and GRL are sometimes used to make safety cases to satisfy the regulator in safety-related industries

Goal Modeling in i*, GRU

  • The i* goal modeling notation provides two diagrams:
    • "Strategic Dependency" (SD): Defines relationships between roles in terms of specific goals, where one role depends on the other.
    • "Strategic Rationale" (SR): Analyzes the goals identified on the SD model into subsidiary goals and tasks.
  • In i*, each role, whether an actor, agent, or position, is shown as a large circle containing the owned goals, tasks, and resources.
  • Ownership in i* means that the role wants satisfaction of the goals for its own/another's benefit.
  • Goals may be accompanied by "obstacles" (negative goals) to be surmounted.
  • Non-functional goals are modeled as "soft goals" in i*, diagrammed as clouds or indented ovals.
  • The i* Framework shares many GRL concepts, but it also incorporates multiple actor types and associations not differentiated by GRL.
  • Links defined in both languages have more restrictions in i* than in GRL.
  • The OpenOME tool enables both the creation and analysis of i* models.

Goal Modeling in KAOS

  • KAOS captures software requirements in requirements engineering.
  • KAOS is a goal modeling method.
  • KAOS allows for requirements to be calculated from goal diagrams.
  • KAOS stands for Knowledge Acquisition in automated specification or Keep All Objectives Satisfied.
  • The University of Oregon and the University of Louvain (Belgium) designed the KAOS in 1990.
  • The KAOS goal modelling notation provides a way of defining goals and obstacles.

Goal Modeling in UML

  • UML's use case diagram provides a simple goal modeling notation
  • The bubbles name functional goals, use cases cover only behavioral requirements.
  • Roles are shown as actors linked to the use cases in which they take part.
  • The use cases are drawn as elliptical bubbles, representing desired behavioural goals.

Goal Modelling Tools

  • jUCMNav (Eclipse Plug-in):
    • Features for GRL
      • 7 GRL evaluation algorithms are provided, with colour highlight
      • Supports one model and multiple diagrams
      • Has reference to actors and intentional elements
      • Has drag&drop from outline or via properties
      • Auto-layout
      • Catalogues
        • Supports exporting/importing/reusing common models
      • graphics exportation is available in .bmp, .gif, .jpg format
      • supports evaluations of strategy in .csv format
      • Contains URN links (for integration with UCMs)
      • Supports exporting to DOORS
  • Tool Support – SanDriLa (Plug-in for Visio)
  • Web Tool – piStar http://www.cin.ufpe.br/~jhcp/pistar/
  • Web Tool – Creative Leaf
  • Commercial Tool: Objectiver (for KAOS) http://www.objectiver.com/

User Requirements Notation (URN)

Goal-oriented Requirements Language (GRL)

  • Goal-oriented Requirements Language (GRL) is an i*-based modeling language used in systems development.
  • It supports goal-oriented modeling and reasoning about requirements, especially non-functional ones
  • Application and Research Areas:
    • Transformations to Message Sequence Charts and test goals
    • Architectural Evaluations
    • Performance engineering
    • Business process modelling and management
    • Requirements management and policy compliance
    • Pattern formalization
    • Reverse engineering
    • Aspect-oriented requirements engineering
  • Goals are an important driver for requirements elaboration
  • GRL expresses and clarifies tentative, ill-defined, and ambiguous requirements
  • Supports argumentation, negotiation, conflict detection & resolution, and decisions
  • GRL captures decision rationale and criteria (documentation!)
  • GRL identifies alternatives in requirements, architectures, means, and etc...
  • GRL provides traceability from strategic objectives to technical requirements
  • GRL enables reuse of stable higher-level goals when the system evolves
  • Unlike UML

GRL in a Nutshell

  • GRL is:
    • Goal-oriented Requirement Language
    • graphical notation
    • a way to connects requirements to business objectives
    • Allows for reasoning about (non-functional) requirements
    • rooted in i* and the NFR framework
  • GRL Models the "Why" aspect
  • GRL has Objectives, alternatives, and decision rationales
  • GRL is little or no operational details
  • GRL Supports goal and trade-off analysis and evaluations

UCMs in a Nutshell

  • UCMs are:
    • Use Case Maps
    • a graphical scenario notation
    • causal relationships between responsibilities
    • scenario elements may be allocated to components
  • UCMs model the "what" aspects
  • They contain functional requirements as scenarios
  • They are for integration and reusability of scenarios
  • They provide guidance for architecture and detailed behaviour
  • They are for Performance analysis, conflict detection, transformations

GRL - UCM Relationship

  • Approach:
    • Goal-based -Focuses on answering "why" questions -Functional and non-functional requirements
    • Scenario-based -Focuses on answering "what" questions
  • operationalized Goals are linked into tasks, and tasks are elaborated in UCM scenarios
  • Focus on answering “how” questions
  • Enables completeness and consistency analysis
  • User-defined links for requirements management
  • Can link any GRL element to an UCM element

GRL Categories

  • Goal-oriented Requirements Language (GRL) allows conflict expression between goals.
  • It allows for decision making that resolves conflicts.
  • Three main categories of concepts in GRL:
    • Intentional elements
    • Relationships
    • Actors
  • Because they are used in models that answer the "why" of requirements, they are called conceptual
  • This also covers why behavior or structure choices were made, what alternatives existed, and what was the reason for the chosen one.

Intentional elements

  • Intentional elements are goal, soft goal, task, belief, and resource
  • Goal is condition or situation that that can be achieved or not, and defines the systems functional requirements and is represented by a rounded rectangle
  • Task shows ways of accomplishing goals indicated by a hexagon
    • A task is a proposed solution that can achieve a goal and contribute to softgoals/qualities
  • Softgoal: defines non-functional requirements,is a quality attribute of one of the intentional elements, represented in notation
  • Resource: physical or informational object used in a task
  • Belief shows relevant assumptions
  • Indicator: transforms a measure to a satisfaction level

Relationships

  • Relationships are: means-ends, decomposition, contribution, correlation and dependency
  • Means-ends: connects task to a goal, shows how the goal can be achieved
  • Decomposition: Shows the sub-components of a task
  • Contribution: describes the way in which the other element influences the other
    • +ve and -ve contribution allows for defeasible reasoning by way of Defenders and Defeaters.
  • Correlation: shows the effect of one element to others
  • Dependency: describes how agents interdepend
  • Contribution
    • A contribution indicates the result of side effects, either positive or negative. It can be represented by numbers or symbols.
  • Decompostion
    • AND
    • OR
    • XOR
  • Dependency
    • The source of dependencies cannot be more satisfied than its target.

Actors

  • Actor is an active object that carries out actions to achieve and are circles with the actor's name written inside
  • Agent is a concrete actor
  • Role is a behavioral aspect of an Actor

Recurring Pattern in Goal Modelling

  • In goal modelling, the system (actor) has several functional goals
  • The system also has alternative ways of performing each goal (shown with tasks)
  • Stakeholders (actors) are involved, with their functional and non-functional concerns known.
  • The stakeholders' roles are captured with softgoals.
  • The contributions and side effects from potential solutions of softgoals are identified

Advanced GRL Notation

  • actors are allocated to GRL graphs
  • actors are defined by dependencies between each other
  • resources are also intermediate

GRL Tool Features

  • GRL graphs can be allocated to actors
  • Dependencies and intermediate resources can be included between actors

GRL Notation

  • The User Story Model pattern is: As an [Actor], I want to [Task] in order to [Contribution] achieve [Goal]
  • The User Story Model pattern identifies the task of an actor, a contribution level, and a contribution from the task to a goal.

GRL - Strategies and Evaluation Mechanism

  • GRL enables a defined strategy of intentional elements
  • GRL captures the initial, user-defined satisfaction levels for these elements separately from the GRL graphs Intentional elements are tagged with (*) in jUCMNav
  • Strategies can be compared to each other for trade-off analysis
  • JuCMNav implements a customizable evaluation mechanism that executes GRL Strategies
  • It also shows the impact on higher level goals by propagating satisfaction levels down to elements and actors

Evaluations with GRL

  • show the impact of qualitative decisions on high-level softgoals
  • Propagation is usually bottom-up
  • Fuzzy evaluation of satisfaction level
  • GRL uses for parameters:
    • degrees of satisfaction of children
    • importance of composition operators
    • correlations and dependencies -Importance defined for actors and intentional elements.
    • GRL uses the numerical values and function instead of qualitative values (see jUCMNav tool)
  • complete in comparison to other evaluation tools

Numerical Evaluation

  • For each contribution a conversion from levels of contribution to corresponding factor is required
  • Level of contribution and factor correspondence:
  • Make = 100
  • Help = 25
  • Some Positive = 75
  • Unknown = 0
  • Some Negative = -75
  • Hurt = -25
  • Break = -100
  • Minimum value applies for AND, maximum value applies for OR

GRL - Numerical Evaluation

  • Numerical intentional element evaluation is fixed to a minimal value in the set of dependencies evaluation
  • The satisfaction with A will be limited by the fact that B is 0

Benefits of GRL

  • GRL evaluates to help evaluate the negotiation with share stakeholders
  • Helps analyze the satisfaction levels of actors base on selection

Summary of URN, GRL and UCM Models URN:

  • Allows engineers to specify or discover requirements for proposed and evolving systems, and review such requirements for correctness and completeness.
  • Combines goals and scenarios
  • Helps bridging the gap between informal and formal concepts, and between requirements models and design models
  • Big benefits for a little modelling investment

URN, GRL and UCM Models

  • GRL gives a means to express incomplete, tentative, or non-functional requirements, and can capture goals, objectives and alternatives
  • UCM Models:
    • Operational requirements and architectural specifications
    • analysis and transformation
    • dynamic systems and architectural alternatives.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser