Professional Documents
Culture Documents
MODULE 3 -
REQUIREMENTS ANALYSIS AND SPECIFICATION
Algebraic Specifications
If there are m1 basic constructors, m2 extra constructors, n1 basic inspectors, n2 extra
inspectors, then we should have (m1 × (m2 + n1) + n2) axioms.
MODULE 4 -
SOFTWARE PROJECT MANAGEMENT
Function Point Metric Computation
i. Unadjusted Function Points (UFP) = (Number of inputs) * 4 + (Number of
outputs) * 5 + (Number of inquiries) * 4 + (Number of files) * 10 + (Number
of interfaces) * 7
Function Unit Low Average High
Number of inputs 3 4 6
Number of outputs 4 5 7
Number of inquiries 3 4 6
Number of files 7 10 15
Number of interfaces 5 7 10
ii. Adjusted Function Points: adjust the multiplying factors as per the following
table.
Index Scale
0 No influence
1 Incidental
2 Moderate
3 Average
4 Significant
5 Essential
Software a1 a2 b1 b2
Project
Organic 2.4 1.05 2.5 0.38
Semidetached 3.0 1.12 2.5 0.35
Embedded 3.6 1.20 2.5 0.32
Effort (E) = a1 × (KLOC)a2 person-month
Timedev = b1 × (Effort)b2 months
Project Cost (C) = E * Manpower cost per month
Productivity (P) = KLOC / E KLOC per person-month
Average Staffing Size (SS) = E / Timedev persons
Cost Drivers Very Low Nominal High Very High Extra High
Low
Product
Attributes
RELY 0.75 0.88 1.00 1.15 1.40 -
DATA - 0.94 1.00 1.08 1.16 -
CPLX 0.70 0.85 1.00 1.15 1.30 1.65
Hardware
Attributes
TIME - - 1.00 1.11 1.30 1.66
STOR - - 1.00 1.06 1.21 1.65
VIRT - 0.87 1.00 1.15 1.30 -
TURN - 0.87 1.00 1.07 1.15 -
Personnel
attributes
ACAP 1.46 1.19 1.00 0.86 0.71 -
AEXP 1.29 1.13 1.00 0.91 0.82 -
PCAP 1.42 1.17 1.00 0.86 0.70 -
VEXP 1.21 1.10 1.00 0.90 - -
LEXP 1.14 1.07 1.00 0.95 - -
Project
Attributes
MODP 1.24 1.10 1.00 0.91 0.82 -
TOOL 1.24 1.10 1.00 0.91 0.83 -
SCED 1.23 1.08 1.00 1.04 1.10 -
Software a1 a2 b1 b2
Project
Organic 3.2 1.05 2.5 0.38
Semi 3.0 1.12 2.5 0.35
Detached
Embedded 2.8 1.20 2.5 0.32
These 15 values are then multiplied to calculate the EAF (Effort Adjustment Factor)
E= (a1 * (KLOC)a2) * EAF persons-months
Timedev = (b1 * (E)b2) months
Table of Complexity Weights for Each class for each Object Type
Object Type Simple Medium Difficult
Screen 1 2 3
Report 2 5 8
3GL component - - 10
3. Add all the assigned complexity values for the object instances together to obtain
the object points.
4. Estimate percentage of reuse expected in the system. Note that reuse refers to the
amount of pre-developed software that will be used within the system. Then, evaluate
New Object-Point count (NOP) as follows,
(𝑂𝑏𝑗𝑒𝑐𝑡 𝑃𝑜𝑖𝑛𝑡𝑠)(100−% 𝑜𝑓 𝑟𝑒𝑢𝑠𝑒)
𝑁𝑂𝑃 = 100
5. Determine the productivity using the below table. The productivity depends on the
experience of the developers as well as the maturity of the CASE environment used.
Productivity Table
Developers’ Very Low Low Nominal High Very High
experience
CASE maturity Very Low Low Nominal High Very High
PRODUCTIVITY 4 7 13 25 50
Where A is 2.5
Stage 3 : Post-architecture model
Halstead’s Software Science
h1 be the number of unique operators used in the program.
h2 be the number of unique operands used in the program.
N1 be the total number of operators used in the program.
N2 be the total number of operands used in the program.
Length (N) = N1 + N2
Program Vocabulary (h) = h1 + h2
Program Volume (V) = N * log2h
Minimum Program Volume (V*) = (2 + h2) * log2(2 + h2)
Program Level (L) = V* / V
Effort (E) = V / L = V 2 / V*
Programmer’s Time (T) = E / Speed of mental discriminations (S). Recommended
value for S is 18.
Norden’s Work Representation
E=
𝐾
2 *t*𝑒
( )
−𝑡
2
2
2𝑡𝑑
where, E – effort required at time ‘t’
𝑡𝑑
Project Crashing
1. Estimate initial project duration - MT (maximum time).
2. Find out critical paths (CPs).
3. Choose any activity which is on CP and is cheapest to reduce.
4. Crash / Reduce that activity (one day at a time) - repeatedly till activity is completely
crashed or another path (new CP).
5. Find the cheapest activities which can be crashed of all the CPs.
6. Stop when at least one CP cannot be crashed further.
PERT Charts
Each task is annotated with three estimates:
• Optimistic (O): The best possible case task completion time.
• Most likely estimate (M): Most likely task completion time.
• Worst case (W): The worst possible case task completion time.
• The mean estimated time is calculated as ; ET = (O + 4M + W )/6.
• The three time estimates are also used to compute the expected value of
variance Variance square ((W-O)/6)
MODULE 5-
2. Figure 7.5: Example of (a) binary (b) ternary (c) unary association.
3. Figure 7.6: Example of aggregation relationship.
Method 1: V(G) = E – N + 2
where
N is the number of nodes of the control flow graph
E is the number of edges in the control flow graph.
Method 2:
V(G) = Total number of non-overlapping bounded areas + 1
Method 3:
V(G) = N + 1
where N is the number of decision and loop statements of a
program.
● Gunning’s fog index is a metric that has been designed to measure the
readability of a document.
● The computed metric value (fog index) of a document indicates the number
of years of formal education that a person should have, in order to be able to
comfortably understand that document.