SlideShare a Scribd company logo
SOFTWARE
ENGINEERING
Presenter: Miss Arti Gavas10/03/2014
GOAL
Software Engineering should focus on imparting to
students the knowledge and skills that are needed
to successfully execute a commercial project of
a few person-months effort while employing
proper practices and techniques.
THE SOFTWARE PROBLEM
 If a student is said to build a software system (academic project)
of 10000 LOC, it would take 1 to 3 months to complete with
productivity of 5000 LOC/month!
 If a software organization is said to build such a system on be
half of client, it would take 10 months to complete with 1000
LOC/month!!!
 Why this difference in productivity in the two scenarios?
 Why is it that the same students who can produce software at a
productivity of a few thousand LOC per month while in college
end up producing only about a thousand LOC per month when
working in a company?
THE SOFTWARE PROBLEM
Continued...
 The answer, of course, is that two different things are being built in the
two scenarios.
 In the first, a student system is being built which is primarily meant for
demonstration purposes, and is not expected to be used later.
 On the other hand, an industrial-strength software system is built to
solve some problem of a client and is used by the client’s organization
for operating some part of business.
 A malfunction of such a system can have huge impact in terms of
financial or business loss, inconvenience to users, or loss of property
and life.
 Consequently, the software system needs to be of high quality with
respect to properties like reliability, usability, portability, etc.
SOFTWARE ENGINEERING
The software industry is largely interested in developing industrial-
strength software, and the area of software engineering focuses on
how to build such systems. That is, the problem domain for software
engineering is
industrial strength software.
Industrial Strength Software
Software engineering is defined as the systematic approach to
the development, operation, maintenance, and retirement of
software
COST, SCHEUDLE AND
QUALITY
 COST is measured in Lines of code (LOC) or thousands of
lines of code (KLOC).
 SCHEDULE is about time to market of a product should be
reduced. i.e. the cycle time from concept to delivery should be
small.
 QUALITY is one of the main mantras, and business strategies
are designed around it.
Unreliability of software
The software often does not do what it is supposed to do or does something it
is not supposed to do. Clearly, developing high-quality software is another
fundamental goal of software engineering.
CONTENTS
 Project management
 Size & Effort Estimation
 Project Scheduling
 Configuration Management
 Unified Process- Changing Trends In Software Development
 Software Testing Fundamentals
 Planning Software Testing
 Black Box Testing
 White Box Testing
Project Management Process
 To meet the cost, quality, and schedule
objectives, resources have to be
properly allocated to each activity for
the project.
 And progress of different activities has
to be monitored and corrective actions
to be taken when needed.
 All these activities are part of the
project management process.
 The activities in the management
process for a project can be grouped
broadly into three phases: planning,
monitoring and control, and termination
analysis.
Size & Effort Estimation
 Overall effort and schedule estimates are essential prerequisites
for planning the project.
 Helps us to answer the questions like:
 “is the project late?”
 “are there cost overruns?”
 “when is the project likely to complete?”
 “what will be a staffing level for a project during different
phases?”
 Two approaches of effort estimation:
 Top-Down Estimation Approach
COCOMO MODEL
 A function for determining initial effort from size
 where a and b are constants, and project size is generally in KLOC.
 After determining the initial estimate, some other factors are
incorporated for obtaining the final estimate.
 COCOMO uses a set of 15 different attributes of a project called cost
driver attributes.
 Each cost driver has a rating scale, and for each rating, a multiplying
factor is provided.
COCOMO MODEL Continued…
 The multiplying factors for
all 15 cost drivers are
multiplied to get the effort
adjustment factor (EAF).
 The final effort estimate,
E, is obtained by
multiplying the initial
estimate (Ei) by the EAF.
E = EAF * Ei
To the Example
COCOMO MODEL EXAMPLE
 Consider a system being built
for supporting auctions in an
University.
 From the use cases and other
requirements, it is decided that
the system will comprise a few
different modules. The modules
and their expected sizes is
shown in table.
 The total size of this software is
MODULE SIZE IN
LOC
Login 200
Payment 200
Administrator
interface
600
Seller functions 200
Buyer functions 500
View and
bookkeeping
300
COCOMO MODEL EXAMPLE
 We should estimate the
value of the different cost
drivers.
 Suppose we expect that:
 the complexity of the
system is high,
 the programmer capability is
low,
 and the application
experience of the team is low.
 All other factors have a
COCOMO ESTIMATION
Effort adjustment factor (EAF):
EAF = 1.15 * 1.17 * 1.13 = 1.52
Initial effort estimate (Ei):
Ei = 3.9 * 2 ^ .91 = 7.3 PM
Final adjusted effort estimate (E):
E = 1.52 * 7.3 = 11.1 PM
Different Cost Drivers
FUNCTION POINT (FP)
 FP based estimation use a measure of functionalities delivered by the
application.
 FPs are derived using an empirical relationship based on countable measures
of software information domain and assessment of software complexity.
 The project planner estimates:
 Inputs : user inputs.
 Outputs : system outputs like error messages, output screens, reports.
 Inquiries : queries to the system
 Internal files : internal database files etc.
 External interfaces : Network interfaces or interfaces of other applications.
 There are 14 complexity weighting factors those needs to be evaluated.
FUNCTION POINT Continued…
 Complexity
weighting factors
can be defined with
complexity values:
simple, average, or
complex.
 Determination of
complexity is
somewhat
subjective.
1 Does the system require reliable backup and recovery?
2 Are data communications required?
3 Are there distributed processing functions?
4 Is performance critical?
5 Will the system run in an existing, heavily utilized operational
environment?
6 Does the system require on-line data entry?
7 Does the data entry to be built over multiple screens or operations?
8 Are the master files updated on-line?
9 Are the inputs, outputs, files or inquiries complex?
10 Is the internal processing complex?
11 Is the code design to be reusable?
12 Are conversion and installation included in the design?
13 Is the system designed for multiple installations in different
organizations?
FUNCTION POINT EXAMPLE
 CAD software
 Lets assume the complexity weighting factor to be average.
 Computing function points:
Measurement parameter count simple average comple
x
total
Number of inputs 24 3 4 6 96
Number of outputs 16 4 5 7 80
Number of inquiries 22 3 4 6 88
Number of files 4 7 10 15 40
Number of external interfaces 2 5 7 10 14
Count TOTAL 318
FUNCTION POINT Example
Continued…
 Complexity weighting factors:
 ∑ (Fi) = 52
 FP_estimated
=count_total*[0.65 + 0.01* ∑ (Fi) ]
=318*[0.65+0.01*52]
FP_estimated = 373
 The organizational average productivity for
systems of this type is 6.5 FP/pm.
 Based on a burdened labor rate of $8000
per month, the cost per FP is
approximately $1230.
 Based on LOC estimates and historical
productivity data, the total estimated
project cost is $461,250 and the estimated
1 reliable backup and recovery 4
2 data communications 2
3 distributed processing 0
4 performance critical 4
5 existing operational environment 3
6 on-line data entry 4
7 Input transactions over multiple screens 5
8 master files updated 3
9 Information domain values complex 5
10 internal processing complex 5
11 code design for reuse 4
12 conversion and installation in design 3
13 multiple installations 5
14 application designed to facilitate change 5
Project Scheduling
Three methods:
Building WBS
Use of Gantt chart
PERT/CPM chart
WBS (WORK BREAKDOWN
STRUCTURE)
GANTT CHART
PERT(Program Evaluation Review Technique)/
CPM (Critical Path Method) CHART
 A PERT chart presents a graphic
illustration of a project as a network
diagram consisting of numbered nodes
representing events, or milestones in the
project linked by labeled directional lines
representing tasks in the project.
 The direction of the arrows on the lines
indicates the sequence of tasks. In the
diagram, for example, the tasks between
nodes 1, 2, 4, 8, and 10 must be
completed in sequence. These are called
dependent or serial tasks.
 The tasks between nodes 1 and 2, and
nodes 1 and 3 are not dependent on the
completion of one to start the other and
can be undertaken simultaneously. These
tasks are called parallel or concurrent
Configuration Management
 Changes continuously takes place in a software due to:
 Evolution of work products as project proceeds
 Bugs found
 Changes in requirement specifications
 All the changes must be reflected to the files containing
source, data or documentation.
 Software Configuration Management (SCM) is the
discipline for systematically controlling the changes that
take place during the development.
CM FUNCTIONALITIES &
MECHANISMS
 CM Functionalities:
 Give the latest version of a program
 Undo a change or revert back to a specified version
 Prevent unauthorized changes or deletions
 Gather all sources, documents and other information for the current
system
 CM Mechanisms:
 Configuration identification and base-lining
 Version control and version management
 Access control
CMM (CAPABILITY MATURITY
MODEL)
 Introducing changes in small increments based on the
current state of the process is captured through CMM
framework.
 CMM framework provides a general roadmap for process
improvement.
 CMM provides characteristics of each level, which can be
used to assess the current level of the process of an
organization.
 The movement from one level to the next level also
suggest the areas in which the process should be
CMM (CAPABILITY MATURITY
MODEL)
 Initial process (level 1)
 Ad-hoc, informal methods
 Repeatable process (level 2)
 Mgmt policies, cost & schedules are
tracked
 Defined level (level 3)
 Standardize software process
 Managed level (level 4)
 Predictable management
 Optimizing level(level 5)
Unified Process- Changing Trends In Software
Development
 Iterative process model
 designed for object-oriented development using the
Unified Modeling Language (UML)
Unified Process proposes that development of software be
divided into cycles, each cycle delivering a fully working
system.
 Each cycle is executed as a separate project whose goal is to
deliver some additional capability to an existing system.
 Hence, for a project, the process for a cycle forms the overall
process.
Unified Process Continued…
 Each cycle is broken into four consecutive
phases:
 Inception phase
 Elaboration phase
 Construction phase
 Transition phase
Each phase has a distinct purpose,
and completion of each phase is a
well defined milestone in the project
with some clearly defined outputs.
Unified Process Continued…
Phase Purpose Output
Inception
phase
Establish the goals and scope of the
project
Lifecycle objectives
milestone - VISION
Elaboration
phase
The architecture of the system is
designed
Lifecycle architecture
milestone
Construction
phase
The software is built and tested Initial operational
capability milestone
Transition
phase
Move the software from the
development environment to the
client’s environment
Product release
milestone
Software Testing Fundamentals
 To ensure quality of the final delivered software, software
defects will have to be removed.
 Though errors are detected after each phase by techniques
like inspections, some errors remain undetected.
 final code is likely to have some requirements errors and
design errors, in addition to errors introduced during the coding
activity.
 Two types of approaches for identifying defects in the software:
 Static: code is not executed but evaluated through some process or tools for locating
defects.
TESTING PROCESS
 The basic goal of the software development process is to
produce software that has no errors or very few errors.
 Testing is a quality control activity which focuses on identifying
defects (which are then removed).
 The testing process for a project consists of three high-
level tasks:
 test planning
 test case design
 test execution
TEST PLAN
 A test plan is a general document
for the entire project.
 Defines the scope, approach to be
taken, and the schedule of testing,
also identifies the test items for
testing and the personnel
responsible for the different
activities of testing.
 The inputs of test plan are:
 project plan
 requirements document
TEST PLAN
Test unit specification
Features to be tested
Approach for testing
Test deliverables
Schedule and task
allocation
TEST CASE DESIGN
 Details of testing a unit.
 Based on the approach specified in the test plan, and the
features to be tested, the test cases are designed and
specified for testing the unit.
 A test case specification in a document looks like:
Requirement
Number
Condition to
be tested
Test data and
settings
Expected
output
BLACK BOX TESTING
 The structure of the program is not considered.
 Test cases are decided solely on the basis of the requirements
or specifications of the program or module
 The tester only knows the inputs that can be given to the
system and what output the system should give.
 Also called functional or behavioral testing.
 Exhaustive testing is not possible, However, there are a
number of techniques or heuristics that can be used to select
test cases that have been found to be very successful in
detecting errors.
BLACK BOX TESTING
TECHNIQUES
 Equivalence class partitioning
 Divide the input domain into a set of equivalence classes
 If the program works correctly for a value, then it will work correctly
for all the other values in that class.
 If we can indeed identify such classes, then testing the program
with one value from each equivalence class is equivalent to doing
an exhaustive test of the program.
 Boundary value analysis
 programs that work correctly for a set of values in an equivalence
class fail on some special values. These values often lie on the
boundary of the equivalence class.
EQUIVALENCE CLASS
PARTITIONING
 Equivalence classes are usually formed by considering each
condition specified on an input as specifying a valid
equivalence class and one or more invalid equivalence
classes.
 For example,
 If an input condition specifies a range of value (say, 0 <
count < Max), then form a valid equivalence class with that
range and two invalid equivalence classes, one with values
less than the lower bound of the range (i.e., count < 0) and
the other with values higher than the higher bound (count >
Max).
BOUNDARY VALUE ANANLYSIS
 Select the boundary elements of the range and an invalid value
just beyond the two ends (for the two invalid equivalence
classes).
 For example,
 if the range is 0.0<=x<=1.0, then the test cases are 0.0, 1.0
(valid inputs), and −0.1, and 1.1 (for invalid inputs).
 Similarly, if the input is a list, attention should be focused on
the first and last elements of the list.
If an integer range is min to max,
then the six values are min−1, min, min+1, max−1, max,
max+1.
WHITE BOX TESTING
 Concerned with testing the implementation of the program.
 The intent of this testing is not to exercise all the different input
or output conditions but to exercise the different programming
structures and data structures used in the program.
 Also called structural testing.
 Test cases will force the desired coverage of different
structures.
 Unlike the criteria for functional testing, which are frequently
imprecise, the criteria for structural testing are generally quite
precise as they are based on program structures.
WHITE BOX TESTING
TECHNIQUES
 Statement Coverage:
 test case is executed in such a way that every statement of
the code is executed at least once.
 Branch/Decision Coverage:
 Test coverage criteria requires enough test cases such that
each condition in a decision takes on all possible outcomes
at least once, and each point of entry to a program
or subroutine is invoked at least once. That is, every branch
(decision) taken each way, true and false. It helps in
validating all the branches in the code making sure that
WHITE BOX TESTING TECHNIQUES
CONTINUED…
 Path Coverage:
 In this the test case is executed in such a way that every
path is executed at least once.
 All possible control paths taken, including all loop paths
taken zero, once, and multiple (ideally, maximum) items in
path coverage technique, the test cases are prepared
based on the logical complexity measure of a procedural
design. In this type of testing every statement in the
program is guaranteed to be executed at least one time.
Flow Graph, Cyclomatic Complexity and Graph Metrics
CYCLOMATIC COMPLEXITY
 Cyclomatic Complexity for a flow graph is computed in one of three ways:
 The numbers of regions of the flow graph correspond to the Cyclomatic
complexity.
 Cyclomatic complexity, V(G), for a flow graph G is defined as
V(G) = E – N + 2
where E is the number of flow graph edges and N is the number of flow
graph nodes.
 Cyclomatic complexity, V(G), for a graph flow G is also defined as
V(G) = P + 1
CYCLOMATIC COMPLEXITY
EXAMPLE
 Region, R= 6
 Number of Nodes = 13
 Number of edges = 17
 Number of Predicate Nodes = 5
 Cyclomatic Complexity, V( C) :
 V( C ) = R = 6;
Or
 V(C) = Predicate Nodes + 1
=5+1 =6
Or
 V( C)= E-N+2
= 17-13+2
FLOW GRAPH EXAMPLE
Read P
Read Q
IF P+Q > 100
THEN
Print “Large”
ENDIF
If P > 50 THEN
Print “P Large”
ENDIF
Statement Coverage (SC):
 To calculate Statement
Coverage, find out the
shortest number of paths
following which all the nodes
will be covered.
 Here by traversing through
path 1A-2C-3D-E-4G-5H
all the nodes are covered.
So by traveling through only
one path all the nodes 12345
are covered,
 So the Statement coverage
in this case is 1.
FLOW GRAPH EXAMPLE
Read P
Read Q
IF P+Q > 100
THEN
Print “Large”
ENDIF
If P > 50 THEN
Print “P Large”
ENDIF
Path Coverage (PC):
 Path Coverage ensures
covering of all the paths
from start to end.
 All possible paths are-
 1A-2B-E-4F
 1A-2B-E-4G-5H
 1A-2C-3D-E-4G-5H
 1A-2C-3D-E-4F
 So path coverage is 4.
Any Questions?
THANK YOU!

More Related Content

What's hot

Software testing strategies
Software testing strategiesSoftware testing strategies
Software testing strategiesKrishna Sujeer
 
Testing strategies -2
Testing strategies -2Testing strategies -2
Testing strategies -2
Divya Tiwari
 
Software Reliability Testing Training Crash Course - Tonex Training
Software Reliability Testing Training Crash Course - Tonex TrainingSoftware Reliability Testing Training Crash Course - Tonex Training
Software Reliability Testing Training Crash Course - Tonex Training
Bryan Len
 
Testing of Object-Oriented Software
Testing of Object-Oriented SoftwareTesting of Object-Oriented Software
Testing of Object-Oriented Software
Praveen Penumathsa
 
Research issues in object oriented software testing
Research issues in object oriented software testingResearch issues in object oriented software testing
Research issues in object oriented software testing
Anshul Vinayak
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
SHREEHARI WADAWADAGI
 
Testing and types of Testing
Testing and types of TestingTesting and types of Testing
Testing and types of Testing
Munaam Munawar
 
Testing in multiplatform environment
Testing in multiplatform environmentTesting in multiplatform environment
Testing in multiplatform environment
shivanichauhan1953
 
Testing Object-Oriented Systems: Lessons Learned
Testing Object-Oriented Systems: Lessons LearnedTesting Object-Oriented Systems: Lessons Learned
Testing Object-Oriented Systems: Lessons Learned
Bob Binder
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
AMITJain879
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
SHREEHARI WADAWADAGI
 
Object Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slidesObject Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slides
Punjab University
 
Software Testing (Contd..) SDLC Model
Software Testing (Contd..) SDLC ModelSoftware Testing (Contd..) SDLC Model
Chapter 14 software testing techniques
Chapter 14 software testing techniquesChapter 14 software testing techniques
Chapter 14 software testing techniques
SHREEHARI WADAWADAGI
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
Haris Jamil
 
Software testing and analysis
Software testing and analysisSoftware testing and analysis
What is Software Quality and how to measure it?
What is Software Quality and how to measure it?What is Software Quality and how to measure it?
What is Software Quality and how to measure it?
Denys Zaiats
 
11 software testing_strategy
11 software testing_strategy11 software testing_strategy
11 software testing_strategy
University of Computer Science and Technology
 
Software metrics
Software metricsSoftware metrics
Software metrics
Aadarsh Sharma
 

What's hot (20)

Software testing strategies
Software testing strategiesSoftware testing strategies
Software testing strategies
 
Testing strategies -2
Testing strategies -2Testing strategies -2
Testing strategies -2
 
Software Reliability Testing Training Crash Course - Tonex Training
Software Reliability Testing Training Crash Course - Tonex TrainingSoftware Reliability Testing Training Crash Course - Tonex Training
Software Reliability Testing Training Crash Course - Tonex Training
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Testing of Object-Oriented Software
Testing of Object-Oriented SoftwareTesting of Object-Oriented Software
Testing of Object-Oriented Software
 
Research issues in object oriented software testing
Research issues in object oriented software testingResearch issues in object oriented software testing
Research issues in object oriented software testing
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
 
Testing and types of Testing
Testing and types of TestingTesting and types of Testing
Testing and types of Testing
 
Testing in multiplatform environment
Testing in multiplatform environmentTesting in multiplatform environment
Testing in multiplatform environment
 
Testing Object-Oriented Systems: Lessons Learned
Testing Object-Oriented Systems: Lessons LearnedTesting Object-Oriented Systems: Lessons Learned
Testing Object-Oriented Systems: Lessons Learned
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
 
Object Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slidesObject Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slides
 
Software Testing (Contd..) SDLC Model
Software Testing (Contd..) SDLC ModelSoftware Testing (Contd..) SDLC Model
Software Testing (Contd..) SDLC Model
 
Chapter 14 software testing techniques
Chapter 14 software testing techniquesChapter 14 software testing techniques
Chapter 14 software testing techniques
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
 
Software testing and analysis
Software testing and analysisSoftware testing and analysis
Software testing and analysis
 
What is Software Quality and how to measure it?
What is Software Quality and how to measure it?What is Software Quality and how to measure it?
What is Software Quality and how to measure it?
 
11 software testing_strategy
11 software testing_strategy11 software testing_strategy
11 software testing_strategy
 
Software metrics
Software metricsSoftware metrics
Software metrics
 

Similar to Software Engineering Fundamentals in Computer Science

cost-estimation-tutorial
cost-estimation-tutorialcost-estimation-tutorial
cost-estimation-tutorial
shopnohin_shopnobalok
 
SW_Cost_Estimation.ppt
SW_Cost_Estimation.pptSW_Cost_Estimation.ppt
SW_Cost_Estimation.ppt
PerumalPitchandi
 
Cs 568 Spring 10 Lecture 5 Estimation
Cs 568 Spring 10  Lecture 5 EstimationCs 568 Spring 10  Lecture 5 Estimation
Cs 568 Spring 10 Lecture 5 Estimation
Lawrence Bernstein
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
Haitham Ahmed
 
Software Project Planning 1
Software Project Planning 1Software Project Planning 1
Software Project Planning 1
Gagan Deep
 
Metrics
MetricsMetrics
Metrics
geethawilliam
 
Cocomomodel
CocomomodelCocomomodel
COCOMO Model
COCOMO ModelCOCOMO Model
COCOMO Model
Dev Kishan Bairwa
 
Exp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptxExp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptx
YagnaGummadi
 
IRJET- Analysis of Software Cost Estimation Techniques
IRJET- Analysis of Software Cost Estimation TechniquesIRJET- Analysis of Software Cost Estimation Techniques
IRJET- Analysis of Software Cost Estimation Techniques
IRJET Journal
 
Loc and function point
Loc and function pointLoc and function point
Loc and function point
Mitali Chugh
 
Project management
Project managementProject management
Project managementAhmed Said
 
Unit1
Unit1Unit1
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation modelsSe 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
babak danyal
 
CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5
SIMONTHOMAS S
 
Software metrics
Software metricsSoftware metrics
Software metrics
syeda madeha azmat
 
Software estimation techniques
Software estimation techniquesSoftware estimation techniques
Software estimation techniquesTan Tran
 
21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.ppt21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.ppt
ssuser7f90ae
 

Similar to Software Engineering Fundamentals in Computer Science (20)

cost-estimation-tutorial
cost-estimation-tutorialcost-estimation-tutorial
cost-estimation-tutorial
 
SW_Cost_Estimation.ppt
SW_Cost_Estimation.pptSW_Cost_Estimation.ppt
SW_Cost_Estimation.ppt
 
Cs 568 Spring 10 Lecture 5 Estimation
Cs 568 Spring 10  Lecture 5 EstimationCs 568 Spring 10  Lecture 5 Estimation
Cs 568 Spring 10 Lecture 5 Estimation
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
 
Software Project Planning 1
Software Project Planning 1Software Project Planning 1
Software Project Planning 1
 
Metrics
MetricsMetrics
Metrics
 
Cocomomodel
CocomomodelCocomomodel
Cocomomodel
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
COCOMO Model
COCOMO ModelCOCOMO Model
COCOMO Model
 
Exp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptxExp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptx
 
IRJET- Analysis of Software Cost Estimation Techniques
IRJET- Analysis of Software Cost Estimation TechniquesIRJET- Analysis of Software Cost Estimation Techniques
IRJET- Analysis of Software Cost Estimation Techniques
 
Loc and function point
Loc and function pointLoc and function point
Loc and function point
 
Project management
Project managementProject management
Project management
 
Ch26
Ch26Ch26
Ch26
 
Unit1
Unit1Unit1
Unit1
 
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation modelsSe 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
 
CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Software estimation techniques
Software estimation techniquesSoftware estimation techniques
Software estimation techniques
 
21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.ppt21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.ppt
 

More from Arti Parab Academics

COMPUTER APPLICATIONS Module 4.pptx
COMPUTER APPLICATIONS Module 4.pptxCOMPUTER APPLICATIONS Module 4.pptx
COMPUTER APPLICATIONS Module 4.pptx
Arti Parab Academics
 
COMPUTER APPLICATIONS Module 1 HPSY - Copy.pptx
COMPUTER APPLICATIONS Module 1 HPSY - Copy.pptxCOMPUTER APPLICATIONS Module 1 HPSY - Copy.pptx
COMPUTER APPLICATIONS Module 1 HPSY - Copy.pptx
Arti Parab Academics
 
COMPUTER APPLICATIONS Module 5.pptx
COMPUTER APPLICATIONS Module 5.pptxCOMPUTER APPLICATIONS Module 5.pptx
COMPUTER APPLICATIONS Module 5.pptx
Arti Parab Academics
 
COMPUTER APPLICATIONS Module 1 CAH.pptx
COMPUTER APPLICATIONS Module 1 CAH.pptxCOMPUTER APPLICATIONS Module 1 CAH.pptx
COMPUTER APPLICATIONS Module 1 CAH.pptx
Arti Parab Academics
 
COMPUTER APPLICATIONS Module 3.pptx
COMPUTER APPLICATIONS Module 3.pptxCOMPUTER APPLICATIONS Module 3.pptx
COMPUTER APPLICATIONS Module 3.pptx
Arti Parab Academics
 
COMPUTER APPLICATIONS Module 2.pptx
COMPUTER APPLICATIONS Module 2.pptxCOMPUTER APPLICATIONS Module 2.pptx
COMPUTER APPLICATIONS Module 2.pptx
Arti Parab Academics
 
Health Informatics- Module 5-Chapter 2.pptx
Health Informatics- Module 5-Chapter 2.pptxHealth Informatics- Module 5-Chapter 2.pptx
Health Informatics- Module 5-Chapter 2.pptx
Arti Parab Academics
 
Health Informatics- Module 5-Chapter 3.pptx
Health Informatics- Module 5-Chapter 3.pptxHealth Informatics- Module 5-Chapter 3.pptx
Health Informatics- Module 5-Chapter 3.pptx
Arti Parab Academics
 
Health Informatics- Module 4-Chapter 3.pptx
Health Informatics- Module 4-Chapter 3.pptxHealth Informatics- Module 4-Chapter 3.pptx
Health Informatics- Module 4-Chapter 3.pptx
Arti Parab Academics
 
Health Informatics- Module 3-Chapter 2.pptx
Health Informatics- Module 3-Chapter 2.pptxHealth Informatics- Module 3-Chapter 2.pptx
Health Informatics- Module 3-Chapter 2.pptx
Arti Parab Academics
 
Health Informatics- Module 4-Chapter 1.pptx
Health Informatics- Module 4-Chapter 1.pptxHealth Informatics- Module 4-Chapter 1.pptx
Health Informatics- Module 4-Chapter 1.pptx
Arti Parab Academics
 
Health Informatics- Module 4-Chapter 2.pptx
Health Informatics- Module 4-Chapter 2.pptxHealth Informatics- Module 4-Chapter 2.pptx
Health Informatics- Module 4-Chapter 2.pptx
Arti Parab Academics
 
Health Informatics- Module 3-Chapter 3.pptx
Health Informatics- Module 3-Chapter 3.pptxHealth Informatics- Module 3-Chapter 3.pptx
Health Informatics- Module 3-Chapter 3.pptx
Arti Parab Academics
 
Health Informatics- Module 5-Chapter 1.pptx
Health Informatics- Module 5-Chapter 1.pptxHealth Informatics- Module 5-Chapter 1.pptx
Health Informatics- Module 5-Chapter 1.pptx
Arti Parab Academics
 
Health Informatics- Module 3-Chapter 1.pptx
Health Informatics- Module 3-Chapter 1.pptxHealth Informatics- Module 3-Chapter 1.pptx
Health Informatics- Module 3-Chapter 1.pptx
Arti Parab Academics
 
Health Informatics- Module 2-Chapter 2.pptx
Health Informatics- Module 2-Chapter 2.pptxHealth Informatics- Module 2-Chapter 2.pptx
Health Informatics- Module 2-Chapter 2.pptx
Arti Parab Academics
 
Health Informatics- Module 1-Chapter 1.pptx
Health Informatics- Module 1-Chapter 1.pptxHealth Informatics- Module 1-Chapter 1.pptx
Health Informatics- Module 1-Chapter 1.pptx
Arti Parab Academics
 
Health Informatics- Module 2-Chapter 3.pptx
Health Informatics- Module 2-Chapter 3.pptxHealth Informatics- Module 2-Chapter 3.pptx
Health Informatics- Module 2-Chapter 3.pptx
Arti Parab Academics
 
Health Informatics- Module 2-Chapter 1.pptx
Health Informatics- Module 2-Chapter 1.pptxHealth Informatics- Module 2-Chapter 1.pptx
Health Informatics- Module 2-Chapter 1.pptx
Arti Parab Academics
 
Health Informatics- Module 1-Chapter 2.pptx
Health Informatics- Module 1-Chapter 2.pptxHealth Informatics- Module 1-Chapter 2.pptx
Health Informatics- Module 1-Chapter 2.pptx
Arti Parab Academics
 

More from Arti Parab Academics (20)

COMPUTER APPLICATIONS Module 4.pptx
COMPUTER APPLICATIONS Module 4.pptxCOMPUTER APPLICATIONS Module 4.pptx
COMPUTER APPLICATIONS Module 4.pptx
 
COMPUTER APPLICATIONS Module 1 HPSY - Copy.pptx
COMPUTER APPLICATIONS Module 1 HPSY - Copy.pptxCOMPUTER APPLICATIONS Module 1 HPSY - Copy.pptx
COMPUTER APPLICATIONS Module 1 HPSY - Copy.pptx
 
COMPUTER APPLICATIONS Module 5.pptx
COMPUTER APPLICATIONS Module 5.pptxCOMPUTER APPLICATIONS Module 5.pptx
COMPUTER APPLICATIONS Module 5.pptx
 
COMPUTER APPLICATIONS Module 1 CAH.pptx
COMPUTER APPLICATIONS Module 1 CAH.pptxCOMPUTER APPLICATIONS Module 1 CAH.pptx
COMPUTER APPLICATIONS Module 1 CAH.pptx
 
COMPUTER APPLICATIONS Module 3.pptx
COMPUTER APPLICATIONS Module 3.pptxCOMPUTER APPLICATIONS Module 3.pptx
COMPUTER APPLICATIONS Module 3.pptx
 
COMPUTER APPLICATIONS Module 2.pptx
COMPUTER APPLICATIONS Module 2.pptxCOMPUTER APPLICATIONS Module 2.pptx
COMPUTER APPLICATIONS Module 2.pptx
 
Health Informatics- Module 5-Chapter 2.pptx
Health Informatics- Module 5-Chapter 2.pptxHealth Informatics- Module 5-Chapter 2.pptx
Health Informatics- Module 5-Chapter 2.pptx
 
Health Informatics- Module 5-Chapter 3.pptx
Health Informatics- Module 5-Chapter 3.pptxHealth Informatics- Module 5-Chapter 3.pptx
Health Informatics- Module 5-Chapter 3.pptx
 
Health Informatics- Module 4-Chapter 3.pptx
Health Informatics- Module 4-Chapter 3.pptxHealth Informatics- Module 4-Chapter 3.pptx
Health Informatics- Module 4-Chapter 3.pptx
 
Health Informatics- Module 3-Chapter 2.pptx
Health Informatics- Module 3-Chapter 2.pptxHealth Informatics- Module 3-Chapter 2.pptx
Health Informatics- Module 3-Chapter 2.pptx
 
Health Informatics- Module 4-Chapter 1.pptx
Health Informatics- Module 4-Chapter 1.pptxHealth Informatics- Module 4-Chapter 1.pptx
Health Informatics- Module 4-Chapter 1.pptx
 
Health Informatics- Module 4-Chapter 2.pptx
Health Informatics- Module 4-Chapter 2.pptxHealth Informatics- Module 4-Chapter 2.pptx
Health Informatics- Module 4-Chapter 2.pptx
 
Health Informatics- Module 3-Chapter 3.pptx
Health Informatics- Module 3-Chapter 3.pptxHealth Informatics- Module 3-Chapter 3.pptx
Health Informatics- Module 3-Chapter 3.pptx
 
Health Informatics- Module 5-Chapter 1.pptx
Health Informatics- Module 5-Chapter 1.pptxHealth Informatics- Module 5-Chapter 1.pptx
Health Informatics- Module 5-Chapter 1.pptx
 
Health Informatics- Module 3-Chapter 1.pptx
Health Informatics- Module 3-Chapter 1.pptxHealth Informatics- Module 3-Chapter 1.pptx
Health Informatics- Module 3-Chapter 1.pptx
 
Health Informatics- Module 2-Chapter 2.pptx
Health Informatics- Module 2-Chapter 2.pptxHealth Informatics- Module 2-Chapter 2.pptx
Health Informatics- Module 2-Chapter 2.pptx
 
Health Informatics- Module 1-Chapter 1.pptx
Health Informatics- Module 1-Chapter 1.pptxHealth Informatics- Module 1-Chapter 1.pptx
Health Informatics- Module 1-Chapter 1.pptx
 
Health Informatics- Module 2-Chapter 3.pptx
Health Informatics- Module 2-Chapter 3.pptxHealth Informatics- Module 2-Chapter 3.pptx
Health Informatics- Module 2-Chapter 3.pptx
 
Health Informatics- Module 2-Chapter 1.pptx
Health Informatics- Module 2-Chapter 1.pptxHealth Informatics- Module 2-Chapter 1.pptx
Health Informatics- Module 2-Chapter 1.pptx
 
Health Informatics- Module 1-Chapter 2.pptx
Health Informatics- Module 1-Chapter 2.pptxHealth Informatics- Module 1-Chapter 2.pptx
Health Informatics- Module 1-Chapter 2.pptx
 

Recently uploaded

Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
Jean Carlos Nunes Paixão
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf
CarlosHernanMontoyab2
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
kaushalkr1407
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
TechSoup
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
Balvir Singh
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
camakaiclarkmusic
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
heathfieldcps1
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
TechSoup
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
Peter Windle
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
EverAndrsGuerraGuerr
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
Special education needs
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
Jisc
 
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th SemesterGuidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Atul Kumar Singh
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
Atul Kumar Singh
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
Celine George
 

Recently uploaded (20)

Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
 
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th SemesterGuidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th Semester
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
 

Software Engineering Fundamentals in Computer Science

  • 2. GOAL Software Engineering should focus on imparting to students the knowledge and skills that are needed to successfully execute a commercial project of a few person-months effort while employing proper practices and techniques.
  • 3. THE SOFTWARE PROBLEM  If a student is said to build a software system (academic project) of 10000 LOC, it would take 1 to 3 months to complete with productivity of 5000 LOC/month!  If a software organization is said to build such a system on be half of client, it would take 10 months to complete with 1000 LOC/month!!!  Why this difference in productivity in the two scenarios?  Why is it that the same students who can produce software at a productivity of a few thousand LOC per month while in college end up producing only about a thousand LOC per month when working in a company?
  • 4. THE SOFTWARE PROBLEM Continued...  The answer, of course, is that two different things are being built in the two scenarios.  In the first, a student system is being built which is primarily meant for demonstration purposes, and is not expected to be used later.  On the other hand, an industrial-strength software system is built to solve some problem of a client and is used by the client’s organization for operating some part of business.  A malfunction of such a system can have huge impact in terms of financial or business loss, inconvenience to users, or loss of property and life.  Consequently, the software system needs to be of high quality with respect to properties like reliability, usability, portability, etc.
  • 5. SOFTWARE ENGINEERING The software industry is largely interested in developing industrial- strength software, and the area of software engineering focuses on how to build such systems. That is, the problem domain for software engineering is industrial strength software.
  • 6. Industrial Strength Software Software engineering is defined as the systematic approach to the development, operation, maintenance, and retirement of software
  • 7. COST, SCHEUDLE AND QUALITY  COST is measured in Lines of code (LOC) or thousands of lines of code (KLOC).  SCHEDULE is about time to market of a product should be reduced. i.e. the cycle time from concept to delivery should be small.  QUALITY is one of the main mantras, and business strategies are designed around it. Unreliability of software The software often does not do what it is supposed to do or does something it is not supposed to do. Clearly, developing high-quality software is another fundamental goal of software engineering.
  • 8. CONTENTS  Project management  Size & Effort Estimation  Project Scheduling  Configuration Management  Unified Process- Changing Trends In Software Development  Software Testing Fundamentals  Planning Software Testing  Black Box Testing  White Box Testing
  • 9. Project Management Process  To meet the cost, quality, and schedule objectives, resources have to be properly allocated to each activity for the project.  And progress of different activities has to be monitored and corrective actions to be taken when needed.  All these activities are part of the project management process.  The activities in the management process for a project can be grouped broadly into three phases: planning, monitoring and control, and termination analysis.
  • 10. Size & Effort Estimation  Overall effort and schedule estimates are essential prerequisites for planning the project.  Helps us to answer the questions like:  “is the project late?”  “are there cost overruns?”  “when is the project likely to complete?”  “what will be a staffing level for a project during different phases?”  Two approaches of effort estimation:  Top-Down Estimation Approach
  • 11. COCOMO MODEL  A function for determining initial effort from size  where a and b are constants, and project size is generally in KLOC.  After determining the initial estimate, some other factors are incorporated for obtaining the final estimate.  COCOMO uses a set of 15 different attributes of a project called cost driver attributes.  Each cost driver has a rating scale, and for each rating, a multiplying factor is provided.
  • 12. COCOMO MODEL Continued…  The multiplying factors for all 15 cost drivers are multiplied to get the effort adjustment factor (EAF).  The final effort estimate, E, is obtained by multiplying the initial estimate (Ei) by the EAF. E = EAF * Ei To the Example
  • 13. COCOMO MODEL EXAMPLE  Consider a system being built for supporting auctions in an University.  From the use cases and other requirements, it is decided that the system will comprise a few different modules. The modules and their expected sizes is shown in table.  The total size of this software is MODULE SIZE IN LOC Login 200 Payment 200 Administrator interface 600 Seller functions 200 Buyer functions 500 View and bookkeeping 300
  • 14. COCOMO MODEL EXAMPLE  We should estimate the value of the different cost drivers.  Suppose we expect that:  the complexity of the system is high,  the programmer capability is low,  and the application experience of the team is low.  All other factors have a COCOMO ESTIMATION Effort adjustment factor (EAF): EAF = 1.15 * 1.17 * 1.13 = 1.52 Initial effort estimate (Ei): Ei = 3.9 * 2 ^ .91 = 7.3 PM Final adjusted effort estimate (E): E = 1.52 * 7.3 = 11.1 PM Different Cost Drivers
  • 15. FUNCTION POINT (FP)  FP based estimation use a measure of functionalities delivered by the application.  FPs are derived using an empirical relationship based on countable measures of software information domain and assessment of software complexity.  The project planner estimates:  Inputs : user inputs.  Outputs : system outputs like error messages, output screens, reports.  Inquiries : queries to the system  Internal files : internal database files etc.  External interfaces : Network interfaces or interfaces of other applications.  There are 14 complexity weighting factors those needs to be evaluated.
  • 16. FUNCTION POINT Continued…  Complexity weighting factors can be defined with complexity values: simple, average, or complex.  Determination of complexity is somewhat subjective. 1 Does the system require reliable backup and recovery? 2 Are data communications required? 3 Are there distributed processing functions? 4 Is performance critical? 5 Will the system run in an existing, heavily utilized operational environment? 6 Does the system require on-line data entry? 7 Does the data entry to be built over multiple screens or operations? 8 Are the master files updated on-line? 9 Are the inputs, outputs, files or inquiries complex? 10 Is the internal processing complex? 11 Is the code design to be reusable? 12 Are conversion and installation included in the design? 13 Is the system designed for multiple installations in different organizations?
  • 17. FUNCTION POINT EXAMPLE  CAD software  Lets assume the complexity weighting factor to be average.  Computing function points: Measurement parameter count simple average comple x total Number of inputs 24 3 4 6 96 Number of outputs 16 4 5 7 80 Number of inquiries 22 3 4 6 88 Number of files 4 7 10 15 40 Number of external interfaces 2 5 7 10 14 Count TOTAL 318
  • 18. FUNCTION POINT Example Continued…  Complexity weighting factors:  ∑ (Fi) = 52  FP_estimated =count_total*[0.65 + 0.01* ∑ (Fi) ] =318*[0.65+0.01*52] FP_estimated = 373  The organizational average productivity for systems of this type is 6.5 FP/pm.  Based on a burdened labor rate of $8000 per month, the cost per FP is approximately $1230.  Based on LOC estimates and historical productivity data, the total estimated project cost is $461,250 and the estimated 1 reliable backup and recovery 4 2 data communications 2 3 distributed processing 0 4 performance critical 4 5 existing operational environment 3 6 on-line data entry 4 7 Input transactions over multiple screens 5 8 master files updated 3 9 Information domain values complex 5 10 internal processing complex 5 11 code design for reuse 4 12 conversion and installation in design 3 13 multiple installations 5 14 application designed to facilitate change 5
  • 19. Project Scheduling Three methods: Building WBS Use of Gantt chart PERT/CPM chart
  • 22. PERT(Program Evaluation Review Technique)/ CPM (Critical Path Method) CHART  A PERT chart presents a graphic illustration of a project as a network diagram consisting of numbered nodes representing events, or milestones in the project linked by labeled directional lines representing tasks in the project.  The direction of the arrows on the lines indicates the sequence of tasks. In the diagram, for example, the tasks between nodes 1, 2, 4, 8, and 10 must be completed in sequence. These are called dependent or serial tasks.  The tasks between nodes 1 and 2, and nodes 1 and 3 are not dependent on the completion of one to start the other and can be undertaken simultaneously. These tasks are called parallel or concurrent
  • 23. Configuration Management  Changes continuously takes place in a software due to:  Evolution of work products as project proceeds  Bugs found  Changes in requirement specifications  All the changes must be reflected to the files containing source, data or documentation.  Software Configuration Management (SCM) is the discipline for systematically controlling the changes that take place during the development.
  • 24. CM FUNCTIONALITIES & MECHANISMS  CM Functionalities:  Give the latest version of a program  Undo a change or revert back to a specified version  Prevent unauthorized changes or deletions  Gather all sources, documents and other information for the current system  CM Mechanisms:  Configuration identification and base-lining  Version control and version management  Access control
  • 25. CMM (CAPABILITY MATURITY MODEL)  Introducing changes in small increments based on the current state of the process is captured through CMM framework.  CMM framework provides a general roadmap for process improvement.  CMM provides characteristics of each level, which can be used to assess the current level of the process of an organization.  The movement from one level to the next level also suggest the areas in which the process should be
  • 26. CMM (CAPABILITY MATURITY MODEL)  Initial process (level 1)  Ad-hoc, informal methods  Repeatable process (level 2)  Mgmt policies, cost & schedules are tracked  Defined level (level 3)  Standardize software process  Managed level (level 4)  Predictable management  Optimizing level(level 5)
  • 27. Unified Process- Changing Trends In Software Development  Iterative process model  designed for object-oriented development using the Unified Modeling Language (UML) Unified Process proposes that development of software be divided into cycles, each cycle delivering a fully working system.  Each cycle is executed as a separate project whose goal is to deliver some additional capability to an existing system.  Hence, for a project, the process for a cycle forms the overall process.
  • 28. Unified Process Continued…  Each cycle is broken into four consecutive phases:  Inception phase  Elaboration phase  Construction phase  Transition phase Each phase has a distinct purpose, and completion of each phase is a well defined milestone in the project with some clearly defined outputs.
  • 29. Unified Process Continued… Phase Purpose Output Inception phase Establish the goals and scope of the project Lifecycle objectives milestone - VISION Elaboration phase The architecture of the system is designed Lifecycle architecture milestone Construction phase The software is built and tested Initial operational capability milestone Transition phase Move the software from the development environment to the client’s environment Product release milestone
  • 30. Software Testing Fundamentals  To ensure quality of the final delivered software, software defects will have to be removed.  Though errors are detected after each phase by techniques like inspections, some errors remain undetected.  final code is likely to have some requirements errors and design errors, in addition to errors introduced during the coding activity.  Two types of approaches for identifying defects in the software:  Static: code is not executed but evaluated through some process or tools for locating defects.
  • 31. TESTING PROCESS  The basic goal of the software development process is to produce software that has no errors or very few errors.  Testing is a quality control activity which focuses on identifying defects (which are then removed).  The testing process for a project consists of three high- level tasks:  test planning  test case design  test execution
  • 32. TEST PLAN  A test plan is a general document for the entire project.  Defines the scope, approach to be taken, and the schedule of testing, also identifies the test items for testing and the personnel responsible for the different activities of testing.  The inputs of test plan are:  project plan  requirements document TEST PLAN Test unit specification Features to be tested Approach for testing Test deliverables Schedule and task allocation
  • 33. TEST CASE DESIGN  Details of testing a unit.  Based on the approach specified in the test plan, and the features to be tested, the test cases are designed and specified for testing the unit.  A test case specification in a document looks like: Requirement Number Condition to be tested Test data and settings Expected output
  • 34. BLACK BOX TESTING  The structure of the program is not considered.  Test cases are decided solely on the basis of the requirements or specifications of the program or module  The tester only knows the inputs that can be given to the system and what output the system should give.  Also called functional or behavioral testing.  Exhaustive testing is not possible, However, there are a number of techniques or heuristics that can be used to select test cases that have been found to be very successful in detecting errors.
  • 35. BLACK BOX TESTING TECHNIQUES  Equivalence class partitioning  Divide the input domain into a set of equivalence classes  If the program works correctly for a value, then it will work correctly for all the other values in that class.  If we can indeed identify such classes, then testing the program with one value from each equivalence class is equivalent to doing an exhaustive test of the program.  Boundary value analysis  programs that work correctly for a set of values in an equivalence class fail on some special values. These values often lie on the boundary of the equivalence class.
  • 36. EQUIVALENCE CLASS PARTITIONING  Equivalence classes are usually formed by considering each condition specified on an input as specifying a valid equivalence class and one or more invalid equivalence classes.  For example,  If an input condition specifies a range of value (say, 0 < count < Max), then form a valid equivalence class with that range and two invalid equivalence classes, one with values less than the lower bound of the range (i.e., count < 0) and the other with values higher than the higher bound (count > Max).
  • 37. BOUNDARY VALUE ANANLYSIS  Select the boundary elements of the range and an invalid value just beyond the two ends (for the two invalid equivalence classes).  For example,  if the range is 0.0<=x<=1.0, then the test cases are 0.0, 1.0 (valid inputs), and −0.1, and 1.1 (for invalid inputs).  Similarly, if the input is a list, attention should be focused on the first and last elements of the list. If an integer range is min to max, then the six values are min−1, min, min+1, max−1, max, max+1.
  • 38. WHITE BOX TESTING  Concerned with testing the implementation of the program.  The intent of this testing is not to exercise all the different input or output conditions but to exercise the different programming structures and data structures used in the program.  Also called structural testing.  Test cases will force the desired coverage of different structures.  Unlike the criteria for functional testing, which are frequently imprecise, the criteria for structural testing are generally quite precise as they are based on program structures.
  • 39. WHITE BOX TESTING TECHNIQUES  Statement Coverage:  test case is executed in such a way that every statement of the code is executed at least once.  Branch/Decision Coverage:  Test coverage criteria requires enough test cases such that each condition in a decision takes on all possible outcomes at least once, and each point of entry to a program or subroutine is invoked at least once. That is, every branch (decision) taken each way, true and false. It helps in validating all the branches in the code making sure that
  • 40. WHITE BOX TESTING TECHNIQUES CONTINUED…  Path Coverage:  In this the test case is executed in such a way that every path is executed at least once.  All possible control paths taken, including all loop paths taken zero, once, and multiple (ideally, maximum) items in path coverage technique, the test cases are prepared based on the logical complexity measure of a procedural design. In this type of testing every statement in the program is guaranteed to be executed at least one time. Flow Graph, Cyclomatic Complexity and Graph Metrics
  • 41. CYCLOMATIC COMPLEXITY  Cyclomatic Complexity for a flow graph is computed in one of three ways:  The numbers of regions of the flow graph correspond to the Cyclomatic complexity.  Cyclomatic complexity, V(G), for a flow graph G is defined as V(G) = E – N + 2 where E is the number of flow graph edges and N is the number of flow graph nodes.  Cyclomatic complexity, V(G), for a graph flow G is also defined as V(G) = P + 1
  • 42. CYCLOMATIC COMPLEXITY EXAMPLE  Region, R= 6  Number of Nodes = 13  Number of edges = 17  Number of Predicate Nodes = 5  Cyclomatic Complexity, V( C) :  V( C ) = R = 6; Or  V(C) = Predicate Nodes + 1 =5+1 =6 Or  V( C)= E-N+2 = 17-13+2
  • 43. FLOW GRAPH EXAMPLE Read P Read Q IF P+Q > 100 THEN Print “Large” ENDIF If P > 50 THEN Print “P Large” ENDIF Statement Coverage (SC):  To calculate Statement Coverage, find out the shortest number of paths following which all the nodes will be covered.  Here by traversing through path 1A-2C-3D-E-4G-5H all the nodes are covered. So by traveling through only one path all the nodes 12345 are covered,  So the Statement coverage in this case is 1.
  • 44. FLOW GRAPH EXAMPLE Read P Read Q IF P+Q > 100 THEN Print “Large” ENDIF If P > 50 THEN Print “P Large” ENDIF Path Coverage (PC):  Path Coverage ensures covering of all the paths from start to end.  All possible paths are-  1A-2B-E-4F  1A-2B-E-4G-5H  1A-2C-3D-E-4G-5H  1A-2C-3D-E-4F  So path coverage is 4.