Unit Ii
Unit Ii
Unit Ii
SOFTWARE
ENGINEERING
Software Project Planning &
Software Design
UNIT II
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jian
U2.
1
Learning Objectives
Software Project Planning
Size Estimation
lines of Code
Function Count
Cost Estimation Models
COCOMO
COCOMO-II
Putnam resource allocation model
Risk Management.
Software Design
Cohesion & Coupling
Classification of Cohesiveness & Coupling
Function Oriented Design
Object Oriented Design
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
2
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jian
U2.
3
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.1
Learning Objectives
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
4
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
5
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
6
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.2
The Steps
Scopingunderstand the problem and the work that
must be done
Estimationhow much effort? how much time?
Riskwhat can go wrong? how can we avoid it?
what can we do about it?
Schedulehow do we allocate resources along the
timeline? what are the milestones?
Control strategyhow do we control quality? how
do we control change?
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
7
Write it Down!
Project Scope
Estimates
Software
Software
Project
Project
Plan
Plan
Risks
Schedule
Control
strategy
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
8
Development Time
Cost Estimation
Resources
Requirements
Project Scheduling
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
9
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.3
Size Estimation
Critical & Difficult area of the project planning
Conventional Methods (LOC/FP Approach)
compute LOC/FP using estimates of information
domain values
use historical effort for the project
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
10
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
01
02
03
04
05
If (n <2) return 1;
06
07
U2.
11
08
IM1 = I-1
09
10
11
12
Save = x[I];
13
x[I] = x[j];
14
x[j] = Save;
15
16
17
Return 0
18
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
12
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.4
LOC cont..
Include all lines
18 LOC
17 LOC
Executable statements
13 (5-17)
U2.
13
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
LOC cont..
Language dependent
Reflect what the system is rather than what it does
Useful in estimating programming time for a program during
the build phase of a project
Usefulness is limited for functionality, complexity, efficiency
etc.
U2.
14
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
Productivity Comparisons
The
lower
level
the
productive the programmer
the
more
language,
the
programmer,
the
higher
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
15
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.5
Low-level language
Analysis
Design
Coding
Validation
High-level language
Analysis
Design
Coding
Validation
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
16
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
17
$/LOC
Cost
Effort (months)
UICF
2300
315
14
32,000
7.4
2DGA
5300
220
20
107,000
24.4
3DGA
6800
220
20
136,000
30.9
DBM
3350
240
18
60,000
13.9
CGDF
4950
200
22
109,000
24.7
PCF
2100
140
28
60,000
15.2
300
18
151,000
28.0
655,000
145.0
DAM
Totals
8400
33,200
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
18
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.6
Function Count
Introduce by Alan Albrecht while working for IBM in
the 1970s
Measures functionality from the user point of view
Deals with the functionality being delivered
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
19
U2.
20
User
Outputs
System
Other
applications
EIF
U2.
21
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.7
Special Features
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
22
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
23
Weighting Factors
Simple
Average Complex
user inputs
user outputs
user inquiries
10
15
external interfaces
10
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
24
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.8
U2.
25
Factors Considered
1.
2.
3.
4.
5.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
26
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
27
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.9
U2.
28
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
= 32
= 60
= 24
= 08
=2
4
5
4
10
7
5 3
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
29
UFP
= Wij Zij ; J = 2
I=1
CAF
FP
= 32*4+60*5+24*4+8*10+2*7
= 618
= (0.65+ 0.01 Fi)
= 0.65+0.01(14*3)
= 1.07
= UFP* CAF
= 661.26
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
30
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.10
Cost Estimation
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
31
Estimation Techniques
To achieve reliable cost & schedule estimates , a number of
options arise:
Delay estimation until late in project
past (similar) project experience
conventional estimation techniques
task breakdown and effort estimates
Develop empirical models for estimation
Acquire one or more automated estimation tools
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
32
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
33
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.11
Multivariable model:
Several variables are needed to describe the
software development process, and selected
equations combine these variables to give the
estimate of time and cost
Predicator
The variables, that are input to the model to predict
the behavior of a software development are called
predictors
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
34
General form:
effort = tuning coefficient * size
exponent
usually derived
as person-months
either a constant or
a number derived based
on complexity of project
empirically
derived
usually LOC but
may also be
function point
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
35
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
36
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.12
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
37
E = 5.2 L 0.91
D = 4.1 L0.36
L ; source code in thousands of lines
E ; effort in person-month
D ; development in month
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
38
I = Wi Xi ;
I=1
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
39
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.13
Example
Compare the Walston-Felix model with SEL model on a
software development expected to involve 8 personyears of effort
Calculate the number of lines of source code that can
be produced
Calculate the duration of the development
Calculate the productivity in LOC/PY
Calculate the average manning
SEL
Walston-Felix
E = 1.4 L 0.93
E = 5.2 L 0.91
DOC = 30.4 L 0.90
D = 4.1 L0.36
D = 4.6 L 0.26
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
40
Example cont..
The amount of man power involved = 8 PY = 96 person-month
a) L = (E/a)1/b
L (SEL) = (96/1.4)1/0.93 = 94264 LOC
L (W-F) = (96/5.2)1/0.91 = 24632 LOC
b) D (SEL) = 4.6(94.264)0.26 = 15 months
D (W-F) = 4.1(24.632)0.36 = 13 months
c) P (SEL) = LOC/PY = 94264/8 = 11783 LOC/ PY
P (W-F) = LOC/PY = 24632 /8 = 3079 LOC/ PY
d)
Average manning is the average number of persons required per
month in the project.
M (SEL) = 96pM/15M = 6.4 persons
M (W-F) = 96pM/13M = 7.4 persons
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
41
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
42
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.14
Basic Model
Applicable to small to medium sized software projects
Use for a quick and rough estimates
Three modes of software development are
considered
Organic
Semi-detached
Embedded
Organic Mode
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
43
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
44
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
45
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.15
COCOMO - Model
Project Characteristics
Develo
pment
Model
Size
Organic
Small
Medium
Semidetache
d
Embed
ded
Large
Little
Not Tight
Mediu
m
Medium
Greater
Tight
Environme
nt
Stable
Medium
Complex
hardware/
Customer
Interface
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
46
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
47
ab
bb
cb
db
Organic
2.4
1.05
2.5
0.38
Semi detected
3.0
1.12
2.5
0.35
Embedded
3.6
1.20
2.5
0.32
E = ab(KLOC)bb
D = Cb(E)db
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
48
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.16
Project
ab
bb
cb
db
Organic
2.4
1.05
2.5
0.38
Semi detected
3.0
1.12
2.5
0.35
Embedded
3.6
1.20
2.5
0.32
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
49
E = 2.4(400)1.05
= 1285.31 PM
D = 2.5(1285.31)0.38 = 38.07 M
Semidetached ModeE = 3.0(400)1.12
= 2462.79 PM
Embedded Mode
D = 2.5(2462.79)0.38 = 38.45 M
E = 3.6(400)1.20
= 4772.81 PM
D = 2.5(2462.79)0.32 = 38 M
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
50
Intermediate Model
Boehm introduces set of 15 predictors called cost
drivers in the intermediate model to take account
of the software development environment
Cost drivers are used to adjust the nominal cost of a
project to the actual project environment
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
51
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.17
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
52
Cost drivers
Grouped into four categories:
Product attributes
Computer attributes
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
53
U2.
54
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.18
Very
Low
Lo
w
Nominal
High
Very
High
.75
.88
1.00
1.15
1.4
.94
1.00
1.08
1.16
.85
1.00
1.15
1.30
Extra
High
Product Attributes
.70
1.65
U2.
55
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
Very
Low
Nominal
High
Very
High
Extra
High
1.00
1.11
1.3
1.66
1.00
1.06
1.21
1.56
Lo
w
Computer Attributes
.87
1.00
1.07
1.15
.87
1.00
1.07
1.15
U2.
56
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
Very
Low
Lo
w
1.46
1.19
1.29
Nominal
High
Very
High
1.00
.86
.71
1.13
1.00
.91
.82
1.42
1.17
1.00
.86
.70
1.21
1.10
1.00
.90
1.14
1.07
1.00
.95
Extra
High
Personnel Attributes
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
57
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.19
Very
Low
Lo
w
Nominal
High
Very
High
1.24
1.10
1.00
.91
.82
1.24
1.10
1.00
.91
.83
1.23
1.08
1.00
1.04
1.10
Extra
High
Project Attributes
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
58
E = ai (KLOC)bi * EAF
D = ci (E) di
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
59
ai
bi
ci
di
Organic
3.2
1.05
2.5
0.38
Semidetached 3.0
1.12
2.5
0.35
Embedded
1.20
2.5
0.32
2.8
E = ai (KLOC)bi * EAF
D = ci (E) di
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
60
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.20
Example
Project A is to be a 32,000 LOC semi-detached
software. It is only a feasibility demonstration
model (RELY=very low=0.75). Then we can
estimate:
E = ai (KLOC)bi * EAF
; 3.0; 1.12
0.35
D = ci (E)di
; 2.5;
Effort
Productivity
Schedule
= 2.5*(109)0.35 = 13 months
Average Staffing
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
61
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
62
System Level
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
63
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.21
U2.
64
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
65
A=0.4DD + 0.3C+0.3I
S(equivalent) = (S*A)/100
U2.
66
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.22
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
67
COCOMO II
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
68
Objective of COCOMO 2
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
69
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.23
Levels of COCOMO II
Post-architecture level
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
70
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
71
U2.
72
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.24
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
73
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
74
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
75
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.25
Steps 4-6
Step 4 :Determine Object-Points: add all the weighted
object instances to get one number, the ObjectPoint count.
Step 5 : Compute new object points
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
76
Step 7
Step 7 : Compute the effort in Person-Months
using following scheme
Effort in PM = NOP/PROD
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
77
Example
Consider a database application project with the
following characteristics:
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
78
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.26
Example cont..
Number of screens
(medium)
Number of reports
(difficult)
Object point count
NOP
Efforts in PM
Effort
with
views
each
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
79
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
80
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
81
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.27
Precedentedness (PREC)
Development Flexibility (FLEX)
Architecture/Risk Resolution (RESL)
Team Cohesion (TEAM)
Process Maturity (PMAT)
U2.
82
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
Very low
low
6.20 4.96
Nomi High
nal
3.72 2.48
Very
High
1.24
Extra
High
0.0
Development
flexibility
5.07
4.05
3.04
2.03
1.01
0.0
Architecture/
Risk resolution
Team cohesion
7.07
5.65
4.24
2.83
1.41
0.0
5.48
4.38
3.29
2.19
1.10
0.0
6.24
4.68
3.12
1.56
0.0
Precedentness
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
84
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
85
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.28
U2.
86
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
FCIL Facilities
PDIF Platform Difficulty
PERS Personnel Capability
PREX Personnel Experience
RCPX Product Reliability and Complexity
RUSE Required Reusability
SCED Required Development Schedule
U2.
87
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
Extra
Low
Very
Low
Low
Nominal
High
Very
High
Extra
High
RCPX
.73
.81
.98
1.0
1.30
1.74
2.38
RUSE
0.95
1.0
1.07
1.15
1.24
PDIF
0.87
1.0
1.29
1.81
2.61
PERS
2.12
1.62
1.26
1.0
0.83
0.63
0.50
PREX
1.59
1.33
1.12
1.0
0.87
0.71
0.62
FCIL
1.43
1.30
1.10
1.0
0.87
0.73
0.62
SCED
1.43
1.14
1.0
1.0
1.0
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
88
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.29
Example
A software project of application generator category with
estimated 50 KLOC has to b developed. The scale factor (B) has
low precedentece [4.96]; high development flexibility [2.03]; low
tem cohesion [4.38] . Other factors are nominal Architeture/ Risk
resolution [4.24]; Process maturity[4.68].
The early design cost drivers like platform difficult [1.29] and
personal capability [0.83] are high . and others are nominal.
Calculate the effort in person months for the development of the
project.
B = 0.91 +0.01 * (sum of rating on scaling factors for the project)
PM nominal = A *(size) B
PM adjusted = PM nominal *( EMi)
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
89
Example cont..
B = 0.91 +0.01 * (sum of rating on scaling factors
for the project)
= 0.91+0.01 *(4.96+2.03+4.24+4.38+4.68)
= 0.91 +0.01(20.29)
= 1.1129
PM nominal = A *(size) B
= 2.5 *(50) 1.1129 = 194.41 Person month
PM adjusted = PM nominal *( EMi)
= 194.41 * [1.29* 0.83] = 194.41 *1.07
= 208.155 Person-month
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
90
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
91
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.30
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
92
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
93
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
94
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.31
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
95
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
96
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
97
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.32
VL
Low
Nominal
High
0.75
0.88
1.00
1.15
0.89
0.93
0.88
0.91
0.95
1.50
1.37
1.24
1.22
1.25
1.22
1.24
1.25
1.29
0.87
1.22
1.16
1.10
1.10
1.12
.10
1.12
1.10
1.10
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.09
1.15
1.14
1.06
1.11
1.06
1.15
0.83
0.87
0.92
0.89
0.88
0.91
0.86
0.92
1.00
0.75
VH
EH
1.39
1.19
1.30
1.29
1.13
1.31
1.21
1.30
0.67
0.74
0.84
0.81
0.81
0.84
0.72
0.84
1.00
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
1.66
1.49
1.67
1.57
0.78
U2.
98
Schedule Estimation
B = 0.91 +0.01 * (sum of rating on scaling factors for the
project)
PM nominal = A *(size) B
PM adjusted = PM nominal * ( EMi)
TDEV nominal = [ * PM adjusted ) (0.28+0.2(B-0.091) *
SCED%/100
= constant, provisionally set to 3.67
TDEV nominal =Calendar Time in months
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
Language
SLOC per FP
Assembler
320
Macro Assembler
213
150
Algol
106
Chill
106
Cobol
106
Fortran
106
Jovial
106
Pascal
91
RPG
80
PL/I
80
Modula-2
71
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
99
U2.
100
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.33
Ada
71
Prolog
64
Lisp
64
Forth
64
Basic
64
Logo
53
40
Strategem
35
APL
32
Objective - C
26
Smalltalk
21
Query Languages
16
Spreadsheet Languages
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
101
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
102
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
103
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.34
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
104
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
105
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
106
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.35
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
107
mo = K / (td * sqrt(e))
K : total project cost (or effort) in person year
td : the delivery time in years
mo : number of persons employed at the peak
M(t) = dy/dt= 2Kat exp(-at 2)
Y ( t) = k[1- exp(-at 2) ]
d2y/dt2 =2Ka exp(-at2)[ 1 2 at2]
a = 1/2 td2
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
108
Difficulty Metric
The slope of the manpower distribution at start time (t
=0) used to represent the difficulty denoted by D
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
109
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.36
mo = K / (td * sqrt(e))
D = K / td2 = mo sqrt(e)/td
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
110
Manpower Buildup
D is dependent upon K and td.
D(td)= -2K/ td3 person/year2
D(K) = I/ td2 year-2
Putnam observed that the difficulty derivative relative to time
played an important role in explaining the behaviour of
software development.
PA: Cost = 20PY & td = 1Year
PB: Cost = 120PY & td = 2.5Year
PA : D(td)= -40
& D(K) = 1
M(t) = dy/dt= 2Kat exp(-at 2)
PB : D(td)= -15.36 & D(K) = 0.16
Y ( t) = k[1- exp(-at 2) ]
d2y/dt2 =2Ka exp(-at2)[ 1 2 at2]
a = 1/2 td2
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
111
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
112
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.37
U2.
113
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
114
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
115
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.38
PEXP,
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
116
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
117
Development Sub-Cycle
Let md(t) and yd (t) be the design manning & the cumulative design
manpower cost and can be represented as
md(t) = Kdbt exp(-bt2)
yd (t) = Kd[1-exp(-bt2)]
md(t) is non zero value for md at td
So design and coding still completing this activity after td
By assumption development will be completed 95% by the time td
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
118
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.39
U2.
119
What we Learnt
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
120
Software Design
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jian
U2.
121
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.40
Learning Objectives
Software Design
Design Framework
Design Principle
Modularity
Cohesion & Coupling
Classification of Cohesiveness & Coupling
Function Oriented Design
Object Oriented Design
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
122
Software Design
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
123
Where Do We Begin?
modeling
Prototype
Spec
Design
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
124
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.41
Design Framework
Initial requirements
Gather data on user requirement
Analyze the requirements data
Obtain answers to
Requirement Question
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
125
Design Principles
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
126
Objective of Design
Correct & Complete
Understandable
At the right level
Maintainable & to facilitate maintenance of the
produced
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
127
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.42
Informal
Design
outline
More
formal
design
Informal
design
Finished
design
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
128
If not Design
Fail when small changes are made
Difficult to maintain
Quality cannot be assessed until late in the
software process
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
129
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
130
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.43
U2.
131
Design Methodologies
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
132
Module
What is a module?
lexically contiguous sequence of program
statements, bounded by boundary elements,
with aggregate identifier
Examples
procedures & functions in classical PLs
objects & methods within objects in OO PLs
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
133
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.44
Chip 1
Chip 2
AND gates
OR gates
Registers
ALU
ALU
Chip 3
Shifter
SHIFTER
Chip 3
NOT gates
U2.
134
hard to understand
hard to locate faults
difficult to extend or enhance
cannot be reused in another product. Implication?
-> expensive to perform maintenance
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
135
Modular System
consists of discrete components
each component can be implemented separately
change to one component has minimal impact on
other components
Under modularity and over modularity should be
avoided
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
136
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.45
Modularity Cont..
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
137
Module Independence
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
138
coupling
between
modules
Coupling
cohesion within
module
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
139
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.46
Coupling
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
140
Levels of coupling
5.Data Coupling
4.Stamp Coupling
3.Control Coupling
2.Common Coupling
1.Content Coupling
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
141
1. Content Coupling
Def.
one module directly references contents of the
other
Example
module a modifies statements of module b
module a refers to local data of module b in
terms of some numerical displacement within b
module a branches into local label of module b
Why is this bad?
almost any change to b requires changes to a
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
142
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.47
2. Common Coupling
Def.
two modules have write access to the same global data
Example
two modules have access to same database, and can
both read and write same record
while (global variable == 0)
Why is this bad?
if (argument xyz > 25)
module 3 ();
resulting code is unreadable
else
modules can have side-effects module 4 ();
ccb
must read entire module to understand
cca
difficult to reuse
module exposed to more data than necessary
global variable
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
143
3. Control Coupling
Def.
one module passes an element of control to the
other
Example
control-switch passed as an argument
Why is this bad?
modules are not independent
U2.
144
4. Stamp Coupling
Def.
data structure is passed as parameter, but called module
operates on only some of individual components
Example
calculate withholding (employee record)
Why is this bad?
affects understanding
not clear, without reading entire module, which fields of
record are accessed or changed
unlikely to be reusable
other products have to use the same higher level data
structures
passes more data than necessary
e.g., uncontrolled data access can lead to computer
crime
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
145
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.48
5. Data Coupling
Def.
every argument is either a simple argument or a data
structure in which all elements are used by the called
module
Example
display time of arrival (flight number)
get job with highest priority (job queue)
Slippery slope between stamp & data (see queue)
Why is this good?
maintenance is easier
good design has high cohesion & weak coupling
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
146
Levels of cohesion
1.Coincidental cohesion
2.Logical cohesion
3.Temporal cohesion
4.Procedural Cohesion
5.Communicational Cohesion
6.Sequential Cohesion
7.Functional Cohesion
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
147
7. Functional Cohesion
Def.
module performs exactly one action
Examples
get temperature of furnace
compute orbital of electron
calculate sales commission
Why is this good?
more reusable
corrective maintenance easier
fault isolation
reduced regression faults
easier to extend product
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
148
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.49
Examples
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
149
6. Informational Cohesion
Def.
one whose elements are involved in activities
such that output data from one activity serves
as input data to the next
APPLY PRIMER
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
150
Example
module format and cross-validate record
uses raw record
format raw record
cross-validate fields in raw record
returns formatted cross-validated record
endmodule
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
151
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.50
5. Communicational Cohesion
Def.
module performs series of actions related by
procedure to be followed by product, but in
addition all the actions operate on same data
Why is this bad?
still leads to less reusability -> break it up
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
152
Example
use the same input or output data.
find out some facts about a book: For instance, we may
wish to
1.FIND TITLE OF BOOK
2.FIND PRICE OF BOOK
3.FIND PUBLISHER OF BOOK
4.FIND AUTHOR OF BOOK
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
153
Example
module determine customer details
use customer account no
find customer name
find customer loan balance
return customer name, customer loan balance
endmodule
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
154
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.51
4. Procedural Cohesion
Def. ?
module performs series of actions related by
procedure to be followed by product
Example
update part number and update repair record in master
db
Why is this bad?
actions are still weakly related to one another
not reusable
Solution
break up!
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
155
Example
module write read and edit somewhat
uses out record
write out record
read in record
pad numeric fields of in record with zeros
return in record
endmodule
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
156
Example
procedurally cohesive module that averages two completely unrelated
tables, TABLE-A and TABLE-B, which both just happen to have 100
elements each.
module compute table-A-avg and table-B-avg
uses table-A, table-B
returns table-A-avg, table-B-avg
table-A-total : = 0
table-B-total : = 0
for i = i to 100
add table-A (i) to table-A-total
add table-B (i) to table-B-total
endfor
table-A-avg : = table-A-total/100
table-B-avg : = table-B-total/100
endmodule
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
157
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.52
3. Temporal Cohesion
Def. ?
module performs series of actions related in time
Initialization example
open old db, new db, transaction db, print db,
initialize sales district table, read first transaction
record, read first old db record
Why is this bad?
actions weakly related to one another, but strongly
related to actions in other modules
code spread out -> not maintainable or reusable
Initialization example fix
define these intializers in the proper modules & then
have an initialization module call each
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
158
Example
module initialize
updates a-counter, b-counter, items table,
totals table, switch-a, switch-b
rewind tape-a
set a-counter to 0
rewind tape-b
set b-counter to 0
clear items table
clear totals table
set switch-a to off
set switch-b to on
endmodule
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
159
Example
PUT OUT MILK BOTTLES
PUT OUT CAT
TURN OFF TV
BRUSH TEETH
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
160
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.53
2. Logical Cohesion
Def.
module performs series of related actions, one of which is
selected by calling module
Example
function code = 7;
new operation (op code, dummy 1, dummy 2, dummy 3);
// dummy 1, dummy 2, and dummy 3 are dummy variables,
// not used if function code is equal to 7
Why is this bad?
interface difficult to understand
code for more than one action may be intertwined
difficult to reuse
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
161
Example
GO BY CAR
GO BY TRAIN
GO BY BOAT
GO BY PLANE
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
162
1. Coincidental Cohesion
Def. ?
module performs multiple, completely unrelated actions
Example
module prints next line, reverses the characters of the
2nd argument, adds 7 to 3rd argument
How could this happen?
hard organizational rules about module size
Why is this bad?
degrades maintainability & modules are not reusable
Easy to fix. How?
break into separate modules each performing one task
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
163
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.54
Example
FIX CAR
BAKE CAKE
WALK DOG
FILL OUT ASTRONAUT-APPLICATION FORM
HAVE A BEER
GET OUT OF BED
GO TO THE MOVIES
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
164
Strategy of Design
Bottom up design
Top-Down Design
Stepwise refinement
Suitable of specifications are clear
Testing is typical
Hybrid Design
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
165
Function-oriented Design
Design with functional units which transform inputs to
outputs
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
166
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.55
Structural decomposition
Model how functions are decomposed into subfunctions using graphical structure charts
Detailed design
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
167
Structural Decomposition
Structural decomposition is concerned with
developing a model of the design which shows the
dynamic structure; i.e., function calls.
The aim of the designer should be to derive
design units which are highly cohesive and
loosely coupled.
In essence, a data flow diagram is converted to a
structure chart
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
168
Design Notations
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
169
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.56
Structure Chart
U2.
170
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
Notations
Data
Module
Physical Storage
Control
Diamond
symbol for
conditional call
or module
Library
Module
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
Repetitive
call of
Module
U2.
172
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.57
Level 1
Function parameters
Global variables
Routines called by the function
Side effects
Input/Output Assertions
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
173
Level 3
Body
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
174
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
175
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.58
What we Learnt
Software Design
Design Framework
Design Principle
Modularity
Cohesion & Coupling
Classification of Cohesiveness & Coupling
Function Oriented Design
Object Oriented Design
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
176
UNIT II Learning's
Software Project Planning
Size Estimation
Cost Estimation Models
Putnam resource allocation model
Risk Management.
Software Design
Cohesion & Coupling
Classification of Cohesiveness & Coupling
Function Oriented Design
Object Oriented Design
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
177
Objective Questions
Q1. How technology factor C is defined in Putnam Resource allocation model?
What is its significance?
Q2. Differentiate between flow chart and structure chart.
Q3. Give at least one example for each of cohesion .The example should be either
from O.S or from any of widely used software.
Q4. Discuss the categorization Empirical Estimation Models.
Q5. What are the activities during Software Project Planning?
Q6. What are the FPA functional units?
Q7. Compare DFD with ER Diagram.
Q8. What are the Risk management activities?
Q9. Define variable span with example.
Q10. Which one is not an infrastructure software?
(a) Operating system
(b) Database management system
(c) Compilers
(d) Result management system
Q11. How many stages are in COCOMO-II?
(a) 2
(b) 3
(c) 4
(d) 5
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
178
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.59
Short Questions
Q1. Discuss difference between object oriented and function oriented design.
Q2. What problems are likely to arise if module has high complexity?
Q3. Define module cohesion. List different types of cohesion.
Q4. Can we have inheritance without polymorphism? Explain.
Q5. List points of a simplified design process.
Q6.You are the manager of a new project charged with developing a 100000 lines
embedded system. You have a choice of hiring from two pools of developers;
highly capable with very little experience in the programming language being
used; or developers of low quality but a lot of experience with the
programming language. What is the impact of hiring all the developers from
one or the other group in terms of efforts and duration?
Q7. Consider a large-scale project for which the manpower requirement is K=
600PY and the development time is 3 years and 6 months.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
179
Long Questions
Q1. Define coupling and explain various types of coupling? Which one is best and
why?
Q2. Describe the Albrechts function count method with suitable example.
Q3. What are risk management activities? Is it possible to prioritize the risks?
Q4. What is risk exposure? What techniques can be used to control each risk?
Q5. If a module has logical cohesion, what kind of coupling is the module likely to
have with others? Justify..
Q6. Explain Walston-Felix model and compare it with SEL model.
Q7.Assuming Putnam model with S=100, 000, C=5000, D0=15, compute
development time td and manpower development kd.
Q8. Suppose that a project was estimated to be 600 KLOC. Calculate the effort and
development time for each of the three models i.e., organic, semidetached and
embedded.
Q9. software development requires 90 PM during total development subcycle. The
development time is planned for duration of 3 yrs and 5 months.
Calculate the manpower cost expanded until development time.
Determine development peak time.
Calculate the difficulty and manpower build-up.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
180
Long Questions
Q10. Discuss the Categories of application/project identified by COCOMO II. Write
an example and applicable level of COCOMO II estimation model for each
application/project identified.
Q11. Discuss the steps for efforts estimation using COCOMOII Application
Composition estimation model.
Q12. What are software metrics? Discuss Halistead software sciences metrics along
with its limitations.
Q13. Discuss Putnam resource allocation model to derive the cumulative effort, a
parameter at peak time, difficulty metric and man power build up.
Q14. The size of a software product to be developed has been estimated to be
22000 LOC. Predict the manpower cost by Waltson-Felix Model and SEL
Model.
Q15. Describe various stages of COCOMO-II.
Q16. Explain with example different type of functional independence of the
individual modules.
Q17. Discuss information flow metrics with its limitation. How a more sophisticated
Information Flow model can overcome them?
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
181
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.60
Research Problems
Q1. You want to monitor the effort spent on different phases in the project and
the time spent on different components. Design a time sheet or form to be
filled in by the programmers that can be used to get this data. The design
should be such that automated processing is possible.
Q2. For a student project being done in a semester course, list the major risks
and risk mitigation strategy for them.
Q3. For a group student project in the software engineering course, device a
suitable monitoring plan, and plans for data collection for this monitoring
Q4. For a project to manage enrollment and activities in a hobby club, design a
suitable quality plan.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
182
References..
1. K. K. Aggarwal & Yogesh Singh, Software Engineering, 2nd Ed., New Age
International, 2005.
2. R. S. Pressman, Software Engineering A practitioners approach, 5th Ed.,
McGraw Hill Int. Ed., 2001.
3. Pankaj Jalote, An Integrated Approach to Software Engineering, Narosa, 3rd
Ed., 2005.
4. Stephen R. Schach, Classical & Object Oriented Software Engineering, IRWIN,
1996.
5. James Peter, W. Pedrycz, Software Engineering: An Engineering Approach,
John Wiley & Sons.
6. Sommerville, Software Engineering, Addison Wesley,8th Ed., 2009.
7. Frank Tsui and Orlando Karan, Essentials of Software Engineering, Joes and
Bartlett, 2nd Ed., 2010.
8. Kassem A. Saleh, Software Engineering, Cengage Learning, 2009.
9. Rajib Mall, Fundamrntal of Software Engineering, PHI, 3rd Ed., 2009.
10. Carlo Ghizzi , Mehdi Jazayeri and Dino Mandrioli, Fundamental of Software
Engineering, PHI, 2nd Ed.,2003.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
183
References
11. Carol L. Hoover, Mel Rosso-Llopart and Gil Taran, Evaluating Project Decision
Case Studies in Software Engineering, Pearson, 2010.
12.
Sommerville,
Software
Engineering,
Addison Wesley,
2002
http://www.cse.iitk.ac.in/JaloteSEbook/
13.http://www.csse.monash.edu.au/~jonmc/CSE2305/Topics/07.14.SWEng2/html/te
xt.html
14.http://www.softpanorama.org/SE/software_life_cycle_models.shtml
15.http://en.wikipedia.org/wiki/Systems_Development_Life_Cycle
16. http://www.levela.com/software_home.htm
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.
184
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Anukiran Jain
U2.61