Systems Engineering Modeling with SysML and Process

Post on 28-Nov-2014

307 views 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

®

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 Architectcohenje@us.ibm.com

11 October 2014

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

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

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)

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)

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

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

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

IBM Software Group | Rational software

9

Typical Systems Engineering Workflow

IBM Software Group | Rational software

10

Capturing Requirements

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

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.

IBM Software Group | Rational software

13

Requirements Captured and Managed

Requirements IdentifiedRequirements Captured

IBM Software Group | Rational software

14

Requirements Where You Need Them

Requirements IdentifiedRequirements Captured

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)

IBM Software Group | Rational software

16

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

IBM Software Group | Rational software

17

Requirements Analysis

Requirements Diagram and Trace Matrix. Matrix often Easier to Use

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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?

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

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