soft 423: software...

74
SOFT 423: Software Requirements Week 5 Class 2 Writing Requirements and Modeling Techniques SOFT 423 – Winter 2015 1

Upload: others

Post on 12-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

SOFT 423: Software Requirements

Week 5 Class 2

Writing Requirements and Modeling Techniques

SOFT 423 – Winter 2015 1

Page 2: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Last Class

•Personas

•Interactive Systems

SOFT 423 – Winter 2015 2

Page 3: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

This Class

•Writing Requirements

•Requirements Language

•Revisit Requirements Documents

•Modeling Techniques

SOFT 423 – Winter 2015 3

Page 4: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Document Users – Who Reads?

•System Customers

•Project Managers

•System Engineers

•System testers

•System maintainers

SOFT 423 – Winter 2015 4

Page 5: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Writing Requirements

•In general, requirements cannot be modeled•But why have we been studying models?

•Requirements are mainly text-based•Natural Language understanding

SOFT 423 – Winter 2015 5

Page 6: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Writing Requirements

•Common Problems•complex conditions are confusing

• if A then if B then if C• tab A goes in slot B

•sloppy terminology• inconsistent terminology (signal/wait)•domain knowledge is assumed (RA/dec)

SOFT 423 – Winter 2015 6

Page 7: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Writing Requirements

•Read more often than written•big payoff for wordsmithing

•Readers come from diverse background•use different terminology•different background knowledge

SOFT 423 – Winter 2015 7

Page 8: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Writing Requirements

•Leave time for multiple revisions•publishing books and papers requires several revisions with the referees and/or editors, requirements are no different

SOFT 423 – Winter 2015 8

Page 9: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Writing Requirements

•Requirements must be kept separate•Single sentence where possible

•Use present tense to state requirements

•Factor out detail•don’t remove detail, combine into lists

SOFT 423 – Winter 2015 9

Page 10: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Some Guidelines [Sommerville & Sawyer 97]

•Define standard templates

•Use language simply, consistently and concisely

•Use diagrams appropriately•no complex diagrams•broad overviews

SOFT 423 – Winter 2015 10

Page 11: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Some Guidelines [Sommerville & Sawyer 97]

•Supplement natural language with other descriptions (i.e. equations)

•Specify requirements quantitatively

SOFT 423 – Winter 2015 11

Page 12: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Quantification Exercise

•Suggest methods to quantify the following requirements.

SOFT 423 – Winter 2015 12

Page 13: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Writing Requirements

•The library system shall be easy to use

SOFT 423 – Winter 2015 13

Page 14: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Writing Requirements

•The library system shall be easy to use

•It should be possible to train end-users of the system in a 15 minute session

SOFT 423 – Winter 2015 14

Page 15: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Writing Requirements

•The library system provide reliable service to all classes of users

SOFT 423 – Winter 2015 15

Page 16: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Writing Requirements

•The library system provide reliable service to all classes of users

•rate of failures less than 1 in 1000

SOFT 423 – Winter 2015 16

Page 17: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Writing Requirements

•The library system shall provide a rapid response to all user requests

SOFT 423 – Winter 2015 17

Page 18: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Writing Requirements

•The library system shall provide a rapid response to all user requests

•average system response time < 4 secs

SOFT 423 – Winter 2015 18

Page 19: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Some Guidelines [Easterbrook 2002]

•Requirements are optative•Optative mood is a volitive mood that signals wishing or hoping

SOFT 423 – Winter 2015 19

Page 20: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Some Guidelines [Easterbrook 2002]

•Traditionally, requirements contain the word ‘shall’•contractually ‘will’ means optional!!

• ‘should’ is often code for ‘we can ignore this’

•distinction is subtle

SOFT 423 – Winter 2015 20

Page 21: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Some Guidelines [Easterbrook 2002]

•Bray dislikes modal verbs•difference between in house requirements and formal contractual requirements

SOFT 423 – Winter 2015 21

Page 22: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Some Guidelines [Easterbrook 2002]

•Verb moods•Indicative: asserts a fact (you type)•Interrogative: question (are you typing?)•Imperative: command (type!)•Subjunctive: possibility (I might type)•Optative: a wish (Had I the means, I would do it)

SOFT 423 – Winter 2015 22

Page 23: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Some Guidelines [Easterbrook 2002]

•For Requirements•use indicative mood for domain properties•use optative mood for requirements•do not mix moods in the same description•moods change as development progresses

SOFT 423 – Winter 2015 23

Page 24: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Requirements Document [Bray 02]

•Primary Purpose•convey necessary information about problem domain and client’s requirementsfrom the client to the designers of the solution system

SOFT 423 – Winter 2015 24

Page 25: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Requirements Document [Bray 02]

•Characteristics• low ambiguity•validatable•well organized•modifiable•complete•consistent

SOFT 423 – Winter 2015 25

Page 26: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Requirements Documents

•We have already discussed IEEE standard•tends to mix problem domain descriptions and requirements•also mixes specification of solution system

•Bray suggests a different structure•explicit separation of problem domain elements from requirement elements•Problem Frames assist in the separation

SOFT 423 – Winter 2015 26

Page 27: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Bray’s Requirements Document

SOFT 423 – Winter 2015 27

Page 28: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Structure

•Document Details

•Problem Domain Description

•Requirements

•Data Dictionary

•References

•Index

SOFT 423 – Winter 2015 28

Page 29: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Document Details

•similar to IEEE Section 1•title, authors•documentation conventions/standards•version•change authority•change history•content (i.e. overview of rest of document)

SOFT 423 – Winter 2015 29

Page 30: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Problem Domain Description Overview

•summary and context

•brief overview of problem domain•should also break down into subdomains

•brief description of the project

•executive Summary

SOFT 423 – Winter 2015 30

Page 31: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Requirements

•the real meat of the document

•broken down into categories:•Functional•Performance•Design Constraints

SOFT 423 – Winter 2015 31

Page 32: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Data Dictionary

•reuse of term – be careful

•more general than SA Data Dictionary

•description of Data Items and Relationships

SOFT 423 – Winter 2015 32

Page 33: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

References

•elicitation notes

•stat requirements

•specifications

•target hardware

•quality assurance

•docs of pre-existing system

•development procedures

SOFT 423 – Winter 2015 33

Page 34: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Modeling Techniques - Revisited

SOFT 423 – Winter 2015 34

Page 35: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Modeling Techniques

•Before we discuss the specification document, we will look at modeling•used for elicitation, requirements and specification

SOFT 423 – Winter 2015 35

Page 36: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Modeling Techniques

•Have to be careful that the Modeling does not impose constraints on the design of the solution system •external design of the system

SOFT 423 – Winter 2015 36

Page 37: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Modeling Techniques

•We’ve already discussed several Modeling techniques:•data flow diagrams•data dictionaries•ER models•OOA diagrams

SOFT 423 – Winter 2015 37

Page 38: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Classes of Models

•Representational Modeling

•Behavioural Modeling

•Structural Modeling

SOFT 423 – Winter 2015 38

Page 39: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Classes of Models

•Representational Modeling•model appearance of the system•can be text•diagrams•animation

SOFT 423 – Winter 2015 39

Page 40: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Classes of Models

•Behavioural Modeling•relationship of system inputs and outputs•some model of system state (memory)

SOFT 423 – Winter 2015 40

Page 41: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Classes of Models

•Structural Models• less relevant, but sometimes necessary•system is modeled as components that are interconnected in some way•DFDs•We won’t cover in any more detail

SOFT 423 – Winter 2015 41

Page 42: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Representational Modeling

SOFT 423 – Winter 2015 42

Page 43: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Representational Modeling

•Two types:•Static Representational Modeling•Dynamic Representational Modeling

SOFT 423 – Winter 2015 43

Page 44: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Static Representational Modeling

•simple, but effective

•often screen shots

•screen planning sheets

•can also be representations of different I/O devices such as elevator indicators, turn signals in mirrors

SOFT 423 – Winter 2015 44

Page 45: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Static Representational Modeling

•Paper Prototype•draw the system on a piece of paper•major screens, menus, dialogs, wizards•extension of the back of envelope technique•cheap and effective technique both for specification and for elicitation

SOFT 423 – Winter 2015 45

Page 46: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Static Representational Modeling

•Story Boards•Extension of paper prototype to time dimension•Based on movie story boards•Cartoon style sequences•Hits high points, leaves out unimportant details•still static

SOFT 423 – Winter 2015 46

Page 47: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Static Representational Modeling

SOFT 423 – Winter 2015 47

Page 48: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Static Representational Modeling

SOFT 423 – Winter 2015 48

Page 49: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Static Representational Modeling

•What it is good for:•concepts and terminology: do target users understand terminology?•navigation and workflow•content, layout, interface functionality

SOFT 423 – Winter 2015 49

Page 50: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Static Representational Modeling

•What it isn’t good for•Technical feasibility•response time

SOFT 423 – Winter 2015 50

Page 51: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Dynamic Representational Modeling

•Operational Prototype•Iteration implied, not just user interfaces•Results of transformation system too

SOFT 423 – Winter 2015 51

Page 52: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Dynamic Representational Modeling

•Exploratory Prototype•Throwaway

SOFT 423 – Winter 2015 52

Page 53: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Dynamic Representational Modeling

•Definitive Prototype•Becomes part of definition of required behaviour

SOFT 423 – Winter 2015 53

Page 54: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Dynamic Representational Modeling

•Structural Prototype•Possible design solutions•Evaluate performance, feasibility

SOFT 423 – Winter 2015 54

Page 55: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Dynamic Representational Modeling

•Evolutionary Prototype•prototype becomes the product•start with interface and fill in functionality•relevance to requirements?

SOFT 423 – Winter 2015 55

Page 56: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Building Prototypes

•Prototypes can also be subparts of the system•some of the other models we will be talking about can be executed and can serve the role of a prototype•can be animated

• example, simulation of finite state machine

•no longer really representational Modeling, now about functional Modeling

SOFT 423 – Winter 2015 56

Page 57: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Building Prototypes

•Prototype may have no UI.

•May be a structural prototype of some middle component to ensure that the elements of elicitation are feasible with a given technology

SOFT 423 – Winter 2015 57

Page 58: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Prototype Issues

•Training Costs•developers (experience building prototypes)• how to focus on what is important rather than what

needs to be explored.

•users to use the prototype

SOFT 423 – Winter 2015 58

Page 59: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Prototype Issues

•User Expectation Management•prototypes are almost always incomplete

• is that all?

•prototypes do not include most of the business logic including multiple tiers and delays• real system will be slower

SOFT 423 – Winter 2015 59

Page 60: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Prototype Issues

•Evaluation (UI issues)•Solitary/Supervised

• exploratory prototypes almost always supervised

•Questionnaire/Interview (both?)

SOFT 423 – Winter 2015 60

Page 61: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Behavioural Modeling

SOFT 423 – Winter 2015 61

Page 62: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Behavioural Modeling

•Not about appearance of system

•Some abstraction of the behaviour of the system•many different models:

• function statements, task analysis, use-cases, decision tables, finite state machines (several types), petri-charts

• informal, semi-formal, formal

SOFT 423 – Winter 2015 62

Page 63: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Function Statements

•Text•describe causal relationship between input, system state, and output

SOFT 423 – Winter 2015 63

Page 64: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Functional Decomposition

•functionality is broken down into lower level detail•top down methodology•Also used as normal design technique, but we focus on it’s use in specifying behaviour•functional breakdown as apparent to the user• adding invisible details implies premature design

• limited use for analysis, good for specification

SOFT 423 – Winter 2015 64

Page 65: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Function Decomposition Example

•Student adding a course, top level•The registration system will allow a student to add a course to their program

SOFT 423 – Winter 2015 65

Page 66: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Function Decomposition Example

•First Level•1 The student logs into the registration system•2 The student selects add course from the menu•3 The student selects the course to add

SOFT 423 – Winter 2015 66

Page 67: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Function Decomposition Example

•Second Level•1.1 the student enters the student number•1.2 the student enters the password•1.3 the number and password is validated•1.4 if the number and password is incorrect, return to login page with error

SOFT 423 – Winter 2015 67

Page 68: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Functional Decomposition Example

•Important things to note:•discussion of how the number and password

is validated is not discussed•not visible to the outside world•point 3 may say that only valid courses are

offered to the student to select, or that the student enters a course code, but how the system determines that the course is valid is not discussed•what a valid course would be would be

specified in another requirement

SOFT 423 – Winter 2015 68

Page 69: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Hierarchical Task Analysis

•Human Task Performance•part of HCI•used to analyze behaviour of experts (part of task observation in elicitation)•used to guide specification and document behaviour

SOFT 423 – Winter 2015 69

Page 70: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Hierarchical Task Analysis

•Starts with goal that someone wants to achieve•tasks are higher order mechanisms by which goals are achieved•goals may be structured as hierarchy

• break goals into subgoals

• tasks for subgoals

SOFT 423 – Winter 2015 70

Page 71: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Class Summary

Page 72: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Writing Requirements

•Who reads them?

•Text-based over models•models supplement

•Document formats•IEEE vs Bray

•Language•‘shall’ not ‘will’ or ‘should’

SOFT 423 – Winter 2015 72

Page 73: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Modeling Techniques – Revisited

•Used to supplement requirements•Classes of Models•Representational

• Static• Paper prototyping, storyboards

• Dynamic• Prototyping (operational, exploratory, definitive, structural,

evolutionary)

•Behavioural• function statements, hierarchical task analysis

•Structural

Page 74: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/uploads/sites/8/2014… · SOFT 423 –Winter 2015 1. Last Class •Personas •Interactive Systems SOFT

Next Class

•Formal Methods•Finite State Machines•State Transition Diagram•State Transition Matrices

SOFT 423 – Winter 2015 74