Requirements

®
IBM Software Group
Model-Based Systems Engineering:
“Visualizing” Requirements
Rational Technology Day
Montreal, QC – Sep 9, 2010
Mike Lussier, BSc
Client Technical Professional
Rational Software
© 2008 IBM Corporation
IBM Software Group | Rational software
Poor Requirements Management
The Single Biggest Reason For Project Failures
“Analysts report that as many as 71 percent of software projects that fail
do so because of poor requirements management, making it the single
biggest reason for project failure—bigger than bad technology, missed
deadlines or change management fiascoes.”
CIO Magazine, November 2005
IBM Software Group | Rational software
So, where does it go wrong?
ƒ Requirements not clearly understood by stakeholders or analysts?
ƒ Requirements expressed poorly?
ƒ QA misses a requirement in their test coverage?
ƒ Development misses a requirement?
ƒ Development misunderstands a requirement?
ƒ A user requirement changes and the impact on other requirements and designs
and tests isn't fully recognized?
IBM Software Group | Rational software
A picture paints a thousand words?
2 Functional Requirements
2.1 Power car
2.1.1 Move car
2.1.1.1 Move forwards
The car shall be able to move forwards at all speeds from 0 to 200 kilometers per hour on standard flat roads with winds of 0 kilometers per hour, with 180 BHP.
2.1.1.2 Move backwards
The car shall be able to move backwards to a maximum speed of 20 Kilometers per hour on standard flat roads with winds of 0 kilometers per hour, with 180 BHP.
2.1.2 Accelerate car
The car shall be able to accelerate from 0 to 100 Kilometers per hour in 10 seconds on standard flat roads with winds of 0 kilometers per hour.
The car shall be able to accelerate from 100 to 150 kilometers per hour at a rate of 5 kilometers per second on standard flat roads with winds of 0 kilometers per hour.
The car shall be able to accelerate from 150 to 200 kilometers per hour at a rate of 3 kilometers per second on standard flat roads with winds of 0 kilometers per hour.
2.2 Control car
2.2.1 Switch on car
The car shall be able to discriminate which authorized people shall be able to switch on and operate the car.
2.2.2 Control speed
The car shall have a foot mechanism to control the speed of the car.
The speed control shall be infinitely variable from zero to maximum speed.
The speed of the car shall be controllable by automatic means.
2.2.3 Brake car
The car shall be able to stop from 10 kilometers per hour to 0 kph in 2 seconds.
The car shall be able to stop from 30 kilometers per hour to 0 kph in 6 seconds.
The car shall be able to stop from 100 kilometers per hour to 0 kph in 30 seconds.
The car shall be able to stop from 200 kilometers per hour to 0 kph in 45 seconds.
IBM Software Group | Rational software
A picture paints a thousand words?
2 Functional Requirements
2.1 Power car
2.1.1 Move car
2.1.1.1 Move forwards
The car shall be able to move forwards at all speeds from 0 to 200 kilometers per hour on standard flat roads with winds of 0 kilometers per hour, with 180 BHP.
2.1.1.2 Move backwards
The car shall be able to move backwards to a maximum speed of 20 Kilometers per hour on standard flat roads with winds of 0 kilometers per hour, with 180
BHP.
2.1.2 Accelerate car
The car shall be able to accelerate from 0 to 100 Kilometers per hour in 10 seconds on standard flat roads with winds of 0 kilometers per hour.
The car shall be able to accelerate from 100 to 150 kilometers per hour at a rate of 5 kilometers per second on standard flat roads with winds of 0 kilometers per
hour.
The car shall be able to accelerate from 150 to 200 kilometers per hour at a rate of 3 kilometers per second on standard flat roads with winds of 0 kilometers per
hour.
2.2 Control car
2.2.1 Switch on car
The car shall be able to discriminate which authorized people shall be able to switch on and operate the car.
2.2.2 Control speed
The car shall have a foot mechanism to control the speed of the car.
The speed control shall be infinitely variable from zero to maximum speed.
The speed of the car shall be controllable by automatic means.
2.2.3 Brake car
The car shall be able to stop from 10 kilometers per hour to 0 kph in 2 seconds.
The car shall be able to stop from 30 kilometers per hour to 0 kph in 6 seconds.
The car shall be able to stop from 100 kilometers per hour to 0 kph in 30 seconds.
The car shall be able to stop from 200 kilometers per hour to 0 kph in 45 seconds.
IBM Software Group | Rational software
…or hides a thousand requirements?
IBM Software Group | Rational software
…or hides a thousand requirements?
The swing shall be able to support a
weight of 100 kg
The swing should be large enough to
carry 2 small children
The swing shall never be lower than
0.5 meters from the ground
The swing shall be not be able to swing
through more than 180 degrees
The swing rope shall have an elasticity
of…….
The swing shall comply with the
following safety standards………..
The swing shall……
The swing shall……
The swing shall……
The swing shall……
IBM Software Group | Rational software
The development club sandwich
Requirements layer
Modeling layer
Requirements layer
Modeling layer
Requirements layer
Modeling layer
Requirements layer
IBM Software Group | Rational software
Modeling bridges layers of requirements
Requirements layer
Statement
of need
e.g Goal / Usage
modeling
Modeling layer
Requirements layer
Stakeholder
Requirements
e.g.Functional
Functional
modeling
modeling
Modeling layer
Requirements layer
System
Requirements
Functional
e.g. Functional
Performance
modeling
modeling
modeling
Modeling layer
Requirements layer
Design
Specification
IBM Software Group | Rational software
Traceability
User
Requirement
System
Requirement
Subsystem
Requirement
Software
Requirement
Subsystem
Requirement
Software
Requirement
Design Element
Software
Component
System
Requirement
Software
Requirement
Design Element
Software
Component
Software
Component
IBM Software Group | Rational software
…from requirements to code
User
Requirement
System
Requirement
Subsystem
Requirement
Software
Requirement
Subsystem
Requirement
Software
Requirement
Design Element
Software
Component
System
Requirement
Software
Requirement
Design Element
Software
Component
Software
Component
IBM Software Group | Rational software
…and test
User
Requirement
System
Requirement
Subsystem
Requirement
Software
Requirement
System
Requirement
Integration Test Integration Test
Case
Case
Subsystem
Requirement
Software
Requirement
Design Element
Software
Component
Acceptance
Test Case
Software
Requirement
Design Element
Software
Component
Software
Component
IBM Software Group | Rational software
Linking requirements to design models
ƒ Traceability helps prove conformance and
compliance
ƒ Easily check for:
Requirements not satisfied by the design
Design elements with no linked
requirements – ‘gold plating’
ƒ Fast and complete impact analysis
Assess full impact of changes BEFORE
they are made
Ensure approved changes are fully
implemented
I understand what requirements are, but what are design models?
IBM Software Group | Rational software
Design Models
ƒ To a mathematician, a model is, well, a set of balanced mathematical equations
ƒ To a systems engineer, a model is a
representation of the logical and/or
physical structure and behaviour of a set
of systems
ƒ It is expressed using standardized
notation and semantics
ƒ Ideally, the model reflects the analysis of
requirements at certain levels of
abstraction (layers in the sandwich)
ƒ A common analysis technique is
simulation
IBM Software Group | Rational software
Simulate, not build and break
ƒ You wouldn’t build a complete aircraft
before testing that it meets aerodynamic
requirements
ƒ Why wait until you’ve written software
before verifying that your design is going to
work?
ƒ Finding and fixing problems in the
requirements and design phases through
simulation is orders of magnitude cheaper
ƒ For complex systems, both behaviour and
structure must be considered together
ƒ SysML is an ideal modeling language since
it covers both of these aspects, and
ƒ SysML supports simulation
IBM Software Group | Rational software
Model simulation for requirements validation
ƒ Use requirement scenarios to validate the
design
Expected Requirement Scenario
ƒ “Execute to verify” that the model is correct -garbage won’t compile
Avoid errors
Reduce costly rework
Increase quality
ƒ Often includes the construction of a virtual
prototype / panel graphics mockup
Ideal communications aid for design reviews
and to share information
Simulation Results
IBM Software Group | Rational software
Things You Need for Successful RequirementsDriven Development
Model
Execution
SoftwareCentric
Workflow
Requirements
Visualization
StandardsBased
MDD
Team
Collaboration
Model-Driven
Testing
IBM Software Group | Rational software
Customer Testimonial
ƒ "Using requirements management with DOORS and SysML/UML modeling with
Rhapsody ensures that our design matches our customer's requirements.
Specifications built from the model are of higher quality since they map to the
requirements and use the same language as the software developers that must
implement them. This results in a higher quality system that meets customer
expectations."
Software Systems Engineer, Major Defence Contractor
®
IBM Software Group
Requirements Visualization with Rhapsody
© 2008 IBM Corporation
IBM Software Group | Rational software
In Conclusion…
ƒ Model simulation enables early validation of
requirements
Expected Requirement Scenario
Simulation Results
IBM Software Group | Rational software
In Conclusion…
ƒ Model simulation enables early validation of
requirements
ƒ Traceability from requirements to design
models aids conformance and impact
analysis
IBM Software Group | Rational software
In Conclusion…
ƒ Model simulation enables problems to be
found and fixed earlier
ƒ Traceability from requirements to design
models aids conformance and impact
analysis
ƒ Modeling aids the understanding and
decomposition of requirements;
Requirements provide the context for the
designers/developers
IBM Software Group | Rational software
In Conclusion
+
=
Better communication
=
Increased chance of
project success
IBM Software Group | Rational software
© Copyright IBM Corporation 2009. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind,
express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have
the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM
software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities
referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature
availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines
Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.
24