31 July 2014 Copyright © 2014 Colin Hood Systems Engineering -1- Requirements Engineering: Eliminate and Automate Colin Hood Systems Engineering Evans.

Slides:



Advertisements
Similar presentations
Design by Contract.
Advertisements

Requirements Specification and Management
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis.
Team Skill 5: Refining the Use Cases Lecture 11. Advantages of Use Cases They are easy to write Written in users language Provide cohesive, related threads.
Ch 3: Unified Process CSCI 4320: Software Engineering.
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Monitoring and Control
Assignment I, part 1. Groups of three students. Specify one as group leader. group names to TA and me. Create an object-oriented conceptualization.
Introduction to Software Engineering
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Lecture 13 Revision IMS Systems Analysis and Design.
SE 555 Software Requirements & Specification Beyond Requirements Based on Weigers Chapter17.
Business Area Analysis Focus: Domain View (selected business area) Goals: –Isolate functions and procedures that allow the area to meet its goals –Define.
Introduction to Software Engineering Dr. Basem Alkazemi
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
LSU 10/09/2007System Design1 Project Management Unit #2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Process-based IT Organisation at Statistics New Zealand Prepared by Matjaž Jug.
CSI315 Web Applications and Technology Overview of Systems Development (342)
Chapter 2 The process Process, Methods, and Tools
Chapter 4 – Requirements Engineering
M.Ellis 17th August MICE Software School Aims Course content –Management –Specifications –Design –Production –Testing –Use Information –Operation.
Chapter 1: The Object-Oriented Systems Development Environment Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Writing Quality Requirements Karl E. Wiegers Presented by: Ricardo Carlos.
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
Software Development Process and Management (or how to be officious and unpopular)
Configuration Management (CM)
CPSC 2150 August 21, Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Effective Requirements Management – an overview Kristian Persson Field Product Manager, Telelogic Asia/Pacific.
Some Sub-Activities within Requirements Engineering 1.Prototyping 2.Requirements Documentation 3.Requirements Validation 4.Requirements Measurements 5.Requirements.
SYSTEMS ANALYSIS AND DESIGN LIFE CYCLE
Applied Software Project Management
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
CONTENTS OF THE SRS REPORT. Software Requirements Specification (SRS) template The SRS document describes recommended approaches for the specification.
Chapter 4 Software Requirements
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Week 3: Requirement Analysis & specification
HNDIT23082 Lecture 06:Software Maintenance. Reasons for changes Errors in the existing system Changes in requirements Technological advances Legislation.
Software Engineering Lecture # 1.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Requirements Engineering Requirements Management Lecture-25.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Requirements Management with Use Cases Module 2: Introduction to RMUC Requirements Management with Use Cases Module 2: Introduction to RMUC.
Software Engineering Lecture 10: System Engineering.
CS 4311 Software Design and Implementation Spring 2012.
1 Requirements Engineering for Agile Methods Lecture # 41.
2009 copyright Leslie Munday University Requirements Management and Traceability For IIBA By Leslie Munday.
System Development Life Cycle (SDLC). Activities Common to Software Projects Planning : Principles Principle #1. Understand the scope of the project.
Software Engineering Process - II 7.1 Unit 7: Quality Management Software Engineering Process - II.
1 Week 5 Software Engineering Fall Term 2015 Marymount University School of Business Administration Professor Suydam.
Chapter 2- Software Development Process  Product Components  Software Project Staff  Software Development Lifecycle Models.
Requirements Analysis Scenes
Testing Process Roman Yagodka ISS Test Leader.
Software Configuration Management
Software Engineering (CSI 321)
Chapter 3 – Agile Software Development
Lecture 06:Software Maintenance
CIS 4328 – Senior Project 2 And CEN Engineering of Software 2
Lecture # 7 System Requirements
Extreme Programming.
Project Management Unit #2
System Analysis and Design:
SWE 3313 Requirements.
Presentation transcript:

31 July 2014 Copyright © 2014 Colin Hood Systems Engineering -1- Requirements Engineering: Eliminate and Automate Colin Hood Systems Engineering Evans Business Centre Regents Pavilion 4 Summerhouse Road Moulton Park Northampton NN3 6BJ Great Britain Tel:

31 July 2014

Copyright © 2012 Colin Hood Systems Engineering -3- AutomateEliminate Traceability Requirements Eliminate and Automate

31 July 2014 Copyright © 2012 Colin Hood Systems Engineering -4- AutomateEliminate Traceability Requirements Eliminate Requirements

31 July 2014 System Interface Mech.-Elect. Interface Mechanical Electronics Elect.-SW Interface Scheduling Software Read Write Filter Priority Feasibility Request Customer Requirements Eliminate Requirements The major work in requirements development the stepwise refinement of interfaces.

31 July 2014 Simple Information Model Sub-System Requirements Sub-System Architecture Sub-System Detailed Design Sub-System Requirements Sub-System Architecture Sub-System Detailed Design Customer Requirements System Requirements System Architecture Sub-System Requirements Sub-System Architecture Sub-System Detailed Design

31 July 2014 Stepwise introduction of design constraints Every level is a mixture of freedom of choice and constraints, some more, and some less Sub-System Requirements Sub-System Architecture Sub-System Detailed Design Sub-System Requirements Sub-System Architecture Sub-System Detailed Design Customer Requirements System Requirements System Architecture Sub-System Requirements Sub-System Architecture Sub-System Detailed Design

31 July 2014 Sub-System Requirements Sub-System Architecture Sub-System Detailed Design Sub-System Requirements Sub-System Architecture Sub-System Detailed Design Customer Requirements System Requirements System Architecture Sub-System Requirements Sub-System Architecture Sub-System Detailed Design Customer System Analyst System Architect Sub-System Analyst Sub-System Architect Sub-System Developer Function Owner and Chief Requirements Engineer Unless someone is responsible for satisfying customer requirements, no-one is responsible for satisfying customer requirements Chief Requirements Engineer Function Owner

31 July 2014 Sub-System Requirements Sub-System Architecture Sub-System Detailed Design Sub-System Requirements Sub-System Architecture Sub-System Detailed Design Customer Requirements System Requirements System Architecture Sub-System Requirements Sub-System Architecture Sub-System Detailed Design Customer System Analyst System Architect Sub-System Analyst Sub-System Architect Sub-System Developer Architectural Team of Experts The architect as leader of a team of experts The major role of the architects is to act as team leader, leading a team of sub-system experts to negotiate and decide together how higher level requirements should be implemented in sub- systems.

31 July 2014 Copyright © 2012 Colin Hood Systems Engineering Ltd -10- AutomateEliminate Traceability Requirements Automate Requirements

31 July 2014 Sub-System Requirements Sub-System Architecture Sub-System Detailed Design Sub-System Requirements Sub-System Architecture Sub-System Detailed Design Requirements Processes Customer Requirements System Requirements System Architecture Sub-System Requirements Sub-System Architecture Sub-System Detailed Design Elicit Specify Quality Check Release Understand

31 July 2014 Automatically Creating Textual Requirements Diagrams can be used both to document designs, and to document understanding. Here we consider the diagrams used to document understanding. State Transition Diagram

31 July 2014 Automatically Creating Textual Requirements State Transition Table

31 July 2014 Automatically Creating Textual Requirements Generating sentences from frameworks : specifications written by programmers : direct from specification to code, overwhelmed by design detail : direct from specification to code, design detail pre-determined : Using DOORS to create requirements from templates – 2011: Using DOORS to create requirements from templates For User Requirements this is a simplified example based upon ideas from Richard Stevens: The shall [not] be able to, [under ] [, with ] Sentence Templates

31 July 2014 Copyright © 2012 Colin Hood Systems Engineering -15- AutomateEliminate Traceability Requirements Eliminate Traceability

31 July 2014 Eliminate Traceability  One organisation say they do not document for traceability because:  they find that any documentation is less than perfect,  they do not know where the mistakes are, so  they do not know which documentation to trust,  therefore they mistrust all documented dependencies. Could anyone understand your documentation without your help?

31 July 2014 Copyright © 2012 Colin Hood Systems Engineering -17- AutomateEliminate Traceability Requirements Automate Traceability

31 July 2014 Automate Traceability Creating traceability documentation automatically 1.Traceability via Name 2.Traceability via Object 3.Traceability via Reference 4.Traceability via Link Visio DaVinci DOORS Link Object Name Customer Requirements System Requirements System Architecture Software Requirements Software Architecture RequirementsInterfacesStructureSys. Behaviour

31 July 2014 Copyright © 2012 Colin Hood Systems Engineering -19-  Do as little as possible, and as much as necessary. Conclusion

31 July 2014 Copyright © 2012 Colin Hood Systems Engineering -20- Colin Hood Systems Engineering Evans Business Centre Regents Pavilion 4 Summerhouse Road Northampton NN3 6BJ – UK Tel Systems Engineering since 1985 Founding Member of IREB 2006 (International Requirements Engineering Board) Member of INCOSE since 1998

31 July 2014 Reasons to reduce the number of requirements  It takes twice as long to check a requirement as it takes to write it  It takes twice as long to check a link as it does to create it  It takes about as long to create a correct link as it does to write a requirement  So for each requirement, it takes six times more effort than we might at first think  And then we still have to document the attributes…

31 July 2014 Do not blindly follow a process  widely accepted is the belief that we need to re-write requirements at each level. At the architectural levels some believe that requirements need to be derived from the level above in order to allocate from the system to the sub- systems. In some development environments, this is exaggerated to such an extent that even when it is known that a requirement from a higher level is sufficient and acceptable, the requirement is re-written just because people think that the process demands this.  Well, I would like you to print out the above paragraph, tear it into little pieces, and set fire to it.

31 July 2014 Traceability  Traceability is the ability to follow requirements and related information throughout the network of dependencies.  Creating the possibility to follow requirements and related information throughout the network of dependencies:  takes a lot of time  costs money  introduces errors  is necessary