cse 403, software engineering lecture 3 requirements

18
CSE 403, Software Engineering Lecture 3 Requirements

Upload: clifton-hutchinson

Post on 18-Jan-2016

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CSE 403, Software Engineering Lecture 3 Requirements

CSE 403, Software EngineeringLecture 3

Requirements

Page 2: CSE 403, Software Engineering Lecture 3 Requirements

Project

Background study of student note taking What do students do with lecture

notes? Develop use cases Get up to speed on dev

environment Write a few throw away apps

Page 3: CSE 403, Software Engineering Lecture 3 Requirements

High level goal

Make sure the right system is built Totally bogus statistic (but still

"true") It costs 57.3 times as much to fix an

error at development time than at specification time

Page 4: CSE 403, Software Engineering Lecture 3 Requirements

Trade off curve

Percent effort devoted to requirements

Project success

Page 5: CSE 403, Software Engineering Lecture 3 Requirements

Role of requirements

Requirement development phase Use of requirements in project

Before requirements sign off

After requirements sign off

Page 6: CSE 403, Software Engineering Lecture 3 Requirements

Documentation

"A key concept is that requirements must be documented"

"It's not a requirement until its written down"

Obvious – but not always followed

Page 7: CSE 403, Software Engineering Lecture 3 Requirements

Requirement types

Business case requirements

User requirements

Functional requirements

Page 8: CSE 403, Software Engineering Lecture 3 Requirements

Business case requirements

"We need a payroll system" "Build an on-line admissions system

integrated with the student database "

"Add a speech UI to MS Word" "Develop a student note

management application to work with ConferenceXP Presenter"

Page 9: CSE 403, Software Engineering Lecture 3 Requirements

User requirements Requirements from the user's point

of view Expressed in the user's language Based on understanding of user's

application Does not define implementation Issue: defining user in mass

market software

Page 10: CSE 403, Software Engineering Lecture 3 Requirements

Methods for expressing requirements Specification lists Data-flow diagrams Entity-relationship diagrams Prototypes Mock ups Use cases Scenarios Personas

Page 11: CSE 403, Software Engineering Lecture 3 Requirements

Challenges of requirements gathering (Kulak, Guiney)

Finding out what users need Documenting users' needs Avoiding premature design

assumptions Resolving conflicting requirements Eliminating redundant requirements Reducing overwhelming volume Traceability

Page 12: CSE 403, Software Engineering Lecture 3 Requirements

Use case methodology A use case describes a sequence

of interactions between a system and an external actor that results in the actor accomplishing a task that provides benefit to someone.

Buzzwords User-centric Task-centric

Page 13: CSE 403, Software Engineering Lecture 3 Requirements

Scenarios

A single path through a use case Presenter

Lecture delivery use case Slide lecture scenario Whiteboard lecture scenario

Page 14: CSE 403, Software Engineering Lecture 3 Requirements

Use case

Overview of interactions Text details Example

Authenticate User Actors: User, Unauthorized user Summary: Users request entry to the

system, valid credentials allow access

Page 15: CSE 403, Software Engineering Lecture 3 Requirements

Use case traps to avoid Too many use cases

Each use case should tell a story about a way a user would interact with the system to a achieve a particular goal

Duplication across cases Including UI Design or data

definitions Attempting to associate every

requirement with a use case

Page 16: CSE 403, Software Engineering Lecture 3 Requirements

Restaurant Reservation System

Support assignment of patrons to tables

Customer Restaurant in a large chain Willing to invest resources for a

system that could be deployed widely

Page 17: CSE 403, Software Engineering Lecture 3 Requirements

Develop use cases for reservation system

What are the use cases?

Page 18: CSE 403, Software Engineering Lecture 3 Requirements

Candidate use cases

Customer makes remote reservation

Customer arrives at restaurant Staff seats customer Staff updates seating chart