The Engineering Design of Systems: Models and Methods Buede Chapter 6 – Requirements and Defining the Design Problem And a little bit of Wasson Ch 52 MG587 Systems Engineering 1 Let’s review…. • Overall goal is to specify and ultimately build a large, complex system. – Missions to Mars being an example. – Or, maybe, redesigning Verizon’s network. – Too big to expect our favorite, Agile methods to work well, all by themselves. • So, we use a ‘systems approach’ to develop documentation and a ‘model’ for the system. • Start with stakeholder input. • The systems model has many sections that describe as much as we can about the system – written, visual, and graphical. • The process followed is key to a successful outcome. • Linkages between sections/components is key to a successful outcome. 2 Key topics for this week 1. Your HW for this week – 2A and 2B (project). – 2. How’s all this is different from Agile, and why. – 3. 6. 7. Different types Where they come from How to write them The rules, regs, and connections between operational concept, ESD (External Systems Diagram), objectives hierarchy, and requirements. A detailed look at the elevator case study Examples – – – – 8. The ones from the customer All about requirements – – – 5. The SEI article you read, week 2 (see schedule). Review of how we get to originating requirements. – 4. Alternative ways to represent stuff, vs IDEF0. ATM System (homework) Lawnmower (a little discussion in class) Airbus “fly by wire” (separate slide set) Ulrich & Eppinger’s view of assessing customer needs. – What’s the terminology & process in the rest of engineering? 3 Your HW for this week • Feel free to show and tell directly. – Let’s do 2A first, then 2B (your project). – How did you choose the ways to represent the ATM? • Next week – the project assignment is to do the same thing for your project. • HW 3 is to do some requirements – convert to Agile. 4 Alternative ways to show stuff, from IDEF0 • How about vs the External Systems Diagram and their sequence diagrams? – Suggest that we have a “Domain Model” that does a lot of what the ESD does. – And our System Sequence Diagrams are very similar. 5 Typical Software “Domain Model” This one’s for a health insurance plan… 6 Typical “System Sequence Diagram” As it says, this one’s for a sales transaction. 7 Another, with more “swim lanes” Basic course of action for a whole “Enroll in Seminar” use case. 8 How this differs from Agile • The SEI article on SE and Agile… • Buede’s view – Careful analysis – Organization – Weighing tradeoffs (gets into defining design) • Wasson’s view (see slides 63 - 66) – It’s all about tradeoffs! • Ulrich & Eppinger’s view (2nd slide set) – We’ll look at specific examples, and try to turn them into user stories! 9 The SEI article… • “Agile Software Teams: How they Engage with Systems Engineering on Department of Defense Acquisition Programs” • SE has an important product side and service side. • Possible ways to handle differences: – Agile software engineering teams interacting with traditional systems engineering teams operating on that traditional systems engineering V model – systems engineers acting as Agile team members – systems engineering teams actually applying Agile methods to their own work and systems engineering functions 10 The SEI article, cntd • A whole list of successes and challenges. – E.g., pilot programs to figure out what works. – Stakeholder involvement is important. – Coming to agreement about evolving requirements • Tonight’s topic! – Aligning the program roadmap with agile increments. • It will all require SE’s to understand Agile better. 11 Buede, Ch 6: Two concepts for “Requirements” 1. ‘Originating or Stakeholder Requirements’ – collection of information, scenarios, sketches, prose to describe what a system should do. 2. ‘Requirements’ – the written statements that describe inputs, outputs, and other aspects of system performance. 3. In either case, goal is to collect and describe stakeholder wants/needs, system vision, mission, constraints, and performance objectives. Build the Right System 12 Typical of SE – Two Levels of Requirements Mission Requirements Originating Requirements Stakeholder Requirements System Requirements Component Requirements Derived Requirements CI Requirements CI’s are “Configuration Items” Figure 6.1 13 Originating/Stakeholder Requirements Development Li fe Ph -Cy as cle e Inputs & Outputs External Systems Diagram Operational Concept St ak eh o ld er s Validation & Acceptance Test Scenarios Inputs & Outputs Objectives Hierarchy St ak eh o Figure 6.11 Complete Inputs & Outputs ld Li fe Ph -Cy as cle e Originating Stakeholder Requirements Requirements Objectives er s 14 The Big Picture – Redux Li fe Ph -Cy as cle e Inputs & Outputs External Systems Diagram Operational Concept St ak eh o ld er s Complete Inputs & Outputs Validation & Acceptance Test Scenarios Inputs & Outputs St Objectives Hierarchy ak eh o ld er s Functional Architecture Operational Architecture Li fe Ph -Cy as cle e Originating Stakeholder Requirements Requirements Objectives Derived Requirements and Flowdown Physical Architecture State Transition Diagram Interfaces Risk Analysis and Documentation 15 Life Cycle ORD (Originating Requirements Development) Requirements must be developed for each phase of the system’s life cycle. The life cycle phases used in this book are: 1. Development (design and integration) 2. Manufacturing or production 3. Deployment 4. Training 5. Operations, maintenance, and support 6. Refinement 7. Retirement These seven functions should be applied to each stakeholder group and phase of the system’s life cycle. Note that some of these phases may not be relevant for some systems. Most of the discussion from here on out will focus on the operations, maintenance, and support phase. 16 17 The Importance of Requirements Is this also a problem for Agile? Heck yes! The first iteration(s) mostly get risk out. They don’t “produce” much of anything! 18 Where do requirements come from ? Pragmatic Principle 1 [DeFoe, 1993] Know the Problem, the Customer, and the Consumer 1. Become the “customer/consumer advocate/surrogate” throughout the development and fielding of the solution. 2. Begin with a validated customer (buyer) need - the problem. 3. State the problem in solution-independent terms. 4. Know the customer’s (or buyer’s) mission or business objectives. 5. Don’t assume that the original statement of the problem is necessarily the best, or even the right one. 6. When confronted with the customer’s need, consider what smaller objective(s) is/are key to satisfying the need, and from what larger purpose or mission the need drives; that is, find at the beginning the right level of problem to solve. 7. Determine customer priorities (performance, cost, schedule, risk, etc.). 8. Probe the customer for new product ideas, product problem/shortfalls, identification of problem fixes. 9. Work with the customer to identify the consumer (user) groups that will be affected by the system. 10. Use a systematic method for identifying the needs and solution preferences of each customer group. 11. Don’t depend on written specifications and statements of work. Face-to-face sessions with the different customer/consumer groups are necessary. 12. State as much of each need in quantified terms as possible. However, important needs for which no accurate or quantified measure exists still must be explicitly addressed. 13. Clarify each need by identifying the power and limitations of current and projected technology relative to the customer’s larger purpose, the environment, and ways of doing business. Pragmatic Principles 2 and 3 are on slides 81 and 83! 19 Roles & Responsibilities in Requirements Generation Who has the right to have an operational requirement? Any individual/organization with an operational need involved in the development (design and qualification), production, deployment, training, operation, maintenance, support, refinement, decommissioning of and payment for the system. What does one call a requirer? Customer or stakeholder. Who must respond to the requirer(s) having a requirement and how? By what criteria does the systems requirements team respond? System’s requirements team, a collection of stakeholders and systems engineers. Response is acceptance, request for clarification, or rejection. This team establishes the external systems diagram and fundamental objectives hierarchy of the system, and then determines if the requirement fits within the scope of the system’s boundary and fundamental objective. 20 Roles & Responsibilities in Requirements Generation, Cont. How does one know that the requirement is "right"? There is no right or wrong, only acceptable or unacceptable at this time. Over time, some of the system’s originating requirements will change. How are these requirements conveyed to the people who get involved once a requirer has enunciated a requirement? The system’s requirements team documents the collection of originating requirements. This Originating Requirements Document (ORD) is distributed to the stakeholders and systems engineers. Included in this document is a discussion of the operational concept of the system and the external systems and context associated with the system, that is, how each stakeholder expects to interact with the system. By reviewing the originating requirements document each stakeholder can see how the requirement suggested fits into the envisioned operation of the system, and can judge whether this vision makes sense from her/his perspective. 21 SE Design How To Talk To Stakeholders (Sound familiar?) • Ulrich and Eppinger guidelines – – – – – – Start with Usage Scenarios (Use Cases) Ask ‘context free’ questions (what not how) Ask to observe them during “stressful” periods Give them drafts to modify Give them prototypes or choices (eye doctor) Work with them in groups From Ulrich and Epppinger’s Product Design and Development. 22 Requirements Categories Requirement Partition by Life Cycle Phase Input/Output Technology & System-Wide Trade Off System Qualification Input Technology Cost Trade-offs Data for all qualification Output "ilities" Performance Trade-offs Verification Plan Functions Cost Cost-Performance Trade-off Validation Plan External Interfaces Schedule Acceptance Plan Thresholds & Goals Objectives Hierarchy Figure 6.4 Trade Space 24 Requirements Categories Buede Textbook Raytheon 1. Input/Output 2. Technology and System Wide 3. Trade Offs 4. Qualification 1. 2. 3. 4. Performance Environmental Interface Design Constraints 25 Requirements Categories for an Medical Device – FDA Related 3.0 Requirements – 3.1 Physical – 3.2 Human Factors – 3.3 Electrical • 3.3.1 Power • 3.3.2 Interfaces – – – – – 3.4 User Interface 3.5 Functional 3.6 Product Performance 3.7 Diagnostic and Calibration 3.8 Environmental – – – – – – – – – – – 3.9 Safety 3.10 Manufacturing 3.11 Serviceability 3.12 Reliability 3.13 Quality 3.14 Cost 3.15 Labeling 3.16 User Documentation 3.17 Regulatory 3.18 Shipping 3.19 Accessories 26 Stakeholder Requirements Document (Stakeholder Requirements) Figure 6.5 1.0 System Overview 2.0 Applicable Documents 3.0 Requirements 3.1 Development Phase (Programmatic) Requirements 3.1.1 Input/Output Requirements for Development ... 3.1.4 Qualification Requirement for Development 3.2 Manufacturing Phase Requirements ... 3.3 Deployment Phase Requirements ... 3.4 Training Phase (if present) Requirements ... 3.5 Operational Phase Requirements 3.5.1 Input/Output Requirements for Operations 3.5.1.1 Input Requirements for Operations 3.5.1.2 Output Requirements for Operations 3.5.1.3 External Interface Requirements for Operations 3.5.1.4 Functional Requirements for Operations 3.5.2 System-wide/Technology Requirements for Operations 3.5.3 Trade-off Requirement for Operations 3.5.4 Qualification Requirement for Operations 3.6 System Improvement/Upgrade Phase Requirements ... 3.7 Retirement Phase Requirements ... 3.8 Overall Trade-Off Requirement Appendix A. Operational Concepts by Phase Appendix B. External System Diagrams by Phase 27 Exemplary Requirement Dimensions Input or Output performance • Presence of an Input or Output • Quality of an output Part of a Scenario – – – Accuracy (or precision) Correctness (or confidence, error rate) Security (or perishability, survivability) – – – Intensity, size, or distance Number per unit time (throughput, velocity) Coverage (area or volume served by outputs) – – – Response time (timeliness, time to create an output) Update frequency Availability • Quantity of an output • Timing of outputs Table 6.2 28 Exemplary Requirement Dimensions • Undesired or unexpected inputs – Unexpected or undesired inputs and appropriate response – Bounds on expected inputs and appropriate response Table 6.2 29 Exemplary Requirement Dimensions Interface requirements • Required format of an input or output as defined by the interface • Timing constraint associated with an interface • Physical form or fit of an interface Table 6.2 30 Exemplary Requirement Dimensions Quality Attribute (‘-Ility’) issues: • • • • • • • • • • • Usability Weight of the system Form (volume) and fit (dimensions) of the system Survivability of the system Availability, reliability, maintainability of the system Supportability of the system Safety of the system Security Trainability of the system Testability of the system Extensibility (expected changes/growth potential) of the system Table 6.2 Customer Needs – Engineering Specifications 31 Exemplary Requirement Dimensions Costs for various life-cycle phases • Affordability (or operating and maintenance cost) of the system • Development cost • Production cost (manufacturability) of the system • Deployment and training costs of the system • Decommissioning cost of the system Table 6.2 32 Exemplary Requirement Dimensions Schedule for various life-cycle phases • Development period • Manufacturing time for each unit • Training time to reach proficiency by category of user • Deployment period • Durability (or operational life) of the system Table 6.2 33 Characteristics of Sound Requirements Individual Requirement Attributes 1. Unambiguous – every requirement has only one interpretation 2. Understandable – the interpretation of each requirement is clear 3. Correct – a requirement the system is in fact required to do 4. Concise – no unnecessary information is included in the requirement 5. Traced – each requirement is traced to some document or statement of the stakeholders 6. Traceable – each derived requirement must be traceable to an originating requirement via some unique name or number 7. Design independent – each requirement does not specify a particular solution or a portion of a particular solution 8. Verifiable – a finite, cost-effective process has been defined to check that the requirement has been attained Table 6.3 34 Characteristics of Sound Requirements Attributes of the Set of Requirements 9. Unique – requirement(s) is (are) not overlapping or redundant with other requirements 10. Complete – (a) everything the system is required to do throughout the system’s life cycle is included, (b) responses to all possible (realizable) inputs throughout the system’s life cycle are defined, (c) the document is defined clearly and self-contained, and (d) there are no to be defined (TBD) or to be reviewed (TBR) statements; completeness is a desired property but cannot be proven. Together, “Unique” and “Complete” will “partition” the requirements space, into chunks of functionality that suggest how the solution might look. Partitioning below is available from http://www.lockersnmore.com/toiletpartitions-phenolic.php. 11. Consistent – (a) internal, no two subsets of requirements conflict and (b) external, no subset of requirements conflicts with external documents from which the requirements are traced 12. Comparable – the relative necessity of the requirements is included 13. Modifiable – changes to the requirements can be made easily, consistently (free of redundancy) and completely 14. Attainable – solutions exist within performance, cost and schedule constraints Table 6.3 35 Writing Requirements • Terminology – “Shall” to indicate the limiting nature of a requirement (*) – Statements of fact use “will” – Goals use “should” • Requirements statement shall include – – – – A subject (the relevant life-cycle system) The word ‘shall’ A relation statement (e.g., less than or equal to) The minimum acceptable threshold with units • Avoid – compound predicates – negative predicates – ambiguous descriptors 36 Examples of Requirements • The development system shall receive inputs from stakeholders. (Input requirement) • The manufacturing system shall have a scrap rate of x%. (Output requirement) • The deployment system shall accept boxes of x ft3. (Input requirement) • The training system shall complete training in x hours. (Output requirement) • The operational system shall have an operational life of x years. (System wide schedule requirement). • The refinement system shall accept new technology for the central processing unit. (Input requirement) • The retirement system shall cost less than $x. (System wide cost requirement) The fun part is we get to take a legalistic approach……… 37 SE Design ‘Writing Good Requirements’ • Proper Grammar The system shall stop the flow of liquid hydrogen in 0.5 seconds or less. The liquid stopping time is measured from the time the control signal for stopping is received until the flow through reaches zero. • Avoid Compound Predicates The system shall fit ..., weigh ..., cost ... (this causes traceability problems). • Avoid Negative Predicates The system shall not ... (attempt to turn this into a positive statement of what the system shall do). • Avoid Ambiguous Terms – Verbs: “optimize,” “maximize,” and “minimize” – Adjectives: “adaptable,” “adequate,” “easy,” “flexible,” “rapid,” “robust,” “sufficient,” “supportable,” and “userfriendly” 38 40 meters 39 SE Design When to Stop Seeking Requirements • As late as possible – Requirements evolve over time as the world changes – Emergent requirements are new, undiscovered, often critical • Standish Group (1996) – Requirement related difficulties were responsible for 34 to 44 percent of project failures – $81B in ‘95 and $100B in ‘96 were spent on cancelled IT products 40 So, it’s a slippery slope… • Systems engineer knows the customer better than the developers • His/her role is to translate what the customer really wants into something the developers can understand • Every aspect of that role is critical! Here’s your development team executing from the requirements, in a perfectly syncrhonized interpretation! From http://www.youcanski.com/en/. 41 Elevator case study Let’s take a detailed look at the elevator case study Matt saw this last week! There really are multiple ways to move people up and down. See this video of a continuous, vertical elevator, at http://www.youtube.com/ watch?v=Zx3MHm9Wj BE. 42 Elevator case study Operational Concept Direct: Earth-Moon-Earth • Vision Moon Earth Orbit: EarthEarth orbit-Moon-Earth Moon Earth • Mission Requirements Earth Lunar Orbit: EarthLunar orbit-MoonLunar Orbit-Earth • Usage Scenarios Earth Kennedy “Put a man on the moon and bring him back Otis “Put a man on the top floor by the end of a safely by the end of the decade” minute” Defines Justification for and Use of the System Figure 6.6 43 Moon Elevator case study Usage Scenarios Passengers (including mobility, visually, and hearing challenged) request up service, receive feedback that their request was accepted, receive input that the elevator car is approaching and then that an entry opportunity is available, enter elevator car, request floor, receive feedback that their request was accepted, receive feedback that door is closing, receive feedback about what floor at which elevator is stopping, receive feedback that an exit opportunity is available, and exit elevator with no physical impediments. Figure 6.7 Collections of Scenarios become ‘Features’ Passenger (including mobility, visually & hearing challenged) Elevator Up Service Request Feedback that request was received Feedback that car is on the way Feedback that door is opening Entry Opportunity Floor Request Feedback that request was received Feedback that door is closing Feedback about floor where stopped Feedback that door is opening Exit Opportunity Input/Output Trace, Sequence Diagram 44 Elevator case study External Systems Diagram • Composite of all scenarios • Shows – System and External Systems – Flow of Items • From external systems to system • From system to external systems • From context to system – Trace Through All Scenarios, I/O Traces Context External Systems System are impacted by “System” impacts, but not impacted by, “System” Defines Boundary of the System 45 Elevator case study Elevator External Systems Diagram USED AT: George Mason Univ. AUTHOR: Dennis Buede PROJECT: Elevator Case Study DATE: 05/24/99 REV: x NOTES: 1 2 3 4 5 6 7 8 9 10 Passengers' Needs Elevator Entry Opportunity Request for Elevator Service & Entry support Request Elevator Services A-11 Passenger Environment Use Elevator Services A-12 Elevator Exit Opportunity Emergency Support Elevator Entry/Exit Opportunity Passenger Characteristics Building Regulations Structural Support, Alarm Signals & Building Environment ModifiedElevator Configuration & Expected Usage Patterns Diagnostic & Status Messages Provide Elevator Services A-0 Maintain Elevator Operations Repair Parts A-13 Passengers Needing Elevator Services None Acknowledgment that Request Was Recieved & Status Information Request for Floor & Exit Support Request for Emergency Support & Emerency Message DATE CONTEXT: WORKING READER DRAFT RECOMMENDED PUBLICATION Maintenance Quality Standards Emergency Communication Provide Structural Support Passengers in Elevator System Service, Tests & Repairs Passengers NODE: Figure 6.8 A-1 Elevator System TITLE: External Systems Diagram for Operational Phase Maintenance Personnel Emergency Messages A-14 Building NUMBER: Electric Power & Emergency Communication Response P. 1 46 Elevator case study External Systems Diagram • Special Rules 1. All of the outputs of the system’s function (the elevator in this case) have to go to at least one of the external systems’ functions on the page and cannot exit the diagram 2. Each of the external systems must receive at least one output of our system; otherwise, the system should be part of the context 3. Must be able to ‘trace out’ the operating scenarios (I/O traces) on the diagram 47 Objectives Hierarchy • The ‘objectives hierarchy’ of a system are the goals/objectives that are important to the stakeholders in a ‘value’ sense – pay more for higher performance or other benefit. Schedule / Cost / Performance 48 Cost vs. Performance • How I value cost and performance – along with constraints that exist - determine whether I buy (or build) a: – – – – Ferrari 458 Italia coupe Rolls Royce Ghost Ford Mustang Honda Civic Interesting questions: Which one is least expensive? Which one has the best maintenance record? 49 Objectives Hierarchy - cntd • ‘Objective’ : Key performance parameter – Minimum acceptable threshold • Level below which entire system is unacceptable • Often defined too tightly – Desired performance level • Often bounded by technology constraints • Hierarchy integrates all objectives • Weighted Trade Offs Defines Performance Space for Design Solution 50 Elevator Objectives Hierarchy Operational Objectives Monthly Operating Costs $1,500 - $1,000, Wt = 0.1 (from text) Elevator case study Operational Performance Objectives, Wt = 0.9 Time in System Objectives, Wt = 0.35 Average Wait (Routine) 35 - 27 sec, Wt = 0.3 Average Wait (Priority) 35 - 30 sec, Wt = 0.35 Average Transit Time 90 - 60 sec, Wt = 0.35 I love this figure! Why don’t we do this in software? Ride Quality Objectives, Wt = 0.30 Max'm Acceleration 1.5 - 1.25 m/s2, Wt = 0.3 Max'm Accel'n Change 2 - 1.5 m/s3, Wt = 0.5 Floor Leveling Error 0.7 - 0.3 cm., Wt = 0.2 Availability Objectives, Wt = 0.35 Operational MTBF 1 - 1.5 yrs, Wt = 0.5 Operational MTTR 8 - 4 hrs, Wt = 0.5 Figure 6.9 51 Objective Hierarchy and Trade Space Larger area, looser constraints, easier to find a solution Smaller area, tighter constraints, harder to find a solution How big is the solution set for the design ? 52 Four categories of requirements 1. Input/Output • • • • Input Output Functional Interface 2. Technology and System-wide 3. Trade Offs 4. Qualification Where does each category come from ?? 53 Defining Input/Output Requirements • The external systems diagram is the primary tool • The systems engineering team must examine each input, control, and output in detail to discover every requirement associated with each of these items – Every input, control and output should have at least one requirement – There should be at least one “performance” requirement for each major system output • Interface constraints address the physical aspects of the interface to which the system has to connect to obtain the inputs and disseminate the outputs • The functional requirements should be the two to six functions that partition the system function 54 Elevator case study Exemplary Input/Output Requirements • The elevator shall receive “calls” from all floors of the building. (Input requirement) • The elevator shall indicate to a prospective passenger that he/she has successfully called the elevator. (Output requirement) • The elevator shall use a standard phone line from the building for emergency calls. (External interface requirement) 55 System-wide & Technology Requirements • Technology requirements are the ones that engineers would prefer not to have because they really do constrain the engineering creativity and should result from the other requirements if they are justifiable • Table 6.2 provides a list of common suitability issues • A cost requirement deals with payment of money during the appropriate life-cycle phase for the system in question to be useful • A schedule requirement deals with a timing issue for the relevant system for the phase of life cycle in question • There should be a “performance” requirement for – The major suitability issues – The major cost issue – The major schedule issue 56 Usability Testing • • • Obtaining samples of users Elicit their reactions about their needs & desires as they interact with prototypes Learnability • Efficiency • Memorability • Error rate • Satisfaction – Time to master a defined efficiency level, e.g., 50 words per minute – Time to master a defined skill, e.g., cut and paste – Time for a frequent user to complete a defined task – Rate of producing a defined set of products for a frequent user – Time for a casual user to complete a defined task – Time for a casual user to achieve previously achieved rate of production – Number of errors of a specific type in a given period for a given task – Stress level associated with use – Fun level associated with use 57 For a lot more on usability… • Check your interaction design book, from CSSE571: 58 Some customer wants/requests are imprecise and unclear How to clarify! Technical Specifications Customer wants, needs, and requests Imprecise and unclear [Macauley, 1996]. House of Quality How do we translate ‘easy to use’ into engineering specifications ? How do we translate ‘I want a blue system’ into engineering specifications ? • Bending strength (frontal loading) • Japan Industrial Standards test Special tools required for maintenance Time to disassemble/assemble for maintenance Cycles in mud chamber w/o contamination Time in spray chamber w/o water entry • Unit manufacturing cost • Instills pride • Fender compatibility • Monster cycles to failure • UV test duration to degrade rubber parts • Time to assemble to frame • Maximum tire width • Wheel sizes • Steertube length • Headset sizes • 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Lateral stiffness at brake pivots • 8 Total mass • 7 Lateral stiffness at the tip • 6 Rake offset • 5 Maximum travel (26in wheel) Spring pre-load Need 1 reduces vibration to the hands. • 2 allows easy traversal of slow, difficult terrain. 3 enables high speed descents on bumpy trails. • 4 allows sensitivity adjustment. 5 preserves the steering characteristics of the bike. 6 remains rigid during hard cornering. 7 is lightweight. 8 provides stiff mounting points for the brakes. 9 fits a wide variety of bikes, wheels, and tires. 10 is easy to install. 11 works with fenders. 12 instills pride. 13 is affordable for an amateur enthusiast. 14 is not contaminated by water. 15 is not contaminated by grunge. 16 can be easily accessed for maintenance. 17 allows easy replacement of worn parts. 18 can be maintained with readily available tools. 19 lasts a long time. 20 is safe in a crash. 4 Damping coefficient adjustment range 3 Minimum descent time on test track 2 Maximum value from the Monster 1 Attenuation from dropout to handlebar at 10hz Metric Bicycle Fork Example • • • • • • • • • • • 60 • • Trade-off Requirements • Incorporates value judgments within and across stakeholders • Sample many stakeholders • Bill payer ultimately responsible for integration across stakeholders • See chapter 13 for details – value functions 61 Elevator Objectives Hierarchy (from Case) How do we construct the Objectives Hierarchy ?? Operational Objectives Monthly Operating Costs $1,500 - $1,000, Wt = 0.1 The system shall achieved the highest weighted score combining the weighted performance and cost as shown in the objectives hierarchy. The relative weights of the cost and performance requirements are 0.1 and 0.9, respectively. The elevator system shall have an average wait for service (time interval between elevators) of less than 35 seconds. The design goal is 27 seconds. The elevator system shall have an average passenger transit time in the elevator car of no larger than 90 seconds. The design goal is 60 seconds. Figure 6.9 Elevator case study With the Requirements !! Operational Performance Objectives, Wt = 0.9 Time in System Objectives, Wt = 0.5 Average Wait 35 - 27 sec, Wt = 0.5 Average Transit Time 90 - 60 sec, Wt = 0.5 Maintenance Actions 50-80% in 1 hour, Wt = 0.2 Availability Objectives, Wt = 0.3 Operational MTBF 1 - 1.5 yrs, Wt = 0.5 Operational MTTR 8 - 4 hrs, Wt = 0.5 62 Wasson Trade Space Example 63 Wasson Trade Space Example - cntd 64 Objectives Hierarchy and Trade Space Larger area, looser constraints, easier to find a solution Smaller area, tighter constraints, harder to find a solution How big is the solution set for the design ?? There may be no solution !! 65 Wasson’s whole trade study process 66 Qualification Requirements • Observance: how the measurements for every input/output and system-wide requirement will be obtained, that is - test, analysis and simulation, inspection, or demonstration • Verification plan: how the qualification data will be used to determine that the real system conforms to the design that was developed • Validation plan: how the qualification data will be used to determine that the real system complies with the originating requirements • Acceptance plan: how the qualification data will be used to determine that the real system is acceptable to the stakeholders 67 Originating Requirements Development Li fe Ph -Cy as cle e Inputs & Outputs External Systems Diagram Operational Concept St ak eh o ld er s Validation & Acceptance Test Scenarios Inputs & Outputs Objectives Hierarchy St ak eh o Figure 6.11 Complete Inputs & Outputs ld Li fe Ph -Cy as cle e Originating Requirements Objectives er s 68 Requirements Management 1. Identification, derivation, allocation & control of requirements, 2. In a consistent, traceable, correlatable, verifiable manner, 3. Of all the system functions, attributes, interfaces, and verification methods, 4. That a system must meet. 69 Elevator case study Fitting it Together Requirement Partition by Life Cycle Phase Input/Output Technology & System-Wide Trade Off System Qualification Input Technology Cost Trade-offs Data for all qualification Output "ilities" Performance Trade-offs Verification Plan Functions Cost Cost-Performance Trade-off Validation Plan External Interfaces Schedule Acceptance Plan Thresholds & Goals Recall the Elevator example… (slide 55) Objectives Hierarchy Trade Space 70 Doing this well • Detail oriented • Consider all possibilities • Everything ties together • Think about how it will be interpreted by others • An elegance about the structure, connections, graphical representations, and overall visual appeal. 71 Examples HW 3 Exercise ATM Sample Requirements 1. What’s important? 2. What types of requirements? 3. What additional ones are needed from the ESD (External Systems Diagram), or whatever you used for HW 2A? See separate file with ATM requirements! 72 Examples Class Exercise? OnStar Case • What are key requirements, from the scenarios and ESD. See separate file with OnStar Case study! 73 Examples OnStar ESD USED AT: George Mason University AUTHOR: SYST 520 Student PROJECT: Cadillac On-Star System x DATE: 08/15/00 REV: NOTES: 1 2 3 4 5 6 7 8 9 10 Request for directions, Location to go to, Request to record directions, Request to play directions, Lights and horn off, Car jacking Request for location, Audio directions, Instructions for lights and horn, Instructions to unlock car, Attempt to reach driver, Test results for cellular phone, Test results for conversation, Test results for tracking signal Use On-Star A-11 Car lost, Car locked Perform Control Center Operations WORKING DRAFT RECOMMENDED PUBLICATION Test instructions for unlock feature User NODE: A-1 None User Feedback Control Center feedback Signal to activate lights and horn, Signal to unlock car, Signal to deactivate lights and horn, Test signal to unlock car Maintainer feedback Provide OnStar Capability Test results for unlock signal A-0 Perform Car Functions User request for directions, Request for audio directions, Accident location, No user response, Car stolen, Notice of car jacking, Tracking signal, Phone link, Test of phone link, Request for control center link test DATE CONTEXT: Cadillac Policies and Procedures A-12 Where to?, Audio replay of directions, Call for accident READER Test of cellular phone, Adjustments for cellular phone, Control center link test, Adjustments for tracking signal, Adjustments for conversation, Adjustments for unlock feature A-13 Air bag signal, Security system signal, Power Control Center Maintain On-Star System On-Star System TITLE: Cadillac On-Star System Operational Phase External System A-14 Flashing horn and lights Test diagnostics - phone, Test diag. - tracking signal, Test diag. - conversation Car Request test of unlock feature NUMBER: Maintainer P. 1 74 Examples Traceability x x x x x x 1.2 1.3 x 2.2 x 2.3 x 1.10 x 2.1 x 2.13 x 3.2 x 3.3 The OnStar system shall accept verbal communication from the user. The OnStar system shall accept notification of the user being locked out. The OnStar system shall request assistance from local emergency services. The OnStar system shall provide the location of the user's vehicle The OnStar system shall accept a request for assistance from the user. The OnStar system shall provide verbal communication with the user. The OnStar system shall communicate with the user's friend or family member. The OnStar system shall communicate with the phone system The OnStar system shall provide verbal information to the user. Traceability – backward and forward Analysis and Simulation Demonstration Instrumented Test Equipment Qualification Accident Assist Remote Door Unlock User Case x x x x x x x x x 75 Examples Class Exercise? (See sub-directory for this week) Lawnmower – Here We Mow Again - Case • Review the operating scenarios – comments ? – Enough, too many, right ones ? – Functional vs. physical descriptions ? – Inputs/outputs are nouns ? • Does the ESD follow from the scenarios ? • Review the requirements – comments ?. See separate directory with Lawnmore requirements! 76 Requirements – other SE views MIL-STD 499B [Military Standard, 1993]: identifies the accomplishment levels needed to achieve specific objectives. Chambers and Manos [1992]: the attributes of the final design that must be a part of any acceptable solution to the design problem. Davis [1993]: a user need or necessary feature, function, or attribute of a system that can be sensed from a position external to that system. Grady [1993]: an essential attribute for a system or an element of a system, coupled by a relation statement with value and units information for the attribute. Harwell et al. [1993]: “If it mandates that something must be accomplished, transformed, produced, or provided, it is a requirement period.” 77 Originating Requirements Development AUTHOR: Dennis Buede PROJECT: Engineering Design of a System USED AT: GMU Systems Engineering Program DATE: 05/24/99 REV: NOTES: 1 2 3 4 5 6 7 8 9 10 x WORKING DRAFT RECOMMENDED PUBLICATION DATE CONTEXT: READER Inputs of Stakeholders Stakeholders' Uses Stakeholders' Objectives Stakeholders' Jurisdiction Stakeholders' Constraints Approval or Disapproval Qualification Constraints Requirements Issues Develop Operational Concept Design Changes A1111 Engineers' Requirements Issues System Boundary Define System Boundary with an External Systems System-level Operational Concept Qualification System Issues Objectives Hierarchy Define Qualification System Requirements A1112 Develop System Objectives System Hierarchy Boundary & Proven Requirements Infeasibility Develop, Analyze and Refine Requirements NODE: Figure 6.3 A111 Ensure Requirements Feasibility A1114 Operational Architecture Changes to Requirements Originating & System Requirements TITLE: Stakeholders' Requirements Issues A1116 A1113 Objectives Hierarchy Lower Layer Changes to Requirements Originating & System Requirements, Objectives Hierarchy, Boundary & Qualification System Requirements Qualification System Requirements Define System-Level Design Problem Obtain Approval of Requirements Documentation Originating & System Requirements A1117 A1115 Proven Requirements Feasibility NUMBER: P. 6 78 Pragmatic Principle 2 [DeFoe, 1993] Use Effectiveness Criteria Based on Needs to Make System Decisions 1. Select criteria that have demonstrable links to customer/consumer needs and system requirements. a. Operational criteria: mission success, technical performance b. Program criteria: cost, schedule, quality, risk c. Integrated Logistic Support (ILS) criteria: failure rate, maintainability, serviceability 2. Maintain a “need-based” balance among the often-conflicting criteria. 3. Select criteria that are measurable (objective and quantifiable) and express them in well-known, easily understood units. However, important criteria for which no measure seems to exist, still must be explicitly addressed. 4. Use trade offs to show the customer the performance, cost, schedule, and risk impacts of requirements and solutions variations. 5. Whenever possible, use simulation and experimental design to perform trade offs as methods that rely heavily on “engineering judgment” rating scales are more subject to bias and error. 6. Have the customer make all value judgments in trade offs. 7. Allow the customer to modify requirements and participate in developing the solution based on the trade offs. 81 House of Quality Technical Specifications Customer wants, needs, and requests Imprecise and unclear [Macauley, 1996]. How do we translate ‘easy to use’ or ‘blue’ into engineering specifications ? Pragmatic Principle 3 [DeFoe, 1993] Establish and Manage Requirements 1. Identify and distinguish between specified (fundamental or essential), allocated, implied and derived requirements. 2. Carry analysis and synthesis to at least one level broader and deeper than seems necessary before settling on requirements and solutions at any given level. (Top down is a better recording technique than it is an analysis or synthesis technique.) 3. Write rationale for each requirement. The attempt to write rationale for a “requirement” often uncovers the real requirement. 4. Ensure the customer and consumer understand and accept all the requirements. 5. Explicitly identify and control all the external interfaces the system will have - signal, data, power, mechanical, parasitic, and the like. Do the same for all the internal interfaces created by the solution. 6. Negotiate interfaces with affected engineering staff on both sides of each interface and get written agreement by the two parties before the customer approves the interface documentation. 7. Document all requirements interpretations in writing. Don’t count on verbal agreements to stand the test of time. 8. Plan for the inevitable need to correct and change requirements as insight into the need and the “best” solution grows during development. 9. Be careful of new fundamental requirements coming in after the program is underway. They invariably have a larger impact than is obvious. 10. Maintain requirements traceability. 83 Modeling/Prototyping • A physical model of the system that – Ignores certain aspects of the system – Glosses over other aspects – Is fairly representative of a third segment of aspects of the system • Throwaway prototypes developed for – Educating the users about the possibilities – Extracting requirements from the users based upon their needs • Evolutionary prototypes – Built for these educational and requirements development purposes as well – Will eventually be turned into a working version of the system 84 The Next Moon Mission Examples Unmanned 2008, Manned 2020 ‘Apollo’ looking 86 Examples The Next Moon Mission 87 looking ‘Space Shuttle’ Examples The Next Moon Mission The Apollo Concept 88 So, what SE requirements tools could you use? • In addition to Agile things we do now? • Which ones could be translated into our terms? 89