+ All Categories
Home > Documents > 1.Introduction of SE

1.Introduction of SE

Date post: 04-Apr-2018
Category:
Upload: raj-akhani
View: 216 times
Download: 0 times
Share this document with a friend

of 24

Transcript
  • 7/30/2019 1.Introduction of SE

    1/24

  • 7/30/2019 1.Introduction of SE

    2/24

    Whatissoftware(SW)?SWis

    notonlyprogramsbutalsoallassociateddocumentation,andconfigurationdata

    thatmaketheseprogramsoperatecorrectly.Morespecifically,aSWsystemconsistsof

    separateprogramsconfigurationfilessettinguptheseprograms

    systemdocumentationdescribingthestructureofthesystemingooddetailuserdocumentationexplaininghowtouseandoperate

    thesystem.

    3

  • 7/30/2019 1.Introduction of SE

    3/24

    TwoClassesofSWProducts Genericproducts These are stand-alone systems that are produced by a

    development organization and sold on the open market

    to any customer who is able to buy them. Examples of this type of product include software for

    PCs such as databases, word processors, drawingpackages, and project-management tools.

    It also includes so-called vertical applications designedfor some specific purpose such as library informationsystems, accounting systems, or systems for maintainingdental records

  • 7/30/2019 1.Introduction of SE

    4/24

    TwoClassesofSWProducts Customorbespokeproducts

    A software contractor develops the software especiallyfor that customer.

    Examples of this type of software include controlsystems for electronic devices, systems written tosupport a particular business process, and air trafficcontrol systems.

  • 7/30/2019 1.Introduction of SE

    5/24

    An important difference between these types ofsoftware is that, in generic products, the organizationthat develops the software controls the softwarespecification. For custom products, the specification isusually developed and controlled by the organizationthat is buying the software.

  • 7/30/2019 1.Introduction of SE

    6/24

    WhatisSoftwareEngineering(SE)? SWengineeringisanengineeringdiscipline concerned withallaspectsofSWproductionstartingfromtheearlystageofsystemspecificationthroughtothe

    maintenance ofthesystemafterit has startedtobeused. Engineering discipline

    Engineers make things work. They apply theories, methods andtools where these are appropriate. However, they use them

    selectively and always try to discover solutions to problems evenwhen there are no applicable theories and methods. Engineersalso recognize that they must work t organizational and financialconstraints so they look for solutions within these constraints.

  • 7/30/2019 1.Introduction of SE

    7/24

    WhatisSoftwareEngineering

    (SE)? All aspects of software production Software engineering is not just concernedwith the

    technical processes of software development. It alsoincludes activities such as software project managementand the development of tools, methods and theories tosupport software production.

  • 7/30/2019 1.Introduction of SE

    8/24

    DifferencebetweenSEand

    Computer Science(CS)...? ComputerScience......isconcernedwiththeoriesandmethodswhich

    establishabasisfor computersandSWsystemswhile...

    SoftwareEngineering...

    ...isconcernedwiththepracticalproblemsofproducing

    SW.

    CSis asessentialforSWengineersas......physicsisfor electricalormechanicalengineers.

  • 7/30/2019 1.Introduction of SE

    9/24

    Computer science theory, however, is often mostapplicable to relatively small programs. Eleganttheories of computer science cannot always be appliedto large, complex problems that require a softwaresolution.

  • 7/30/2019 1.Introduction of SE

    10/24

  • 7/30/2019 1.Introduction of SE

    11/24

    ThePioneeringEra(1955-1965)Newcomputerswerecomingoutalmosteveryyearor

    two,renderingexistingonesobsolete.

    Softwarepeoplehadtorewritealltheirprogramstorunonthesenewmachines.

    Programmersdidnothavecomputersontheirdesksandhadtogotothe"machineroom".

    8

  • 7/30/2019 1.Introduction of SE

    12/24

    wererunbyJobsThePioneeringEra-2signingupformachinetimeorbyoperationalstaff.puttingpunchedcardsforinputintothemachine'scard

    readerandwaiting

    for

    results

    tocome

    back

    on

    theprinter.

    Thefieldwassonewthattheideaofmanagementbyschedulewasnon-existent.

    Makingpredictionsofaproject'scompletiondatewas

    almostimpossible.

    9

  • 7/30/2019 1.Introduction of SE

    13/24

    ThePioneeringEra-3Computerhardwarewasapplication-specific.Scientific

    andbusinesstasksneededdifferentmachines.

    Duetotheneedtofrequentlytranslateoldsoftwaretomeettheneedsofnewmachines,high-orderlanguageslikeFORTRAN,COBOL,andALGOLweredeveloped.

    10

  • 7/30/2019 1.Introduction of SE

    14/24

    ThePioneeringEra-4Hardwarevendorsgaveawaysystemssoftwareforfree

    ashardwarecouldnotbesoldwithoutsoftware.Afew

    companies

    sold

    the

    service

    of

    building

    customsoftwarebutnosoftwarecompaniesweresellingpackagedsoftware.

    11

  • 7/30/2019 1.Introduction of SE

    15/24

    ThePioneeringEra-5Thenotionofreuseflourished.Assoftwarewasfree,

    userorganizationscommonlygaveitaway.GroupslikeIBM'sscientificusergroupSHAREofferedcatalogsofreusablecomponents.

    Academiadidnotyetteachtheprinciplesofcomputerscience.

    Modularprogramminganddataabstractionwere

    alreadybeingusedinprogramming.

    12

  • 7/30/2019 1.Introduction of SE

    16/24

    The Stabilizing Era (1965-1980)Thewholejob-queuesystemhadbeen

    institutionalizedandsoprogrammersnolongerrantheirjobsexceptforpeculiarapplicationslikeon-boardcomputers.Tohandlethejobs,anenormousbureaucracyhadgrownuparoundthecentralcomputercenter.

    Themajorproblemasaresultofthisbureaucracy

    wasturnaroundtime,thetimebetweenjobsubmissionandcompletion.Atworstitwasmeasuredindays.

    13

  • 7/30/2019 1.Introduction of SE

    17/24

    The Stabilizing Era - 2 IBM360signaledthebeginningofthestabilizingera. Largestsoftwareprojecttodateendingtheeraofafasterandcheaper

    computeremergingeveryyearortwo. Softwarepeoplecouldfinallyspendtimewritingnewsoftwareinstead

    ofrewritingtheold. The360alsocombinedscientificandbusinessapplicationsontoone

    machine.Itofferedbothbinaryanddecimalarithmetic.Withtheadventofthe360,theorganizationalseparationbetweenscientificandbusinessapplicationpeoplecametodiminishandthishadamassiveimpactonthesociologyofthefield.Scientificprogrammerswhousuallyhadbachelordegreesfeltsuperiortobusinessprogrammers

    whousuallyheldonlyassociatedegrees. Onescientificprogrammerremarked:"Idon'tmindworkingwith

    businessprogrammers,butIwouldn'twantmydaughtertomarryone!"

    14

  • 7/30/2019 1.Introduction of SE

    18/24

    The Stabilizing Era - 3ThemassiveO/S,stillcominglargelyfreewiththe

    computer,controlledmostoftheservicesthatarunningprogramneeded.

    ThejobcontrollanguageJCLraisedawholenewclassofproblems.TheprogrammerhadtowritetheprograminawholenewlanguagetotellthecomputerandOSwhattodo.JCLwastheleastpopularfeatureofthe360.

    PL/I,

    introduced

    by

    IBM

    to

    mergeallprogramminglanguagesintoone,failed.Thedemandforprogrammersexceededthe

    supply.

    15

  • 7/30/2019 1.Introduction of SE

    19/24

    The Stabilizing Era - 4Thenotionoftimesharing,usingterminalsat

    whichjobscouldbedirectlysubmittedtoqueues

    ofvariouskindswasbeginningtoemerge,meetingwithsomeresistancefromtraditionalists.

    Asthesoftwarefieldstabilized,softwarebecameacorporateassetanditsvaluebecamehuge.

    Stabilityleadtotheemergenceofacademiccomputingdisciplinesinthelate60's.

    16

  • 7/30/2019 1.Introduction of SE

    20/24

    The Stabilizing Era - 5Manyhigh-hypedisciplineslikeArtificial

    Intelligencecameintoexistence.Asthesenewconceptscouldnotbeconvertedintopredicted

    benefits,thecredibilityofthecomputingfieldbegantodiminish."StructuredProgramming"burstonthescenein

    themiddleofthisera.

    Standardsorganizationsbecamecontrolbattle

    grounds.Thevendorwhodefinedthestandardscouldgainsignificantcompetitiveadvantagebymakingthestandardsmatchtheirowntechnology.

    17

  • 7/30/2019 1.Introduction of SE

    21/24

    The Stabilizing Era - 6

    Althoughhardwarevendorstriedtoputabrakeonthesoftwareindustrybykeepingtheirpriceslow,software

    vendorsemergedafewatatime.Mostcustomizedapplicationscontinuedtobedonein-

    house.Programmersstillhadtogotothe"machineroom"and

    didnothavecomputersontheirdesks.

    18

  • 7/30/2019 1.Introduction of SE

    22/24

    The Micro Era (1980-Present)

    Thepriceofcomputinghasdroppeddramatically

    makingubiquitouscomputing(i.e.,computingeverywhere)possible.Noweveryprogrammercanhaveacomputeronhisdesk.

    TheoldJCLhasbeenreplacedbytheuser-friendly

    GUI.

    19

  • 7/30/2019 1.Introduction of SE

    23/24

    The Micro Era - 2Thefieldstillhasitsproblems.Thesoftwarepart

    ofthehardwarearchitecturethattheprogrammermustknowabout,suchastheinstructionset,has

    notchangedmuchsincetheadventoftheIBMmainframeandthefirstIntelchip.Themost-usedprogramminglanguagestodayarebetween15and40yearsold.TheFourthGenerationLanguagesneverachievedthedreamof"programming

    withoutprogrammers"

    and

    the

    idea

    ispretty

    muchlimitedtoreportgenerationfromdatabases.There

    isanincreasingclamorthoughformoreandbettersoftwareresearch.

    20

  • 7/30/2019 1.Introduction of SE

    24/24

    21


Recommended