cs3773 software engineering lecture 8 software planning and estimation

20
CS3773 Software Engineering Lecture 8 Software Planning and Estimation

Upload: randolph-rodgers

Post on 17-Dec-2015

222 views

Category:

Documents


2 download

TRANSCRIPT

CS3773 Software Engineering

Lecture 8Software Planning and

Estimation

UTSA CS37732

Software Management

Software engineering is a managed process – People management – Software cost estimation– Quality management– Configuration management

Software management activities may include– Proposal writing– Software planning– Project monitoring – Personnel selection and evaluation

UTSA CS37733

Software Planning

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 CS37734

Project Plan

Project plan shall include the following sections– 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 CS37735

Milestones and Deliverables

A milestone is a recognizable end-point of a software process activity

– 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 CS37736

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

– 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 CS37737

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

UTSA CS37738

Estimation Table

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 CS37739

Priority Graph

UTSA CS377310

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 – 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 CS377311

CPM: Notational Convention for Tasks

UTSA CS377312

CPM: Ordering of Constraints

UTSA CS377313

CPM Example

UTSA CS377314

CPM Example

UTSA CS377315

CPM Example

UTSA CS377316

CPM Example

UTSA CS377317

CPM Example

UTSA CS377318

CPM Example

UTSA CS377319

Gantt Charts

UTSA CS377320

Reading Assignments

Sommerville’s Book, 8th edition – Chapter 5, “Project Management”

Sommerville’s Book, 9th edition – Chapter 22, “Project Management”– Chapter 23, “Project Planning”