Requirements Engineering

31
Seminar: Requirements Engineering Model Driven User Requirement Specification using SysML Sabbir Ahmmed

description

 

Transcript of Requirements Engineering

Page 1: Requirements Engineering

Seminar: Requirements Engineering

Model Driven User Requirement Specification using SysML

Sabbir Ahmmed

Page 2: Requirements Engineering

01/10/12 Sabbir Ahmmed 2

Motivation➔ Increasing Complexity of Systems➔ Proposed approach to RE➔ State of the Art➔ Advantages➔ Challenges➔ Keywords - Requirements Engineering, Model-driven Engineering, SysML, UML

Page 3: Requirements Engineering

01/10/12 Sabbir Ahmmed 3

Outline➔ Few words about the Paper➔ Citations and Impact➔ Understanding Systems Engineering➔ Brief overview of Real-time Systems➔ Introduction to Model-driven Engineering➔ Role of UML in MDE➔ Introduction to SysML

Page 4: Requirements Engineering

01/10/12 Sabbir Ahmmed 4

Outline➔ Core of the Paper➔ Case Study➔ Conclusion➔ Questions

Page 5: Requirements Engineering

01/10/12 Sabbir Ahmmed 5

The Paper➔ “Model Driven User Requirement Specification using SysML”➔ It is an extended version of the paper “ Requirement Specification and Modeling through SysML (ISBN 1-4244-0991-8)”

➔ By: Michel dos Santos Soares and Jos Vrancken➔ Work done at: Next Generation Infrastructures Research Center of TU Delft, Netherlands➔ Appeared in: IEEE International Conference on Systems, Man and Cybernetics in 2007

Page 6: Requirements Engineering

01/10/12 Sabbir Ahmmed 6

Citations and Impact

➔ Moderate Citation

➔ 23 (37 main paper) citations in Google Scholar

➔ 9 citations in CiteSeerX (Searched with ISBN)

➔ 1,450 results in Google (Searched with ISBN)

Page 7: Requirements Engineering

01/10/12 Sabbir Ahmmed 7

Systems Engineering➔ “Systems engineering” is an approach and engineering discipline.

➔ Deals with complex systems.

➔ Realized through software and hardware solutions.

➔ Relies on modeling and simulation to evaluate the system.

➔ Modeling is a common practice.

➔ Heterogeneous team.

➔ Example: Avionic Systems

Page 8: Requirements Engineering

01/10/12 Sabbir Ahmmed 8

Real-time Systems (I)

➔ Subject to a "real-time constraint".

➔ Missing a deadline by milliseconds could be a total system failure.

➔ Often Mission and/or Safety critical.

➔ Normally failure is NOT an option.

➔ Dependable and fault tolerant.

➔ Example: Embedded System.

Page 9: Requirements Engineering

01/10/12 Sabbir Ahmmed 9

Real-time Systems (II)

➔ System failure? How bad it could be !!

Page 10: Requirements Engineering

01/10/12 Sabbir Ahmmed 10

Model-driven Engineering

Model has a graphical representation instead of only a textual one. ➔ In MDE models are the main artifact during system development. ➔ MDE addresses system complexity by intense use of models. ➔ MDE is a model-based approach (MBE).

Page 11: Requirements Engineering

01/10/12 Sabbir Ahmmed 11

Role of UML in MDE

➔ UML is the standard modeling language in software community.➔ A lingua franca in object-oriented analysis and design.➔ Serving it's purpose quite well since it's inception.➔ UML and it's extensions “UML profiles” are the current dominant graphical languages used in model-driven approaches (MDA, MDD, MDE).

➔ Limitations.

Page 12: Requirements Engineering

01/10/12 Sabbir Ahmmed 12

Introducing SysML (I)

➔Initiated in 2001 by the INCOSE (International Council on Systems Engineering)!!

07/2006 : SysML is officially adopted by the OMG

09/2007 : SysML v1.0

12/2008 : SysML v1.1

06/2010 : SysML v1.2 (current version)

Page 13: Requirements Engineering

01/10/12 Sabbir Ahmmed 13

Introducing SysML (II)

➔ SysML is based on UML and reuses a subset of UML2 (UML4SysML) ➔ Provides a vocabulary more suitable for systems engineering,➔ Involves modeling blocks instead of modeling classes.➔ A block encompasses software, hardware, data, processes, personnel and facilities.➔ Helps bridge the semantic gap between systems, software and other engineering disciplines.

Page 14: Requirements Engineering

01/10/12 Sabbir Ahmmed 14

Introducing SysML (III)

➔ SysML 1.2

Page 15: Requirements Engineering

01/10/12 Sabbir Ahmmed 15

Introducing SysML (IV)

➔ SysML also supports allocation tables.➔ These allocation tables support common kinds of allocations

➔ Requirements allocation,➔ Functional allocation, ➔ and Structural allocation.

➔ SysML defines new types of comments, introducing stereotypes !

Page 16: Requirements Engineering

01/10/12 Sabbir Ahmmed 16

Core of the Paper (I)

➔ Requirements for a System are a collection of needs expressed by stakeholders respecting some constraints under which the system must operate.

➔ Requirements can be classified in

➔User requirements vs Systems requirements

Page 17: Requirements Engineering

01/10/12 Sabbir Ahmmed 17

Core of the Paper (II)

➔ The process by which requirements for systems and software

products are gathered, analyzed, documented and managed through

out the development life-cycle is called Requirements Engineering

(RE).

➔ RE can be divided into two main groups of activities.

● Requirements Development

● Requirements Management

Page 18: Requirements Engineering

01/10/12 Sabbir Ahmmed 18

Core of the Paper (III)

➔ Requirements Documentation

➔Graphic-based➔Use cases ➔Limitations (functional vs non functional)

➔Purely textual➔User stories (XP)➔Limitations ( imprecision, ambiguity,....)

➔Combination of both

Page 19: Requirements Engineering

01/10/12 Sabbir Ahmmed 19

Core of the Paper (IV)

➔ Proposed approach

Page 20: Requirements Engineering

01/10/12 Sabbir Ahmmed 20

Core of the Paper (V)

➔ Proposed User Requirements Classification➔Functional➔Non-functional➔External (inputs into and outputs from the system)

Page 21: Requirements Engineering

01/10/12 Sabbir Ahmmed 21

Core of the Paper (VI)

➔ SysML Requirements Diagram and it's extensions

Page 22: Requirements Engineering

01/10/12 Sabbir Ahmmed 22

Core of the Paper (VII)

SysML Requirements Relationships SysML Requirements Table➔Hierarchy (copy)➔Derive (deriveReqt)➔Satisfy (satisfy)➔Verify (verify)➔Refine (refine)➔Trace (trace) Grouping Requirements

Page 23: Requirements Engineering

01/10/12 Sabbir Ahmmed 23

Core of the Paper (VIII)

➔ SysML Use Case Diagrams

➔Derived without important extensions from UML 2.0

➔Main difference is the more wide focus (not only software)

➔Diagrams are composed of

➔Actors

➔Use cases

➔Relationships

➔Communication (used to associate actors and use cases)

➔Generalization (from actor-to-actor/usecase-to-usecases)

➔Include and Extend (mechanism for event encapsulation)

Page 24: Requirements Engineering

01/10/12 Sabbir Ahmmed 24

Case Study (I)➔ Based on a document with 79 atomic requirements

➔ For a road traffic management system

➔ Requirements are based on a series of interviews and studies with stakeholders

➔Stakeholders were classified as:

➔the Road Users (1),

➔the Ministry of Transport, Public Works and Water Management (2),

➔the Traffic Managers (10),

➔The Traffic Management Center (8),

➔the Task, Scenario and Operator Manager (22),

➔the Operators (4),

➔the Designers of the Operator’s Supporting Functions (15),

➔and the Technical Quality Managers (17)

Page 25: Requirements Engineering

01/10/12 Sabbir Ahmmed 25

Case Study (II)

Page 26: Requirements Engineering

01/10/12 Sabbir Ahmmed 26

Case Study (III)

Page 27: Requirements Engineering

01/10/12 Sabbir Ahmmed 27

Case Study (IV)

Page 28: Requirements Engineering

01/10/12 Sabbir Ahmmed 28

Case Study (V)

Page 29: Requirements Engineering

01/10/12 Sabbir Ahmmed 29

Case Study (VI)

Page 30: Requirements Engineering

01/10/12 Sabbir Ahmmed 30

Conclusion

➔ SysML is a language, not a methodology!

➔ SysML can be easily understood by software community due to it's relation to UML2.

➔ SysML makes it possible to generate specifications in a single language for heterogeneous teams.

➔ Supported by wide range of contributors from industry, tool vendors and government agencies.

➔ Please refer to: http://www.sysml.org/

Page 31: Requirements Engineering

01/10/12 Sabbir Ahmmed 31

Questions