You are on page 1of 14

SEM COMPRE HANDOUT

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

iii. Degree of influence (DI) = 14 * scale


Technical Complexity Factor (TCF) = 0.65 + (0.01 * DI)
FP = UFP * TCF
Basic COCOMO Model

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

Intermediate COCOMO Model


Classification of 15 Cost Drivers and their attributes:
i. Product attributes –
● Required software reliability (RELY)
● Size of the application database (DATA)
● The complexity of the product (CPLX)
(ii) Hardware attributes –
● Execution performance constraints (TIME)
● Main memory constraints (STOR)
● The volatility of the virtual machine environment (VIRT)
● Required turnabout time (TURN)
(iii) Personnel attributes –
● Analyst capability (ACAP)
● Programmer capability (PCAP)
● Applications experience (AEXP)
● Virtual machine experience (VEXP)
● Programming language experience (LEXP)
(iv) Project attributes –
● Use of software tools (TOOL)
● Application of modern programming methods (MODP)
● Required development schedule (SCED)

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

Detailed COCOMO Model


i. Phase sensitive effort multipliers
Effort and schedule (time) for each development phase are assumed to be
given in terms of the overall effort and schedule by:
Ep = μp × E
Timedev (p) = τp × Timedev
Lifecycle Phase Values of μp
Mode and Plan and System Detailed Module Integration
code size requirements Design design code and and test
test
Organic 0.06 0.16 0.26 0.42 0.16
Small
(S≈2)
Organic 0.06 0.16 0.24 0.38 0.22
medium
(S≈32)
Semidetached 0.07 0.17 0.25 0.33 0.25
medium
(S≈32)
Semidetached 0.07 0.17 0.24 0.31 0.28
large
(S≈128)
Embedded 0.08 0.18 0.25 0.26 0.31
large
(S≈128)
Embedded 0.08 0.18 0.24 0.24 0.34
extra-lar
ge (S≈320)

Lifecycle Phase Values of τp


Mode and Plan and System Detailed Module Integration
code size requirements Design design code and and test
test
Organic 0.10 0.19 0.24 0.39 0.18
Small
(S≈2)
Organic 0.12 0.19 0.21 0.34 0.26
medium
(S≈32)
Semidetached 0.20 0.26 0.21 0.27 0.26
medium
(S≈32)
Semidetached 0.22 0.27 0.19 0.25 0.29
large
(S≈128)
Embedded 0.36 0.36 0.18 0.18 0.28
large
(S≈128)
Embedded 0.40 0.38 0.16 0.16 0.30
extra-lar
ge (S≈320)
Adjustment factor (A) = 0.4DD + 0.3C + 0.3I
where, DD – Design Document (DD%)
C – Code (C%)
I – Integration (I%)
COCOMO II
STAGE 1 : Application composition model
Effort is estimated in the application composition model as follows:
1. Estimate the number of screens, reports, and modules (components) from an
analysis of the SRS document.
2. Determine the complexity level of each screen and report, and rate these as either
simple, medium, or difficult. The complexity of a screen or a report is determined by
the number of tables and views it contains.
SCREEN complexity Assignments for the Data Tables

Number of Tables < 4 Tables < 8 Tables >= 8


views (< 2 server (< 2-3 server (>3 server
<3 client) <3-5 client) >5client)
<3 Simple Simple Medium
3–7 Simple Medium Difficult
>8 Medium Difficult Difficult

Report Complexity Assignments for the Data Tables


Number of Tables < 4 Tables < 8 Tables >= 8
sections (< 2 server (< 2-3 server (>3 server
contained <3 client) <3-5 client) >5client)

0 or 1 Simple Simple Medium


2 or 3 Simple Medium Difficult
4 or more Medium Difficult Difficult

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

6. Finally, the estimated effort in person-months is computed as


E = NOP/PROD

Stage 2 : Early design model

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’
𝑡𝑑

K – area under the Rayleigh curve


td – time at which the curve attains the maximum value

Critical Path Method


Earliest Finish Time (EF) = Earliest Start Time (ES) + activity duration
Late Finish Time (LF) = Late Start Time (LS) + activity duration
Float Time (FT) = LFactivity - EFactivity

Earned Value Analysis (EVA)


EV - Estimated Value, AC – Actual Cost, and PV - Planned Value
Cost Variance (CV) = EV – AC
Cost Performance Index (CPI) = EV / AC
Cost Variance% (CV%) = CV / EV
Schedule Variance (SV) = EV – PV
Schedule Performance Index (SPI) = EV / PV
Schedule Variance% (SV%) = SV / PV

Estimate at Completion (EAC) = AC + Estimate to Complete (ETC)

EAC = AC + [(Budget at Completion (BAC) – EV) / CPI]

~ EAC = BAC / CPI

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-

1. Figure 6.2: Symbols used for designing DFDs.

2. Figure 7.5: Example of (a) binary (b) ternary (c) unary association.
3. Figure 7.6: Example of aggregation relationship.

4. Figure 7.18: Representation of use case inclusion.

5. Figure 7.20: Example of use case extension.

6. Figure 7.24: Association between two classes.

7. Figure 7.25: Representation of aggregation.

8. Figure 7.26: Representation of composition.


9. Figure 7.28: Representation of dependence between classes.

Module 7- Software Testing

● cyclomatic complexity V(G)

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.

You might also like