You are on page 1of 22

CS 501: Software Engineering Fall 2000

Lecture 5
(a) Documentation (b) Requirements Analysis

Nomadic Computing Experiment


RECITATION SESSION, MONDAY SEPTEMBER 11 Dell laptops with wireless cards available for CS 501 projects 3 or 4 laptops per project 1 or 2 additional wireless cards per project surveys at beginning and end of project

Each project as part of the Feasibility Study and Plan must identify which students will take responsibility for the equipment. 2

Assignments

September 13 October 4 October 16 November 8 Nov 29 - Dec 1 Exam week

Feasibility and plan Group RequirementsGroup/individual Midterm exam Individual Design Group/individual Project presentations Group Final examination Individual

Details are subject to change.

Assignment 1
Wednesday, September 13: Project plan due -- report. Title of project Client/customer Team members Outline description Current status (e.g., previous work) Plan (e.g., major stages, assignment to tasks, technical environment, schedule, etc.) Any other relevant information

Projects
Teams that are planning to carry out the Internet Butler project, please meet with me after the lecture.

Documentation
Reasons for documentation: visibility (e.g., project plan, interim report) user support (e.g., user manual) team communication (e.g., interface specifications) maintenance and evolution (e.g., requirements)
Characteristics of documentation: accurate and kept current appropriate for audience maintained online (usually) simple but professional in style and appearance

6 Documentation is expensive --> Quality not volume

Form of Documentation

External Printed Web site Internal Program documentation

Program context (e.g., copyright notices)

Requirements Definition and Analysis


Requirements Definition
System and Software design Programming and Unit Testing Integration and System Testing Operation and Maintenance

The Requirements Process


Feasibility Study Requirements Analysis Requirements Definition Feasibility Report System Models Definition of Requirements Requirements Specification

Requirements Document

Specification of Requirements

Requirements Analysis
1. Understand the requirements in depth: Domain understanding Examples: Tote Investors, Philips light bulbs Stakeholders Example: Andrew project

10

Viewpoint Analysis
Example: University Admissions System
Applicants University administration Admissions office Financial aid office Special offices (e.g., athletics, development) Computing staff Operations Software development and maintenance

11

Academic departments

Interviews with Clients


Clients may have only a vague concept of requirements. Prepare before you meet with them Keep full notes If you don't understand, delve further Small group meetings are often most effective

Clients often confuse the current system with the underlying requirement. 12

Requirements Analysis

2. Organize the requirements: Classification into coherent clusters (e.g., legal requirements) Recognize and resolve conflicts (e.g., functionality v. cost v. timeliness) Example: Dartmouth general ledger system

13

Requirements Analysis

3. Model the requirements: Informal Prose Systematic Procedural models

Data-centric models
Object models Formal models

14

Procedural Models: Flowchart

Operation Decision Manual operation

Report 15

Flowchart: University Admissions

Form received

New?

Update database

Complete? T

T
Database record Notify student

F Notify student

Evaluate

16

Procedural Models: Pseudo-code


Example: Check project project plan
check_plan (report) if report (date_time) > due_date_time then error (too_late) if report (client) = none then error (no_client) if report (team) < min_team or > max_team then error (bad_team) if error() = none then comments = read_report (report) return (comments (text), comments (grade)) else return error()

17

Data-Flow Models

External entities Processing steps Data stores or sources Data flows

18

Example: University Admissions

Rejection Application Completed form Receive application Evaluate application Applicant Offer

19

Example: University Admissions Assemble Application Stage


Acknowledgment Application form Applicant Acknowledgment
AND

Receive

Completed application

Initiate evaluation

Evaluation request

AND

Supporting information
Pending database Applicant database

20

Example: University Admissions Process Completed Application Stage


Rejection Evaluation request Evaluation Special request Applicant database

Acceptance

Financial aid

Offer

21

Requirements Analysis v. System Design

Dilemma. Requirements analysis should make minimal assumptions about the system design. But the requirements definition must be consistent with computing technology and the resources available. In practice, analysis and design are interwoven. However, do not to allow the analysis tools to prejudge the system design.

22

You might also like