17 January Requirements. The Plan Quick Pass on Software Engineering Just enough context Start with...

21
17 January Requirements

description

Software Engineering Overview What is engineering? Why is software engineering different than other engineering disciplines? Is software engineering different than computer science? programming? How similar or different are software engineering projects?

Transcript of 17 January Requirements. The Plan Quick Pass on Software Engineering Just enough context Start with...

Page 1: 17 January Requirements. The Plan Quick Pass on Software Engineering Just enough context Start with what you need for your first deliverables Back up.

17 January

Requirements

Page 2: 17 January Requirements. The Plan Quick Pass on Software Engineering Just enough context Start with what you need for your first deliverables Back up.

The Plan Quick Pass on Software

Engineering “Just enough” context

Start with what you need for your first deliverables

Back up to more depth and more enterprise-oriented options

Today: toward the functional spec

Page 3: 17 January Requirements. The Plan Quick Pass on Software Engineering Just enough context Start with what you need for your first deliverables Back up.

Software Engineering Overview What is engineering? Why is software engineering different

than other engineering disciplines? Is software engineering different than

computer science? programming?

How similar or different are software engineering projects?

Page 4: 17 January Requirements. The Plan Quick Pass on Software Engineering Just enough context Start with what you need for your first deliverables Back up.

Engineering Turning ideas into reality

Creating something usefulfrom other thingsusing science and math

Page 5: 17 January Requirements. The Plan Quick Pass on Software Engineering Just enough context Start with what you need for your first deliverables Back up.

Software Engineering vs. Other Engineering Disciplines Maturity

Roman aqueducts 2000 years ago Software engineering 50 years ago

Startup costs Barriers to entry

Rate of change

Page 6: 17 January Requirements. The Plan Quick Pass on Software Engineering Just enough context Start with what you need for your first deliverables Back up.

Different Types of Projects Consider 4 different types of systems

COMP 523 projects Productivity suites Commercial web sites Airplane systems Pacemakers

How do they differ in criticality? What does that mean for the

development process?

Page 7: 17 January Requirements. The Plan Quick Pass on Software Engineering Just enough context Start with what you need for your first deliverables Back up.

Software Engineering Fundamental Steps Requirements Design Implementation Integration Test Deployment Maintenance

Page 8: 17 January Requirements. The Plan Quick Pass on Software Engineering Just enough context Start with what you need for your first deliverables Back up.

Requirements Analysis To build something, we first must

understand what it is we’re building

Establish expectations Understandable by both the client

and the developer

Page 9: 17 January Requirements. The Plan Quick Pass on Software Engineering Just enough context Start with what you need for your first deliverables Back up.

Requirements

Page 10: 17 January Requirements. The Plan Quick Pass on Software Engineering Just enough context Start with what you need for your first deliverables Back up.

Why Written Requirements? Unambiguous Defines goals Cost of finding a requirements bug

later can be 100 times more expensive ‘99 weather satellite where used

wrong units (metric vs. feet)

Page 11: 17 January Requirements. The Plan Quick Pass on Software Engineering Just enough context Start with what you need for your first deliverables Back up.

Our Requirements Phase What does the client want to do?

User stories – his (or her) terms Use cases – your terms

Extract the essence: requirements Requirements document as a tool This product should …

Translate to a system: functional spec

Page 12: 17 January Requirements. The Plan Quick Pass on Software Engineering Just enough context Start with what you need for your first deliverables Back up.

Talking to the client Active listening

Restate what you hear How to extract information

Ask them to “tell stories” Focus on the interface: that’s what the

user sees Start the design process with the

customer Draw pictures!

Page 13: 17 January Requirements. The Plan Quick Pass on Software Engineering Just enough context Start with what you need for your first deliverables Back up.

User Requirements Identify the user groups Understand their goals Determine the total user experience How users perform their tasks now

Task and goal descriptions, importance ranking, strategies, measures, and targets

Stories and scenarios describing how they currently perform their tasks

Page 14: 17 January Requirements. The Plan Quick Pass on Software Engineering Just enough context Start with what you need for your first deliverables Back up.

User Requirements - Persona A description of a fictitious user representing a

distinct user group User groups are based on unique goals Each persona represents a unique set of goals for

design Personas help direct the design

Allow designers to focus on people’s needs and differences

Skills, motivations, emotions, behaviors Use each persona as though it were a real person

“What would Jackie do if …”

Page 15: 17 January Requirements. The Plan Quick Pass on Software Engineering Just enough context Start with what you need for your first deliverables Back up.

Persona excerpt from hotel reservation system

Persona: Robert

“Everything had best run like clockwork.” – Robert

Robert – Director of Field Operations Company: Stewart Auto Glass Citizen of Great Britain 45 years old Degrees: BS Industrial Engineering Personal concerns: being responsible and do everything with integrity Corporate concerns: transforming Stewart Auto Glass into a premier auto industry supplier Robert is responsible for all field operations, including glass installation at fourteen auto manufacturer’s plants as well as the over 350 nationwide auto-glass retail outlets owned by Stewart Auto Glass. Robert loves the highly active work environment and the demands of the job. He thrives on rapid-fire situation management, in which he demonstrates his quick analytic ability and decisive management style. Robert travels frequently and expects the same degree of precision, reliability, and integrity from the travel industry as he expects from himself and his own organization. He is a discerning and demanding business traveler. He and his wife are avid golfers and he sometimes combines pleasure with his business duties, but always after all business has been successfully completed. He shoots in the high 70’s, making a point of being very good at whatever he chooses to undertake, in business as well as his personal life.

Page 16: 17 January Requirements. The Plan Quick Pass on Software Engineering Just enough context Start with what you need for your first deliverables Back up.

User Interfaces as a Requirements-Gathering Tools User

Knowledge and experience Age and gender Physical handicaps Characteristics of tasks and jobs Psychological characteristics

Function Menu design: what’s the natural order? Types of controls: what’s the natural

mechanism?

Page 17: 17 January Requirements. The Plan Quick Pass on Software Engineering Just enough context Start with what you need for your first deliverables Back up.

Use Cases

A statement of the functionality users expect and need, organized by functional units

Functional units are any natural division

Relationships between user roles and use cases

User activities, decisions, and objects involved

Page 18: 17 January Requirements. The Plan Quick Pass on Software Engineering Just enough context Start with what you need for your first deliverables Back up.

Documenting Use Cases UML diagrams are often used

Requires tools Will discuss later, not use for now

We will use simple text description Examples from prior years

Butterfly Lab Foreign Language Resource Center

Page 19: 17 January Requirements. The Plan Quick Pass on Software Engineering Just enough context Start with what you need for your first deliverables Back up.

A requirement must be … documented expressed precisely expressed as what, not how prioritized

essential, desirable, optional primary, secondary, tertiary

testable

Page 20: 17 January Requirements. The Plan Quick Pass on Software Engineering Just enough context Start with what you need for your first deliverables Back up.

The set of requirements must be… Consistent

Three requirements: Only basic food staples will be carried Everyone will carry water Basic food staples are flour, butter, salt, and milk

CompleteThe function tells whether 3 numbers produce an equilateral, isosceles, or scalene triangle.

Page 21: 17 January Requirements. The Plan Quick Pass on Software Engineering Just enough context Start with what you need for your first deliverables Back up.

Types of Requirements Functional: services that the application

must provide Performance: speed, capacity, memory Reliability and availability: failure rates Error handling: how to handle Interface: user and program Constraints: systems or tolerances (Inverse requirements: what it won’t

do)