® 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
© Copyright 2026 Paperzz