View
227
Download
0
Category
Preview:
Citation preview
8/7/2019 Sen Lecture08
1/26
IT314 - Software Engineering
Asim Banerjee
27th January 2011
soft_engg@daiict.ac.in
8/7/2019 Sen Lecture08
2/26
IT314 - Software Engineering 2
Software Size Metrics (1/2)
Lines Of Code (LOC) Metric
Measures the number of source code instructions
required to solve the problem
NOTE: Headers and comment lines are
ignored Simplest and easy to use
LOC approach in estimation:
It is difficult to use at the beginning of the project
It is easy to use at the end of the project
8/7/2019 Sen Lecture08
3/26
IT314 - Software Engineering 3
Software Size Metrics (2/2)
Function Point Metric
FP approach involves computing the size of
software product using the unit of FP
Conceptual idea behind FP metric: size of
software product is directly proportional to: Types of functions that it performs
Number of functions that it performs
FP of a software product is computed as:
Weighted sum of different type of functions performedby the product.
8/7/2019 Sen Lecture08
4/26
IT314 - Software Engineering 4
Phase Effort Estimation (1/2)
The final effort estimate
E = (EAF) * Ei
gives the overall cost of the project (in person
months)
For planning and monitoring purposes,estimates of the effort required for the differentphases is also desirable.
In COCOMO, effort for a phase is consideredas a defined percentage of the overall effort.
8/7/2019 Sen Lecture08
5/26
IT314 - Software Engineering 5
Phase Effort Estimation (2/2)
NOTE: The percentage of the total effort spent
in a phase varies with the type (organic,
semidetached and embedded) and size
(small (=128KDLOC)) of the project.
An estimate of percentages for project sizes
different from the one specified can be
obtained by linear interpolation.
8/7/2019 Sen Lecture08
6/26
IT314 - Software Engineering 6
Project Complexity COCOMO provides three levels of models of
increasing complexity viz. Basic
Intermediate
Detailed
NOTE: The detailed model is the mostcomplex. It has different multiplying factors forthe different phases for a given cost driver.
The set of cost drivers applicable to a systemor module is also not the same as the driversfor the system level.
8/7/2019 Sen Lecture08
7/26
IT314 - Software Engineering 7
Any Questions?
8/7/2019 Sen Lecture08
8/26
IT314 - Software Engineering 8
Project Scheduling (1/2)
Schedule estimate and staff requirement
estimation may be the most important
activities after cost estimation.
NOTE: Both are related, if phase wise cost is
available.
The goal of schedule estimation is to
determine the total duration of the project and
the duration of the different phases.
8/7/2019 Sen Lecture08
9/26
IT314 - Software Engineering 9
Project Scheduling (2/2)
NOTE: Though there is a relationship between
the person-month cost and the project
duration, it is not obtained by dividing the total
effort by the average staff size.
8/7/2019 Sen Lecture08
10/26
IT314 - Software Engineering 10
Average Duration Estimation Single variable models can be used to determine the
overall duration of the project.
Generally, schedule is modeled as depending on the
total effort (which in turn depends on size).
IBM Federal Systems Division uses total duration D
(in calendar months) as
D = 4.1 E0.36(months)
COCOMO model, for organic type
D = 2.5 E0.38(months)NOTE: For other projects the constants vary slightly.
8/7/2019 Sen Lecture08
11/26
IT314 - Software Engineering 11
Phase Duration Estimation
The duration or schedule of the different
phases is obtained in the same manner as in
effort distribution i.e. by using the percentages
for the different phases.
NOTE: In COCOMO, sometimes, the detaileddesign, coding and unit testing phases are
combined into one programming phase.
8/7/2019 Sen Lecture08
12/26
IT314 - Software Engineering 12
Project Scheduling & Milestones
Once we have the estimates of the effort and
time requirement for the different phases, a
schedule for the project can be prepared.
This schedule will be used to monitor the
progress of the project. A conceptually simple and effective
scheduling technique is the Gantt chart, which
uses a calendar-oriented chart to representthe project schedule.
8/7/2019 Sen Lecture08
13/26
IT314 - Software Engineering 13
Any Questions?
8/7/2019 Sen Lecture08
14/26
IT314 - Software Engineering 14
Software Development Life Cycle (1/2) Software life cycle:
Series of identifiable phases that a software undergoes during its
lifetime Life cycle phases:
Feasibility
Requirements specifications
Design
Coding & Unit testing
Integration
Testing
Maintenance
8/7/2019 Sen Lecture08
15/26
IT314 - Software Engineering 15
Software Development Life Cycle (2/2) Life cycle activities:
Each life cycle phase consists of several activitiese.g. project management activities, developmental
activities, etc.
Entry criteria for each phase:
Preconditions for initiating a phase
Exit criteria for each phase
Preconditions for concluding a phase
8/7/2019 Sen Lecture08
16/26
IT314 - Software Engineering 16
Software Life Cycle Models: Comments(1/2)
Large development teams cannot function without forma
definitions of work e.g. work breakdown structure Defining life cycle model encourages development of software in
systematicand disciplinedmanner
Entry and exit criteria associated with the phases help in:
Better monitoring and controlling of projects Better reporting of project progress e.g. no 90% complete syndrome
8/7/2019 Sen Lecture08
17/26
IT314 - Software Engineering 17
Software Life Cycle Models: Comments(2/2)
Some well known life cycle models are:
Classical waterfall model
Iterative waterfall model
Prototyping model
Evolutionary model Spiral model
8/7/2019 Sen Lecture08
18/26
IT314 - Software Engineering 18
Waterfall Model (1/3)
Diagrammatically thephases resemble agroup of cascadingwaterfalls
Feasibility
Requirements
Design
Coding
Testing
Maintenance
Feasibility Report
Requirements document,
Project Plan, Test Plan, etc.
System & Detailed
design
document
Programs
Finished Product
Test Report
time
8/7/2019 Sen Lecture08
19/26
IT314 - Software Engineering 19
Waterfall Model (2/3)
Each phaserequiresrelativelydifferentamount of
effortNote:Maintenanceand Testingphases
consumesizable effort F
ea
sibilit
y
Require
men
ts
Design
Co
din
g
Test
ing
Main
ten
ance
6050
40
30
20
10
0
% Effort
8/7/2019 Sen Lecture08
20/26
IT314 - Software Engineering 20
Waterfall Model (3/3) Waterfall model:
Most easy to understand model
Too simplistic Well suited for only well-understood problems
Not very good for improving productvisualization
Note: Without adequate product visualization, itis very difficult to manage software
development projects i.e. if it is difficult tovisualize, it will be difficult to manage
8/7/2019 Sen Lecture08
21/26
IT314 - Software Engineering 21
Waterfall Model - Work Products (1/2)Some of the work products of the waterfall model are:
Systems Requirements Specification Document Project Plan
System Design Document
Detailed Design Document
Test Plan (with test cases) Test Report
Final Code
Software manuals (e.g. User manual, Installationmanual, etc.)
Review Reports
8/7/2019 Sen Lecture08
22/26
IT314 - Software Engineering 22
Waterfall Model - Work Products (2/2)NOTE: Any other document that enables the
project team to achieve its project objectives,should be maintained as one of the work
products of the project.
8/7/2019 Sen Lecture08
23/26
IT314 - Software Engineering 23
Waterfall model Limitations(1/2)
Real projects rarely follow the sequential flow
that the model proposes. The model requires that all the requirements
are stated explicitly.
Changes can cause confusion as the projectproceeds.
The model has difficulty in accommodating thenatural uncertainty that exists in many
projects.
8/7/2019 Sen Lecture08
24/26
IT314 - Software Engineering 24
Waterfall model Limitations(2/2)
The working versions of the programs areavailable only late in the project time span,
hence the customer must have patience.
A major blunder, if undetected until working
program is reviewed, can be disastrous.
8/7/2019 Sen Lecture08
25/26
IT314 - Software Engineering 25
Any Questions?
8/7/2019 Sen Lecture08
26/26
IT314 - Software Engineering 26
Thats all for now
Well continue in the next class.
Recommended