systems engineering modeling with sysml and process
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 [email protected]
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