1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by...

40
1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman

Transcript of 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by...

Page 1: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

1

Chapter 6System Engineering

Chapter 6System Engineering

Software Engineering: A Practitioner’s Approach, 6th editionby Roger S. Pressman

Page 2: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

2

System EngineeringSystem Engineering Elements of a computer-based

system Software Hardware People Database Documentation Procedures

Systems A hierarchy of macro-elements

Elements of a computer-based system Software Hardware People Database Documentation Procedures

Systems A hierarchy of macro-elements

Page 3: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

3

The HierarchyWorld view

Business orProduct Domain

Domain of interest

Domain view

System element

Element view

Detailed view

Page 4: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

4

System ModelingSystem 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.

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.

Page 5: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

5

Business Process Engineering

uses an integrated set of procedures, uses an integrated set of procedures, methods, and tools to identify how methods, and tools to identify how information systems can best meet the information systems can best meet the strategic goals of an enterprisestrategic goals of an enterprise

focuses first on the enterprise and then focuses first on the enterprise and then on the business areaon the business area

creates enterprise models, data models creates enterprise models, data models and process modelsand process models

creates a framework for better creates a framework for better information management distribution, information management distribution, and controland control

Page 6: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

6

System ArchitecturesSystem 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

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

Page 7: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

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

Page 8: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

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

Page 9: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

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 monthsgain 10% price concessions from suppliersre-engineer 30% of components for ease of

manufacture during first year Objectives tend to be strategic while

goals tend to be tactical

Page 10: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

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

Page 11: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

11

The BAA Process

salesacct

manufacturing

QC

eng’ring

distribution

admin.

DataModel

ProcessDecomposition

DiagramMatrices

e.g.,entity/process

matrix

Process Flow

Models

Page 12: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

12

Product EngineeringSystem analysis

(World view)

The completeproduct

capabilities

Componentengineering

(Domain view)

Processing requirement

Analysis & DesignModeling

(Element view)

Construction&

Integration(Detailed view)

software

function

SoftwareEngineering

programcomponent

hardware

data behavior

Page 13: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

13

Product Architecture Template

user interface processing

inputprocessing

outputprocessing

maintenance and self-test

process and controlfunctions

Page 14: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

14

Architecture Flow Diagram

bar codereader

subsystem

bar codedecoding

subsystem

data baseaccess

subsystem

shuntcontrol

subsystem

reportformating

subsystem

diagnosticssubsystem

operatorinterface

subsystem

shuntcontroller

mainframecommunications

driver

operator requests CLSS queries, reports, displays

shunt control statusbar code acquisition request

bar code

pulse tach input

linespeed

bar codereader status

sensor status

raw barcode data

partnumber

reportrequests

binlocation

key

sort records

formatedreporting data

sorting reports

shunt commands

CLSS reports

BCR statusshunt status

communications status

timing/location data

operatorinterface

data acquisitioninterface diagnostic interface output interface

CLSS processing & control

sensor dataacquisitionsubsystem

Page 15: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

15

System Modeling with UMLSystem 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 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

Page 16: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

16

Deployment DiagramDeployment DiagramCLSS processor

Sorting subsystem

Sensor dataacquisition subsystem

Operator display

shunt controller

Conveyor Pulse tach

Bar code reader Shunt actuator

Page 17: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

17

Activity DiagramActivity Diagram

get conveyor speed

send shunt

control data

get shunt status read bar code

start conveyor line

determine bin location

valid bar code

set for reject bin

conveyor in motion

read bar code

get conveyor status

produce report entry

conveyor stopped

invalid bar code

Page 18: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

18

Class DiagramClass Diagram

Box

barcode forwardSpeed conveyorLocation height width depth weight contents

readBarcode() updateSpeed() readSpeed() updateLocation() readLocation() getDimensions() getWeight() checkContents()

class name

attributes note use of capital letter for multi-word attribute names

operations (parentheses at endof name indicate the list of attributes that theoperation requires)

Page 19: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

19

System EngineeringSystem 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

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

Page 20: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

20

Chapter 7Requirements Engineering

Chapter 7Requirements Engineering

Software Engineering: A Practitioner’s Approach, 6th editionby Roger S. Pressman

Page 21: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

21

Requirements EngineeringRequirements 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—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.

Page 22: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

22

InceptionInception 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?

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?

Page 23: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

23

Getting Requirements RightGetting 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

“ 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

Page 24: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

24

Eliciting RequirementsEliciting 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.

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.

Page 25: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

25

Collaborative Requirements GatheringCollaborative 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.

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.

Page 26: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

26

Quality Function DeploymentQuality 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.

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.

Page 27: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

27

Elicitation Work ProductsElicitation 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.

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.

Page 28: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

28

Use-CasesUse-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?

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?

Page 29: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

29

Elements of the Analysis ModelElements 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)

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)

Page 30: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

30

Use-Case DiagramUse-Case Diagram

Page 31: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

31

Activity Diagram for REActivity Diagram for RE

Page 32: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

32

Class DiagramClass Diagram

Page 33: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

33

State DiagramState Diagram

Page 34: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

34

Analysis PatternsAnalysis PatternsPattern name:Pattern name: Captures the essence of the pattern. Captures the essence of the pattern.

Intent:Intent: What the pattern accomplishes or represents. What the pattern accomplishes or represents.

Motivation:Motivation: A scenario that illustrates how the pattern solves a problem. A scenario that illustrates how the pattern solves a problem.

Forces and context:Forces and context: External issues (forces) that affect how the pattern is External issues (forces) that affect how the pattern is used, and external issues resolved when the pattern is applied. used, and external issues resolved when the pattern is applied.

Solution:Solution: How the pattern is applied to solve the problem; emphasizes How the pattern is applied to solve the problem; emphasizes structural and behavioral issues.structural and behavioral issues.

ConsequencesConsequences: What happens when the pattern is applied; what trade-: What happens when the pattern is applied; what trade-offs exist during its application.offs exist during its application.

DesignDesign: How the pattern can be achieved via known design patterns.: How the pattern can be achieved via known design patterns.

Known usesKnown uses: Examples of uses within actual systems.: Examples of uses within actual systems.

Related patternsRelated patterns: Patterns related to the named pattern because: Patterns related to the named pattern because

(1)(1) they are commonly used with the named pattern;they are commonly used with the named pattern;

(2)(2) they are structurally similar to the named pattern;they are structurally similar to the named pattern;

(3)(3) they are a variation of the named pattern.they are a variation of the named pattern.

Page 35: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

35

Negotiating RequirementsNegotiating 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”

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”

Page 36: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

36

Validating RequirementsValidating 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?

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?

Page 37: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

37

Example CRG MeetingExample 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.

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.

Page 38: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

38

Example CRG MeetingExample 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.

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.

Page 39: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

39

Example CRG MeetingExample 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, …

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, …

Page 40: 1 Chapter 6 System Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

40

Example CRG MeetingExample 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.

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.