SOFTWARE ENGINEERING
SOFTWARE COST FACTOR
B.Abinaya Bharathi,
II-M.Sc[Cs&IT],
Nadar Saraswathi college of Arts and Science,
Theni.
1
SOFTWARE COST ESTIMATION
 One of the important and difficult task is estimating a
software product
 Preliminary estimate is prepared during planning
 •Improved estimate is presented at the software
requirements review
 •Final estimate is prepares at the preliminary design
view 2
MAJOR FACTOR THAT INFLUENCE
SOFTWARE COST
 Programmer ability
 Product complexity
 Product size
 Available time
 Required reliability
 Level of technology
3
PROGRAMMER ABILITY
 Maintaining and production of a software is based on
programmer
 Programmer must be expert in computer programming
 If not an expert project may become failure
 Programming is a individual and private activity
4
 Communication path among programmers increases
according to the number of programmers in a project
 By Brook’s observation
Communication path=n(n+1)/2
 n= number of programmers
5
PRODUCT COMPLEXITY
 Three main categories or three levels are
 Application software
 Utility software
 System software
.
6
 Application software
 Developed using high level programming language
like C++,java etc,.
 Utility software
 Utility programs are system software like loader ,
linker , compiler
 System software
 Which directly interacts with hardware
 Ex: operating System 7
 By Brook’s observation
 1:3:9
 i.e. utility program are 3 times difficult than
application program.
 System program are 9 times difficult than utility
program.
8
 By Boehm's observation
Three levels are
 Organic- application program
 Semi-detached- utility program
 Embedded-system program
9
 Boehm derived an equation by analyzing the historical
data of many project
 Application program= PM*(KDSI)**1.05
 Utility program = PM*(KDSI)**1.12
 System program = PM*(KDSI)**1.20
*KDSI=thousand of delivered source line
*PM=Programmer month
10
11
 Above graph shows that
 Developing a application program using 60,000 lines
 The ratio is 1 to 1.7 to 2.8 for application program ,
utility program and system program.
12
 The development time for a product
 Application program TDEV=2.5*(PM)**0.38
 Utility programs TDEV=2.5*(PM)**0.35
 System programs TDEV=2.5*(PM)**0.32
*TDEV – development time
13
14
Graph shows that the duration
for developing all the three
types of system are same
 Total programmer for a project
 Application program:176.6PM / 17.85mo
=9.9programmers
 Utility program:294PM / 18.3mo
=16programmers
 System programm:489.6PM / 18.1mo
=27programmers
*mo=month
15
 Failures in estimating the number of source
instructions in a software product is to under estimate the
amount of house keeping code
 Housekeeping code
 portion of source code
 handles input , output , interactive user
communication ,error checking and error handling
16
PRODUCT SIZE
 A large software product is more expensive to develop
than a small one.
 Boehm equation indicate that
 “the rate of increase in required effort grows with
number of source instruction at an exponential”
17
EFFORT EQUATION SCHEDULE EQUATION REFERENCE
 PM=5.2(KDSI)**0.91 TDEV=2.47(MM)**0.35
 PM=4.9(KDSI)**0.98 TDEV=3.04(MM)**0.36
 PM=1.5(KDSI)**1.02 TDEV=4.38(MM)**0.25
 PM=2.4(KDSI)**1.05 TDEV=2.50(MM)**0.38
 PM=3.0(KDSI)**1.12 TDEV=2.50(MM)**0.35
 PM=3.6(KDSI)**1.40 TDEV=2.50(MM)**0.32
 PM=1.0(KDSI)**1.50
 PM=0.7(KDSI)**1.50
18
AVAILABLE TIME
 Project must complete within the given time and cost
 Putnam’s
 “project effort is inversely proportional to the fourth
power of the development time”
 E=k/(TD**4)
 Putnam states that , development schedule
 cannot be compressed below about 86%
19
 Boehm states that
 “there is a limit beyond which a software project
cannot reduce its schedule by buying more personnel
and equipment”
20
REQUIRED RELIABILITY
 Four main terms that express the reliability are
 Accuracy
 Robustness
 Completeness
 Consistency
21
 A product which is built by these all characteristics but
there is a cost associated with different phases to ensure
high reliability
 Product failure may cause slightly inconvenience high
financial loss or risk to human life
22
LEVEL OF TECHNOLOGY
 A software Project is mainly reflected by
 programming language
 abstract machine
 programming practices
 software tools used
23
 •In Modern programming languages to increase
productivity and software reliability ,additional
features like
 strong type checking
 data abstraction
 separate computation
 exception handling
24
 •Programming practices include
 systematic analysis and design technique
 structure designed notations
 inspection
 structured coding
 systematic testing
 program development library
25
 Software tools are
 Assemblers
 Loaders
 Compilers
 Other interactive tool
26
THANK YOU
27

software cost factor

  • 1.
    SOFTWARE ENGINEERING SOFTWARE COSTFACTOR B.Abinaya Bharathi, II-M.Sc[Cs&IT], Nadar Saraswathi college of Arts and Science, Theni. 1
  • 2.
    SOFTWARE COST ESTIMATION One of the important and difficult task is estimating a software product  Preliminary estimate is prepared during planning  •Improved estimate is presented at the software requirements review  •Final estimate is prepares at the preliminary design view 2
  • 3.
    MAJOR FACTOR THATINFLUENCE SOFTWARE COST  Programmer ability  Product complexity  Product size  Available time  Required reliability  Level of technology 3
  • 4.
    PROGRAMMER ABILITY  Maintainingand production of a software is based on programmer  Programmer must be expert in computer programming  If not an expert project may become failure  Programming is a individual and private activity 4
  • 5.
     Communication pathamong programmers increases according to the number of programmers in a project  By Brook’s observation Communication path=n(n+1)/2  n= number of programmers 5
  • 6.
    PRODUCT COMPLEXITY  Threemain categories or three levels are  Application software  Utility software  System software . 6
  • 7.
     Application software Developed using high level programming language like C++,java etc,.  Utility software  Utility programs are system software like loader , linker , compiler  System software  Which directly interacts with hardware  Ex: operating System 7
  • 8.
     By Brook’sobservation  1:3:9  i.e. utility program are 3 times difficult than application program.  System program are 9 times difficult than utility program. 8
  • 9.
     By Boehm'sobservation Three levels are  Organic- application program  Semi-detached- utility program  Embedded-system program 9
  • 10.
     Boehm derivedan equation by analyzing the historical data of many project  Application program= PM*(KDSI)**1.05  Utility program = PM*(KDSI)**1.12  System program = PM*(KDSI)**1.20 *KDSI=thousand of delivered source line *PM=Programmer month 10
  • 11.
  • 12.
     Above graphshows that  Developing a application program using 60,000 lines  The ratio is 1 to 1.7 to 2.8 for application program , utility program and system program. 12
  • 13.
     The developmenttime for a product  Application program TDEV=2.5*(PM)**0.38  Utility programs TDEV=2.5*(PM)**0.35  System programs TDEV=2.5*(PM)**0.32 *TDEV – development time 13
  • 14.
    14 Graph shows thatthe duration for developing all the three types of system are same
  • 15.
     Total programmerfor a project  Application program:176.6PM / 17.85mo =9.9programmers  Utility program:294PM / 18.3mo =16programmers  System programm:489.6PM / 18.1mo =27programmers *mo=month 15
  • 16.
     Failures inestimating the number of source instructions in a software product is to under estimate the amount of house keeping code  Housekeeping code  portion of source code  handles input , output , interactive user communication ,error checking and error handling 16
  • 17.
    PRODUCT SIZE  Alarge software product is more expensive to develop than a small one.  Boehm equation indicate that  “the rate of increase in required effort grows with number of source instruction at an exponential” 17
  • 18.
    EFFORT EQUATION SCHEDULEEQUATION REFERENCE  PM=5.2(KDSI)**0.91 TDEV=2.47(MM)**0.35  PM=4.9(KDSI)**0.98 TDEV=3.04(MM)**0.36  PM=1.5(KDSI)**1.02 TDEV=4.38(MM)**0.25  PM=2.4(KDSI)**1.05 TDEV=2.50(MM)**0.38  PM=3.0(KDSI)**1.12 TDEV=2.50(MM)**0.35  PM=3.6(KDSI)**1.40 TDEV=2.50(MM)**0.32  PM=1.0(KDSI)**1.50  PM=0.7(KDSI)**1.50 18
  • 19.
    AVAILABLE TIME  Projectmust complete within the given time and cost  Putnam’s  “project effort is inversely proportional to the fourth power of the development time”  E=k/(TD**4)  Putnam states that , development schedule  cannot be compressed below about 86% 19
  • 20.
     Boehm statesthat  “there is a limit beyond which a software project cannot reduce its schedule by buying more personnel and equipment” 20
  • 21.
    REQUIRED RELIABILITY  Fourmain terms that express the reliability are  Accuracy  Robustness  Completeness  Consistency 21
  • 22.
     A productwhich is built by these all characteristics but there is a cost associated with different phases to ensure high reliability  Product failure may cause slightly inconvenience high financial loss or risk to human life 22
  • 23.
    LEVEL OF TECHNOLOGY A software Project is mainly reflected by  programming language  abstract machine  programming practices  software tools used 23
  • 24.
     •In Modernprogramming languages to increase productivity and software reliability ,additional features like  strong type checking  data abstraction  separate computation  exception handling 24
  • 25.
     •Programming practicesinclude  systematic analysis and design technique  structure designed notations  inspection  structured coding  systematic testing  program development library 25
  • 26.
     Software toolsare  Assemblers  Loaders  Compilers  Other interactive tool 26
  • 27.