Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman
System Engineering Elements of a computer-based system Software Hardware People Database Documentation Procedures Systems A hierarchy of macro-elements
The Hierarchy
System Modeling define the processes that serve the needs of the view under consideration. represent the behavior of the processes and the assumptions on which the behavior is based. explicitly define both exogenous and endogenous input to the model. exogenous inputs link one constituent of a given view with other constituents at the same level of other levels; endogenous input links individual components of a constituent at a particular view. represent all linkages (including output) that will enable the engineer to better understand the view.
Business Process Engineering uses an integrated set of procedures, methods, and tools to identify how information systems can best meet the strategic goals of an enterprise focuses first on the enterprise and then on the business area creates enterprise models, data models and process models creates a framework for better information management distribution, and control
System Architectures Three different architectures must be analyzed and designed within the context of business objectives and goals: data architecture applications architecture technology infrastructure data architecture  provides a framework for the information needs of a business or business function application architecture  encompasses those elements of a system that transform objects within the data architecture for some business purpose technology infrastructure  provides the foundation for the data and application architectures
The BPE Hierarchy Information strategy planning (ISP) strategic goals defined success factors/business rules identified enterprise model created Business area analysis (BAA) processes/services modeled interrelationships of processes and data Application Engineering a.k.a ... software engineering modeling applications/procedures that address (BAA) and constraints of ISP Construction and delivery using CASE and 4GTs, testing
Information Strategy Planning Management issues define strategic business goals/objectives isolate critical success factors conduct analysis of technology impact perform analysis of strategic systems Technical issues create a top-level data model cluster by business/organizational area refine model and clustering
Defining Objectives and Goals Objective —general statement of direction Goal —defines measurable objective: “reduce manufactured cost of our product” Subgoals : decrease reject rate by 20% in first 6 months gain 10% price concessions from suppliers re-engineer 30% of components for ease of manufacture during first year Objectives tend to be strategic while goals tend to be tactical
Business Area Analysis define “naturally cohesive groupings of business functions and data” (Martin) perform many of the same activities as ISP, but narrow scope to individual business area identify existing (old) information systems / determine compatibility with new ISP model define systems that are problematic  defining systems that are incompatible with new information model begin to establish  re-engineering priorities
The BAA Process sales acct manufacturing QC eng’ring distribution admin. Data Model Process Decomposition Diagram Matrices e.g., entity/process matrix Process  Flow Models
Product Engineering
Product Architecture Template
Architecture Flow Diagram
System Modeling with UML Deployment diagrams Each 3-D box depicts a hardware element that is part of the physical architecture of the system Activity diagrams Represent procedural aspects of a system element Class diagrams Represent system level elements in terms of the data that describe the element and the operations that manipulate the data These and other UML models will be discussed later
Deployment Diagram
Activity Diagram
Class Diagram
System Engineering A system view of a product encompasses more than just the software. Elements of a computer-based system: Software Hardware People Database Documentation Procedures Other computer-based systems
Chapter 7 Requirements Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman
Requirements Engineering Inception —Establish a basic understanding of the problem and the nature of the solution.  Elicitation —Draw out the requirements from stakeholders. Elaboration —Create an analysis model that represents information, functional, and behavioral aspects of the requirements. Negotiation —Agree on a deliverable system that is realistic for developers and customers. Specification —Describe the requirements formally or informally. Validation —Review the requirement specification for errors, ambiguities, omissions, and conflicts.  Requirements management —Manage changing requirements.
Inception Ask “context-free” questions Who is behind the request for this work? Who will use the solution (product/system)? What will be the economic benefits? How would you characterize “good” output from the system? What problems does this solution address? What environment will the product be used in? Are you the right person to answer these questions? Are these question relevant? Can anyone else provide additional information? Should I be asking you anything else?
Getting Requirements Right “ The hardest single part of building a software system is deciding what to build. No part of the work so cripples the resulting system if done wrong. No other part is more difficult to rectify later.” — Fred Brooks “ The seeds of major software disasters are usually sown within the first three months of commencing the software project.” — Capers Jones “ We spend a lot of time—the majority of project effort—not implementing or testing, but trying to decide what to build.” — Brian Lawrence
Eliciting Requirements Why is it so difficult to clearly understand what the customer wants? Scope The boundary of the system is ill-defined. Customers/users specify unnecessary technical detail that may confuse rather than clarify objectives. Understanding Customers are not completely sure of what is needed. Customers have a poor understanding of the capabilities and limitations of the computing environment. Customers don’t have a full understanding of their problem domain. Customers have trouble communicating needs to the system engineer. Customers omit detail that is believed to be obvious. Customers specify requirements that conflict with other requirements. Customers specify requirements that are ambiguous or untestable. Volatility Requirements change over time.
Collaborative Requirements Gathering Meetings are attended by all interested stakeholders. Rules established for preparation and participation. Agenda should be formal enough to cover all important points, but informal enough to encourage the free flow of ideas. A facilitator controls the meeting. A definition mechanism (blackboard, flip charts, etc.) is used. During the meeting: The problem is identified. Elements of the solution are proposed. Different approaches are negotiated. A preliminary set of solution requirements are obtained. The atmosphere is collaborative and non-threatening.
Quality Function Deployment Function deployment  determines the “value” (to the customer) of each function required of the system. Information deployment  identifies data objects and events. Task deployment  examines the behavior of the system. Value analysis  determines the priority of requirements.
Elicitation Work Products Statement of  need  and  feasibility . Statement of  scope . List of  participants  in requirements elicitation. Description of the system’s technical  environment . List of  requirements  and associated domain  constraints . List of usage  scenarios . Any  prototypes   developed to refine requirements .
Use-Cases A use-case scenario is a story about how someone or something external to the software (known as an  actor ) interacts with the system. Each scenario answers the following questions: Who is the  primary actor , the secondary actor(s)? What are the actor’s  goals ? What  preconditions  should exist before the story begins? What main  tasks or functions  are performed by the actor? What  exceptions  might be considered as the story is described? What  variations  in the actor’s interaction are possible? What  system information  will the actor acquire, produce, or change?  Will the actor have to  inform the system  about changes in the external environment? What  information  does the actor desire  from the system ? Does the actor wish to  be informed  about unexpected changes?
Elements of the Analysis Model Scenario-based  elements Use-case—How external actors interact with the system (use-case diagrams; detailed templates) Functional—How software functions are processed in the system (flow charts; activity diagrams) Class-based  elements The various system objects (obtained from scenarios) including their attributes and functions (class diagram) Behavioral  elements How the system behaves in response to different events (state diagram) Flow-oriented  elements How information is transformed as if flows through the system (data flow diagram)
Use-Case Diagram
Activity Diagram for RE
Class Diagram
State Diagram
Analysis Patterns Pattern name:   Captures the essence of the pattern.  Intent:  What the pattern accomplishes or represents.  Motivation:   A scenario that illustrates how the pattern solves a problem. Forces and context:   External issues (forces) that affect how the pattern is used, and external issues resolved when the pattern is applied.  Solution:   How the pattern is applied to solve the problem; emphasizes structural and behavioral issues. Consequences :  What happens when the pattern is applied; what trade-offs exist during its application. Design :  How the pattern can be achieved via known design patterns. Known uses :  Examples of uses within actual systems. Related patterns :  Patterns related to the named pattern because they are commonly used with the named pattern; they are structurally similar to the named pattern; they are a variation of the named pattern.
Negotiating Requirements Identify the key stakeholders These are the people who will be involved in the negotiation Determine each of the stakeholders “win conditions” Win conditions are not always obvious Negotiate Work toward a set of requirements that lead to “win-win”
Validating Requirements Is each requirement  consistent with the objective  of the system? Have all requirements been specified at the  proper level of abstraction ?  Is the requirement really  necessary ? Is each requirement  bounded and unambiguous ? Does each requirement have  attribution ?  Do any requirements  conflict with other requirements ? Is each requirement  achievable   in  the system’s  technical environment ? Is each requirement  testable , once implemented? Does the model  reflect  the system’s  information, function and behavior ? Has the model been  appropriately “partitioned” ? Have  appropriate requirements patterns  been used?
Example CRG Meeting First CRG meeting of the  SafeHome  project. After Q&A session (inception meeting), stakeholders write a two page  product request , which is delivered to those attending the first CRG meeting. Attendees are asked to make a rough list of  objects ,  services ,  constraints , and  performance criteria  for the product. At the meeting, a  combined list  is created in each topic. Subgroups write  mini-specifications  for each list item. Relevant features in mini-specifications are added to the list.
Example CRG Meeting Our research indicates that the market for home management systems is growing at a rate of 40 percent per year. The first  SafeHome  function we bring to market should be the  home security function . Most people are familiar with “alarm systems” so this would be an easy sell. The home security function would protect against and/or recognize a variety of undesirable “situations” such as  illegal entry ,  fire ,  flooding ,  carbon monoxide levels , and  others . It’ll use our wireless  sensors  to detect each situation, can be programmed by the  homeowner , and will automatically telephone a  monitoring agency  when a situation is detected.
Example CRG Meeting Objects  – control panel, smoke detectors, window and door sensors, motion detectors, an alarm, an event (sensor has been activated), a display, a PC, telephone numbers, a telephone call, … Services  – configuring the system, setting the alarm, monitoring the sensors, dialing the phone, programming the control panel, reading the display, … Constraints  – System must recognize when sensors are not operating, must be user friendly, must interface directly to a standard phone line, … Performance criteria  – Sensor event should be recognized within one second, an event priority scheme should be implemented, …
Example CRG Meeting Mini-specification  for Control Panel The  Control Panel  is a wall-mounted unit that is approximately 9 x 5 inches in size. The control panel has wireless connectivity to sensors and a PC. User interaction occurs through a keypad containing 12 keys. A 2 x 2 inch LCD display provides user feedback. Software provides interactive prompts, echo, and similar functions.

More Related Content

PPTX
System Analysis and Design
PPT
Modelling System Requirements: Events & Things
PPT
Systems Analysis And Design 2
PPSX
System Analysis & Design - 2
PPTX
Structure system analysis and design method -SSADM
PPT
SE - Software Requirements
PPT
Systems Analysis
PDF
System Analysis and Design slides by yared yenealem DTU Ethiopia
System Analysis and Design
Modelling System Requirements: Events & Things
Systems Analysis And Design 2
System Analysis & Design - 2
Structure system analysis and design method -SSADM
SE - Software Requirements
Systems Analysis
System Analysis and Design slides by yared yenealem DTU Ethiopia

What's hot (20)

PPT
System analysis
PPTX
System Analysis and Design (SAD)
PPTX
System analysis and design Part2
PPTX
Scenario based methods
PPTX
System analysis and design chapter 2
PPTX
System analysis and design
PPTX
System analysis fundamentals
PPTX
System analysis 1
PPTX
analysis and design of information system
DOC
System analysis and_design
PPSX
System Analysis & Design - I
DOCX
Introduction to system analysis and design
PPTX
System analysis design
PPT
System Design and Analysis 1
PPT
SSAD; TOOLS & TECHNIQUES
PPT
System design
PPTX
SYSTEM ANALYSIS AND DESIGN Assignment help
PPTX
Analysis and design of information system
PPTX
Over view of system analysis and design
PPT
VTU - MIS Module 4 - SDLC
System analysis
System Analysis and Design (SAD)
System analysis and design Part2
Scenario based methods
System analysis and design chapter 2
System analysis and design
System analysis fundamentals
System analysis 1
analysis and design of information system
System analysis and_design
System Analysis & Design - I
Introduction to system analysis and design
System analysis design
System Design and Analysis 1
SSAD; TOOLS & TECHNIQUES
System design
SYSTEM ANALYSIS AND DESIGN Assignment help
Analysis and design of information system
Over view of system analysis and design
VTU - MIS Module 4 - SDLC
Ad

Viewers also liked (18)

PDF
I A S C G B V Guidelines
PPT
SE chapter 5
PPT
Complex System Engineering
PDF
Scrum and Agile SDLC 101
PDF
Introduction to Extreme Programming
PDF
Extreme programming
PPTX
Extreme programming (xp) | David Tzemach
PPTX
Extreme programming (xp)
PPT
Agile Methodologies And Extreme Programming
PPT
extreme Programming
PDF
Introducing Agile Scrum XP and Kanban
PPTX
Introduction to Scrum.ppt
PDF
Introduction to Agile software testing
PPT
Scrum In 15 Minutes
PDF
Introduction to agile and scrum
PPT
Agile Scrum Methodology
PPT
Agile Testing Process
I A S C G B V Guidelines
SE chapter 5
Complex System Engineering
Scrum and Agile SDLC 101
Introduction to Extreme Programming
Extreme programming
Extreme programming (xp) | David Tzemach
Extreme programming (xp)
Agile Methodologies And Extreme Programming
extreme Programming
Introducing Agile Scrum XP and Kanban
Introduction to Scrum.ppt
Introduction to Agile software testing
Scrum In 15 Minutes
Introduction to agile and scrum
Agile Scrum Methodology
Agile Testing Process
Ad

Similar to SE chapters 6-7 (20)

PPT
PPT
PPTX
Software Engineering- Understanding Requirements
PDF
Requirement Engineering.pdf
PPTX
Software Engineering Notes Unit - 1.pptx
ODP
Year 12 D Course Material
PDF
se cph - 4---7-WA0008..pdf ejejekkekekememm
PDF
Software Process and Requirement
PPTX
Chapter 3.pptx
PDF
SD West 2008: Call the requirements police, you've entered design!
ODP
Software Patterns
PDF
Lecture 3 Software Requirements Analysis I.pdf
PPTX
Requirement engineering.pptx power point
PPTX
Requirement Analysis and Modeling in Software Engineering.pptx
PPTX
04 fse understandingrequirements
PPT
PPT
Chapter 2 Software EngineeringSoftware Processes
PDF
Software development PROCESS
Software Engineering- Understanding Requirements
Requirement Engineering.pdf
Software Engineering Notes Unit - 1.pptx
Year 12 D Course Material
se cph - 4---7-WA0008..pdf ejejekkekekememm
Software Process and Requirement
Chapter 3.pptx
SD West 2008: Call the requirements police, you've entered design!
Software Patterns
Lecture 3 Software Requirements Analysis I.pdf
Requirement engineering.pptx power point
Requirement Analysis and Modeling in Software Engineering.pptx
04 fse understandingrequirements
Chapter 2 Software EngineeringSoftware Processes
Software development PROCESS

More from Hardik Patel (6)

PPT
SE chapters 24-25
PPT
SE chapter 4
PPT
Slides chapter 3
PPT
SE chapter 2
PPT
Slides chapter 1
PPT
SE chapters 21-23
SE chapters 24-25
SE chapter 4
Slides chapter 3
SE chapter 2
Slides chapter 1
SE chapters 21-23

Recently uploaded (20)

PDF
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
PDF
Electrocardiogram sequences data analytics and classification using unsupervi...
PDF
Co-training pseudo-labeling for text classification with support vector machi...
PDF
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
PDF
giants, standing on the shoulders of - by Daniel Stenberg
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
PPTX
Training Program for knowledge in solar cell and solar industry
PDF
NewMind AI Weekly Chronicles – August ’25 Week IV
PDF
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
PDF
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
PDF
A symptom-driven medical diagnosis support model based on machine learning te...
PDF
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
PPTX
MuleSoft-Compete-Deck for midddleware integrations
PDF
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
PDF
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
PDF
Enhancing plagiarism detection using data pre-processing and machine learning...
PPTX
agenticai-neweraofintelligence-250529192801-1b5e6870.pptx
PDF
Data Virtualization in Action: Scaling APIs and Apps with FME
PPTX
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
Electrocardiogram sequences data analytics and classification using unsupervi...
Co-training pseudo-labeling for text classification with support vector machi...
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
giants, standing on the shoulders of - by Daniel Stenberg
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
Improvisation in detection of pomegranate leaf disease using transfer learni...
Training Program for knowledge in solar cell and solar industry
NewMind AI Weekly Chronicles – August ’25 Week IV
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
A symptom-driven medical diagnosis support model based on machine learning te...
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
MuleSoft-Compete-Deck for midddleware integrations
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
Enhancing plagiarism detection using data pre-processing and machine learning...
agenticai-neweraofintelligence-250529192801-1b5e6870.pptx
Data Virtualization in Action: Scaling APIs and Apps with FME
AI-driven Assurance Across Your End-to-end Network With ThousandEyes

SE chapters 6-7

  • 1. Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman
  • 2. System Engineering Elements of a computer-based system Software Hardware People Database Documentation Procedures Systems A hierarchy of macro-elements
  • 4. System Modeling define the processes that serve the needs of the view under consideration. represent the behavior of the processes and the assumptions on which the behavior is based. explicitly define both exogenous and endogenous input to the model. exogenous inputs link one constituent of a given view with other constituents at the same level of other levels; endogenous input links individual components of a constituent at a particular view. represent all linkages (including output) that will enable the engineer to better understand the view.
  • 5. Business Process Engineering uses an integrated set of procedures, methods, and tools to identify how information systems can best meet the strategic goals of an enterprise focuses first on the enterprise and then on the business area creates enterprise models, data models and process models creates a framework for better information management distribution, and control
  • 6. System Architectures Three different architectures must be analyzed and designed within the context of business objectives and goals: data architecture applications architecture technology infrastructure data architecture provides a framework for the information needs of a business or business function application architecture encompasses those elements of a system that transform objects within the data architecture for some business purpose technology infrastructure provides the foundation for the data and application architectures
  • 7. The BPE Hierarchy Information strategy planning (ISP) strategic goals defined success factors/business rules identified enterprise model created Business area analysis (BAA) processes/services modeled interrelationships of processes and data Application Engineering a.k.a ... software engineering modeling applications/procedures that address (BAA) and constraints of ISP Construction and delivery using CASE and 4GTs, testing
  • 8. Information Strategy Planning Management issues define strategic business goals/objectives isolate critical success factors conduct analysis of technology impact perform analysis of strategic systems Technical issues create a top-level data model cluster by business/organizational area refine model and clustering
  • 9. Defining Objectives and Goals Objective —general statement of direction Goal —defines measurable objective: “reduce manufactured cost of our product” Subgoals : decrease reject rate by 20% in first 6 months gain 10% price concessions from suppliers re-engineer 30% of components for ease of manufacture during first year Objectives tend to be strategic while goals tend to be tactical
  • 10. Business Area Analysis define “naturally cohesive groupings of business functions and data” (Martin) perform many of the same activities as ISP, but narrow scope to individual business area identify existing (old) information systems / determine compatibility with new ISP model define systems that are problematic defining systems that are incompatible with new information model begin to establish re-engineering priorities
  • 11. The BAA Process sales acct manufacturing QC eng’ring distribution admin. Data Model Process Decomposition Diagram Matrices e.g., entity/process matrix Process Flow Models
  • 15. System Modeling with UML Deployment diagrams Each 3-D box depicts a hardware element that is part of the physical architecture of the system Activity diagrams Represent procedural aspects of a system element Class diagrams Represent system level elements in terms of the data that describe the element and the operations that manipulate the data These and other UML models will be discussed later
  • 19. System Engineering A system view of a product encompasses more than just the software. Elements of a computer-based system: Software Hardware People Database Documentation Procedures Other computer-based systems
  • 20. Chapter 7 Requirements Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman
  • 21. Requirements Engineering Inception —Establish a basic understanding of the problem and the nature of the solution. Elicitation —Draw out the requirements from stakeholders. Elaboration —Create an analysis model that represents information, functional, and behavioral aspects of the requirements. Negotiation —Agree on a deliverable system that is realistic for developers and customers. Specification —Describe the requirements formally or informally. Validation —Review the requirement specification for errors, ambiguities, omissions, and conflicts. Requirements management —Manage changing requirements.
  • 22. Inception Ask “context-free” questions Who is behind the request for this work? Who will use the solution (product/system)? What will be the economic benefits? How would you characterize “good” output from the system? What problems does this solution address? What environment will the product be used in? Are you the right person to answer these questions? Are these question relevant? Can anyone else provide additional information? Should I be asking you anything else?
  • 23. Getting Requirements Right “ The hardest single part of building a software system is deciding what to build. No part of the work so cripples the resulting system if done wrong. No other part is more difficult to rectify later.” — Fred Brooks “ The seeds of major software disasters are usually sown within the first three months of commencing the software project.” — Capers Jones “ We spend a lot of time—the majority of project effort—not implementing or testing, but trying to decide what to build.” — Brian Lawrence
  • 24. Eliciting Requirements Why is it so difficult to clearly understand what the customer wants? Scope The boundary of the system is ill-defined. Customers/users specify unnecessary technical detail that may confuse rather than clarify objectives. Understanding Customers are not completely sure of what is needed. Customers have a poor understanding of the capabilities and limitations of the computing environment. Customers don’t have a full understanding of their problem domain. Customers have trouble communicating needs to the system engineer. Customers omit detail that is believed to be obvious. Customers specify requirements that conflict with other requirements. Customers specify requirements that are ambiguous or untestable. Volatility Requirements change over time.
  • 25. Collaborative Requirements Gathering Meetings are attended by all interested stakeholders. Rules established for preparation and participation. Agenda should be formal enough to cover all important points, but informal enough to encourage the free flow of ideas. A facilitator controls the meeting. A definition mechanism (blackboard, flip charts, etc.) is used. During the meeting: The problem is identified. Elements of the solution are proposed. Different approaches are negotiated. A preliminary set of solution requirements are obtained. The atmosphere is collaborative and non-threatening.
  • 26. Quality Function Deployment Function deployment determines the “value” (to the customer) of each function required of the system. Information deployment identifies data objects and events. Task deployment examines the behavior of the system. Value analysis determines the priority of requirements.
  • 27. Elicitation Work Products Statement of need and feasibility . Statement of scope . List of participants in requirements elicitation. Description of the system’s technical environment . List of requirements and associated domain constraints . List of usage scenarios . Any prototypes developed to refine requirements .
  • 28. Use-Cases A use-case scenario is a story about how someone or something external to the software (known as an actor ) interacts with the system. Each scenario answers the following questions: Who is the primary actor , the secondary actor(s)? What are the actor’s goals ? What preconditions should exist before the story begins? What main tasks or functions are performed by the actor? What exceptions might be considered as the story is described? What variations in the actor’s interaction are possible? What system information will the actor acquire, produce, or change? Will the actor have to inform the system about changes in the external environment? What information does the actor desire from the system ? Does the actor wish to be informed about unexpected changes?
  • 29. Elements of the Analysis Model Scenario-based elements Use-case—How external actors interact with the system (use-case diagrams; detailed templates) Functional—How software functions are processed in the system (flow charts; activity diagrams) Class-based elements The various system objects (obtained from scenarios) including their attributes and functions (class diagram) Behavioral elements How the system behaves in response to different events (state diagram) Flow-oriented elements How information is transformed as if flows through the system (data flow diagram)
  • 34. Analysis Patterns Pattern name: Captures the essence of the pattern. Intent: What the pattern accomplishes or represents. Motivation: A scenario that illustrates how the pattern solves a problem. Forces and context: External issues (forces) that affect how the pattern is used, and external issues resolved when the pattern is applied. Solution: How the pattern is applied to solve the problem; emphasizes structural and behavioral issues. Consequences : What happens when the pattern is applied; what trade-offs exist during its application. Design : How the pattern can be achieved via known design patterns. Known uses : Examples of uses within actual systems. Related patterns : Patterns related to the named pattern because they are commonly used with the named pattern; they are structurally similar to the named pattern; they are a variation of the named pattern.
  • 35. Negotiating Requirements Identify the key stakeholders These are the people who will be involved in the negotiation Determine each of the stakeholders “win conditions” Win conditions are not always obvious Negotiate Work toward a set of requirements that lead to “win-win”
  • 36. Validating Requirements Is each requirement consistent with the objective of the system? Have all requirements been specified at the proper level of abstraction ? Is the requirement really necessary ? Is each requirement bounded and unambiguous ? Does each requirement have attribution ? Do any requirements conflict with other requirements ? Is each requirement achievable in the system’s technical environment ? Is each requirement testable , once implemented? Does the model reflect the system’s information, function and behavior ? Has the model been appropriately “partitioned” ? Have appropriate requirements patterns been used?
  • 37. Example CRG Meeting First CRG meeting of the SafeHome project. After Q&A session (inception meeting), stakeholders write a two page product request , which is delivered to those attending the first CRG meeting. Attendees are asked to make a rough list of objects , services , constraints , and performance criteria for the product. At the meeting, a combined list is created in each topic. Subgroups write mini-specifications for each list item. Relevant features in mini-specifications are added to the list.
  • 38. Example CRG Meeting Our research indicates that the market for home management systems is growing at a rate of 40 percent per year. The first SafeHome function we bring to market should be the home security function . Most people are familiar with “alarm systems” so this would be an easy sell. The home security function would protect against and/or recognize a variety of undesirable “situations” such as illegal entry , fire , flooding , carbon monoxide levels , and others . It’ll use our wireless sensors to detect each situation, can be programmed by the homeowner , and will automatically telephone a monitoring agency when a situation is detected.
  • 39. Example CRG Meeting Objects – control panel, smoke detectors, window and door sensors, motion detectors, an alarm, an event (sensor has been activated), a display, a PC, telephone numbers, a telephone call, … Services – configuring the system, setting the alarm, monitoring the sensors, dialing the phone, programming the control panel, reading the display, … Constraints – System must recognize when sensors are not operating, must be user friendly, must interface directly to a standard phone line, … Performance criteria – Sensor event should be recognized within one second, an event priority scheme should be implemented, …
  • 40. Example CRG Meeting Mini-specification for Control Panel The Control Panel is a wall-mounted unit that is approximately 9 x 5 inches in size. The control panel has wireless connectivity to sensors and a PC. User interaction occurs through a keypad containing 12 keys. A 2 x 2 inch LCD display provides user feedback. Software provides interactive prompts, echo, and similar functions.