SlideShare a Scribd company logo
1 of 22
Download to read offline
®




                   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

What's hot

3 hang on_a_minute-ankur_goyal
3 hang on_a_minute-ankur_goyal3 hang on_a_minute-ankur_goyal
3 hang on_a_minute-ankur_goyalIBM
 
Rational
RationalRational
RationalIBM
 
IBM Rational 8/16 Webinar Presentation
IBM Rational 8/16 Webinar PresentationIBM Rational 8/16 Webinar Presentation
IBM Rational 8/16 Webinar PresentationScott Althouse
 
Design Management with RSA 8.5: Effective Collaboration for Better Design
Design Management with RSA 8.5: Effective Collaboration for Better DesignDesign Management with RSA 8.5: Effective Collaboration for Better Design
Design Management with RSA 8.5: Effective Collaboration for Better DesignRoger Snook
 
5 challenges in_building_enterprise_mashups-rick_b
5 challenges in_building_enterprise_mashups-rick_b5 challenges in_building_enterprise_mashups-rick_b
5 challenges in_building_enterprise_mashups-rick_bIBM
 
Malone r12 upgrade-versus-reimplementation
Malone r12 upgrade-versus-reimplementationMalone r12 upgrade-versus-reimplementation
Malone r12 upgrade-versus-reimplementationThanapan Ittisakulchai
 
Passing internal and external audits with reporting and dashboards nov 2011
Passing internal and external audits with reporting and dashboards   nov 2011Passing internal and external audits with reporting and dashboards   nov 2011
Passing internal and external audits with reporting and dashboards nov 2011Scott Althouse
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product lineMajong DevJfu
 
Design for non functional requirements
Design for non functional requirementsDesign for non functional requirements
Design for non functional requirementsHabeeb Mahaboob
 
Daniel.dvorak
Daniel.dvorakDaniel.dvorak
Daniel.dvorakNASAPMC
 
IBM Innovate 2011- What every System i Developer Needs to Know
IBM Innovate 2011- What every System i Developer Needs to KnowIBM Innovate 2011- What every System i Developer Needs to Know
IBM Innovate 2011- What every System i Developer Needs to KnowStrongback Consulting
 
TejaSoft Code Audit Case Studies
TejaSoft Code Audit Case StudiesTejaSoft Code Audit Case Studies
TejaSoft Code Audit Case StudiesRaja Nagendra Kumar
 
The Requirements Process Workshop Presentation
The Requirements Process Workshop PresentationThe Requirements Process Workshop Presentation
The Requirements Process Workshop PresentationIvarsLenss
 
Managing variability in software applications - scandev12
Managing variability in software applications - scandev12Managing variability in software applications - scandev12
Managing variability in software applications - scandev12Stephan Hochdörfer
 
Eight deadly defects in systems engineering and how to fix them
Eight deadly defects in systems engineering and how to fix themEight deadly defects in systems engineering and how to fix them
Eight deadly defects in systems engineering and how to fix themJoseph KAsser
 
Requirement engineering process
Requirement engineering processRequirement engineering process
Requirement engineering processDr. Loganathan R
 
Automating user provisioning with SAP NW BPM
Automating user provisioning with SAP NW BPMAutomating user provisioning with SAP NW BPM
Automating user provisioning with SAP NW BPMBalakrishnan Bala B
 
M3 Modernization Case Study
M3 Modernization Case StudyM3 Modernization Case Study
M3 Modernization Case StudyADC Austin Tech
 

What's hot (18)

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

Viewers also liked

Efficient Data Protection – Backup in VMware environments
Efficient Data Protection – Backup in VMware environmentsEfficient Data Protection – Backup in VMware environments
Efficient Data Protection – Backup in VMware environmentsKingfin Enterprises Limited
 
Computer Audit an Introductory
Computer Audit an IntroductoryComputer Audit an Introductory
Computer Audit an IntroductoryMNorazizi HM
 
Securing your presence at the perimeter
Securing your presence at the perimeterSecuring your presence at the perimeter
Securing your presence at the perimeterBen Rothke
 
Rothke Patchlink
Rothke    PatchlinkRothke    Patchlink
Rothke PatchlinkBen Rothke
 
NTXISSACSC4 - Intellectual Property Protection― Cross Roads between Ethics, I...
NTXISSACSC4 - Intellectual Property Protection― Cross Roads between Ethics, I...NTXISSACSC4 - Intellectual Property Protection― Cross Roads between Ethics, I...
NTXISSACSC4 - Intellectual Property Protection― Cross Roads between Ethics, I...North Texas Chapter of the ISSA
 
Auditing in a computer environment copy
Auditing in a computer environment   copyAuditing in a computer environment   copy
Auditing in a computer environment copySaleh Rashid
 
Auditing In Computer Environment Presentation
Auditing In Computer Environment PresentationAuditing In Computer Environment Presentation
Auditing In Computer Environment PresentationEMAC Consulting Group
 
Introduction to auditing
Introduction to auditingIntroduction to auditing
Introduction to auditingWINNERbd.it
 
Auditing (Introduction to Auditing)
Auditing (Introduction to Auditing) Auditing (Introduction to Auditing)
Auditing (Introduction to Auditing) Noorulhadi Qureshi
 
Basic Internal Auditing Presentation
Basic Internal Auditing PresentationBasic Internal Auditing Presentation
Basic Internal Auditing PresentationVernon Benjamin
 
Audit Process, Audit Procedures, Audit Planning, Auditing
Audit Process, Audit Procedures, Audit Planning, AuditingAudit Process, Audit Procedures, Audit Planning, Auditing
Audit Process, Audit Procedures, Audit Planning, AuditingAdvance Business Consulting
 

Viewers also liked (13)

Efficient Data Protection – Backup in VMware environments
Efficient Data Protection – Backup in VMware environmentsEfficient Data Protection – Backup in VMware environments
Efficient Data Protection – Backup in VMware environments
 
Computer Audit an Introductory
Computer Audit an IntroductoryComputer Audit an Introductory
Computer Audit an Introductory
 
Securing your presence at the perimeter
Securing your presence at the perimeterSecuring your presence at the perimeter
Securing your presence at the perimeter
 
Rothke Patchlink
Rothke    PatchlinkRothke    Patchlink
Rothke Patchlink
 
NTXISSACSC4 - Intellectual Property Protection― Cross Roads between Ethics, I...
NTXISSACSC4 - Intellectual Property Protection― Cross Roads between Ethics, I...NTXISSACSC4 - Intellectual Property Protection― Cross Roads between Ethics, I...
NTXISSACSC4 - Intellectual Property Protection― Cross Roads between Ethics, I...
 
Audit sdm.
Audit sdm.Audit sdm.
Audit sdm.
 
Auditing in a computer environment copy
Auditing in a computer environment   copyAuditing in a computer environment   copy
Auditing in a computer environment copy
 
Auditing In Computer Environment Presentation
Auditing In Computer Environment PresentationAuditing In Computer Environment Presentation
Auditing In Computer Environment Presentation
 
Introduction to auditing
Introduction to auditingIntroduction to auditing
Introduction to auditing
 
Auditing (Introduction to Auditing)
Auditing (Introduction to Auditing) Auditing (Introduction to Auditing)
Auditing (Introduction to Auditing)
 
Basic Internal Auditing Presentation
Basic Internal Auditing PresentationBasic Internal Auditing Presentation
Basic Internal Auditing Presentation
 
Audit presentation
Audit presentationAudit presentation
Audit presentation
 
Audit Process, Audit Procedures, Audit Planning, Auditing
Audit Process, Audit Procedures, Audit Planning, AuditingAudit Process, Audit Procedures, Audit Planning, Auditing
Audit Process, Audit Procedures, Audit Planning, Auditing
 

Similar to Ed Mayer- Getting from Good Requirements to Good Code

Hang On A Minute - Ankur Goyal
Hang On A Minute - Ankur GoyalHang On A Minute - Ankur Goyal
Hang On A Minute - Ankur GoyalRoopa Nadkarni
 
Rhapsody reverseengineering
Rhapsody reverseengineeringRhapsody reverseengineering
Rhapsody reverseengineeringScott Althouse
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...ghodgkinson
 
A Software Factory Integrating Rational Team Concert and WebSphere tools
A Software Factory Integrating Rational Team Concert and WebSphere toolsA Software Factory Integrating Rational Team Concert and WebSphere tools
A Software Factory Integrating Rational Team Concert and WebSphere toolsProlifics
 
CMC-Visualizer for IBM Rational Team Concert
CMC-Visualizer for IBM Rational Team ConcertCMC-Visualizer for IBM Rational Team Concert
CMC-Visualizer for IBM Rational Team ConcertAlexander Novichkov
 
Innovating the Software Development Process at Cadence Design Systems
Innovating the Software Development Process at Cadence Design SystemsInnovating the Software Development Process at Cadence Design Systems
Innovating the Software Development Process at Cadence Design SystemsRahul Razdan
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineeringdeshpandeamrut
 
The process of software architecting
The process of software architectingThe process of software architecting
The process of software architectingRoger Snook
 
Ibm rational-eclipse-demo camp-2012-06
Ibm rational-eclipse-demo camp-2012-06Ibm rational-eclipse-demo camp-2012-06
Ibm rational-eclipse-demo camp-2012-06kowost
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture PortfolioMajong DevJfu
 
1 jazz overview-karthik_k
1 jazz overview-karthik_k1 jazz overview-karthik_k
1 jazz overview-karthik_kIBM
 
Jazz Overview- Karthik K
Jazz Overview-  Karthik KJazz Overview-  Karthik K
Jazz Overview- Karthik KRoopa Nadkarni
 
A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Toolsghodgkinson
 
Online performance modeling and analysis of message-passing parallel applicat...
Online performance modeling and analysis of message-passing parallel applicat...Online performance modeling and analysis of message-passing parallel applicat...
Online performance modeling and analysis of message-passing parallel applicat...MOCA Platform
 
When Architecture Meets Data
When Architecture Meets DataWhen Architecture Meets Data
When Architecture Meets DataEoin Woods
 
Sa 004 quality_attributes
Sa 004 quality_attributesSa 004 quality_attributes
Sa 004 quality_attributesFrank Gielen
 

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

Hang On A Minute - Ankur Goyal
Hang On A Minute - Ankur GoyalHang On A Minute - Ankur Goyal
Hang On A Minute - Ankur Goyal
 
Rhapsody reverseengineering
Rhapsody reverseengineeringRhapsody reverseengineering
Rhapsody reverseengineering
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
 
A Software Factory Integrating Rational Team Concert and WebSphere tools
A Software Factory Integrating Rational Team Concert and WebSphere toolsA Software Factory Integrating Rational Team Concert and WebSphere tools
A Software Factory Integrating Rational Team Concert and WebSphere tools
 
CMC-Visualizer for IBM Rational Team Concert
CMC-Visualizer for IBM Rational Team ConcertCMC-Visualizer for IBM Rational Team Concert
CMC-Visualizer for IBM Rational Team Concert
 
Innovating the Software Development Process at Cadence Design Systems
Innovating the Software Development Process at Cadence Design SystemsInnovating the Software Development Process at Cadence Design Systems
Innovating the Software Development Process at Cadence Design Systems
 
Rsdc 2006 Vipin
Rsdc 2006 VipinRsdc 2006 Vipin
Rsdc 2006 Vipin
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Systems and Software Engineering
Systems and Software EngineeringSystems and Software Engineering
Systems and Software Engineering
 
Software Quality Df
Software Quality DfSoftware Quality Df
Software Quality Df
 
The process of software architecting
The process of software architectingThe process of software architecting
The process of software architecting
 
Ibm rational-eclipse-demo camp-2012-06
Ibm rational-eclipse-demo camp-2012-06Ibm rational-eclipse-demo camp-2012-06
Ibm rational-eclipse-demo camp-2012-06
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
 
Unit1
Unit1Unit1
Unit1
 
1 jazz overview-karthik_k
1 jazz overview-karthik_k1 jazz overview-karthik_k
1 jazz overview-karthik_k
 
Jazz Overview- Karthik K
Jazz Overview-  Karthik KJazz Overview-  Karthik K
Jazz Overview- Karthik K
 
A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Tools
 
Online performance modeling and analysis of message-passing parallel applicat...
Online performance modeling and analysis of message-passing parallel applicat...Online performance modeling and analysis of message-passing parallel applicat...
Online performance modeling and analysis of message-passing parallel applicat...
 
When Architecture Meets Data
When Architecture Meets DataWhen Architecture Meets Data
When Architecture Meets Data
 
Sa 004 quality_attributes
Sa 004 quality_attributesSa 004 quality_attributes
Sa 004 quality_attributes
 

Recently uploaded

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Recently uploaded (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

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