Chapter+1+Introduction+part+1

Embed Size (px)

Citation preview

  • 7/26/2019 Chapter+1+Introduction+part+1

    1/57

    Chapter : Introduction toSoftware Engineering

    Ref. book :

    Software Engineering by Roger Pressman

  • 7/26/2019 Chapter+1+Introduction+part+1

    2/57

    Chapter : Topic Covered

    Evoving Roe of Software

    !ardware vs. Software

    Software characteristics

    Changing nature of software Evoution of Software

    Software "yths

    #

  • 7/26/2019 Chapter+1+Introduction+part+1

    3/57

    Evoving Roe of Software

    Software is a product Transforms information $ produces% manages% ac&uires%

    modifies% dispays% or transmits information

    'eivers computing potentia of hardware and networksSoftware is a vehice for deivering a product Contros other programs (operating system)

    Effects communications (networking software)

    !eps buid other software (software toos *environments)

    +

  • 7/26/2019 Chapter+1+Introduction+part+1

    4/57

    ,hat is Software -

    Software can be defined as: Instruction e/ecuted provide desire features% function *

    performance. 'ata structure to ade&uatey manipuate operation. 'ocuments operation and use of the program.

    Software products may be deveoped for a particuar customer or may bedeveoped for a genera market.

    Software products may be Generic$ deveoped to be sod to a range of different

    customers e.g. PC software such as E/ce or ,ord.

    Bespoke(custom) $ deveoped for a singe customeraccording to their specification.

    0

  • 7/26/2019 Chapter+1+Introduction+part+1

    5/57

    !ardware vs. Software

    !ardware Software

    "anufactured

    wear out

    1uit using components

    Reativey simpe

    'eveoped2 engineered

    deteriorate

    Custom buit

    Compe/

    3

  • 7/26/2019 Chapter+1+Introduction+part+1

    6/57

    "anufacturing vs. 'eveopment

    4nce a hardware product has beenmanufactured% it is difficut or impossibe tomodify. In contrast% software products are

    routiney modified and upgraded. In hardware% hiring more peope aows you

    to accompish more work% but the samedoes not necessariy hod true in softwareengineering.

    5nike hardware% software costs areconcentrated in design rather thanproduction.

    6

  • 7/26/2019 Chapter+1+Introduction+part+1

    7/57

    7aiure curve for !ardware

    8

  • 7/26/2019 Chapter+1+Introduction+part+1

    8/57

    7aiure curve for Software

    ,hen a hardware component wears out% it is repaced by a spare part.

    There are no software spare parts. Every software faiure indicates anerror in design or in the process through which design was transatedinto machine e/ecutabe code. Therefore% software maintenance invoves

    consideraby more compe/ity 9

  • 7/26/2019 Chapter+1+Introduction+part+1

    9/57

    Component 1ased vs. Custom 1uit

    !ardware products typicay empoymany standardied designcomponents.

    "ost software continues to be custombuit.

    The software industry does seem tobe moving (sowy) towardcomponent$based construction.

    ;

  • 7/26/2019 Chapter+1+Introduction+part+1

    10/57

    Software characteristics

    Software is deveoped or engineered< it is notmanufactured.

    Software does not =wear out> but it doesdeteriorate.

    Software continues to be custom buit% asindustry is moving toward component based

    construction.

    ?@

  • 7/26/2019 Chapter+1+Introduction+part+1

    11/57

  • 7/26/2019 Chapter+1+Introduction+part+1

    12/57

    System Software: System software is a coection of programs written to service other programs.

    It is characteried by heavy interaction with computer hardware< heavy usage bymutipe users< concurrent operation that re&uires scheduing% resource sharing%and sophisticated process management< compe/ data structures< and mutipee/terna interfaces.

    Ex. Compiers% operating system% drivers etc.

    Appication Software : Appication software consists of standaone programs that sove a specific

    business need.

    Appication software is used to contro the business function in rea$time.

    Engineering 2Scientific software: Characteried by Bnumber crunchingB agorithms. Appications range from astronomy to vocano ogy% from automotive stress

    anaysis to space shutte orbita dynamics% and from moecuar bioogy toautomated manufacturing.

    Ex. Computer Aided 'esign (CA')% system stimuation etc. ?#

  • 7/26/2019 Chapter+1+Introduction+part+1

    13/57

    Embedded Software:

    It resides in read$ony memory and is used to contro products andsystems

    Embedded software can perform imited and esoteric functions.

    Ex. keypad contro for a microwave oven.

    Product line software:

    'esigned to provide a specific capabiity for use by many differentcustomers% product ine software can focus on a imited and esotericmarketpace.

    Ex.,ord processing% spreadsheet% C% mutimedia% etc.Web Applications:

    ,eb apps can be itte more than a set of inked hyperte/t fies.

    It evoving into sophisticated computing environments that not onyprovide standaone features% functions but aso integrated withcorporate database and business appications.

    Artificial Intelligence software AI software makes use of non$numerica agorithms to sove compe/

    probems that are not amenabe to computation or straightforwardanaysis

    Ex. Robotics% e/pert system% game paying% etc.

    ?+

  • 7/26/2019 Chapter+1+Introduction+part+1

    14/57

    SoftwareDew Categories4pen word computingDpervasive%ubi&uitous% distributed computing

    due to wireess networking. !ow to aow mobie devices% personacomputer% enterprise system to communicate across astnetwork.

    etsourcingDthe ,eb as a computing engine. !ow to architectsimpe and sophisticated appications to target end$users wordwide.

    4pen sourceD>free> source code open to the computing community(a bessing% but aso a potentia curseF)

    Aso G 'ata mining

    rid computing Cognitive machines

    Software for nanotechnoogies

    14

  • 7/26/2019 Chapter+1+Introduction+part+1

    15/57

    Hegacy Software

    'efinition

    uaity in Hegacy Systems

    ,hy do egacy systems evove overtime-

    otion of Evoution

    ?3

  • 7/26/2019 Chapter+1+Introduction+part+1

    16/57

    Software Evoution

    The Haw of Continuing Change (?;80): E$type (Reaword impemented) systems must be continuayadapted ese they become progressivey ess satisfactory.

    The Haw of Increasing Compe/ity (?;80): As an E$typesystem evoves its compe/ity increases uness work isdone to maintain or reduce it.

    The Haw of Sef Reguation (?;80): The E$type systemevoution process is sef$reguating with distribution ofproduct and process measures cose to norma.

    The Haw of Conservation of 4rganiationa Stabiity(?;9@): The average effective goba activity rate in anevoving E$type system is invariant over product ifetime.

    ?6

  • 7/26/2019 Chapter+1+Introduction+part+1

    17/57

  • 7/26/2019 Chapter+1+Introduction+part+1

    18/57

    What is SoftwareWhat is Software

    Engineering?Engineering?Software Engineering = Software + Engineering

    What is Software?

    Software = Soft + ware

    Any examples?

    What is Engineering?

    Engineering = Engine-er-ing

    Any examples?

    Is this an Engineering discipline? If yes, why? If not, why not?

    Is this for an Engineer or a scientist?

    ?9

  • 7/26/2019 Chapter+1+Introduction+part+1

    19/57

    What is SoftwareWhat is Software

    Engineering?Engineering?A historical defnition:

    The establishment and use of sound engineeringprinciples in order to obtain economically software

    that is reliable and works eciently on realmachines [Fritz auer, at the !st"#T$ %onference on&oftware Engineering, !'(')

    IEEE defnition:

    &oftware engineering is the application of asystematic, disciplined, *uanti+able approach tothe deelopment, operation, and maintenance ofsoftware- that is, the application of engineering tosoftware.

    ?;

  • 7/26/2019 Chapter+1+Introduction+part+1

    20/57

    0/anagement0/anagement

    1erspecties21erspecties2

    0/anagement0/anagement

    1erspecties21erspecties2

    #s long as there are good standards andclear procedures in my company, I shouldn3tbe too concerned.

    But the proo o the puddingis in the eating;

    not in the Recipe !

    #@

  • 7/26/2019 Chapter+1+Introduction+part+1

    21/57

    0/anagement0/anagement

    1erspecties21erspecties2

    0/anagement0/anagement

    1erspecties21erspecties2

    #s long as my software engineers042 haeaccess to the fastest and the mostsophisticated computer enironments and

    state5of5the5art software tools, I shouldn3t betoo concerned.

    The environment isonly one o the several actors

    that determine the qualityo the end sotare product!

    #?

  • 7/26/2019 Chapter+1+Introduction+part+1

    22/57

    0/anagement0/anagement

    1erspecties21erspecties2

    0/anagement0/anagement

    1erspecties21erspecties2

    6hen my schedule slips, what I hae to do is to

    start a +re5+ghting operation7 add moresoftware specialists, those with higher skills and

    longer e8perience 5 they will bring the schedule

    back on the rails4

    nortunately"

    sotare #usiness does notentertain schedule compaction

    #eyond a limit!

    ##

  • 7/26/2019 Chapter+1+Introduction+part+1

    23/57

    & ft / th& ft / th

    &oft are / ths&oftware /yths

  • 7/26/2019 Chapter+1+Introduction+part+1

    24/57

    &oftware /yths&oftware /yths

    0

  • 7/26/2019 Chapter+1+Introduction+part+1

    25/57

    & ft / th& ft / th

    &oftware /yths&oftware /yths

  • 7/26/2019 Chapter+1+Introduction+part+1

    26/57

    &oftware /yths&oftware /yths

    0

  • 7/26/2019 Chapter+1+Introduction+part+1

    27/57

  • 7/26/2019 Chapter+1+Introduction+part+1

    28/57

    oehm3soehm3sTop TenTop Ten

    IndustrialIndustrial

    &oftware&oftware/etrics/etrics

    oehm3soehm3s

    Top TenTop Ten

    IndustrialIndustrial

    &oftware&oftware/etrics/etrics#9

  • 7/26/2019 Chapter+1+Introduction+part+1

    29/57

    Industrial &oftwareIndustrial &oftware

    /etrics/etrics

    Industrial &oftwareIndustrial &oftware

    /etrics/etrics

    Finding and +8ing a

    software problem afterdeliery of the product is!>> times more e8pensiethan defect remoal during

    re*uirements and earlydesign phases.

    11

    #;

  • 7/26/2019 Chapter+1+Introduction+part+1

    30/57

  • 7/26/2019 Chapter+1+Introduction+part+1

    31/57

    Eort to @epair &oftwareEort to @epair &oftware

    0when defects are detected at0when defects are detected at

    dierent stages2dierent stages2

    Eort to @epair &oftwareEort to @epair &oftware

    0when defects are detected at0when defects are detected at

    dierent stages2dierent stages2

    +?

    % l ti E t f%umulatie Eects of

    %umulatie Eects of%umulatie Eects of

  • 7/26/2019 Chapter+1+Introduction+part+1

    32/57

    %umulatie Eects of%umulatie Eects of

    ErrorError

    %umulatie Eects of%umulatie Eects of

    ErrorError

    the real problemthe real problemthe real problemthe real problem

    correctcorrectcorrectcorrect incorrectincorrectincorrectincorrect hiddenhiddenhiddenhidden missingmissingmissingmissing

    requirementsrequirements

    +#

    % l ti E t f% l ti E t f

    %umulati e Eects of%umulatie Eects of

  • 7/26/2019 Chapter+1+Introduction+part+1

    33/57

    incorrectincorrectincorrectincorrect

    %umulatie Eects of%umulatie Eects of

    ErrorError

    %umulatie Eects of%umulatie Eects of

    ErrorError

    correctcorrectcorrectcorrect incorrectincorrectincorrectincorrect hiddenhiddenhiddenhidden missingmissingmissingmissing

    requirementsrequirements

    correctcorrectcorrectcorrect incorrectincorrectincorrectincorrect

    hiddenhiddenhiddenhidden missingmissingmissingmissing

    designdesign

    incorrectincorrectincorrectincorrect

    ++

    %umulatie Eects of%umulatie Eects of

    %umulatie Eects of%umulatie Eects of

  • 7/26/2019 Chapter+1+Introduction+part+1

    34/57

    %umulatie Eects of%umulatie Eects of

    ErrorError

    %umulatie Eects of%umulatie Eects of

    ErrorError

    correctcorrectcorrectcorrect incorrectincorrectincorrectincorrect hiddenhiddenhiddenhidden missingmissingmissingmissing

    designdesign

    correctcorrectcorrectcorrect incorrectincorrectincorrectincorrect

    hiddenhiddenhiddenhidden missingmissingmissingmissing

    codecode

    incorrectincorrectincorrectincorrect

    +0

  • 7/26/2019 Chapter+1+Introduction+part+1

    35/57

  • 7/26/2019 Chapter+1+Introduction+part+1

    36/57

  • 7/26/2019 Chapter+1+Introduction+part+1

    37/57

    Industrial &oftwareIndustrial &oftware

    /etrics/etrics

    Industrial &oftwareIndustrial &oftware

    /etrics/etrics

    /aintenance costs twicewhat the deelopmentcosts.33

    +8

  • 7/26/2019 Chapter+1+Introduction+part+1

    38/57

    Industrial &oftwareIndustrial &oftware

    /etrics/etrics

    Industrial &oftwareIndustrial &oftware

    /etrics/etrics

  • 7/26/2019 Chapter+1+Introduction+part+1

    39/57

    Industrial &oftwareIndustrial &oftware

    /etrics/etrics

    Industrial &oftwareIndustrial &oftware

    /etrics/etrics

    Dariations in humansaccount for the greatestariations in productiity.55

    +;

  • 7/26/2019 Chapter+1+Introduction+part+1

    40/57

    0/anagement0/anagement

    1erspecties21erspecties2

    0/anagement0/anagement

    1erspecties21erspecties2

    #s long as my software engineers042

    hae access to the fastest and the mostsophisticated computer enironmentsand state5of5the5art software tools, Ishouldn3t be too concerned.

    0@

  • 7/26/2019 Chapter+1+Introduction+part+1

    41/57

    Industrial &oftwareIndustrial &oftware

    /etrics/etrics

    Industrial &oftwareIndustrial &oftware

    /etrics/etrics

    The ratio of software to

    hardware costs has gonefrom !B7B in !'B andcontinues to grow in

    faour of software as thedominant cost.

    66

    0?

  • 7/26/2019 Chapter+1+Introduction+part+1

    42/57

  • 7/26/2019 Chapter+1+Introduction+part+1

    43/57

  • 7/26/2019 Chapter+1+Introduction+part+1

    44/57

  • 7/26/2019 Chapter+1+Introduction+part+1

    45/57

    Industrial &oftwareIndustrial &oftware

    /etrics/etrics

    Industrial &oftwareIndustrial &oftware

    /etrics/etrics

    #pplications products

    cost three times as muchper instruction asindiidual programs-system software productscost nine times as much.

    !!

    03

  • 7/26/2019 Chapter+1+Introduction+part+1

    46/57

    Industrial &oftwareIndustrial &oftware

    /etrics/etrics

    Industrial &oftwareIndustrial &oftware

    /etrics/etrics

    6alkthroughs catch (>Cof the errors.""

    06

  • 7/26/2019 Chapter+1+Introduction+part+1

    47/57

  • 7/26/2019 Chapter+1+Introduction+part+1

    48/57

    &oftware /yths&oftware /yths0

  • 7/26/2019 Chapter+1+Introduction+part+1

    49/57

    Industrial &oftwareIndustrial &oftware

    /etrics/etrics

    Industrial &oftwareIndustrial &oftware

    /etrics/etrics

    /any software processesobey a 1areto distribution.

    2#$2#$

    modulesmodules!#$!#$

    costcost

    1#1#

    0;

  • 7/26/2019 Chapter+1+Introduction+part+1

    50/57

    Industrial &oftwareIndustrial &oftware

    /etrics/etrics

    Industrial &oftwareIndustrial &oftware

    /etrics/etrics

    /any software processesobey a 1areto distribution.

    1#1#2#$2#$

    modulesmodules!#$!#$

    errorserrors

    3@

  • 7/26/2019 Chapter+1+Introduction+part+1

    51/57

    Industrial &oftwareIndustrial &oftware

    /etrics/etrics

    Industrial &oftwareIndustrial &oftware

    /etrics/etrics

    /any software processesobey a 1areto distribution.

    2#$2#$

    modulesmodules

    !#$!#$

    costcostto %i&to %i&

    1#1#

    3?

    ' h ( T T

    ' h ( T T'oehm(s Top Ten

  • 7/26/2019 Chapter+1+Introduction+part+1

    52/57

    'oehm(s Top Ten'oehm(s Top Ten)ndustrial *o%t+are ,etrics)ndustrial *o%t+are ,etrics

    'oehm(s Top Ten'oehm(s Top Ten)ndustrial *o%t+are ,etrics)ndustrial *o%t+are ,etrics

    2#$2#$

    modulesmodules!#$!#$

    e&ec timee&ec time

    /any software processesobey a 1areto distribution.

    1#1#

    3#

  • 7/26/2019 Chapter+1+Introduction+part+1

    53/57

    Industrial &oftwareIndustrial &oftware

    /etrics/etrics

    Industrial &oftwareIndustrial &oftware

    /etrics/etrics

    /any software processesobey a 1areto distribution.

    2#$2#$

    toolstools!#$!#$

    useuse

    1#1#

    3+

    & ft %h t i ti& ft %h t i ti

  • 7/26/2019 Chapter+1+Introduction+part+1

    54/57

    &oftware %haracteristics&oftware %haracteristics&oftware %haracteristics&oftware %haracteristics

    is deeloped or engineered,rarely manufactured

    is custom5built- rarely assembled

    is non5material,and therefore does not wear out

    is too ;e8ible

    is too pliable0easy to bent:shape2

    30

    &ymptom of &oftware %risis&ymptom of &oftware %risis

  • 7/26/2019 Chapter+1+Introduction+part+1

    55/57

    &ymptom of &oftware %risis&ymptom of &oftware %risis

    about =&GAB> billion spent peryear in the =& on applicationdeelopment

    of this, about =&G!H> billionwasted due to the pro9ectsgetting abandoned or reworked-this in turn because of notfollowing best practices andstandards

    33

    -e%. *tandish /roup0 1""6-e%. *tandish /roup0 1""6

    f f

  • 7/26/2019 Chapter+1+Introduction+part+1

    56/57

    &ymptom of &oftware&ymptom of &oftware

    %risis%risis

    !>C of client:serer apps areabandoned or restarted from scratch

    A>C of apps are signi+cantly altered toaoid disaster

    H>C of apps are deliered signi+cantlylate

    36

    *ource. 3 year study o% 7# large cs apps in 3*ource. 3 year study o% 7# large cs apps in 3

    Compu+are 12"5Compu+are 12"5

    Wh S ftWh S ft

  • 7/26/2019 Chapter+1+Introduction+part+1

    57/57

    Why SoftwareWhy Software

    Engineering?Engineering?

    sed + e&tensie re+or80

    but later abandoned

    2#$

    Used as delivered

    2%Usable w. rework

    3%

    9 software projects totaling $96.7 million:Where The Money Went

    [Report to Congress Comptroller !eneral"979# Deliered0 but neer

    success%ully used45$

    9aid %or0 but

    not deliered3#$ Why?

    Software hurts

    Requirement