CEN 4021 5 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/...

16
CEN 4021 5 th Lecture CEN 4021 CEN 4021 Software Engineering II Software Engineering II Instructor: Masoud Sadjadi http://www.cs.fiu.edu/~sadjadi/ [email protected] Software Project Planning (POMA) Task Scheduling

Transcript of CEN 4021 5 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/...

Page 1: CEN 4021 5 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning.

CEN 4021 5th Lecture

CEN 4021 CEN 4021 Software Engineering II Software Engineering II

Instructor: Masoud Sadjadi

http://www.cs.fiu.edu/~sadjadi/

[email protected]

Software Project Planning (POMA)Task Scheduling

Page 2: CEN 4021 5 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning.

5th LectureCEN 4021: Software Engineering II

AcknowledgementsAcknowledgements

Dr. Onyeka Ezenwoye

Dr. Peter Clarke

2

Page 3: CEN 4021 5 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning.

5th LectureCEN 4021: Software Engineering II

AgendaAgenda

Software Project Planning (POMA)– Task Scheduling

Page 4: CEN 4021 5 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning.

5th LectureCEN 4021: Software Engineering II

Task Sequence and Effort Task Sequence and Effort representationrepresentation

All tasks share at least two basic characteristics

– Require effort in terms of person-days required to complete each task

– A specified order for processing the task

Page 5: CEN 4021 5 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning.

5th LectureCEN 4021: Software Engineering II

Task sequence/effort tableTask sequence/effort table

Task Immediate prerequisite

tasks

Effort

(person-days)

A None 9

B A 5

C A 7

D B,C 11

E D 8

Total effort required: 40 person-days

Page 6: CEN 4021 5 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning.

5th LectureCEN 4021: Software Engineering II

Graphical representation Graphical representation of tasks from previous of tasks from previous tabletable

Task A

Task B

Task C

Task D

Task E

End

Critical Task

Non-critical Task

Critical Path

Non-critical Path

9

9 5

7

11 8

Total project time: 35 days

Page 7: CEN 4021 5 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning.

5th LectureCEN 4021: Software Engineering II

Critical versus Non-Critical Critical versus Non-Critical PathsPaths

Critical path The path that takes the most time to complete.

Critical task (critical activity) A task that resides on the critical path.

Non-critical path Any path that is not a critical path and thus takes less effort to complete

than the critical path.

Non-critical task (non-critical activity) Any activity that resides on a non-critical path and not a critical path.

These tasks may accept some delay in completion.

Page 8: CEN 4021 5 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning.

5th LectureCEN 4021: Software Engineering II

Critical Path Method (CPM)Critical Path Method (CPM)

“The critical path method analyses the precedence of activities to predict the total project duration. The method calculates which sequence activities (path) has the least amount of flexibility ”

– Quality Software Project Management, Futrell et. al.

Page 9: CEN 4021 5 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning.

5th LectureCEN 4021: Software Engineering II

Task SchedulingTask Scheduling

Forward-pass scheduling

– Early start time (ES) and early finish (EF)

Backward-pass scheduling

– Late start (LS) and Late finish (LF)

Slack time

Page 10: CEN 4021 5 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning.

5th LectureCEN 4021: Software Engineering II

Forward-pass schedulingForward-pass scheduling

Task Tasks precedence

Task length Earliest possible start time

(ES)

Earliest possible

finish time (EF)

A None 9 0

B A 5

C A 7

D B,C 11

E D 8

9

9 14

9 16

16 27

27 35

Page 11: CEN 4021 5 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning.

5th LectureCEN 4021: Software Engineering II

Backward-pass schedulingBackward-pass scheduling

Task Tasks precedence

Task length Late start time (ES)

Late finish time (EF)

A None 9

B A 5

C A 7

D B,C 11

E D 8

9

11 16

9 16

16 27

27 35

0

Page 12: CEN 4021 5 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning.

5th LectureCEN 4021: Software Engineering II

Slack timeSlack time

Total slack time of an activity– The difference in start time between a non-critical task’s late

start time and its early start time or its late finish time and early finish time.

Total slack time of a task = LS - ESOrTotal slack time of a task = LF – EFe.g., Activity B: LS – ES (11 - 9) or LF – EF (16 - 14) => 2

Total slack time– The maximum allowable delay for all non-critical activities.

Page 13: CEN 4021 5 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning.

5th LectureCEN 4021: Software Engineering II

Program Evaluation and Program Evaluation and Review Technique (PERT)Review Technique (PERT)

An estimating technique assumes each activity duration is subject to a range

estimates uses weighting method to arrive at a specific duration.

Page 14: CEN 4021 5 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning.

5th LectureCEN 4021: Software Engineering II

Program Evaluation and Program Evaluation and Review Technique (PERT)Review Technique (PERT)

Expected estimate (EE) = [O + P + (4 x A)] / 6

Where

O = most optimistic estimate

P = most pessimistic estimate

A = most likely estimate

Page 15: CEN 4021 5 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning.

5th LectureCEN 4021: Software Engineering II

Program Evaluation and Program Evaluation and Review Technique (PERT)Review Technique (PERT)

Expected Project time (EPT) Sum of expected estimates of the critical tasks.

EPT = Σ(EE of all critical task)

Page 16: CEN 4021 5 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning.

5th LectureCEN 4021: Software Engineering II

CPM vs PERTCPM vs PERT

Scheduling a lot of activities with 3 estimates computationally messy

many people argue 3 estimates are not much more accurate than 1 estimate

Most project management scheduling software use CPM