20
Real-Time & Embedded Systems Agenda Requirements Lecture (subset of Ch5) (c) Copyright 2012 Dr. Phillip A. LaPlante

Real-Time & Embedded Systemsswen-563/slides/C13_-_Requirements__sub-Ch5_.pdfIEEE 830 suggests that requirements documents should be:

  • Upload
    vannhan

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Real-Time & Embedded Systemsswen-563/slides/C13_-_Requirements__sub-Ch5_.pdfIEEE 830 suggests that requirements documents should be:

Real-Time & Embedded Systems

Agenda

Requirements Lecture (subset of Ch5)

(c) Copyright 2012 Dr. Phillip A. LaPlante

Page 2: Real-Time & Embedded Systemsswen-563/slides/C13_-_Requirements__sub-Ch5_.pdfIEEE 830 suggests that requirements documents should be:

Requirements engineering process

© Copyright 2011 Dr. Phillip A. Laplante 2

PreliminaryStudy

FeasibilityReport

RequirementsElicitation

RequirementsDefinition

DomainModel

RequirementsValidation

Definition ofRequirements

RequirementsSpecification

RequirementsDocument

Adapted from Software Engineering, Sommerville, 2010

Page 3: Real-Time & Embedded Systemsswen-563/slides/C13_-_Requirements__sub-Ch5_.pdfIEEE 830 suggests that requirements documents should be:

Why are Requirements important? Verification of meeting customer

desires/specification

Allows design to be traceable (end-to-end)

Allows transparent testing (i.e. – everyone knows what it should do)

During engineering, it’s easier to understand the why if requirements are written, and well written

Allows easier interfacing when outputs/inputs are better documented

© Copyright 2011 Dr. Phillip A. Laplante 3

Page 4: Real-Time & Embedded Systemsswen-563/slides/C13_-_Requirements__sub-Ch5_.pdfIEEE 830 suggests that requirements documents should be:

Types of requirements Functional

External Interfaces

Performance

Logical database

Design constraints

Software system attributes

© Copyright 2011 Dr. Phillip A. Laplante 4

Page 5: Real-Time & Embedded Systemsswen-563/slides/C13_-_Requirements__sub-Ch5_.pdfIEEE 830 suggests that requirements documents should be:

Functional requirements All system inputs

Exact sequence of operations and responses (outputs) to normal and abnormal situations for every input possibility

May use case-by-case description or other general form of description (e.g. using universal quantification, use cases, user stories)

© Copyright 2011 Dr. Phillip A. Laplante 5

Page 6: Real-Time & Embedded Systemsswen-563/slides/C13_-_Requirements__sub-Ch5_.pdfIEEE 830 suggests that requirements documents should be:

External interface requirements name of item description of purpose source of input or destination of output valid range, accuracy, and/or tolerance units of measure timing relationships to other inputs/outputs screen formats/organization window formats/organization data formats command formats

© Copyright 2011 Dr. Phillip A. Laplante 6

Page 7: Real-Time & Embedded Systemsswen-563/slides/C13_-_Requirements__sub-Ch5_.pdfIEEE 830 suggests that requirements documents should be:

Performance requirements Static and dynamic requirements placed on the

software or on human interaction with the software as a whole .

Might include:

the number of simultaneous users to be supported

the numbers of transactions and tasks the amount of data to be processed within certain time periods for both normal and peak workload conditions

© Copyright 2011 Dr. Phillip A. Laplante 7

Page 8: Real-Time & Embedded Systemsswen-563/slides/C13_-_Requirements__sub-Ch5_.pdfIEEE 830 suggests that requirements documents should be:

Logical database requirements Types of information used by various functions

such as

Frequency of use

Accessing capabilities

Data entities and their relationships

Integrity constraints

Data retention requirements

© Copyright 2011 Dr. Phillip A. Laplante 8

Page 9: Real-Time & Embedded Systemsswen-563/slides/C13_-_Requirements__sub-Ch5_.pdfIEEE 830 suggests that requirements documents should be:

Design constraint requirements Related to :

Standards compliance

Hardware limitations (recall, “where do the deadlines come from?”)

© Copyright 2011 Dr. Phillip A. Laplante 9

Page 10: Real-Time & Embedded Systemsswen-563/slides/C13_-_Requirements__sub-Ch5_.pdfIEEE 830 suggests that requirements documents should be:

Software system attribute requirements

Reliability

Availability

Security

Maintainability

Portability

Just about any other “ility” you can think of

© Copyright 2011 Dr. Phillip A. Laplante 10

Page 11: Real-Time & Embedded Systemsswen-563/slides/C13_-_Requirements__sub-Ch5_.pdfIEEE 830 suggests that requirements documents should be:

11

Why real-time specifications are different

Involve more than one process and often more than one processor and involve specification of timing relationships between processes and processors.

The time selectivity (the “age” of the data) needs to be explicitly defined, and

Start and stop times for process activations must be known and or controlled.

© Copyright 2011 Dr. Phillip A. Laplante

Page 12: Real-Time & Embedded Systemsswen-563/slides/C13_-_Requirements__sub-Ch5_.pdfIEEE 830 suggests that requirements documents should be:

Requirements specification for real-time systems There is no one way to do it. Various ways include:

Top-down process decomposition or structured analysis

Object-oriented approaches

Program description languages (PDL) or pseudo-code

High-level functional specifications that are not further decomposed

Ad hoc techniques, including simply natural language and mathematical description, and are always included in virtually every system specification

© Copyright 2011 Dr. Phillip A. Laplante 12

Page 13: Real-Time & Embedded Systemsswen-563/slides/C13_-_Requirements__sub-Ch5_.pdfIEEE 830 suggests that requirements documents should be:

Organizing the requirements document

IEEE 830

Guidelines for writing requirements

Text structure

Requirements triage

© Copyright 2011 Dr. Phillip A. Laplante 13

Page 14: Real-Time & Embedded Systemsswen-563/slides/C13_-_Requirements__sub-Ch5_.pdfIEEE 830 suggests that requirements documents should be:

IEEE 830-1998 IEEE Standard 830-1998 is the IEEE’s Recommended Practice for

Software Requirements Specifications (SRS), and provides a template of what an SRS should look like.

IEEE 830 suggests that requirements documents should be:

Correct

Unambiguous

Complete

Consistent

Ranked for importance and/or stability

Verifiable

Modifiable

Traceable

© Copyright 2011 Dr. Phillip A. Laplante 14

Page 15: Real-Time & Embedded Systemsswen-563/slides/C13_-_Requirements__sub-Ch5_.pdfIEEE 830 suggests that requirements documents should be:

IEEE 830 Requirements can be organized by:

Functional mode (e.g. nav, attack, diag)

User class (e.g. user, supervisor, diag)

Object (define classes/objects, attributes, functions/methods, messages)

Feature (what the system provides to the user)

Stimulus (e.g. sensor 1, 2,…)

Functional hierarchy (e.g. using SA)

Mixed (combining two or more of the above)

© Copyright 2011 Dr. Phillip A. Laplante 15

Page 16: Real-Time & Embedded Systemsswen-563/slides/C13_-_Requirements__sub-Ch5_.pdfIEEE 830 suggests that requirements documents should be:

IEEE 830 recommended table of contents

© Copyright 2011 Dr. Phillip A. Laplante 16

1. Introduction1.1 Purpose1.2 Scope1.3 Definitions and Acronyms1.4 References1.5 Overview

2. Overall Description2.1 Product Perspective2.2 Product Functions2.3 User Characteristics2.4 Constraints2.5 Assumptions and Dependencies

3. Specific RequirementsAppendicesIndex

Page 17: Real-Time & Embedded Systemsswen-563/slides/C13_-_Requirements__sub-Ch5_.pdfIEEE 830 suggests that requirements documents should be:

Requirements validation and review Validation involves checking the following:

Validity, that is does the system provide the functions which best support the customer’s needs?

Consistency, that is, are there any requirements conflicts?

Completeness, in other words, are all functions required by the customer included?

Realism, or, can the requirements be implemented given available budget and technology?

Verifiability: can the requirements be checked?

© Copyright 2011 Dr. Phillip A. Laplante 17

Page 18: Real-Time & Embedded Systemsswen-563/slides/C13_-_Requirements__sub-Ch5_.pdfIEEE 830 suggests that requirements documents should be:

Requirements validation and review Checking for conformance to the IEEE 830 best practice:

Requirements reviews

Systematic manual analysis of the requirements

Prototyping

Using an executable model of the system to check requirements.

Test-case generation

Developing tests for requirements to check testability

Automated consistency analysis

Checking the consistency of a structured requirements description

© Copyright 2011 Dr. Phillip A. Laplante 18

Page 19: Real-Time & Embedded Systemsswen-563/slides/C13_-_Requirements__sub-Ch5_.pdfIEEE 830 suggests that requirements documents should be:

19

Recommendations and Best Practices Use consistent modeling approaches and

techniques throughout the specification

Use op-down decomposition, Structured Design or Object-Orientation.

Separate operational specification from descriptive • belongs in a software design document, not a

requirements specification

© Copyright 2011 Dr. Phillip A. Laplante

Page 20: Real-Time & Embedded Systemsswen-563/slides/C13_-_Requirements__sub-Ch5_.pdfIEEE 830 suggests that requirements documents should be:

20

Recommendations and Best Practices • Use consistent levels of abstraction within models

and conformance between levels of refinement across models

• Model non-functional requirements as a part of the specification models – in particular timing properties.

• Avoid hardware and software assignment in the specification (this is an aspect of design rather than specification).

© Copyright 2011 Dr. Phillip A. Laplante