Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Assess each identified risks regularly to decide whether or not it is becoming less or more
probable
Also assess whether the effects of the risk have changed
Each key risk should be discussed at management progress meetings
PERT DIAGRAMS & CPM
Project Scheduling
1 Project Scheduling Objectives
Phases of Project Scheduling
PERT Diagrams & Dummy Activities
CPM Critical Path Method
Software Project Management
PROJECT SCHEDULING
It is part of project management within the Planning phase of
the Systems Development Life Cycle.
Project Scheduling: Allocate resources to execute all activities
in the project.
Originated by
H.L.Gantt in 1918
Advantages Limitations
- Gantt charts are quite commonly - Do not clearly indicate details regarding
used. They provide an easy graphical the progress of activities
representation of when activities - Do not give a clear indication of
(might) take place. interrelation ship between the separate 4
activities
Software Project Management
PROJECT SCHEDULING
Objectives:
Establish beginning, ending and duration of each activity in the
project.
Calculate overall completion time of the project given the
amount of usually limited resources.
Determine the critical path and its duration.
Determine the slack time for all non-critical activities and the
whole project.
Guide the allocation of resources other than time such
as staff and budget.
A F
1 2 5 6
Activity-on-arrow diagrams:
One single start and one single end node
Arrows represent activities
Nodes indicate beginning/end of activities
10
Activity-on-arrow
11
A D
2 3
C
Tasks B & C share
the same start and
end node 12
13
A D
1 2 3 4
Task D has C
immediate Tasks B and C
predecessors of have the same
B and C start and
finish nodes 14
A B D
1 2 3 5
20
1 5
C(7)
3 4
23
1 5
C(7)
3 4
24
1 5
4 C(7)
3 4
25
1 5
4 C(7) 11
3 4
26
3
13
2
1 5
4 C(7) 11
3 4
27
3
13
8
2
1 5
4 C(7) 11
3 4
28
3
13
max
8
2
1 5
4 C(7) 11
3 4
29
0 13
1 5
4 C(7) 11
3 4
30
0 13 13
1 5
4 C(7) 11
3 4
31
0 13 13
1 5
4 C(7) 11 11
3 4
32
3 8
0 13 13
1 5
4 C(7) 11 11
3 4
33
3 8
0 13 13
1 5
4 4 C(7) 11 11
3 4
34
3 8
5
0 13 13
1 5
4 4 C(7) 11 11
3 4
35
3 8
5
0
2
0 13 13
1 5
4 4 C(7) 11 11
3 4
36
3 8
5 min
0
2
0 13 13
1 5
4 4 C(7) 11 11
3 4
37
3 8
0 0 13 13
1 5
4 4 C(7) 11 11
3 4
38
39
40
A 3 0 3 5 8 5 No
B 4 0 4 0 4 0 Yes
C 7 4 11 4 11 0 Yes
D 5 3 8 8 13 5 No
E 2 11 13 11 13 0 Yes
3 8
0 0 13 13
1 5
4 4 C(7) 11 11
3 4
42
Exercise 1:
1. Draw the PERT Diagram related to the following tasks
2. Draw the GANTT Diagram related to the following tasks
Tasks Duration Constraints
A 1
B 5 C
C 10 A
D 5 C
E 3 C
F 4 B and D
G 2 E and F
H 1 G
PERT DIAGRAM
GANTT DIAGRAM
-1-
Exercise 2:
1. Draw the PERT Diagram related to the following tasks
-2-
Exercise 3:
1. Draw the PERT Diagram related to the following tasks
Task Duration
-3-
King Khalid University
Calculateurs Temps
College Rel Science
of Computer
Department of Computer Science
Project Management
Tutorial 4: Project Cost Estimation
yaalhaj@kku.edu.sa
Effort Equation
PM = C * (KDSI)n (person-months)
C = a constant,
n = a constant.
Productivity equation
(DSI) / (PM)
Schedule equation
TDEV = C * (PM)n (months)
Cost=SizeOfTheProject x Productivity
Cost Estimation Process
Effort
Size Table
Development Time
Lines of Code
Estimation Process
Number of Use Case Number of Personnel
Function Points
FP=UFP*(0.65+0.01*DI)= 55*(0.65+0.01*36)=55.55
Relationship:
where
LOC (Lines of Code)
FP (Function Points)
2015/2016
KKU
LOC=55.55*53= 2944.15 LOC or 2.94 KLOC1436/1437 28
Calculateurs Temps Rel
Effort Computation
Calculate the estimated number of errors in your design, i.e.total errors found
in requirements, specifications, code, user manuals, and bad fixes:
Adjust the Function Point calculated in step1
AFP = FP ** 1.25
Use the following table for calculating error estimates
Exercise:
Consider software project with the following inputs and outputs.
UFP=4*3+3*4+3*3+2*7+2*5=12+12+9+14+10=57
Q2: Consider the Technical Complexity Factors presented in the table below
1 Data Communication 3
2 Distributed Data Processing 2
3 Performance Criteria 0
4 Heavily Utilized Hardware 2
5 High Transaction Rates 3
6 Online Data Entry 4
7 Online Updating 2
8 End-user Efficiency 4
9 Complex Computations 2
10 Reusability 2
11 Ease of Installation 3
12 Ease of Operation 2
13 Portability 3
14 Maintainability 1
FP=UFP*(0.65+0.01*DI)=57*(0.65+0.01*33)= 55.86
Q4: Assuming that this software is written in JAVA and the LOCs per FP for java is equal to
53, calculate the LOC and the qKLOC.
Return f not n
long factorial(int n)
{
long f = 1;
while (n > 0)
{
f = f*n;
n = n-1;
}
return f;
}
Overview
Defect Testing
Input data and output results often fall into different classes where all members of a
class are related.
Exercise1:
Write a C function that allows you to calculate the minimum value in a
given array.
int minimum(int t[], unsigned n)
{
unsigned i;
int min;
for(min=t[0],i=1;i<n;i++)
if(t[i]<min)
min=t[i];
return min;
}
Write a C function that allows you to test the previous function knowing
that the minimum can be in the begin, in the middle or in the end of a table
#include <stdio.h>
#include <assert.h>
void main()
{
/*Create table in which the minimum is in the begin*/
int begin[5]={-1,2,0,14,5};
/* Create table in which the minimum is in the middle */
int middle[5]={15,2,0,3,1};
/* Create table in which the minimum is in the end */
int end[5]={7,3,2,14,1};
assert(minimum(begin,5)==-1);
assert(minimum(middle,5)==0);
assert(minimum(end,5)==1);
}
Exercise2:
Elaborate some data test that allows you to test a program which search a
number in a set of sorted values
Correction
Array T
{True, false}
Array size n Binary search
Value v
Boundary cases
DT 2 : (10, {10,15,17,20,24,116})
DT 3 : (15, {10,15,17,20,24,116})
DT 4 : (24, {10,15,17,20,24,116})
DT 5 : (116, {10,15,17,20,24,116})
Class2: V not in T (negative issue)
Boundary cases
DT 10 : (40, {10,15,17,20,24,116}) v is between the before last and the last value
#include <stdio.h>
#include <assert.h>
void main()
{
/*Create a table for test*/
int DT[6]= {10,15,17,20,24,116};