19
22 January Requirements (cont.) Software Engineering Overview

22 January

  • Upload
    amity

  • View
    23

  • Download
    0

Embed Size (px)

DESCRIPTION

22 January. Requirements (cont.) Software Engineering Overview. Team Rules. Handled the simple questions What are your back up plans? How are you going to recognize if someone is behind? Extended absences. Requirement Level. Often addressed in two phases Customer level - PowerPoint PPT Presentation

Citation preview

Page 1: 22 January

22 January

Requirements (cont.)Software Engineering

Overview

Page 2: 22 January

Team Rules

Handled the simple questions What are your back up plans? How are you going to recognize if

someone is behind? Extended absences

Page 3: 22 January

Requirement Level Often addressed in two phases

Customer level Developer level (will visit later)

Once agreement exists with customer, developer “translates” them into his language

Example User must never lose more than 10 minutes of

work Autosaving is required

Page 4: 22 January

Sources of requirements People

Broad range of stakeholders Conflicting requirements Wants and needs Helping the customer articulate the

requirements: use cases Hardware constraints

Laws of physics and nature Social responsibility

Page 5: 22 January

Sources of Requirements: People vs. Other

(Brackett, CMU)

Relatively highRelatively low % of requirements gathered from people

Typ

e of

ap

plic

atio

n

highly constrained

unconstrained

missile guidance system

flight control system for airliner

enhancement to corporate accounting system

manufacturing control system

corporate accounting system

video game

decision support system for military tactics

Page 6: 22 January

What is a Functional Spec? Describes the features of the software

product Describes the product's behavior as

seen by an external observer Contains the technical information and

data needed for the design Defines what the functionality will be,

but not how it will be implemented

Page 7: 22 January

Why a Spec?

Allows you to communicate with your client and users

Easier to change than code Basis for schedule Record of design decisions

Page 8: 22 January

What’s in a Functional Spec?

Overview Use cases (scenarios) Interfaces: anything the USER sees As much as you know

Note: your functional spec witll go through multiple iterations

Page 9: 22 January

Reference (thanks to Shaddi)

Joelonsoftware.com

Page 10: 22 January

Software Engineering

Page 11: 22 January

Expectations of Software Engineering(Watts Humphrey)

1. Predetermine quantitative quality goals

2. Accumulate data for use in later projects

3. Keep all work visible4. Design, program and test only

against requirements5. Measure and achieve quality goals

Page 12: 22 January

Keeping Work Visible: Documentation

What will be implemented Customer: contract, requirements, “glossy” User: manuals

How it will be implemented Project plan

The code The test plan What people will do How you will manage code and documents

Page 13: 22 January

Documentation Principles

Need to reflect changes

Version control Need to keep all documents

synchronized Single owner

Only say it once

Page 14: 22 January

Quality Management Principles Customer focus Leadership Involvement of people Process approach System approach to management Continual improvement Factual approach to decision making Mutually beneficial supplier

relationshipshttp://www.iso.ch/iso/en/iso9000-14000/iso9000/qmp.html

Page 15: 22 January

Customer Focus Organizations depend on customers

Understand needs, requirements, expectations

Increases market share Implies

Market research Customer understanding throughout

the organization Measuring satisfaction

Page 16: 22 January

Involvement of People

Essence of the organization “Buy in” Two way street

Treating people with respect They will take on ownership of

responsibility Encourage a collaborative

environment

Page 17: 22 January

Software Engineering Fundamental Steps

Requirements Design Implementation Integration Test

(elaborated versions to be covered later)

Page 18: 22 January

Processes

Differ by how often you do the steps Points on the spectrum Differences in overhead

Three fundamental models Waterfall Spiral Iterative

Page 19: 22 January

Waterfall Do it once Traditional model Used for large next version releases,

especially when tightly coupled changes Pros

Simple documentation management Clean design phase

Cons Least flexibility No early feedback