Modeling For Requirements Development › wp-content › uploads › 2011 › 11 ›...

68
Modeling For Requirements Development J.D. Baker [email protected] 1/31/2012 copyright © 2011 K-LASSE, Inc. 1

Transcript of Modeling For Requirements Development › wp-content › uploads › 2011 › 11 ›...

Page 1: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Modeling For Requirements Development

J.D. Baker

[email protected]

1/31/2012 copyright © 2011 K-LASSE, Inc. 1

Page 2: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

“one has to graduate from software engineering into

systems/product engineering” - Eric Lasley, BAE Systems

J.D. Baker’s path to graduation Aviation Electronics, USN – applying systems engineering

principles Not the way I thought about it at the time

Software Project Engineer – Basic Electronics Maintenance Trainer, satellite ground stations

Software Technologist – methods and tools OMT, Booch, UML, OOAD

Process Architect Model-based systems engineering (SysML)

Requirements driven software engineering Bridging the gap between systems and software

System Architect Applying model-based systems engineering practices

Sr. Product Manager at Seilevel doing requirements modeling/visualization Mapping Seilevel models to OMG technologies, including SysML

Page 3: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Agenda

Setting the stage and RML® Overview

People Models

System Models

Data Models

Adapting the RML® for use with SysML

1/31/2012 copyright © 2011 K-LASSE, Inc. 3

Page 4: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Figuring out what we need to know and

why we need to know it.

Setting the Stage

Page 5: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

MBSE describes mechanisms for model-based engineering but we

need a way to use those models earlier in the lifecycle.

1/31/2012 copyright © 2011 K-LASSE, Inc. 5

Page 6: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Long lists of natural language system shall statements create too

many opportunities for ambiguity and misunderstanding.

1/31/2012 copyright © 2011 K-LASSE, Inc. 6

Page 7: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

You need to develop requirements faster, with greater accuracy.

1/31/2012 copyright © 2011 K-LASSE, Inc. 7

http://www.technet.pnnl.gov/sensors/biological/projects/ES4SnsrRqmnts.stm

Page 8: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

What are you willing to pay to fix a requirements error?

1/31/2012 copyright © 2011 K-LASSE, Inc. 8

http://requirementssolutions.com/200905.html

Page 9: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Visualization will go a long way toward early identification of errors.

1/31/2012 copyright © 2011 K-LASSE, Inc. 9

Page 10: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Introducing

Seilevel is a professional services company that creates

software requirements for Fortune 1000 companies.

1/31/2012 copyright © 2011 K-LASSE, Inc. 10

http://www.seilevel.com

Page 11: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

You’re here to learn how to use visualization in requirements

development with RML®.

2/4/2012 copyright © 2011 K-LASSE, Inc. 11

Page 12: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Modeling Principles – choosing what models to create

copyright © 2011 K-LASSE, Inc. 12

It is important to choose well

1/31/2012

Page 13: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

You need to keep it real and simple

1/31/2012 copyright © 2011 K-LASSE, Inc. 13

Page 14: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

14

You need to keep it real and simple

2/4/2012 copyright © 2011 K-LASSE, Inc.

Page 15: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

15

You need to keep it real and simple

2/4/2012 copyright © 2011 K-LASSE, Inc.

"Bureaucrats write memoranda both because they appear to be busy when they are writing and because the memos, once written, immediately become proof that they were busy." Charles Peters

Page 16: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Characteristics of Useful Models 1

Abstract Emphasize important aspects while removing irrelevant

ones

Understandable Expressed in a form that is readily understood by

observers

Accurate Faithfully represents the modeled system

Predictive Can be used to derive correct conclusions about the

modeled system

Inexpensive Much cheaper to construct and study than the modeled

system

copyright © 2011 K-LASSE, Inc. 16

To be useful, engineering models must satisfy all of these characteristics

1 Bran Selic, IBM

1/31/2012

Page 17: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Follow these directions

1/31/2012 copyright © 2011 K-LASSE, Inc. 17

Driving directions to Austin, TX

625 Amigos Rd

Ramona, CA 92065

1. Head south on Amigos Rd toward Amigos Ln

157 ft

2. Turn left to stay on Amigos Rd

0.2 mi

3. Turn right onto W Old Julian Hwy

0.4 mi

4. Continue onto 3rd St

0.7 mi

5. Turn left onto Main St

4.2 mi

6. Continue onto CA-67 S

14.9 mi

7. Turn left onto Mapleview St

0.8 mi

8. Continue onto Lake Jennings Park Rd

2.3 mi

9. Merge onto I-8 E via the ramp to El Centro

Entering Arizona

326 mi

10. Take exit 178A to merge onto I-10 E toward

Tucson

Passing through New Mexico

Entering Texas

11. Take exit 477 to merge onto US-290 E

toward Fredereicksburg/Johnson City/Austin

71.7 mi

12. Slight right onto US-281 S/US-290 E

5.6 mi

13. Slight left onto US-290 E

34.9 mi

14. Take the exit onto TX-1 Loop N

4.7 mi

15. Take the Cesar Chavez St exit

0.1 mi

16. Keep left at the fork, follow signs for W 5th

St and merge onto W 5th St

1.8 mi

Page 18: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Follow the map

1/31/2012 copyright © 2011 K-LASSE, Inc. 18

Can you answer any questions from looking at the map that you

couldn’t answer from the written directions?

Page 19: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

1/31/2012 copyright © 2011 K-LASSE, Inc. 19

Understand the three types of RML® models and how to apply

them to requirements development.

People Systems Data

Page 20: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

RML® is a related set of models used for software requirements

engineering.

1/31/2012 copyright © 2011 K-LASSE, Inc. 20

Page 21: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

People

1/31/2012 copyright © 2011 K-LASSE, Inc. 21

Page 22: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Global Cost Analysis Service

Shellie Moore Project Director

Betty Jones

Business Analyst

David Allen

Business Analyst

Jesse Luck

Product Manager

Jane Smith Solution Architect

1/31/2012 copyright © 2011 K-LASSE, Inc. 22

Page 23: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

23

Org Chart Basics

1/31/2012 copyright © 2011 K-LASSE, Inc.

When to use:

Internal systems with

internal users

Identify users you must

interview for

requirements

Identify actors for use

cases

When not to use:

Highly matrixed

organizations

Users are outside the

organization

Page 24: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Use Case Diagram

The detail is in the written document that is “connected”

to the diagram

Usually a separate document maintained in a word

processor or on-line editor

Many different levels of use cases

User

Play Global Thermonuclear

War

Login

Legacy database

Actor Actor

<<actor>>

GameData

24 copyright © 2011 K-LASSE, Inc. 1/31/2012

Page 25: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

25

Use Case Descriptions / Scenarios

copyright © 2011 K-LASSE, Inc. 25

Step 1

Step 2

Step 3

Step 4

Alt 1

Alt 2

Alt 3

Exc 1

Success Failure

One use case

with 2 alternate

paths and one

exception path.

How many

scenarios?

1/31/2012

Page 26: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

26

Use Case / Scenarios

copyright © 2011 K-LASSE, Inc. 26

Step 1

Step 2

Step 3

Step 4

Alt 1

Alt 2

Alt 3

Exc 1

Success Failure

One use case.

How many

scenarios? 1

2

3

4

2 + 3

2 + 3 + 4

2 + 4

3 + 4

1/31/2012

Page 27: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Use Cases Do …

Document behavioral requirements

Represents the goal of an interaction between an actor

and the system.

Record a set of success scenarios

Record a set of failure scenarios

Provide multi-level organization

Use Cases Do Not …

Specify user interface design

Specify implementation detail (unless it is of particular

importance to the actor to be assured that the goal is

properly met)

27 copyright © 2011 K-LASSE, Inc. 1/31/2012

Page 28: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Application of Use Cases

To capture the requirements of the system

To act as a springboard for the system design

To validate the system design

For system testing and QA

Initial draft of the user manual

copyright © 2011 K-LASSE, Inc. 28

1/31/2012

Page 29: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Use Case

29

Scope

Enterprise Of value to the organization

Shows how the system is used to benefit the organization

System Bounded by system under design

Goals represent specific functionality

Often steps in the strategic use cases

Levels

Summary Level Use Case Collection of User Level goals

User Level Use Case A user task or elementary business function

Sub-function Level Use Case Below the main level of interest

1/31/2012 copyright © 2011 K-LASSE, Inc.

Page 30: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

The Role of the Actor

Four potential roles that an actor may play in a use case

Initiator - role is to set the use case in motion

Server - provides one or more services necessary to achieving the goal of the use case

Receiver - role is to receive information from the system E.g data warehouse

Facilitator - performs an action on behalf of another actor in a system

Actors may play multiple roles simultaneously

An actor may be human or machine

May be anonymous or known

Anonymous – all users can read some information

Known – only one user can access an instance of account information

copyright © 2011 K-LASSE, Inc. 30

1/31/2012

Page 31: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

31

Actor analysis from "The Handbook of Program Management", by

James T. Brown

1/31/2012 copyright © 2011 K-LASSE, Inc.

Follow the money!

Whoever is paying is

definitely a stakeholder.

If the program produces

savings or additional

costs for an organization

then the organization is

also a stakeholder

Page 32: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

32

Actor Analysis

2/3/2012 copyright © 2011 K-LASSE, Inc.

Follow the resources.

Every entity that provides

resources, whether

internal or external, labor

or facilities,

and equipment, is a

stakeholder.

Line managers

and functional managers

providing resources are

stakeholders

Page 33: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

33

Actor Analysis

2/3/2012 copyright © 2011 K-LASSE, Inc.

Follow the deliverables.

whoever is the recipient

of the product or service

the program is providing

is a stakeholder.

Page 34: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

34

Actor Analysis

2/3/2012 copyright © 2011 K-LASSE, Inc.

Follow the signatures.

The individual who signs

off on completion of the

final product or service

(or phases thereof) is

a stakeholder.

Note: this may or may not

be the recipient referred

to in the previous

bullet. Often there may

be more recipients than

signatories.

Page 35: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

35

Actor Analysis

2/3/2012 copyright © 2011 K-LASSE, Inc.

Review the

organizational chart to

assess which parts of the

organization may be

stakeholders.

Page 36: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

36

Actor Analysis

2/3/2012 copyright © 2011 K-LASSE, Inc.

Ask team members,

customers, and any other

confirmed stakeholder to

help you identify

additional stakeholders.

Page 37: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

37

Actor Analysis

2/3/2012 copyright © 2011 K-LASSE, Inc.

Look for the "Unofficial

People of Influence".

These may

be people who are

trusted by high-level

leaders

People who wield a lot of

power through influence

and not position.

37

Page 38: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Decision Tree

1/31/2012 copyright © 2011 K-LASSE, Inc. 38

When to use:

• Layered “if” statements

• Identify missing decision

points or options

• Supplement use cases or

process flows

When not to use:

• Sequential process steps

• To imply an order that

does not exist

Page 39: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Using the rule flow diagram in Enterprise Architect

2/3/2012 copyright © 2011 K-LASSE, Inc. 39

Page 40: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Modeling the systems and their

interactions

1/31/2012 copyright © 2011 K-LASSE, Inc. 40

Systems

Page 41: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

The System Context Diagram

1/31/2012 copyright © 2011 K-LASSE, Inc. 41

When to use:

• Understand the whole picture of

the system and interactions

• Provide context on the project

• Understand which integration

points are in scope

• Highlight which interfaces

requirements activities must cover

When to not use:

• Detailed interactions

between systems

• Decision-making process

flows

Page 42: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Process Flow

1/31/2012 copyright © 2011 K-LASSE, Inc. 42

Start Process Step

Decision

End

Page 43: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

43

UI Prototypes

Page 44: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

44

Beware UI design masquerading as requirements analysis

2/3/2012 copyright © 2011 K-LASSE, Inc.

Page 45: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Modeling the business data

1/31/2012 copyright © 2011 K-LASSE, Inc. 45

Data

Page 46: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Business Data Diagrams

Player

- name:

DiceGame

Die

- faceValue:

1

includes

2

1

is played by

1

1

rolls

1

46 © K-LASSE, Inc. 2009 UC San Diego Extension Online Learning

Course: Systems Engineering with OMG SysML™

Page 47: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Data Dictionary for business use, not database design

http://www.flickr.com/photos/crdot/5510506796/ Caleb Roenigk

Page 48: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Data Dictionary example

2/4/2012 copyright © 2011 K-LASSE, Inc. 48

Page 49: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

49

Data Flow Diagrams (DFD)

4 intuitive elements

Store – shows a

collection of data packets

at rest

Flow – shows the

movement of data, i.e. it

shows data in motion

Process – transforms

inputs into outputs

Terminator – external

entities, typically a person

or group

Page 50: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

50

DFD purpose and audience

2/4/2012 copyright © 2011 K-LASSE, Inc.

1 Modern Structured Analysis, page 140

: “Mr. User, I’d like to

show you a top-down,

partitioned, graph-

theoretic model” 1

Page 51: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

51

DFD example

2/4/2012 copyright © 2011 K-LASSE, Inc.

Page 52: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

State Diagram Elements

What are they

•State Machines illustrate how an element can move between states

•Used to capture the lifecycle of an object

•Events trigger state changes along transitions

.

When to use

•Not all objects need a state diagram

•Objects with complex or interesting state changes

Page 53: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

The State of a Minesweeper Square

Page 54: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

State Tables

Page 55: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Minesweeper State Table

Page 56: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Creating reports from business data

2/2/2012 copyright © 2011 K-LASSE, Inc. 56

What Who When Why How

Page 57: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Report Tables University of Melbourne Template

Full Report Name

Short Report Name This might be a reference ID or just a common name for a report

Purpose What questions is this report intended to answer.

Assumptions Document any assumptions that are important for understanding

the context and use of these requirements

Dependencies List any activities or deliverables that the successful implementation

of this report is dependent upon.

Report Audience Provide a description of the stakeholders who will be generating

and/or viewing the report.

Standard Delivery Cycle Common examples are: Ad-hoc, Daily, Weekly, Monthly.

Standard Distribution Method Common examples are: Online, Print, Email.

References A reference to a parent Business Requirements document.

Report Criteria List inputs to the report. Note that this usually only applies to online

reports and is referred to by some as the parameters of the report.

Output Data Requirements List all of the possible output fields that the report may produce.

Default Sort Order If there is a sort order

Grouping How the report's output should be grouped if this is needed

Totals The derived totals to be included in the report's output.

Page 58: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

1/31/2012 copyright © 2011 K-LASSE, Inc. 58

Other Useful Models

Page 59: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

The Affinity diagram

2/3/2012 copyright © 2011 K-LASSE, Inc. 59

Page 60: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

1/31/2012 copyright © 2011 K-LASSE, Inc. 60

Adapting RML® to SysML

Page 61: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

RML® Mapped to UML/SysML

RML® UML/SysML

Organization Chart Class Diagram/UPDM

Process Flow BPMN Profile

Use Cases Use Cases

Context Diagram Class/Block Diagram

Business Data Diagram Class Diagram

Data Flow Diagram Activity Diagram

State Diagram State Diagram

State Table Matrix

Decision Trees Decision Model and Notation (WIP)

Page 62: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

RML® Mapped to UML/SysML

RML® UML/SysML

Affinity Diagrams Packages/Package Diagrams

Traceability Matrix Matrix

Data Dictionary

Report Table

Decision Action Response Interaction Flow Modeling Language

(WIP)

Wireframes Interaction Flow Modeling Language

(WIP)

Page 63: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

What about the SysML requirements diagram?

The «requirement» stereotype represents a text based

requirement

Includes id and text properties

Can add user defined properties such as verification

method

Can add user defined requirements categories

(e.g., functional, interface, performance)

Requirements hierarchy describes requirements

contained in a specification

Requirements relationships include DeriveReqt, Satisfy,

Verify, Refine, Trace, Copy

© K-LASSE, Inc. 2009 UC San Diego Extension Online Learning

Course: Systems Engineering with OMG SysML™

63

Page 64: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

64

Requirements Breakdown

© K-LASSE, Inc. 2009 UC San Diego Extension Online Learning

Course: Systems Engineering with OMG SysML™

Requirement Relationships Model the Content of a Specification

req [package] HSUVRequirements [HSUV Specification]

«requirement»Eco-Friendliness

«requirement»Performance

«requirement»Braking

«requirement»FuelEconomy

«requirement»Acceleration

Id = “R1.2.1”

text = “The vehicle shall meet Ultra-Low

Emissions Vehicle standards.”

«requirement»Emissions

HSUVSpecification

«requirement»Power

RefinedBy

«useCase» HSUVUseCases::Accelerate

SatisfiedBy

«block» PowerSubsystem

VerifiedBy

«testCase» MaxAcceleration

«deriveReqt»

Page 65: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

65

Example of Derive/Satisfy Requirement Dependencies

© K-LASSE, Inc. 2009 UC San Diego Extension Online Learning

Course: Systems Engineering with OMG SysML™

Client

Supplier

Client

Supplier

Arrow Direction Opposite Typical Requirements Flow-Down

Client depends on supplier (i.e., a change in supplier results in a change in client)

«requirement» Acceleration

«requirement» CargoCapacity

«requirement» OffRoadCapability

«deriveReqt»

« block » PowerSubsystem

«satisfy»

«requirement» Power Power

«deriveReqt» «deriveReqt»

from OMG

from OMG

Independent end

Dependent end

Page 66: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

66

Select your models based on your audience

An IT Analyst might be most

familiar with system context or data

diagrams

A business stakeholder might

prefer process flows

Page 67: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Incorporating models into requirements deliverables

1/31/2012 copyright © 2011 K-LASSE, Inc. 67

You can’t and shouldn’t avoid text

You are likely to need a requirements management tool

for the text

Start with Org Charts, System Context and Process

Flows

Add models as needed to make sure all of the

requirements are understood.

Page 68: Modeling For Requirements Development › wp-content › uploads › 2011 › 11 › 2011-Nov-Tutorial.pdfOMT, Booch, UML, OOAD Process Architect Model-based systems engineering (SysML)

Resources

1/31/2012 copyright © 2011 K-LASSE, Inc. 68

These slides will be posted to the INCOSE SD web site

Seilevel – includes RML® Quick Reference

http://www.seilevel.com/requirements-resources/