SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
®




                   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

Más contenido relacionado

La actualidad más candente

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
IBM
 
Rational
RationalRational
Rational
IBM
 
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
Roger 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_b
IBM
 
Malone r12 upgrade-versus-reimplementation
Malone r12 upgrade-versus-reimplementationMalone r12 upgrade-versus-reimplementation
Malone r12 upgrade-versus-reimplementation
Thanapan 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 2011
Scott Althouse
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product line
Majong DevJfu
 
Daniel.dvorak
Daniel.dvorakDaniel.dvorak
Daniel.dvorak
NASAPMC
 
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
Strongback Consulting
 
The Requirements Process Workshop Presentation
The Requirements Process Workshop PresentationThe Requirements Process Workshop Presentation
The Requirements Process Workshop Presentation
IvarsLenss
 
Managing variability in software applications - scandev12
Managing variability in software applications - scandev12Managing variability in software applications - scandev12
Managing variability in software applications - scandev12
Stephan Hochdörfer
 
M3 Modernization Case Study
M3 Modernization Case StudyM3 Modernization Case Study
M3 Modernization Case Study
ADC Austin Tech
 

La actualidad más candente (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
 

Destacado

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 copy
Saleh Rashid
 

Destacado (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 a 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 Goyal
Roopa Nadkarni
 
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
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
Majong DevJfu
 
1 jazz overview-karthik_k
1 jazz overview-karthik_k1 jazz overview-karthik_k
1 jazz overview-karthik_k
IBM
 
Jazz Overview- Karthik K
Jazz Overview-  Karthik KJazz Overview-  Karthik K
Jazz Overview- Karthik K
Roopa Nadkarni
 
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
 
Sa 004 quality_attributes
Sa 004 quality_attributesSa 004 quality_attributes
Sa 004 quality_attributes
Frank Gielen
 

Similar a 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
 

Último

Último (20)

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...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
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
 

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