Lecture 08 Software Planning and Management

advertisement
CS3773
Software Engineering
Lecture 8
Software Planning and Estimation
Software Management
Software engineering is a managed process

–
People management
–
Software cost estimation
–
Quality management
–
Configuration management
Software management activities may include

2
–
Proposal writing
–
Software planning
–
Project monitoring
–
Personnel selection and evaluation
UTSA CS3773
Software Planning




3
Effective software management depends on thoroughly
planning the progress of the project
Project planning identifies the activities, milestones, and
deliverables produced by a project
Project plan guides the development towards the project
goals
In planning, cost estimation is an important task, which is
concerned with estimating the resources required to
accomplish the project plan
UTSA CS3773
Project Plan
Project plan shall include the following sections


4
–
Introduction
–
Project organization
–
Risk analysis
–
Hardware and software resource requirements
–
Work breakdown
–
Project schedule
–
Monitoring and reporting mechanism
Project plan is revised during project development
UTSA CS3773
Milestones and Deliverables
A milestone is a recognizable end-point of a software
process activity

–
–

5
Deliverables are milestones

Requirements specification

Architectural design

Program
Internal project results that are used by the project manager
to check project progress are milestones
Software process must be broken down into basic activities
with associated outputs to establish milestones
UTSA CS3773
Project Scheduling
Project scheduling separates the total work involved in a
project into separate activities and judging the time
required to complete them

Project scheduling organizes all the activities into a
coherent order


6
–
Some of the activities can be carried out in parallel
–
Some of the activities must be organized in a sequential
manner
–
Project activities shall last lat least a week
Project schedules are usually represented as a set of
charts or diagrams
UTSA CS3773
Mechanics of Scheduling
We follow the three steps to produce a project schedule

–
Decomposing activities into subtasks and estimating the
durations - produce an estimation table
–
Identifying dependencies on subtasks – produce a priority
graph
–
Assigning subtasks and analyzing resulting schedule – produce
a critical path diagram

Project schedule charts or diagrams show work
breakdowns, activities dependencies, and staff allocations
7
UTSA CS3773
Estimation Table
8
Task Names
Duration (days)
Accumulated Duration *
IT1
3
3
IT2
5
8
IT3
4
12
IT4
4
16
IT5
7
23
IT6
2
25
* We assume that the project is done by a single developer
UTSA CS3773
Priority Graph
9
UTSA CS3773
Critical Path Method (CPM)
CPM take as input

–
Estimation table
–
Priority graph
–
An assignment of each task to a programmer
–
An ordering on the tasks assigned to each programmer
It computes

10
–
Earliest start time of each task
–
Earliest completion time for all tasks
–
Slack time, the amount of time starting on a task can be
delayed without affecting the earliest completion date
UTSA CS3773
CPM: Notational Convention for Tasks
11
UTSA CS3773
CPM: Ordering of Constraints
12
UTSA CS3773
CPM Example
13
UTSA CS3773
CPM Example
14
UTSA CS3773
CPM Example
15
UTSA CS3773
CPM Example
16
UTSA CS3773
CPM Example
17
UTSA CS3773
CPM Example
18
UTSA CS3773
Gantt Charts
19
UTSA CS3773
Reading Assignments
 Sommerville’s Book, 8th edition
–

Sommerville’s Book, 9th edition
–
–
20
Chapter 5, “Project Management”
Chapter 22, “Project Management”
Chapter 23, “Project Planning”
UTSA CS3773
Download