1 Sobah Abbas Petersen Adjunct Associate Professor TDT4252 Modelling of Information Systems Advanced Course TDT4252, Spring 2011 Lecture.

Slides:



Advertisements
Similar presentations
© Gerald Kotonya and Ian Sommerville Viewpoint-Oriented Requirements Methods.
Advertisements

IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
A Linguistics-Based Approach for Use Case Driven Analysis Using Goal and Scenario Authoring Vijayan Sugumaran Oakland University Rochester, Michigan, USA.
CS3773 Software Engineering Lecture 03 UML Use Cases.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
1 Integrating Creativity into RE Process: Experiences with an Aircraft Traffic Management System Neil Maiden Suzanne Robertson.
CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions Tri A. Kurniawan, M.Eng. Ph.D Candidate
Requirements Engineering Processes
Viewpoint-oriented requirements methods. Objectives To explain the notion of viewpoints in RE To explain the notion of viewpoints in structured analysis.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
© Copyright Eliyahu Brutman Programming Techniques Course.
Software Requirements and the Requirements Engineering Process Chapters 5 and 6.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
USE Case Model.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Software engineering lec4 Requirements. Developing requirements Start thinking about particular problem Understand the problem  Domain analysis Gather.
UML & Prototyping. What is a prototype? A prototype is a small-scale model. It can be (among other things): a series of screen sketches a storyboard,
1 Sobah Abbas Petersen Adjunct Associate Professor TDT4252 Modelling of Information Systems Advanced Course Lecture 5: i*modelling.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Engineering Requirements Elicitation Process Lecture-8.
1 TDT4252/DT8802 Assignment Sobah Abbas Petersen Adjunct Associate Professor TDT4252 Modelling of Information Systems Advanced Course TDT4252,
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
Testing Workflow In the Unified Process and Agile/Scrum processes.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Ethics.ppt1 TDT Information Systems, Spring 2006 Today: Course Summary John Krogstie, IDI.
1 Sobah Abbas Petersen Adjunct Associate Professor TDT4252 Modelling of Information Systems Advanced Course Lecture 6: Process Modelling.
Chapter 7 System models.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Illustrations and Answers for TDT4252 exam, June
Summary.ppt1 TDT Modelling of information systems, Fall 2004 Summary of the course Guttorm Sindre / Hallvard Trætteberg, IDI.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
2131 Structured System Analysis and Design By Germaine Cheung Hong Kong Computer Institute Lecture 8 (Chapter 7) MODELING SYSTEM REQUIREMENTS WITH USE.
1 Chapter 4 Analyzing End-to-End Business Processes.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
ICT EMMSAD’05 13/ Assessing Business Process Modeling Languages Using a Generic Quality Framework Anna Gunhild Nysetvold* John Krogstie *, § IDI,
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Prof. Hany H. Ammar, CSEE, WVU, and
UML - Development Process 1 Software Development Process Using UML.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
4+1 View Model of Software Architecture
Requirement Engineering with URN: Integrating Goals and Scenarios Jean-François Roy Thesis Defense February 16, 2007.
1 SWE Introduction to Software Engineering Lecture 14 – System Modeling.
Use Case Diagrams. Introduction In the previous Lecture, you saw a brief review of the nine UML diagrams. Now that you have the clear, you'll start to.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
1 Sobah Abbas Petersen Adjunct Associate Professor, NTNU Researcher, Sintef TDT4252 Modelling of Information Systems Advanced Course TDT4252,
SECURE TROPOS Michalis Pavlidis 8 May Seminar Agenda  Secure Tropos  History and Foundation  Tropos  Basics  Secure Tropos  Concepts / Modelling.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
1 Sobah Abbas Petersen Adjunct Associate Professor TDT4252 Modelling of Information Systems Advanced Course TDT4252, Spring 2011 TDT4252,
Chapter 4: Business Process and Functional Modeling, continued
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Software Requirements analysis & specifications
Object-Oriented Analysis
TDT4252 Modelling of Information Systems Advanced Course
Software Development Process Using UML Recap
Presentation transcript:

1 Sobah Abbas Petersen Adjunct Associate Professor TDT4252 Modelling of Information Systems Advanced Course TDT4252, Spring 2011 Lecture 6: i* and other methods

2 Overview of lecture today Brief overview of previous lecture Continue with Actor-role oriented modeling i*, Use Cases, combination of modelling languages and methods Based on lecture notes from Spring 2010, by Prof. John Krogstie Based on the following articles: –A05: Santander and Castor, Deriving Use Cases from Organisational Modelling. 2002, (RE’02) –A06: Maiden et al. Model-driven Requirements Engineering: Synchronising Models in an Air Traffic Management Case Study Lecture 6: i* and other methods TDT4252, Spring 2011

3 Overview from Previous Lecture TDT4252, Spring 2011 Lecture 6: i* and other methods We looked at i*, GRL and UCM General ideas: –Early Phase RE –Understanding “WHY?” –Modelling stakeholder interests and organisational perspectives Basic concepts: –Intentional actors and intentional relationships –Dependencies among actors –Internal goals of actors

4 i* Basic Concepts TDT4252, Spring 2011 Lecture 6: i* and other methods Actor –Perform task with a purpose (intentional) –Have goals, skills, responsibilities –Is dependent on other actors to achieve own goals Dependency in relation to –Resource (must get from another actor) –Task (that another actor must perform) –Goal (that another actor must achieve) –Soft-goal (that another actor must achieve) The above concepts are modelled in a Strategic Dependency Model (SD) and a Strategic Rationale Model

5 Main Concepts in GRL TDT4252, Spring 2011 Lecture 6: i* and other methods Actor: an active entity that carries out actions to achieve its goals. Agent: an actor with concrete, physical manifestations, such as a human, or a machine. Goal: to depict business objectives and system requirements (functional and non-functional). Tasks: to represent different ways to achieve goals. Means-end reasoning: to explore alternative solutions. Social context: modelled in terms of dependency relationships among the agents.

6 GRL and UCM: Parallel & Interactions TDT4252, Spring 2011 Lecture 6: i* and other methods Model business objectives and identify requirements Model actions and responsibilities Use UCM when appropriate All goals identified? Design acceptable to users? All high-level identified? Develop Solution UCM Yes No Ask WHY question! GRL

7 A05: UCM Central Concepts Central concepts –Start points (preconditions, causes) –End points (postconditions, effects) –Responsibilities (tasks to be performed) –Components (objects in the system) –Use case path: connect start points, responsibilities and end points –Decomposition –Control-flow: OR-join. OR-fork, AND-join, AND-fork, timer, abort, failure points, shared responsibilities Lecture 6: i* and other methods TDT4252, Spring 2011

8 A05: Santander and Castor, Deriving Use Cases from Organisational Modelling. 2002, (RE’02) TDT4252, Spring 2011 Lecture 6: i* and other methods

9 Briefly on Use Cases (1) A use case describes a sequence of actions that provide something of measurable value to an actor and is drawn as a horizontal ellipse. A very simple process modeling language, which consists of actors external to the system, use cases (tasks within the boundary of automation of future system), some possible aggregation mechanism (includes, extends). Often accompanied by a textual template/pattern for explaining the normal and exceptional behavior (scenarios). Packaged with UML, important in UML methodologies Regarded (in the OO-world) as a big improvement for the possibility of specifying requirements as external, observable behavior in OO- projects. Used extensively to structure requirements. TDT4252, Spring 2011 Lecture 6: i* and other methods

10 Briefly on Use Cases (2) Some problems with use cases –Can easily end up with many use cases. What are the essential ones ? –Proved difficult to use the relatively simple aggregation mechanisms. –Informal. –Gap between Use-cases and OO-thinking. –Not fit to model non-functional requirements. The simple diagrams are very beneficial for communication. TDT4252, Spring 2011 Lecture 6: i* and other methods

11 From i* to use-cases Suggested overall methodology: –Use i* to understand the problem domain and organisational goals (early RE) –Use “Use cases” to represent functional requirements (late RE) –Carry soft-goals into non-functional requirements SD and SR are used to identify and define use cases as follows: –SD: to identify actors and use cases. –SR: acts as a source of information for the scenario description and use case relationships. TDT4252, Spring 2011 Lecture 6: i* and other methods

12 From i* to use-cases TDT4252, Spring 2011 Lecture 6: i* and other methods

13 i* → use cases: Example Schedule a meeting: similar to the example cases in A03 (Yu 1997) and A04 (Liu & Yu 2003). Actors: –Meeting Initiator –Meeting Participant (Important Participant – specialisation) –Meeting Scheduler Identify dependencies among actors. TDT4252, Spring 2011 Lecture 6: i* and other methods

14 i* → use cases: SD TDT4252, Spring 2011 Lecture 6: i* and other methods Actors and Dependencies

15 TDT4252, Spring 2011 Lecture 6: i* and other methods i* → use cases: SR Two new links: -Means-end -Task decomposition

16 i* → use cases Step 1: Discover Actors 1.Every i*-actor is a potensial Use Case actor 2.i*-actor should be external to the intended software system 3.If the i*-actor is external to the system, check if they are relevant to the system looking at dependency- relationships 4.IS-A relationships between i*-actors becomes generalization relationships in the Use-Case diagram TDT4252, Spring 2011 Lecture 6: i* and other methods Meeting Initiator Meeting Participant SD

17 i* → use cases. Step 2: Discover Use Cases for Actors (1) 5.For every actor (discovered in step 1), find all dependencies where this actor is the dependee 1.Goal-dependency → use case goal? 2.Task dependency → use case? 3.Resource dependency → use case? 4.Soft-goal dependency → non-functional requirement TDT4252, Spring 2011 Lecture 6: i* and other methods SD ActorDependencyType of dependency Guideline to be used Meeting Participant AttendsMeeting (p,m) GoalG5.1

18 i* → use cases. Step 2: Discover Use Cases for Actors (2) 6.Analyze situations where the external actor is the depender on the system. Will often results in use-cases where a person initiate the work of the system 7.Classify use case Suggest to use the classification scheme of Cockburn (business goal, summary goal, user goal, sub-function level goal) TDT4252, Spring 2011 Lecture 6: i* and other methods Meeting Scheduler ActorUse Case GoalGoal Classification Meeting Participant AttendsMeetingUser Goal

19 i* → use cases. Step 3: Describe scenarios for Use cases Analyze each actors relations in the Strategic Rationale Model Find information useful for describing steps in the use case scenario Specifically look at: –means-ends-relationships –task decomposition-relationships TDT4252, Spring 2011 Lecture 6: i* and other methods SR

20 i* → use cases

21 Benefits of integrating i* and use cases i* provides an early understanding of the organisation’s goals. Helps identify non-functional (through soft goals) as well as functional requirements. Allows traceability and evaluation of the impact of the changes the system induce in the business processes. TDT4252, Spring 2011 Lecture 6: i* and other methods

22 A06: Maiden et al. Model-driven Requirements Engineering: Synchronising Models in an Air Traffic Management Case Study TDT4252, Spring 2011 Lecture 6: i* and other methods

23 A05 (Maiden et al) i* and other techniques used in a large project: Air traffic Management (ATM) Motivation: –Large socio-technical systems needs to be analyzed from a number of perspectives. –Need to use different modelling techniques. –Scalability of techniques. –It must be possible to synchronize the models Conflicts, omissions, ambiguities (semantic quality of the overall model) Compare to the need for synchronization of other models (requirements, design, code) The paper present an overall method RESCUE (Requirements Engineering with Scenarios for User-Centred Engineering) –Usage of several modelling techniques in concert Use cases, i*, human activity modeling, requirements statements TDT4252, Spring 2011 Lecture 6: i* and other methods

24 Example Case: DMAN To specify operational requirements for a system for scheduling and managing departures from European major airports. DMAN is a complex socio-technical system involving a range of human actors (tower controllers, pilots, etc.) interacting with computer-based systems (related to aircraft, air movement and supporting aircraft movement). TDT4252, Spring 2011 Lecture 6: i* and other methods

25 Different modelling streams Human activity modelling: provides understanding of how people work. System Modelling: to model the future system boundaries, actor dependencies and system goals. Use case modelling and scenario-driven walkthroughs: enables effective communication with stakeholders and acquire complete, precise and testable requirements. Managing requirements: to handle the outcomes of the other 3 streams effectively. TDT4252, Spring 2011 Lecture 6: i* and other methods i* Use cases, UCM

26 The RESCUE process TDT4252, Spring 2011 Lecture 6: i* and other methods RESCUE (Requirements Engineering with Scenarios for User- Centred Engineering)

27 Terminology and abbreviations ATM: Air Traffic Management ATCO: Air Traffic Controller –Runway ATCO –Departure Clearance ATCO TMA : Traffic Manager CTOT: Calculated take-off time (slot time) DMAN: The system to be made TACT, A-SMGCS: Existing systems TDT4252, Spring 2011 Lecture 6: i* and other methods

28 TDT4252, Spring 2011 Lecture 6: i* and other methods Air Traffic Control (1)

29 Air Traffic Control (2) TDT4252, Spring 2011 Lecture 6: i* and other methods There are many styles of strip layouts. A strip contains at least: Aircraft Identification (e.g. aircraft registration or a flight number) Aircraft Type as the relevant 4-letter ICAO designator (e.g. B744 for a Boeing ). Level (Assigned Altitude). Departure and Destination. At least one time in four figures (other times can be shortened to minutes only).

30 Human Activity Modeling Textual description of –Activities done by humans Goals Resources – means to achieve the goals. Physical actions Cognitive actions –How are they currently working (as-is situation) Step 1: collect data (unstructured) –Observations, scenario walkthrough, interviews, protocol analysis recordings Step 2: structure description TDT4252, Spring 2011 Lecture 6: i* and other methods Human Actors

31 Human activity modeling TDT4252, Spring 2011 Lecture 6: i* and other methods Actions

32 System Modelling: use of i* System modeling in RESCUE includes 3 analyses and 3 different models: –Context diagrams, possible boundaries of (start of i* modelling: actors) Automation Changed work system Other systems that are influenced Systems that are not included, but interacts with the new system –Strategic Dependency Model (SD-Model) RESCUE: challenge the developers in asking questions on the system boundaries by stating these as dependencies 15 actors, 46 dependencies –Strategic Rational Model (SR Model) Give input to scenarios and requirement management TDT4252, Spring 2011 Lecture 6: i* and other methods

33 System Modelling: i* System Actors

34 Use cases modelling Create use case diagrams (using input from the context diagrams). Write use case scenarios – descriptions using output from the i* SR models. Generate and walk through scenarios –To acquire stakeholder requirements that are complete, precise and testable. TDT4252, Spring 2011 Lecture 6: i* and other methods

35 Use Cases TDT4252, Spring 2011 Lecture 6: i* and other methods

36 Use Case Descriptions

37 Requirements management Collect and structure (textual) requirements Use VOLERE template –Ensure that requirements are categorized and is testable based on its category Requirement can be connected to –The whole system –A use case –A step in a use-case TDT4252, Spring 2011 Lecture 6: i* and other methods

38 Volere: Basic Idea TDT4252, Spring 2011 Lecture 6: i* and other methods The Volere requirements techniques were developed to answer the need for a common language for discovering requirements and connecting them to solutions. Considers RE as a socio-technical discipline. There are three groups of interconnected components. - The Requirements Knowledge Structure is concerned with how different items of requirements knowledge relate to each other and how to trace requirements from one level to another. - The Requirements Process is concerned with procedures and activities for how to discover, populate and disseminate the requirements knowledge. - The Requirements Stakeholders are the input for determining how much of the knowledge structure needs to be populated for each particular project. The project team uses knowledge of the stakeholders to determine the order in which the work needs to be done and the appropriate level of detail. Ref:

39 Model synchronization 5 Synchronization points 1.Boundaries point 2.Work allocation point (actors and dependencies) 3.Generation of scenarios point (goals and tasks identified) 4.Coverage point (All scenarios gone through, with stakeholders) 5.Consequences point (all impacts of the system is analysed) Use a combined meta-model –Show the mapping between different concepts in different modeling language (i*, UML/use cases, human activity) Checklists –Describe expected connections between models TDT4252, Spring 2011 Lecture 6: i* and other methods

40 The RESCUE process - revisited TDT4252, Spring 2011 Lecture 6: i* and other methods

41 RESCUE Concept Meta-model

42 Checklists – Stage 1 TDT4252, Spring 2011 Lecture 6: i* and other methods Data about human activities and the extended context model are used to check the completeness and correctness of the use case model.

43 Discussion Synchronisation points and checklists can help identify a number of different types of issues. Can you think of some? TDT4252, Spring 2011 Lecture 6: i* and other methods Example issues: Dependencies that were missing in the SR model compared to the SD model. Human activity model against i*: tasks undertaken by humans, described incorrectly, actors not represented in a use case. Elements missing from use case descriptions (check against SR model)

44 Experiences from the case ( Maiden et al.) Used RESCUE in connection to requirements specification of an Air Traffic Management system 9 month process! Synchronization points discovered a number of issues A number of these resulted in improvements of the requirements specification Conclusion –It is possible to use i* on large projects (with proper tool support, and a sensible method) –The RESCUE-method, with synchronization points, revealed many issues that might have been difficult to find otherwise –A lot to gain by combining several techniques TDT4252, Spring 2011 Lecture 6: i* and other methods

45 Summary, from i* to other models (A03, A04, A05, A06) i* is primarily for early RE/analysis –Actors, actor dependencies –Goal/task hierarchies –To understand the problem domain and the organization –Both for modeling as-is and to-be situations Can be connected to –‘Prior’ informal models (Human Activity Model) –Later requirements specification (use cases/VOLERE requirements template) –Evaluation of design-alternatives (Use Case Maps) More experiences needed TDT4252, Spring 2011 Lecture 6: i* and other methods

46 Discussion Different approaches for combining different perspectives 1 Use many different languages in parallel without explicit tool- integration (early CASE-tools, Visio) 2 Integrate existing languages (UML, EEML) 3 Develop completely new approaches (i*) 4 Develop framework to be able to create and adapt languages on an as-needed basis (Metaedit, METIS) What are positive and negative aspects of using approach 1 (as in the case), compared to approach 2 ? TDT4252, Spring 2011 Lecture 6: i* and other methods

47 Discussion, w.r.t assignment Can different (existing) modelling languages be used? –Which ones? And why do you choose them? –What are the strengths and weaknesses of each language? –Why would you use different languages? Would you try to integrate them or use them separately? –You could explain how you could connect them? Would you design your own language (meta- modelling)? TDT4252, Spring 2011 Lecture 6: i* and other methods

48 Additional reading TDT4252, Spring 2011 Lecture 6: i* and other methods John Krogstie, Using EEML for Combined Goal and Process Oriented Modeling: A Case Study. Proceedings of 13th. International Workshop on Exploring Modeling Methods for Systems Analysis and Design (EMMSAD 2008) Montpellier France June CEUR Workshop proceedings Vol. 337 ISSN

49 Next Lecture Process Modelling –Functional perspective: SADT/ IDEF0 –BPMN –Combining Process and other aspects of organisations –Process Modelling in Metis Friday, 18 February 2011, room F4 There will be an opportunity to talk about the assignment. TDT4252, Spring 2011 Lecture 6: i* and other methods