text layout

32
1 Text Layout Introduction (1-4) Team Skill 1 – Analyzing the problem (5-7) Team Skill 2 – Understanding User and Stakeholder Needs (8-13) Team Skill 3 – Defining the System (14-17) Team Skill 4 – Managing Scope (18-19) Team Skill 5 – Refining the System Definition ( 20-24) Team Skill 6 – Building the Right System (25-31)

Upload: carnig

Post on 18-Mar-2016

44 views

Category:

Documents


0 download

DESCRIPTION

Text Layout. Introduction (1-4) Team Skill 1 – Analyzing the problem (5-7) Team Skill 2 – Understanding User and Stakeholder Needs (8-13) Team Skill 3 – Defining the System (14-17) Team Skill 4 – Managing Scope (18-19) Team Skill 5 – Refining the System Definition ( 20-24) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Text Layout

1

Text Layout Introduction (1-4) Team Skill 1 – Analyzing the problem (5-7) Team Skill 2 – Understanding User and Stakeholder

Needs (8-13) Team Skill 3 – Defining the System (14-17) Team Skill 4 – Managing Scope (18-19) Team Skill 5 – Refining the System Definition ( 20-24) Team Skill 6 – Building the Right System (25-31)

Page 2: Text Layout

2

Software Requirements – A More Rigorous Look

Chapter 20

Page 3: Text Layout

3

Five Major Classes of Things Inputs to the system

Contents of the inputs Details of input devices

Outputs from the system Description of output devices Protocol and formats of information generated by the system

Functions of the system Mapping inputs to outputs and combinations

Attributes of the system Typical non-behavioral requirements (ilities)

Attributes of the system environment Ability to operate with other systems

Page 4: Text Layout

4

Looking Deeper into Software Requirements Relationship between requirements and use cases

Use cases are just one way to express software requirements Relationship between features and requirements

Direct relationship and requirements are more specific than features

What versus How Requirements tell us what the system must do Requirements should not tell how or contain any unnecessary

design Exclude project information

Project information (schedule, CM plans, budgets, etc. ) are managed differently and should not be part of the requirements

Page 5: Text Layout

5

Iterating Requirements and Design Requirements discovery, definition, and design decision

are circular

Current requirements cause us to consider selecting certain design options,

Selected design options may initiate new requirements

and

Page 6: Text Layout

6

Three Types of Requirements Functional

Express how the system behaves Inputs, outputs, and functions it provides to its users Captured in use cases

Nonfunctional Attributes of the system or system environment “ilities”

Design constraints Impose limits on the design of the system Definition: restrictions on the design of a system, or the process

by which a system is developed, that do not affect that external behavior of the system but that must be fulfilled to meet technical, business, or contractual obligations

Page 7: Text Layout

7

Key Points A complete set of requirements can be determined by

defining the inputs, outputs, functions, and attributes of the system plus the attributes of the system environment

Requirements should exclude project-related information, such as schedules, project plans, budgets, and tests, as well as design information

The requirements/design process is iterative; requirements lead to the selection of certain design options, which in turn may initiate new requirements

Design constraints are restrictions on the design of the system or on the process by which a system is developed

Page 8: Text Layout

8

Refining the Use CasesChapter 21

Page 9: Text Layout

9

Anatomy of a Use Case Review actors

Identify not only the initiating actors but those impacted as well Review the name

No two use cases can have the same name The use case should begin with an action verb

Refine description Make any adjustment based on the actors or name updates

Refine flow of events Look for other alternate paths and error conditions

Identify pre- and post-conditions These conditions should be one that the users can observe

Page 10: Text Layout

10

Extending Use Cases Used to add functionality for a later release Simplifies maintenance of the use case and allows the

team to focus on the extension Extension points can be provided in the base use case

to map functionality The extended use case can represent optional behavior

Control Light

Update Display Indicator

«extends»If some of the HOLIS systems included an optional “light bar” indicator on the Control Switch, then an extended use case could extend the behavior of the base Control Light use case

Page 11: Text Layout

11

Including Use Cases Used with patterns of user and system behavior reoccur

in a variety of places Reduces maintenance, when a change occurs, it only

needs to be documented in the included use case and not all the places the

Common behavior takes place

Page 12: Text Layout

12

Key Points To support development and testing activities, the use

cases defined earlier in the project must be more fully elaborated

The use-case model is reviewed and will often be refactored as well

A well-elaborated use case also defines all alternative flows, pre- and post-conditions, and special requirements

The additional use-case relationships extend and include help the team structure and maintain the use-case model

Page 13: Text Layout

13

Developing the Supplementary SpecificationChapter 22

Page 14: Text Layout

14

Nonfunctional Requirements Usability – ease of use

Specify the required training time for a use to become minimally productive

Specify measurable task time for typical tasks or transactions Time to place a typical order

Compare usability to another commonly known system “The system shall be judged by 90% of the users to be at least as

usable as the existing XYZ system” Specify required features of online help systems, tool tips,

context-sensitive help, etc. Follow conventions and standards that have been developed for

human-to-machine interface IBM’s Common User Access (CUA) standards

Page 15: Text Layout

15

Nonfunctional Requirements Reliability

Availability – System must be available X.XXX% between hours of 7am and midnight.

Mean time between failures (MTFB) – usually specified in hours Mean time to repair (MTTR) – how long system can be out of

operation after a failure Accuracy – what precision is required in numerical outputs Maximum bugs, or defect rate – bugs/KLOC Bugs per type – usually categorized in terms of minor,

significant, and critical

Page 16: Text Layout

16

Nonfunctional Requirements Performance

Response time for a transaction Throughput: transactions per second Capacity: number of customers or transactions the system can

handle Degradation modes: the acceptable mode of operations when

the system has been degraded Memory, storage and bandwidth

Page 17: Text Layout

17

Nonfunctional Requirements Supportability

Ability of the software to be easily modified to accommodate enhancements and repairs

Could stipulate response time of the maintenance group from simple enhancements, moderate enhancements, and complex enhancements

Where a system is known to have future modifications…how fast these modification can be made

This could get into design constraints and start to require a DBMS or programming styles and standards like run-time binding

Page 18: Text Layout

18

Design Constraints Three sources

Restriction of design options Conditions imposed on the development process Regulations and imposed standards

Handling design constraints Distinguish them from other requirements, use a tag Include all design constraints in a special section of the

requirements document Identify the source of each design constraint Document the rationale of each design constraint

Page 19: Text Layout

19

Linking the Supplementary Specification to the Use Cases

Define certain classes of nonfunctional requirements, then link each class to a use case

For example: classes of response time may be Class 1: 0 to 250 millisecs Class 2: 251 to 499 milisecs Class 3: 0.5 to 2 secs Class 4: 2.1 to 12 secs Class 5: 12.1 secs to 60 mins

Use Case A might record Class 2 for main flow events and Class 4 for all exceptions

While Use Case B might record Class 5

Page 20: Text Layout

20

Supplementary Specification Template Page 268 of text

Page 21: Text Layout

21

On Ambiguity and SpecificityChapter 23

Page 22: Text Layout

22

Light Box Exercise

On Off

Power

Count

Even Odd

Features• Microprocessor

Controlled• Keeps track of whether

count button has been pressed an even or odd number of times

• Burned-out-bulb detector flashes remaining bulb

Requirements• After On pushed but before Off pushed, system is termed

“powered on”• After Off pushed but before On pushed, system is termed

“powered off”, and no lights shall be lit• Since most recent On press, if Count has been pressed an

odd number of times, Odd shall be lit• Since most recent On press, if Count has been pressed an

even number of times, Even shall be lit• If either light burns out, the other light shall flash every 1 sec

Page 23: Text Layout

23

Light Box Exercise

Off

Off

On

On

0 1 2 3 4 5 6

Duty Cycle A

Duty Cycle B

Which duty cycle does the requirement want?

Page 24: Text Layout

24

Key Points

The requirements “sweet spot” is the balance point of the greatest amount of understandability and the least amount of ambiguity

A learned skill, finding the sweet spot will depend on the team members’ abilities, the application context, and the level of certainty you must provide so that your system works as intended

If the risk of misunderstanding is unacceptable, more formal requirements techniques may need to be applied

Always include a glossary

Page 25: Text Layout

25

Technical Methods for Specifying Requirements

Chapter 24

Page 26: Text Layout

26

Pseudocode A “quasi” programming language A combination of the informality of natural language with

the strict syntax and control structure of a programming language

Should be possible for a nonprogramming person to understand

The algorithm for calculating deferred-service revenue earned for any month is:

Set SUM(X)=0FOR each customer X

IF customer purchased paid supportAND ((Current month) >= (2 months after ship date))AND ((Current month) <= (14 months after ship date))

THEN Sum(X)=Sum(X) + (amount customer paid)/12END

Page 27: Text Layout

27

Finite State Machines State transition diagram

Even lit

Odd lit Odd lit/LOUT

Even lit/LOUT

Off

Light burned out

Light burned out

Count Count 1 sec 1 sec

off

offoff

off

on

Page 28: Text Layout

28

Finite State Machines

State On Press

Off Press

Count Press

Bulb Burns Out

Every Second

Output

Off Even lit

LO/Odd lit

LO/Even lit

Both off

Even lit Off Odd lit LO/Even lit

Even lit

Odd lit Off Even lit LO/Odd lit Odd lit

Light outEven lit

Off Off Even lit

Light outOdd lit

Off Off Odd lit

Page 29: Text Layout

29

Decision Tree for HOLIS Emergency Sequence

Has emergency sequence occurred?

Is remote notification enabled?

Initiate emergency message

Did remote security respond?

Do nothing

Activate siren

Activate siren

Do nothing

Is local alarm

enabled?

Do nothing

Yes

Yes

Yes

Yes

No

No

No

No

Page 30: Text Layout

30

Activity Diagrams

Get req ref from doc

Get text ref from doc

Remove req from DB

Remove req from Doc

[no more]

[more]

[empty][not empty]

Activity diagrams are a nuisance to keep up-to-date

Page 31: Text Layout

31

Entity-Relationship Model Description of the structure and relationships among

data within the system Provides a high-level architectural view of the data Must take time to learn the notation – a disadvantage Example on page 285

Page 32: Text Layout

32

Key Points

Technical methods for specifying requirements are appropriate when the requirement description is too complex for natural language or if you cannot afford to have the specification misunderstood

Technical methods include pseudocode, finite state machines, decision trees, activity diagrams, entity-relationship models, and many others