22
Requirements 101 CS3300 Fall 2015

Requirements 101 CS3300 Fall 2015. Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

Embed Size (px)

Citation preview

Page 1: Requirements 101 CS3300 Fall 2015. Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

Requirements 101

CS3300Fall 2015

Page 2: Requirements 101 CS3300 Fall 2015. Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

Requirements Discipline

Elicitation Analysis Specification Validation Control Traceability

Page 3: Requirements 101 CS3300 Fall 2015. Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

Definition

A property or behavior that a software system must have to solve a particular problem.

Functional and Non-Functional Requirements

Characteristics:

Correct, Complete, Unambiguous, Testable, Consistent

Page 4: Requirements 101 CS3300 Fall 2015. Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

Most Important Idea

Requirements are what

the system has to doNOT how it will do it.

Page 5: Requirements 101 CS3300 Fall 2015. Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

Key words

Shall, Must – some the system is required to do

Should – a preferred but optional feature May – a nice to have feature

You have to do all the “shalls”. The more of the “shoulds” that you can do, the more happiness you give the customer. “Mays” usually are customer suggestions, but you don't have to follow them.

Page 6: Requirements 101 CS3300 Fall 2015. Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

Quality Function Deployment Ideas

Normal Requirements – objectives stated by customer

Expected Requirements – implicit to the product (ease of use, ease of installation)

Exciting Requirements – exceeding the customer expectations

Page 7: Requirements 101 CS3300 Fall 2015. Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

Some Examples, are they good or bad?

4.1.3 The software shall be easy to use.

3.1.1.2 The quarterly report view shall show the total sales for the quarter in a prominent place.

3.3.2.1 User login shall be accomplished in no more than 1 second.

Page 8: Requirements 101 CS3300 Fall 2015. Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

More Examples

3.2.1.4 The software shall enforce a user id format of 4-8 characters, one of which must be a letter, at least one must be a symbol and at least one must be a digit.

3.2.1.5 Each user id must be unique.

3.5.4.1.1.1 The report shall display information such as name, ssn, and amount due.

Page 9: Requirements 101 CS3300 Fall 2015. Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

Your turn

Write one good requirement for t-square.

There is a piazza thread for you to enter.

Page 10: Requirements 101 CS3300 Fall 2015. Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

Non-Functional Requirements

Performance (Are there constraints on speed, memory usage, etc)

Reliability (Mean Time Between Failure) Availability (What is required up time?) Portability (What platforms does this have to

run on?) Interoperability (What other systems do you

need to play nice with?) Accuracy (What precision does data need?)

Page 11: Requirements 101 CS3300 Fall 2015. Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

More NFR's

Maintainability (Special constraints on operating the system)

Extensibility (Run time modification of the system – like Eclipse plug-in system)

Expandability (Add new features, hooks and design)

Safety (Fault tolerance and hazard analysis) Security (threat models and analysis) (

http://www.sans.org/top25-software-errors/ )

Page 12: Requirements 101 CS3300 Fall 2015. Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

Big Problem

Getting good requirements is HARD Thus was invented numerous techniques

beyond the basic interview / survey / observation / document review

Conflict resolution is also a major issue Identifying hidden affordances and work

processes

Page 13: Requirements 101 CS3300 Fall 2015. Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

Techniques

Joint Applications Development (IBM 77-84) Contextual Design (Holtzblatt and Beyer 98) Win Win (Boehm 98)

Page 14: Requirements 101 CS3300 Fall 2015. Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

JAD Capers Jones states, "A study of over 60 projects ... showed

that those projects that did not use JAD missed up to 35% of required functionality resulting in the need for up to 50% more code." The Capers Jones study determined that projects that used JAD missed only 5 percent to 10 percent of required functionality with minimal impact on the code.

·David Freedman states, "How do you design a system that users really want? ... You can't. What you can do is help users design the systems they want."

·"The successful use of JAD has pushed its use beyond traditional applications of the process. JAD is being used successfully for strategic systems and data planning, as well as for projects outside the IS community."—General Electric

Page 15: Requirements 101 CS3300 Fall 2015. Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

Contextual Design Assumptions

Challenge of design is to fit system into everyday life – be non-intrusive

Social aspects are as important as technical aspects

Systems impose a model of work on the users

Good design = optimal match between user's desired way of doing work and the model imposed by the system.

Design depends on seeing implications of data

System is more important than individual features

Page 16: Requirements 101 CS3300 Fall 2015. Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

Design Models

Flow Diagram – Communication and Coordination necessary to do the work

Sequence Model – Detailed work steps to achieve an intent

Artifact Model – Physical things created to support work

Cultural Model – Constraints on work due to policy, culture or values

Physical Model – Physical structure of the work environment and it affects the work.

Consolidated Models

All the above plus

Affinity Diagram – Pull key concepts out of other models, group together by similarity

Page 17: Requirements 101 CS3300 Fall 2015. Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

Theories of Management

Theory X – Employees are basically lazy, require close supervision

Theory Y – Employees want to do the right thing, managers just have to provide environment, can cause conflicts

Theory Z – Increase loyalty by providing stable enviroment, focus on employee well-being, build shared values to reduce conflict

Page 18: Requirements 101 CS3300 Fall 2015. Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

Win Win

Theory W – figure out win conditions of employees and meet them.

What are the win conditions of stakeholders? How can we make everyone win? Boehm Paper in readings Resolve conflicts

Page 19: Requirements 101 CS3300 Fall 2015. Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

Specification

The SDS - oriented to the users

The SRS – oriented to the developers

See format in resources

Page 20: Requirements 101 CS3300 Fall 2015. Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

ValidationRequirements Review

Prototype

Use Case Walkthrough

Acceptance Tests

Model Validation

Page 21: Requirements 101 CS3300 Fall 2015. Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

ControlGold-Plating

Feature Creep

Bad –

Just code the changes, add scenarios as you discover them

Good –

Add them to product backlog

http://www.stevemcconnell.com/rdenum.htm

28-32

Page 22: Requirements 101 CS3300 Fall 2015. Requirements Discipline Elicitation Analysis Specification Validation Control Traceability

Traceability

Every requirement is identified (usually with a unique paragraph number like 3.1.4.3)

Every requirement has a traceable source (where it came from).