systems engineering modeling with sysml and process

36
® IBM Software Group © 2009 IBM Corporation The IBM Rational Solution for Systems Engineering Modeling Jeffrey R. Cohen, P.E. IBM Smarter Cities/Smarter Operations Regional Portfolio Architect [email protected] 11 October 2014

Upload: jeffrey-cohen

Post on 28-Nov-2014

307 views

Category:

Engineering


3 download

DESCRIPTION

This presentation shows how Systems Engineers model systems with SysML. It includes a process for defining and refining a system. The examples come from IBM Rational DOORS and IBM Rational Rhapsody, though any requirements management and modeling tools could be used to perform this work. All work shown is my own. Views expressed do not necessarily represent IBM, its management, or stockholders.

TRANSCRIPT

Page 1: Systems Engineering Modeling with SysML and Process

®

IBM Software Group

© 2009 IBM Corporation

The IBM Rational Solution for Systems Engineering Modeling

Jeffrey R. Cohen, P.E.IBM Smarter Cities/Smarter OperationsRegional Portfolio [email protected]

11 October 2014

Page 2: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

2

What We’ll See Today

What is Systems Engineering

Why Modeling in Systems Engineering

The Systems Development Lifecycle

Typical Workflow

Page 3: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

33

Quality managementAnalysis, design and prototyping Requirements management

Workflow, Planning, Task & Change Management

Mechatronics Modelling and Continuous Engineering (Simulation)

Engineering context

MarketAnalytics

System Verificationand Validation

SystemTest

SystemRequirements

SystemDesign

Deployment/Release to Mfg.

CustomerRequirements

Operations and Maintenance

Implementation

Decom

position

and Definition

Inte

grat

ion

and

Valid

atio

n

Agile SoftwareEngineering

Electrical/Electronics

Design

MechanicalDesign

Iterative

Mechatronics

Page 4: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

4

What is Systems Engineering?

Systems Engineering is an interdisciplinary approach and means to enable the realization of successful systems. It focuses on defining customer needs and required functionality early in the development cycle, documenting requirements, then proceeding with design synthesis and system validation while considering the complete problem….”

International Council on Systems Engineering (INCOSE)

Page 5: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

5

What is a Systems Engineering and Who does it Affect?

Multidisciplinary Approach for Developing Solutions to Complex Problems Electrical Mechanical Software Other Technical Disciplines (Chemical/Science, Hydraulic) Non Technical (Marketing, Sales, Program Management) Customer/Users

Traditional Solution based on Text SOW (Text Document) Proposal (PowerPoint) SSDD (Text Document) SRS (Text Document) IRS/ICD (Text Document)

Page 6: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

6

Why Model?

Traditional Solution based on Text Documents Engineers tend to be Visual

Different Disciplines use Terms Differently WOW – Weight ON Wheels or Weight OFF Wheels? IP – Internet Protocol or Intellectual Property?

Language Barriers Requirements Written for Reading, not for Requirements Non-native speakers OR Different Meanings in Different Countries/Cultures

UserUser

AdminAdmin AccessPointAccessPoint

CameraCamera

Security System

Uc3ConfigureSecuritySystem

Uc2Control Exit

Uc1Control Entry

readSecurityCard

User

validateSecurityCard

[CardStatus Valid][CardStatus Valid]

scanBiometricData

User [else][else]

authenticateBiometricData

[else]

flagBiometricScanFailure

[else]

[else][else]

[else]

flagSecurityCardFailure

[else]

[else][else]

[BiometricData Authenticated]

logEntryData

[BiometricData Authenticated]

[BsFailCount==3]

disableUserAccount

Admin

[BsFailCount==3]

[ScFailCount==3][ScFailCount==3]

displayCardStatus

[Timeout BiometricScan][Timeout BiometricScan]

displayAuthenticationStatus

logAccountData

alarm

unlockAccesspoint

«MessageAction»

AccessPoint

lockAccesspoint

«MessageAction»

AccessPoint [Timeout Unlocked][Timeout Unlocked]resetAlarm

Admin

[else][else]

takePicture

«MessageAction»

Camera

[First Request][First Request]

User CameraAccessPointUc_Uc1ControlEntry

message_0()

readSecurityCard()

message_1()

validateSecurityCard(CardStatus)

displayCardStatus(CardStatus)

message_2()

scanBiometricData()

authenticateBiometricData(AuthenticationStatus)

displayAuthenticationStatus(AuthenticationStatus)

logEntryData()

message_3()

message_4()

message_5()

message_6()

message_0()

readSecurityCard()

message_1()

validateSecurityCard(CardStatus)

displayCardStatus(CardStatus)

message_2()

scanBiometricData()

authenticateBiometricData(AuthenticationStatus)

displayAuthenticationStatus(AuthenticationStatus)

logEntryData()

message_3()

message_4()

message_5()

message_6()

Uc1ControlEntryCtrl

WaitForEntryRequest

UnlockingAndLockingAccessPoint

reqTakeSnapshot to pCamera

reqReadSecurityCard/readSecurityCard();

reqProcessAlert("User Access Disabled") to pAdmin

ProcessingSecurityCardData

Fail3Times

ProcessingBiometricData

Failed3TimesBsTimeoutAuthenticated

[CardStatus=="Valid"]

A

evAccessPointLocked

A

/disableUserAccount();logAccountData();

A

WaitForResetAlarm

reqResetAlarm/resetAlarm();

reqReadSecurityCard/readSecurityCard();

[CardStatus=="Valid"]

evAccessPointLocked

/disableUserAccount();logAccountData();

reqResetAlarm/resetAlarm();

Complex Systems + Many Stakeholders + Big Team = Communication Problems

Page 7: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

7

What is OMG SysML™?

A graphical modeling language Largely specified by members of INCOSE working in conjunction with the OMG Supports the specification, analysis, design, verification, and validation of systems that include

hardware, software, data, personnel, procedures, and facilities

SysML is not a methodology.

SysML is not a process.

SysML is not a tool.

INCOSE = International Council of System Engineers (incose.org)OMG = Object Management Group (omg.org)

The complete SysML specification can be downloaded from:http://www.omg.org

Page 8: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

8

SysML 1.3 Diagrams

Sequence Diagrams

Interaction Diagrams

Block DefinitionDiagrams

Structural Diagrams

State Machine Diagrams

Activity Diagrams

Behavioral Diagrams

Use CaseDiagrams

PackageDiagrams

ParametricDiagram

Internal BlockDiagrams

RequirementDiagram

Page 9: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

9

Typical Systems Engineering Workflow

Page 10: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

10

Capturing Requirements

Page 11: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

11

Capturing and Managing Requirements

Projects FREQUENTLY include multiple requirements modules for different “levels” of requirements.Here, the Systems Engineering Model is included as a shadow module for easy tracing

Page 12: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

12

Requirements Management is Easiest in a Tool

Remember that a Requirement is more than just text. It includes attributes, traces, PUI, and context.

Page 13: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

13

Requirements Captured and Managed

Requirements IdentifiedRequirements Captured

Page 14: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

14

Requirements Where You Need Them

Requirements IdentifiedRequirements Captured

Page 15: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

15

Exporting Requirements to Rhapsody via the Gateway

Gateway creates a link between DOORS and Rhapsody

Use it to show end-to-end traceability (test is missing in diagram below)

Page 16: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

16

Capturing Analyzed and TracedRequirements IdentifiedRequirements CapturedRequirements In Model• Everything in One Context• Easy to Manipulate• Easy to Trace

Page 17: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

17

Requirements Analysis

Requirements Diagram and Trace Matrix. Matrix often Easier to Use

Page 18: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

18

Capturing Analyzed and TracedRequirements IdentifiedRequirements CapturedRequirements In Model• Everything in One Context• Easy to Manipulate• Easy to TraceGood Requirements• Meet 5 Cs• Derived Requirements

Captured

Page 19: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

19

Capturing Analyzed and TracedRequirements IdentifiedRequirements CapturedRequirements In Model• Everything in One Context• Easy to Manipulate• Easy to TraceGood Requirements• Meet 5 Cs• Derived Requirements

Captured

Page 20: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

20

Identify System Capabilities with Use Cases

Use Cases are the Named Capabilities of the System Think of them like Chapter Headings Section 3.3.1 in Many Standards

Actors are anything outside the system that interacts with the system Hardware, People, Other Systems

Page 21: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

21

Capturing Analyzed and TracedRequirements IdentifiedRequirements CapturedRequirements In Model• Everything in One Context• Easy to Manipulate• Easy to TraceGood Requirements• Meet 5 Cs• Derived Requirements

CapturedCapabilities Captured as Use Cases• Actors Identified• Requirements Traced

Page 22: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

22

Capturing Analyzed and TracedRequirements IdentifiedRequirements CapturedRequirements In Model• Everything in One Context• Easy to Manipulate• Easy to TraceGood Requirements• Meet 5 Cs• Derived Requirements

CapturedCapabilities Captured as Use Cases• Actors Identified• Requirements Traced

Page 23: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

23

Refine Use Case with Activity Diagrams

Activity Diagram Shows Step-By-Step WHAT the System Will Do Not HOW – that come later in design

Pins Show I/O Logical Interfaces Only

Can Use State Chart (States and Modes)

NOTE: Activity Diagrams Become Your System Test Cases!!

PURPOSE: Identify WHAT the System is Supposed to DoSUB- PURPOSE: Identify Interactions with the Outside World

Page 24: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

24

Capturing Analyzed and TracedRequirements IdentifiedRequirements CapturedRequirements In Model• Everything in One Context• Easy to Manipulate• Easy to TraceGood Requirements• Meet 5 Cs• Derived Requirements

CapturedCapabilities Captured as Use Cases• Actors Identified• Requirements TracedRefined Use Cases• Activity Diagrams• State Diagram• Logic Confirmed by

Execution

Page 25: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

25

Capturing Analyzed and TracedRequirements IdentifiedRequirements CapturedRequirements In Model• Everything in One Context• Easy to Manipulate• Easy to TraceGood Requirements• Meet 5 Cs• Derived Requirements

CapturedCapabilities Captured as Use Cases• Actors Identified• Requirements TracedRefined Use Cases• Activity Diagrams• State Diagram• Logic Confirmed by

Execution

Page 26: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

26

What Do Subsystems Do – Allocating Actions on Activity Diagrams

Same Activity Diagram as Before, Only this Time, Actions Allocated to Swimlanes

Swimlanes Map to the Components of the System

Lines (Control Flows) Crossing the Swimlanes identify logical Interfaces

Page 27: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

27

Sequence Diagrams show flow and Interfaces

Sequence diagrams come from paths through the activity diagrams

Messages & Events show the interfaces

Page 28: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

28

Capturing Analyzed and TracedRequirements IdentifiedRequirements CapturedRequirements In Model• Everything in One Context• Easy to Manipulate• Easy to TraceGood Requirements• Meet 5 Cs• Derived Requirements

CapturedCapabilities Captured as Use Cases• Actors Identified• Requirements TracedRefined Use Cases• Activity Diagrams• State Diagram• Logic Confirmed by ExecutionAllocate Actions with Swim Lanes• Subsystems Capabilities

Defined

Page 29: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

29

Capturing Analyzed and TracedRequirements IdentifiedRequirements CapturedRequirements In Model• Everything in One Context• Easy to Manipulate• Easy to TraceGood Requirements• Meet 5 Cs• Derived Requirements

CapturedCapabilities Captured as Use Cases• Actors Identified• Requirements TracedRefined Use Cases• Activity Diagrams• State Diagram• Logic Confirmed by ExecutionAllocate Actions with Swim Lanes• Subsystems Capabilities

Defined

Page 30: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

30

Defining Interfaces in SysML and UML

Logical Interfaces Defined in Systems Engineering Model as Operations Often Events

Message Interfaces Defined in Systems Engineering Model Sometimes Called Physical Interfaces

I don’t like this term, I Prefer Interface Structure Include Dimension, Unit, Range

Page 31: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

31

Capturing Analyzed and TracedRequirements IdentifiedRequirements CapturedRequirements In Model• Everything in One Context• Easy to Manipulate• Easy to TraceGood Requirements• Meet 5 Cs• Derived Requirements

CapturedCapabilities Captured as Use Cases• Actors Identified• Requirements TracedRefined Use Cases• Activity Diagrams• State Diagram• Logic Confirmed by ExecutionAllocate Actions with Swim Lanes• Subsystems Capabilities

DefinedReusable Interface Model• Logical and Design Models

Page 32: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

32

Capturing Analyzed and Traced BENEFITS:Requirements IdentifiedRequirements CapturedRequirements In Model• Everything in One Context• Easy to Manipulate• Easy to TraceGood Requirements• Meet 5 Cs• Derived Requirements

CapturedCapabilities Captured as Use Cases• Actors Identified• Requirements TracedRefined Use Cases• Activity Diagrams• State Diagram• Logic Confirmed by ExecutionAllocate Actions with Swim Lanes• Subsystems Capabilities

DefinedReusable Interface Model• Logical and Design Models

Page 33: Systems Engineering Modeling with SysML and Process

IBM Software Group | Rational software

33

Jeff’s Shameless Self Promotion and Additional Resources Page

Blog: Modeling Systems and Software (not much recent activity) http://ModelingSystemsAndSoftware.blogspot.com/

Twitter CohenJeffrey

LinkedIn (mention this class in the invite) www.linkedin.com/in/jeffreyrcohen/ https://www.linkedin.com/today/author/5716645

INCOSE www.incose.org http://incosenorthtexas.org/

FREE Rhapsody Modeler http://www.ibm.com/developerworks/downloads/r/modeler/

Free Application Lifecycle Management/Collaborative Lifecycle Management Tools www.jazz.net

Texas Board of Professional Engineers: http://www.tbpe.state.tx.us/ Register for Software Engineering Exam: Exam on April 11, 2015, Register in December or January

Page 34: Systems Engineering Modeling with SysML and Process

Why licensure?

• States require licensure of certain engineers to ensure that any practitioner is at least minimally competent

• Intent is to protect the public from injurious consequences of incompetent “engineers”

• Licensure is required if the engineer is involved in building a system – whose failure could cause significant harm – is offering his services directly to the public – and not through a corporation, or government entity

34

What does “involved”

mean?

Page 35: Systems Engineering Modeling with SysML and Process

How does licensing software engineers help?

• Raising the level of professionalism• Creating a system of accountability• Creating trust and confidence in the public• Qualifying expert witnesses• But …. only a small percentage of software

professionals will need to be licensed– my thoughts on this…

35

Page 36: Systems Engineering Modeling with SysML and Process

Licensure requirements

• Bachelor’s degree in software engineering from an ABET-accredited program (21 of them in US)

• Fundamentals of Engineering (FE) exam• Applicable, supervised work experience (typically, at

least four years)• Principles and Practices of Software Engineering (P&P)

exam• Evidence of good moral character • Continuing education to retain licensure• Requirements vary between states

36