SlideShare a Scribd company logo
®




                   IBM Software Group


Getting from “good” requirements to good code



6 September 2011

Edmund Mayer
Rational Systems Practice, North America




    Innovation for a smarter planet             © 2011 IBM Corporation
IBM Software Group | Rational software




Requirements Engineering defined
Model Based Functional Analysis defined
Rational solution




Innovation for a smarter planet                           2
IBM Software Group | Rational software


Scope of today’s presentation
 Requirements Engineering at the system level (top left of V-model)




 Innovation for a smarter planet                                      3
IBM Software Group | Rational software


Requirements Engineering

 Requirements Engineering, by one definition, involves:
    Requirements elicitation
    Requirements analysis and negotiation
    Requirements specification
    Functional analysis
    Requirements verification
    Requirements management




 Innovation for a smarter planet                           4
IBM Software Group | Rational software


Requirements Definition

 Requirements Engineering involves:
    Requirements elicitation – gathering requirements from customers
    Requirements analysis and negotiation – check clarity and completeness, resolve issues
    Requirements specification – document with text, sometimes with use cases and scenarios
    Functional analysis
    Requirements verification
    Requirements management




 Innovation for a smarter planet                                                             5
IBM Software Group | Rational software


Requirements Management

 Requirements Engineering involves:
    Requirements elicitation
    Requirements analysis and negotiation
    Requirements specification
    Functional analysis
    Requirements verification
    Requirements management – continuous activity, traceability, requirement change handling




 Innovation for a smarter planet                                                         6
IBM Software Group | Rational software


Requirements Definition and Management

 Requirements Engineering involves:
    Requirements elicitation
    Requirements analysis and negotiation
    Requirements specification
    Functional analysis
    Requirements verification
    Requirements management




 Innovation for a smarter planet                           7
IBM Software Group | Rational software


Requirements Challenges

 Misunderstood requirements by stakeholders and analysts
 Poorly expressed requirements
 Missed test coverage
 Misunderstanding or omission by development
 Requirement change impact misunderstandings




 Innovation for a smarter planet                           8
IBM Software Group | Rational software


Modeling in Requirements Engineering

 Requirements Engineering involves:
    Requirements elicitation
    Requirements analysis and negotiation
    Requirements specification
    Functional analysis
    Requirements verification
    Requirements management




 Innovation for a smarter planet                           9
IBM Software Group | Rational software




Requirements Engineering defined
Model Based Functional Analysis defined
Rational solution




Innovation for a smarter planet                           10
IBM Software Group | Rational software


Model Based Systems Engineering (MBSE)

   A Systems Engineering analysis and design practice


   A visual approach to understanding requirements and realizing them into a
   robust system design


   Helps manage complexity through the use of abstraction and separation of
   concerns




 Innovation for a smarter planet                                               11
IBM Software Group | Rational software


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.




  Innovation for a smarter planet                                                              12
IBM Software Group | Rational software


Modeling in Requirements Engineering

 Requirements Engineering involves:
    Requirements elicitation
    Requirements analysis and negotiation
    Requirements specification – use cases and scenarios for describing user interactions
    Functional analysis – functional flows, interface definition, documented rationale
    Requirements verification – testing of requirements through model execution
    Requirements management




 Innovation for a smarter planet                                                            13
IBM Software Group | Rational software


Systems Engineering workflow


     MBSE complements traditional                           Stakeholder
     requirements analysis techniques                      Requirements

        During Requirements Analysis, we
        organize requirements into functional                             Requirements
        groups (use cases)                                                  Analysis

          During Functional Analysis, we identify                           System Functional
          system functions and explore the system’s                             Analysis
          dynamic behavior using sequence
          diagrams and model execution                                           Design Synthesis
          – refines and improves upon the system’s
            requirements




 Innovation for a smarter planet                                                                    14
IBM Software Group | Rational software




Requirements Engineering defined
Model Based Functional Analysis defined
Rational solution




Innovation for a smarter planet                           15
IBM Software Group | Rational software


Model Based Systems Engineering (MBSE) at Rational

 MBSE is a standards based Systems Engineering practice that incorporates:
    Modeling language – SysML
    Modeling process – Rational Systems Engineering Practices
    Modeling tools – Rhapsody Designer for Systems Engineers



                                                     uses




                                      describes                      governs
                                                  The Model                           Rational SE Practices



                             implements                    manages
                                                                          leverages




                                                  Rhapsody


 Innovation for a smarter planet                                                                              16
IBM Software Group | Rational software


Rational SE Practices provides step-by-step guidance
 Helps you identify and derive system functions, identify associated system modes,
 and allocate system operations to decomposed architectures, while retaining the
 option to verify the model through execution
 The Rational SE Toolkit automates many of the steps




 Innovation for a smarter planet                                                17
IBM Software Group | Rational software




Innovation for a smarter planet
IBM Software Group | Rational software




Innovation for a smarter planet
IBM Software Group | Rational software


Model handoff from Systems Engineering to Software
Typical handoff includes system architecture, interfaces,
and services allocated to blocks (the architecture)




 Innovation for a smarter planet                            20
IBM Software Group | Rational software


Summary

 Model Based Systems Engineering (MBSE) complements traditional requirements
 definition and management techniques
 Rational provides a SysML-based Systems Engineering practice library with
 application guidance
 Functional Analysis …
    is a Requirements Engineering activity
    emphasizes the transformation of functional system requirements into a coherent and
    dynamic description of system functions
    improves upon the quality of system requirements




 Innovation for a smarter planet                                                          21
IBM Software Group | Rational software




© Copyright IBM Corporation 2011. 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.


      22Innovation for a smarter planet                                                                                                                                                       22

More Related Content

PDF
5 rqm gdd-sharmila-ramesh
 
PDF
Modernize your-java ee-app-server-infrastructure
PDF
2 trasnformation design_patterns-sandeep_katoch
 
PDF
RESTful Work Items: Opening up Collaborative ALM
PDF
How to make_it_real-hayden_lindsey
 
PDF
2 - Architetture Software - Software architecture
PPT
RSA and RAD 8.5 Top New Value Features
PDF
6 rpt oracle_plugin-anitha_krishnamurthy
 
5 rqm gdd-sharmila-ramesh
 
Modernize your-java ee-app-server-infrastructure
2 trasnformation design_patterns-sandeep_katoch
 
RESTful Work Items: Opening up Collaborative ALM
How to make_it_real-hayden_lindsey
 
2 - Architetture Software - Software architecture
RSA and RAD 8.5 Top New Value Features
6 rpt oracle_plugin-anitha_krishnamurthy
 

What's hot (18)

PDF
3 hang on_a_minute-ankur_goyal
 
PDF
Rational
 
PDF
IBM Rational 8/16 Webinar Presentation
PPT
Design Management with RSA 8.5: Effective Collaboration for Better Design
PDF
5 challenges in_building_enterprise_mashups-rick_b
 
PDF
Malone r12 upgrade-versus-reimplementation
PDF
Passing internal and external audits with reporting and dashboards nov 2011
PDF
7 - Architetture Software - Software product line
PPTX
Design for non functional requirements
PDF
Daniel.dvorak
PDF
IBM Innovate 2011- What every System i Developer Needs to Know
PDF
TejaSoft Code Audit Case Studies
PDF
The Requirements Process Workshop Presentation
PDF
Managing variability in software applications - scandev12
PDF
Eight deadly defects in systems engineering and how to fix them
PDF
Requirement engineering process
PDF
Automating user provisioning with SAP NW BPM
PDF
M3 Modernization Case Study
3 hang on_a_minute-ankur_goyal
 
Rational
 
IBM Rational 8/16 Webinar Presentation
Design Management with RSA 8.5: Effective Collaboration for Better Design
5 challenges in_building_enterprise_mashups-rick_b
 
Malone r12 upgrade-versus-reimplementation
Passing internal and external audits with reporting and dashboards nov 2011
7 - Architetture Software - Software product line
Design for non functional requirements
Daniel.dvorak
IBM Innovate 2011- What every System i Developer Needs to Know
TejaSoft Code Audit Case Studies
The Requirements Process Workshop Presentation
Managing variability in software applications - scandev12
Eight deadly defects in systems engineering and how to fix them
Requirement engineering process
Automating user provisioning with SAP NW BPM
M3 Modernization Case Study
Ad

Viewers also liked (13)

PPTX
Efficient Data Protection – Backup in VMware environments
PDF
Computer Audit an Introductory
PDF
Securing your presence at the perimeter
PPT
Rothke Patchlink
PDF
NTXISSACSC4 - Intellectual Property Protection― Cross Roads between Ethics, I...
PPT
Audit sdm.
PPT
Auditing in a computer environment copy
PPT
Auditing In Computer Environment Presentation
PDF
Introduction to auditing
PPTX
Auditing (Introduction to Auditing)
PPTX
Basic Internal Auditing Presentation
PPTX
Audit presentation
PPTX
Audit Process, Audit Procedures, Audit Planning, Auditing
Efficient Data Protection – Backup in VMware environments
Computer Audit an Introductory
Securing your presence at the perimeter
Rothke Patchlink
NTXISSACSC4 - Intellectual Property Protection― Cross Roads between Ethics, I...
Audit sdm.
Auditing in a computer environment copy
Auditing In Computer Environment Presentation
Introduction to auditing
Auditing (Introduction to Auditing)
Basic Internal Auditing Presentation
Audit presentation
Audit Process, Audit Procedures, Audit Planning, Auditing
Ad

Similar to Ed Mayer- Getting from Good Requirements to Good Code (20)

PDF
Rhapsody reverseengineering
PDF
Writing Good Use Cases
PPT
SSE Technical Overview
PPTX
Saving resources with simulation webinar 092011
PDF
Enhancing Visibility and Traceability in the Engineering Lifecycle
PPT
Smarter Business i praktiken - IBM Smarter Business 2011
PDF
Systems and Software Engineering
PDF
An end to-end solution for creating smarter products
PDF
Organizing Design-Driven Development Using Rational Requirements Composer
PDF
Hang On A Minute - Ankur Goyal
PPT
SE chapters 6-7
PPT
Slides chapters 6-7
PDF
Improving Defence Program Execution
PDF
Ibm rational-eclipse-demo camp-2012-06
PPT
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
PDF
Four principles seminar manageware seminar
PDF
Lecture 6 & 7.pdf
PDF
Hindu guid3 hwige owhop euueye uwowiei huideeh hwiw
PPTX
Requirement Engineering, Architecture and Design
PPTX
1_Chapter One Requirements Engineering.pptx
Rhapsody reverseengineering
Writing Good Use Cases
SSE Technical Overview
Saving resources with simulation webinar 092011
Enhancing Visibility and Traceability in the Engineering Lifecycle
Smarter Business i praktiken - IBM Smarter Business 2011
Systems and Software Engineering
An end to-end solution for creating smarter products
Organizing Design-Driven Development Using Rational Requirements Composer
Hang On A Minute - Ankur Goyal
SE chapters 6-7
Slides chapters 6-7
Improving Defence Program Execution
Ibm rational-eclipse-demo camp-2012-06
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Four principles seminar manageware seminar
Lecture 6 & 7.pdf
Hindu guid3 hwige owhop euueye uwowiei huideeh hwiw
Requirement Engineering, Architecture and Design
1_Chapter One Requirements Engineering.pptx

Recently uploaded (20)

PPT
Teaching material agriculture food technology
PDF
Encapsulation theory and applications.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Modernizing your data center with Dell and AMD
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Cloud computing and distributed systems.
PPTX
Big Data Technologies - Introduction.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
Teaching material agriculture food technology
Encapsulation theory and applications.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
20250228 LYD VKU AI Blended-Learning.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
NewMind AI Weekly Chronicles - August'25 Week I
Modernizing your data center with Dell and AMD
Understanding_Digital_Forensics_Presentation.pptx
Network Security Unit 5.pdf for BCA BBA.
Cloud computing and distributed systems.
Big Data Technologies - Introduction.pptx
Machine learning based COVID-19 study performance prediction
Per capita expenditure prediction using model stacking based on satellite ima...
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Unlocking AI with Model Context Protocol (MCP)
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Advanced methodologies resolving dimensionality complications for autism neur...

Ed Mayer- Getting from Good Requirements to Good Code

  • 1. ® IBM Software Group Getting from “good” requirements to good code 6 September 2011 Edmund Mayer Rational Systems Practice, North America Innovation for a smarter planet © 2011 IBM Corporation
  • 2. IBM Software Group | Rational software Requirements Engineering defined Model Based Functional Analysis defined Rational solution Innovation for a smarter planet 2
  • 3. IBM Software Group | Rational software Scope of today’s presentation Requirements Engineering at the system level (top left of V-model) Innovation for a smarter planet 3
  • 4. IBM Software Group | Rational software Requirements Engineering Requirements Engineering, by one definition, involves: Requirements elicitation Requirements analysis and negotiation Requirements specification Functional analysis Requirements verification Requirements management Innovation for a smarter planet 4
  • 5. IBM Software Group | Rational software Requirements Definition Requirements Engineering involves: Requirements elicitation – gathering requirements from customers Requirements analysis and negotiation – check clarity and completeness, resolve issues Requirements specification – document with text, sometimes with use cases and scenarios Functional analysis Requirements verification Requirements management Innovation for a smarter planet 5
  • 6. IBM Software Group | Rational software Requirements Management Requirements Engineering involves: Requirements elicitation Requirements analysis and negotiation Requirements specification Functional analysis Requirements verification Requirements management – continuous activity, traceability, requirement change handling Innovation for a smarter planet 6
  • 7. IBM Software Group | Rational software Requirements Definition and Management Requirements Engineering involves: Requirements elicitation Requirements analysis and negotiation Requirements specification Functional analysis Requirements verification Requirements management Innovation for a smarter planet 7
  • 8. IBM Software Group | Rational software Requirements Challenges Misunderstood requirements by stakeholders and analysts Poorly expressed requirements Missed test coverage Misunderstanding or omission by development Requirement change impact misunderstandings Innovation for a smarter planet 8
  • 9. IBM Software Group | Rational software Modeling in Requirements Engineering Requirements Engineering involves: Requirements elicitation Requirements analysis and negotiation Requirements specification Functional analysis Requirements verification Requirements management Innovation for a smarter planet 9
  • 10. IBM Software Group | Rational software Requirements Engineering defined Model Based Functional Analysis defined Rational solution Innovation for a smarter planet 10
  • 11. IBM Software Group | Rational software Model Based Systems Engineering (MBSE) A Systems Engineering analysis and design practice A visual approach to understanding requirements and realizing them into a robust system design Helps manage complexity through the use of abstraction and separation of concerns Innovation for a smarter planet 11
  • 12. IBM Software Group | Rational software 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. Innovation for a smarter planet 12
  • 13. IBM Software Group | Rational software Modeling in Requirements Engineering Requirements Engineering involves: Requirements elicitation Requirements analysis and negotiation Requirements specification – use cases and scenarios for describing user interactions Functional analysis – functional flows, interface definition, documented rationale Requirements verification – testing of requirements through model execution Requirements management Innovation for a smarter planet 13
  • 14. IBM Software Group | Rational software Systems Engineering workflow MBSE complements traditional Stakeholder requirements analysis techniques Requirements During Requirements Analysis, we organize requirements into functional Requirements groups (use cases) Analysis During Functional Analysis, we identify System Functional system functions and explore the system’s Analysis dynamic behavior using sequence diagrams and model execution Design Synthesis – refines and improves upon the system’s requirements Innovation for a smarter planet 14
  • 15. IBM Software Group | Rational software Requirements Engineering defined Model Based Functional Analysis defined Rational solution Innovation for a smarter planet 15
  • 16. IBM Software Group | Rational software Model Based Systems Engineering (MBSE) at Rational MBSE is a standards based Systems Engineering practice that incorporates: Modeling language – SysML Modeling process – Rational Systems Engineering Practices Modeling tools – Rhapsody Designer for Systems Engineers uses describes governs The Model Rational SE Practices implements manages leverages Rhapsody Innovation for a smarter planet 16
  • 17. IBM Software Group | Rational software Rational SE Practices provides step-by-step guidance Helps you identify and derive system functions, identify associated system modes, and allocate system operations to decomposed architectures, while retaining the option to verify the model through execution The Rational SE Toolkit automates many of the steps Innovation for a smarter planet 17
  • 18. IBM Software Group | Rational software Innovation for a smarter planet
  • 19. IBM Software Group | Rational software Innovation for a smarter planet
  • 20. IBM Software Group | Rational software Model handoff from Systems Engineering to Software Typical handoff includes system architecture, interfaces, and services allocated to blocks (the architecture) Innovation for a smarter planet 20
  • 21. IBM Software Group | Rational software Summary Model Based Systems Engineering (MBSE) complements traditional requirements definition and management techniques Rational provides a SysML-based Systems Engineering practice library with application guidance Functional Analysis … is a Requirements Engineering activity emphasizes the transformation of functional system requirements into a coherent and dynamic description of system functions improves upon the quality of system requirements Innovation for a smarter planet 21
  • 22. IBM Software Group | Rational software © Copyright IBM Corporation 2011. 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. 22Innovation for a smarter planet 22