Top Banner
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 1
1094

21378403 Software Engineering by K K Aggarwal YogeshSingh Full Notes

Oct 30, 2014

Download

Documents

ankur_mudgal
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20071Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20072Why Software Engineering ? Why Software Engineering ? Why Software Engineering ? Why Software Engineering ? Change in nature & complexity of softwareReady for change Concept of one guru is over We all want improvementSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20073 Software industry is in Crisis!Source: The Standish Group International, Inc. (CHAOS research)over budget53%success16%failure31%The Evolving Role of Software The Evolving Role of Software The Evolving Role of Software The Evolving Role of SoftwareSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20074 Data on 28,000 projects completed in 2000This is theSORRY state of Software Engineering Today!Completed Late, over budget, and/or with features missing 49%Cancelled 23%Successful 28%The Evolving Role of Software The Evolving Role of Software The Evolving Role of Software The Evolving Role of SoftwareSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20075The Evolving Role of Software The Evolving Role of Software The Evolving Role of Software The Evolving Role of SoftwareAspertheIBMreport,31%oftheprojectget cancelledbeforetheyarecompleted,53%over-runtheircostestimatesbyanaverageof189% and for every 100 projects, there are 94 restarts.Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20076The Evolving Role of Software The Evolving Role of Software The Evolving Role of Software The Evolving Role of SoftwareYearHw costSw costRelative Cost of Hardware and Software19601999Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20077 Unlike Hardware Mooreslaw:processorspeed/memorycapacitydoubles every two yearsThe Evolving Role of Software The Evolving Role of Software The Evolving Role of Software The Evolving Role of SoftwareSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20078Managers and Technical Persons are asked: Why does it take so long to get the program finished?The Evolving Role of Software The Evolving Role of Software The Evolving Role of Software The Evolving Role of Software Why are costs so high? Why can not we find all errors before release? Why do we have difficulty in measuring progress of softwaredevelopment?Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20079Factors Contributing to the Software Crisis Factors Contributing to the Software Crisis Factors Contributing to the Software Crisis Factors Contributing to the Software Crisis Larger problems, Lack of adequate training in software engineering, Increasing skill shortage, Low productivity improvements.Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200710Some Software failures Some Software failures Some Software failures Some Software failuresIttooktheEuropeanSpaceAgency10 yearsand$7billion toproduceAriane5, agiantrocketcapableofhurlingapairof three-tonsatellitesintoorbitwitheach launchandintendedtogiveEurope overwhelmingsupremacyinthe commercial space business.Ariane 5The rocket was destroyed after 39 seconds ofitslaunch,atanaltitudeoftwoanda halfmilesalongwithitspayloadoffour expensiveanduninsuredscientific satellites.Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200711Whentheguidancesystemsown computertriedtoconvertone piece of data the sideways velocity oftherocketfroma64bitformat to a 16 bit format; the number was toobig,andanoverflowerror resultedafter36.7seconds.When theguidancesystemshutdown,it passedcontroltoanidentical, redundant unit, which was there to provide backup in case of just such a failure. Unfortunately, the second unit,whichhadfailedinthe identicalmannerafew milliseconds before.Some Software failures Some Software failures Some Software failures Some Software failuresSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200712Y2K problem:It was simply the ignorance about the adequacy or otherwise ofusing only last two digits of the year. The4-digitdateformat,like1964, wasshortenedto2-digitformat,like 64.Some Software failures Some Software failures Some Software failures Some Software failuresSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200713The Patriot Missile The Patriot Missile The Patriot Missile The Patriot Missileo First time used in Gulf warReasons:A small timing error in the systems clock accumulatedtothepointthatafter14 hours,thetrackingsystemwasnolonger accurate.IntheDhahranattack,the systemhadbeenoperatingformorethan 100 hours.o UsedasadefensefromIraqiScud missileso Failed several times including one that killed28USsoldiersinDhahran, Saudi ArabiaSome Software failures Some Software failures Some Software failures Some Software failuresSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200714Part of an abort scenario for the Shuttlerequiresfueldumpsto lightenthespacecraft.Itwas duringthesecondofthese dumpsthata(software)crash occurred....the fuel management module, whichhadperformedone dumpandsuccessfullyexited, restartedwhenrecalledforthe second fuel dump...The Space ShuttleSome Software failures Some Software failures Some Software failures Some Software failuresSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200715Asimplefixtookcareoftheproblembutthe programmers decided to see if they could come up with a systematic way to eliminate these generic sorts of bugs in thefuture.Arandomgroupofprogrammersappliedthis system to the fuel dump module and other modules.Seventeenadditional,previouslyunknownproblems surfaced!Some Software failures Some Software failures Some Software failures Some Software failuresSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200716Some Software failures Some Software failures Some Software failures Some Software failuresManycompanieshaveexperiencedfailuresintheir accounting system due to faults in the software itself. The failuresrangefromproducingthewronginformationto the whole system crashing.Financial SoftwareSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200717Some Software failures Some Software failures Some Software failures Some Software failuresWindows XPo Microsoft released Windows XP on October 25, 2001.o Onthesamedaycompanyposted18MBof compatibilitypatchesonthewebsiteforbugfixes, compatibility updates, and enhancements.o Two patches fixed important security holes.This is Software Engineering.Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200718Thehardwarecostcontinuestodecline drastically. No Silver Bullet No Silver Bullet No Silver Bullet No Silver Bullet However,therearedesperatecriesfora silverbulletsomethingtomakesoftware costsdropasrapidlyascomputerhardware costs do.Butaswelooktothehorizonofadecade, weseenosilverbullet.Thereisnosingle development,eitherintechnologyorin managementtechnique,thatbyitself promisesevenoneorderofmagnitude improvementinproductivity,inreliability and in simplicity.Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200719Thehardpartofbuildingsoftwareisthespecification,designand testing of this conceptual construct, not the labour of representing it and testing the correctness of representation. While there is no royal road, there is a path forward.Is reusability (and open source) the new silver bullet? No Silver Bullet No Silver Bullet No Silver Bullet No Silver Bullet Westillmakesyntaxerrors,tobesure,buttheyaretrivialascomparedtotheconceptualerrors(logicerrors)inmostsystems. That is why, building software is always hard and there is inherently no silver bullet.Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200720 No Silver Bullet No Silver Bullet No Silver Bullet No Silver Bullet The blame for software bugs belongs to: Software companies Software developers Legal system UniversitiesSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200721What is software? What is software? What is software? What is software? Computerprograms andassociated documentationSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200722ProgramsOperating ProceduresDocumentationSoftware=Program+Documentation+Operating ProceduresComponents of softwareWhat is software? What is software? What is software? What is software?Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200723DocumentationManualsAnalysis/SpecificationDesignImplementationTestingFormal SpecificationContext-DiagramData Flow DiagramsFlow ChartsEntity-Relationship DiagramSource Code ListingsCross-Reference ListingTest DataTest ResultsDocumentation consists of different types of manuals are Documentation consists of different types of manuals are Documentation consists of different types of manuals are Documentation consists of different types of manuals areList of documentation manualsSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200724Operating ProceduresUser ManualsOperational ManualsSystem OverviewBeginners Guide TutorialReference GuideInstallation GuideSystem Administration GuideList of operating procedure manuals.Documentation consists of different types of manuals are Documentation consists of different types of manuals are Documentation consists of different types of manuals are Documentation consists of different types of manuals areSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200725 Softwareproducts maybedevelopedforaparticular customer or may be developed for a general marketSoftware Product Software Product Software Product Software Product Software products may beGeneric - developedtobesoldtoarangeofdifferent customersBespoke (custom) - developed for a single customer according to their specificationSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200726Software product is a product designated for delivery to the usersourcecodessourcecodesobjectcodesobjectcodesplansplansreportsreportsmanualsmanualsdocumentsdocumentstest suitestest suitesprototypesprototypesdatadatatest resultstest resultsSoftware Product Software Product Software Product Software ProductSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200727What is software engineering? What is software engineering? What is software engineering? What is software engineering?Softwareengineering isanengineeringdisciplinewhich is concerned with all aspects of software productionSoftware engineers should adopt a systematic and organised approach to their work use appropriate tools and techniques depending on the problem to be solved, the development constraints and use the resources availableSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200728At the first conference on software engineering in 1968, Fritz Bauer definedsoftwareengineeringas Theestablishmentanduseof soundengineeringprinciplesinordertoobtaineconomically developedsoftwarethatisreliableandworksefficientlyonreal machines. Stephen Schach defined the same as A discipline whose aim is the productionofqualitysoftware,softwarethatisdeliveredontime, within budget, and that satisfies its requirements.Boththedefinitionsarepopularandacceptabletomajority. However, due to increase in cost of maintaining software, objective isnowshiftingtoproducequalitysoftwarethatismaintainable, delivered on time, within budget, and also satisfies its requirements.What is software engineering? What is software engineering? What is software engineering? What is software engineering?Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200729Software Process Software Process Software Process Software ProcessThesoftwareprocessisthewayinwhichweproduce software.Why is it difficult to improve software process ? Not enough time Lack of knowledgeSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200730Learning curveDo not quit here!Improved future stateProcess improvement begins Initial statestateProductivityTime Wrong motivationsSoftware Process Software Process Software Process Software Process Insufficient commitmentSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200731Software Characteristics: Software Characteristics: Software Characteristics: Software Characteristics:Software does not wear out.Useful life phaseWear out phaseBurn-inphaseFailure IntensityTimeSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200732 Software is not manufacturedSoftware Characteristics: Software Characteristics: Software Characteristics: Software Characteristics: Reusability of components Software is flexibleSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200733Comparison of constructing a bridge vis--vis writing a program.7.6.5.4.3.2.1.Writing a program Constructing a bridge Sr.NoSoftware Characteristics: Software Characteristics: Software Characteristics: Software Characteristics:The problem is well understoodOnlysomepartsoftheproblemare understood, others are notThere are many existing bridgesTherequirementforabridgetypicallydo not change much during constructionThe strength and stability of a bridge can be calculated with reasonable precisionWhenabridgecollapses,thereisa detailed investigation and reportEngineershavebeenconstructingbridges for thousands of yearsMaterials(wood,stone,iron,steel)and techniques (making joints in wood, carving stone, casting iron) change slowly.Everyprogramisdifferentanddesignedfor special applications.Requirementstypicallychangeduringall phases of development.Notpossibletocalculatecorrectnessofa program with existing methods.When a program fails, the reasons are often unavailable or even deliberately concealed.Developershavebeenwritingprograms for 50 years or so.Hardware and software changes rapidly.Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200734SystemSoftwareReal Time SoftwareEmbedded SoftwareEngineering and ScientificSoftwareWeb basedSoftwareArtificial IntelligenceSoftwarePersonal Computer SoftwareBusinessSoftwareThe Changing Nature of Software The Changing Nature of Software The Changing Nature of Software The Changing Nature of SoftwareSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200735The Changing Nature of Software The Changing Nature of Software The Changing Nature of Software The Changing Nature of SoftwareTrend has emerged to provide source code to the customer and organizations.Software where source codes are available are known as open source software.Examples Open source software: LINUX, MySQL, PHP, Open office, Apache webserver etc.Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200736Management may be confident about good standards and clear procedures of the company.But the taste of any food item is in the eating; not in the Recipe !Software Myths (Management Perspectives Software Myths (Management Perspectives Software Myths (Management Perspectives Software Myths (Management Perspectives)Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200737Companyhaslatestcomputersandstate-of-the-artsoftwaretools,soweshouldntworry about the quality of the product.The infrastructureis only one of the several factors that determine the quality of the product!Software Myths (Management Perspectives Software Myths (Management Perspectives Software Myths (Management Perspectives Software Myths (Management Perspectives)Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200738Additionofmoresoftwarespecialists,those withhigherskillsandlongerexperiencemaybring the schedule back on the track!Unfortunately, that may further delay the schedule!Software Myths (Management Perspectives Software Myths (Management Perspectives Software Myths (Management Perspectives Software Myths (Management Perspectives)Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200739Software is easy to changeThe reality is totally different. Software Myths (Management Perspectives Software Myths (Management Perspectives Software Myths (Management Perspectives Software Myths (Management Perspectives)Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200740Computersprovidegreaterreliabilitythan the devices they replaceThis is not always true. Software Myths (Management Perspectives Software Myths (Management Perspectives Software Myths (Management Perspectives Software Myths (Management Perspectives)Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200741A general statement of objectives is sufficient to get started with thedevelopmentofsoftware.Missing/vaguerequirementscan easily be incorporated/detailed out as they get concretized.If we do so, we are heading towards a disaster.Software Myths (CustomerPerspectives Software Myths (CustomerPerspectives Software Myths (CustomerPerspectives Software Myths (CustomerPerspectives)Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200742Softwarewithmorefeaturesisbetter softwareSoftware can work right the first timeBoth are only myths!Software Myths (CustomerPerspectives Software Myths (CustomerPerspectives Software Myths (CustomerPerspectives Software Myths (CustomerPerspectives)Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200743Once the software is demonstrated, the job is done.Usually, the problems just begin!Software Myths (Developer Perspectives Software Myths (Developer Perspectives Software Myths (Developer Perspectives Software Myths (Developer Perspectives)Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200744Softwarequalitycannotbeassessedbefore testing.However, quality assessment techniques should be used through out the software development life cycle.Software Myths (Developer Perspectives Software Myths (Developer Perspectives Software Myths (Developer Perspectives Software Myths (Developer Perspectives)Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200745Theonlydeliverableforasoftware development project is the tested code.Tested code is only one of the deliverable!Software Myths (Developer Perspectives Software Myths (Developer Perspectives Software Myths (Developer Perspectives Software Myths (Developer Perspectives)Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200746Aim is to develop working programsThose days are over. Now objective is to develop good quality maintainable programs!Software Myths (Developer Perspectives Software Myths (Developer Perspectives Software Myths (Developer Perspectives Software Myths (Developer Perspectives)Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200747Some Terminologies Some Terminologies Some Terminologies Some Terminologies Deliverables and MilestonesDifferentdeliverablesaregeneratedduringsoftwaredevelopment. Theexamplesaresourcecode,usermanuals,operatingprocedure manuals etc.Themilestonesaretheeventsthatareusedtoascertainthestatusof the project. Finalization of specification is a milestone. Completion of designdocumentationisanothermilestone.Themilestonesare essential for project planning and management.Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200748 Product and ProcessSome Terminologies Some Terminologies Some Terminologies Some TerminologiesProduct:Whatisdeliveredtothecustomer,iscalledaproduct. It mayincludesourcecode,specificationdocument,manuals, documentationetc.Basically,itisnothingbutasetofdeliverables only.Process:Process is the way inwhichweproducesoftware. Itisthe collection of activities that leads to (a part of) a product. An efficient process is required to produce good quality products.If the process is weak, the end product will undoubtedly suffer, but an obsessive over reliance on process is also dangerous.Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200749Some Terminologies Some Terminologies Some Terminologies Some Terminologies Measures, Metrics and MeasurementAmeasureprovidesaquantitativeindicationoftheextent, dimension,size,capacity,efficiency,productivityorreliabilityof some attributes of a product or process.Measurement is the act of evaluating a measure.Ametricisaquantitativemeasureofthedegreetowhichasystem, component or process possesses a given attribute.Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200750Some Terminologies Some Terminologies Some Terminologies Some Terminologies Software Process and Product MetricsProcessmetricsquantifytheattributesofsoftwaredevelopment process and environment; whereas product metrics are measures for the software product.Examples Process metrics: Productivity, Quality, Efficiency etc.Product metrics: Size, Reliability, Complexity etc.Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200751 Productivity and EffortProductivity is defined as the rate of output, or production per unit of effort,i.e.theoutputachievedwithregardtothetimetakenbut irrespective of the cost incurred.HencemostappropriateunitofeffortisPersonMonths(PMs), meaningtherebynumberofpersonsinvolvedforspecifiedmonths.So,productivitymaybemeasuredasLOC/PM(linesofcode produced/person month)Some Terminologies Some Terminologies Some Terminologies Some TerminologiesSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200752Some Terminologies Some Terminologies Some Terminologies Some Terminologies Module and Software ComponentsThere are many definitions of the term module. They range from a moduleisaFORTRANsubroutine toamoduleisanAda Package,toProceduresandfunctionsofPASCALandC,to C++Javaclasses toJavapackages toamoduleisawork assignmentforanindividualdeveloper.Allthesedefinitionare correct.Thetermsubprogramisalsousedsometimesinplaceof module.Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200753Anindependentlydeliverablepieceoffunctionalityproviding access to its services through interfaces.Acomponentrepresentsamodular,deployable,andreplaceable part of a system that encapsulates implementation and exposes a set of interfaces.Some Terminologies Some Terminologies Some Terminologies Some TerminologiesSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200754Some Terminologies Some Terminologies Some Terminologies Some Terminologies Generic and Customized Software ProductsGeneric products are developed for anonymous customers. The target is generally the entire world and many copies are expected to be sold. Infrastructuresoftwarelikeoperatingsystem,compilers,analyzers, word processors, CASE tools etc. are covered in this category.Thecustomizedproductsaredevelopedforparticularcustomers. Thespecificproductisdesignedanddevelopedaspercustomer requirements.Mostofthedevelopmentprojects(sayabout 80%)come under this category.Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200755Role of Management in Software DevelopmentFactorsPeopleProductProcessProjectSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200756DependencyOrderProjectProductProcessPeople1234Role of Management in Software DevelopmentSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007571.1Software is(a) Superset of programs (b) subset of programs(c) Set of programs (d) none of the above1.2Which is NOT the part of operating procedure manuals? (a) User manuals (b) Operational manuals(c) Documentation manuals(d) Installation manuals1.3Which is NOT a software characteristic?(a) Software does not wear out (b) Software is flexible(c) Software is not manufactured (d) Software is always correct1.4Product is(a) Deliverables (b) User expectations(c) Organization's effort in development (d) none of the aboveMultiple Choice QuestionsNote: Select most appropriate answer of the following questions:1.5To produce a good quality product, process should be(a) Complex (b) Efficient(c) Rigorous (d) none of the aboveSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007581.6Which is not a product metric?(a) Size (b) Reliability(c) Productivity (d) Functionality1.7Which is NOT a process metric? (a) Productivity(b) Functionality(c) Quality (d) Efficiency1.8Effort is measured in terms of:(a) Person-months(b) Rupees(c) Persons(d) Months1.9UML stands for (a) Uniform modeling language (b) Unifiedmodeling language(c) Unit modeling language (d) Universal modeling languageMultiple Choice QuestionsNote: Select most appropriate answer of the following questions:1.1 An independently deliverable piece of functionality providing access toits services through interface is called(a) Software measurement (b) Software composition(c) Software measure (d) Software componentSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007591.11Infrastructure software are covered under(a) Generic products (b) Customized products(c) Generic and Customized products (d) none of the above1.12Management of software development is dependent on (a) people (b) product(c) process(d) all of the above1.13During software development, which factor is most crucial?(a) People (b) Product(c) Process (d) Project1.14Program is (a) subset of software(b) super set of software(c) software(d) none of the aboveMultiple Choice QuestionsNote: Select most appropriate answer of the following questions:1.15Milestones are used to(a) know the cost of the project (b) know the status of the project(c) know user expectations (d) none of the aboveSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007601.16The term module used during design phase refers to(a) Function (b) Procedure(c) Sub program (d) All of the above1.17Software consists of(a) Set of instructions + operating system(b) Programs + documentation + operating procedures(c) Programs + hardware manuals(d) Set of programs1.18Software engineering approach is used to achieve:(a) Better performance of hardware(b) Error free software (c) Reusable software (d) Quality software product1.19Concept of software engineering are applicable to(a) Fortran language only (b) Pascal language only(c) C language only (d) All of the aboveMultiple Choice QuestionsNote: Select most appropriate answer of the following questions:1.20CASE Tool is(a) Computer Aided Software Engineering(b) Component Aided Software Engineering(c) Constructive Aided Software Engineering(d)Computer Analysis Software EngineeringSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200761Exercises1.1Whyisprimarygoalofsoftwaredevelopmentnowshiftingfrom producing good quality software to good quality maintainable software?1.2Listthereasonsforthesoftwarecrisis?WhyareCASEtoolsnot normally able to control it?1.3Thesoftwarecrisisisaggravatedbytheprogressinhardware technology? Explain with examples.1.4 What is software crisis? Was Y2K a software crisis?1.5Whatisthesignificanceofsoftwarecrisisinreferencetosoftware engineering discipline.1.6Howaresoftwaremythsaffectingsoftwareprocess?Explainwiththe help of examples.1.7 State the difference between program and software. Why have documents and documentation become very important.1.8 What is software engineering? Is it an art, craft or a science? Discuss.Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200762Exercises1.9Whatisaimofsoftwareengineering?Whatdoesthedisciplineof software engineering discuss?1.10DefinethetermSoftwareengineering.Explainthemajordifferences between software engineering and other traditional engineering disciplines.1.11 What is software process? Why is it difficult to improve it?1.12Describethecharacteristicsofsoftwarecontrastingitwiththecharacteristics of hardware.1.13Writedownthemajorcharacteristicsofasoftware.Illustratewitha diagram that the software does not wear out.1.14 What are the components of a software? Discuss how a software differs from a program.1.15 Discuss major areas of the applications of the software.1.16 Is software a product or process? Justify your answer with exampleSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 200763Exercises1.17 Differentiate between the following(i) Deliverables and milestones (ii) Product and process(iii) Measures, metrics and measurement1.18Whatissoftwaremetric?Howisitdifferentfromsoftware measurement1.19 Discuss software process and product metrics with the help of examples.1.20Whatisproductivity?Howisitrelatedtoeffort.Whatistheunitof effort.1.21 Differentiate between module and software component.1.22Distinguishbetweengenericandcustomizedsoftwareproducts.Which one has larger share of market and why?1.23 Is software a product or process? Justify your answer with exampleSoftware Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007641.23 Describe the role of management in software development with the help of examples.1.24Whatarevariousfactorsofmanagementdependencyinsoftware development. Discuss each factor in detail.1.25 What is more important: Product or process? Justify your answer.Exercises1 Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20072 Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007 Why should we really need it? Whoshouldcarryoutthis activity? Whereshouldwedosuch type of certification?Software Certification What is certification?3 Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007 People Process ProductSoftware CertificationWehaveseenmanycertifieddevelopers(Microsoftcertified, Cisco certified, JAVA certified), certified processes (like ISO or CMM) and certified products.There is no clarity about the procedure of software certification.PeopleProcess ProductTo whom should we target4 Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Adam Kalawa of Parasoft has given his views on certification like:I strongly oppose certification of software developers. I fear that it willbringmoreharmthangoodtothesoftwareindustry.Itmay furtherhurtsoftwarequalitybyshiftingtheblameforbad software.Thecampaignforcertificationassumesthatunqualified developerscausesoftwareproblemandthatwecanimprove softwarequalitybyensuringthatalldevelopershavethegoldenstampofapproval.However,improvingqualityrequires improving the production process and integrating in to it practices thatreducetheopportunityforintroducingdefectsintothe productRequirement of Certification5 Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007 How often will developers require certification to keep pace with new technologies? Howwillanycertificationaddresstheissueslikefundamentals ofcomputerscience,analytical&logicalreasoning, programming aptitude & positive attitude? Processcertificationalonecannotguaranteehighquality product. Whether we go for certified developers or certified processes?Canindependentcertificationagencyprovideafairplaying field for each software industry??Requirement of Certification6 Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007 People Industry specific Process Industry specific Product Forthecustomerdirectlyandhelpstoselectaparticular productTypes of Certification7 Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007The individual obtaining certification receives the following values: Recognition by peers Increased confidence in personal capabilities Recognition by software industry for professional achievement Improvement in processes Competences maintained through recertificationCertification of PersonsCertificationisemployeesinitiatedimprovementprocesswhich improves competence in quality assurances methods & techniques.8 Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Professional level of competence in the principles & practices of softwarequalityassuranceinthesoftwareindustrycanbe achieved by acquiring the designation of: o Certified Software Quality Analyst (CSQA)o Certified Software Tester(CSTE)o Certified Software Project Manager (CSPM)Somecompanyspecificcertificationsarealsoverypopularlike MicrosoftOfficeSpecialist(MOS)certifications inWord,Excel and PowerPoint. MOSisfarbestknowncomputerskillscertificationfor administrator.Certification of Persons9 Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007The most popular process certification approaches are: ISO 9000 SEI-CMM Oneshouldalwaysbesuspiciousaboutthequalityofend product,however,certificationreducesthepossibilityofpoor quality products.Anytypeofprocesscertificationhelpstoproducegoodquality and stable software product.Certification of Processes10 Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007 This is what is required for the customer. Thereisnouniversallyacceptedproductcertification scheme. AviationindustryhasapopularcertificationRTCADO-178B. The targeted certification level is either A, B, C, D, or E. These levels describe the consequences of a potential failure ofthesoftware:catastrophic,hazardoussevere,major, minor or no effect. Certification of Products11 Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007DO-178B RecordsCertification of ProductsSoftware Development PlanSoftware Verification PlanSoftware Configuration Management PlanSoftware Quality Assurance PlanSoftware Requirements StandardsSoftware Design Document Software Verification Test Cases & Products12 Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007DO-178B DocumentsCertification of ProductsSoftware Verification ResultsProblem ReportSoftware Configuration Management RecordsSoftware Quality Assurance RecordsDO-178B certification process is most demanding at higher levels.13 Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007DO-178B level A will:1. Have largest potential market2. Require thorough labour intensive preparation of most of the items on the DO-178B support list.DO-178B Level E would:1. Require fewer support item and2. Less taxing on company resources.Certification of Products14 Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007We dont have product certification in most of the areas. RTOS (real time operating system) is the real-time operating system certification & marked as LinuxOS-178.Certification of ProductsThe establishment of independent agencies is a viable option.15 Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Weyukar hasrightlysaidForComponentbasedSoftware Development(CBO)torevolutionalize softwaredevelopment, developersmustbeabletoproducesoftwaresignificantlycheaper and faster thanthey otherwise could, even as the resulting software meets the same sort of high reliability standards while being easy to maintain.Third Party Certification for Component base Software EngineeringBillcouncilhasalsogivenhisviewsasCurrently,thereisalittle evidencesthatcomponentbasedsoftwareengineering(CBSE)is revolutionizing software development, and lots of reasons to believe otherwise. I believe the primary reason is that the community is not showing how to develop trusted components.16 Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Contractor: Gives the standard Directs any variations in specification Define patterns Allowable tolerances Fix the date of deliveryThird party certification is a method to ensure software components conformtowelldefinedstandards,basedonthiscertification, trusted assemblies of components can be constructedThird party certification is based on UL 1998, 2nded., UL standard for safety for software in programmable component.Third Party Certification for Component base Software Engineering17 Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Exercises10.1 Whatissoftwarecertification?Discussitsimportanceinthechanging scenario of software industry.10.2Whataredifferenttypesofcertifications?Explainthesignificanceof each type & which one is most important for the end user.10.3 What is the role of third party certification in component based software engineering? Why are we not able to stabilize the component based software engineering practices.10.4 Namefewpersonspecificcertificationschemes.Whichoneismost popular & why?10.5 Whycustomerisonlyinterestedinproductcertification?Discussany product certification techniques with their generic applicability.1Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20072Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007The goal of Software Engineering is to provide modelsandprocessesthatleadtothe productionofwell-documentedmaintainable software in a manner that is predictable.Software Life Cycle Models3Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007The period of time that starts when a software product is conceived andendswhentheproductisnolongeravailableforuse.The softwarelifecycletypicallyincludesarequirementphase,design phase,implementationphase,testphase,installationandcheckout phase,operationand maintenancephase,andsometimesretirementphase.Software Life Cycle Models4Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Build & Fix Model Productisconstructedwithout specifications or any attempt at design Adhocapproachandnotwell defined Simple two phase model FixBuildCode5Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007 Suitable for small programming exercises of 100 or 200 lines Unsatisfactory for software for any reasonable size Code soon becomes unfixable & unenhanceable No room for structured design Maintenance is practically not possibleBuild & Fix Model6Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007RequirementDesignImplementationand unit testingIntegr ationandsystemtestingOperation andmaintenanceAnalysis & SpecificationWaterfall ModelThismodelisnamedwaterfall model becauseitsdiagrammatic representationresemblesacascadeof waterfalls.7Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Thismodeliseasytounderstandandreinforces thenotionofdefinebeforedesign anddesign before code.Themodelexpectscomplete&accurate requirementsearlyintheprocess,whichis unrealisticWaterfall Model8Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Problems of waterfall modeli. It is difficult to define all requirements at the beginning of aprojectii. This model is not suitable for accommodating any changeiii. Aworkingversionofthesystemisnotseenuntillatein the projects lifeiv. It does not scale up well to large projects.v. Real projects are rarely sequential.Waterfall Model9Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Incremental Process ModelsTheyareeffectiveinthesituationswhererequirementsare definedpreciselyandthereisnoconfusionaboutthe functionality of the final product.After every cycle a useable product is given to the customer.Popular particularly when we have to quickly deliver a limited functionality system.10Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Iterative Enhancement ModelThismodelhasthesamephasesasthewaterfallmodel,butwith fewerrestrictions.Generallythephasesoccurinthesameorder as in the waterfall model, but they may be conducted in several cycles.Useableproductisreleasedat theendoftheeachcycle,witheach release providing additional functionality. Customersanddevelopersspecifyasmanyrequirementsas possible and prepare a SRS document. Developers and customers then prioritize these requirements Developersimplementthespecifiedrequirementsinoneor morecyclesofdesign,implementationandtestbasedonthe defined priorities.11Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Requirements specificationArchitectural designDetailed designImplementation and unit testingIntegration and testingOperation and MaintenanceIterative Enhancement Model12Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007The Rapid Application Development (RAD) Modelo Developed by IBM in 1980o User participation is essentialThe requirements specification was defined like thisThe developers understood it in that wayThis is how the problem was solved before.This is how the problem is solved nowThat is the programafter debuggingThis is how the program is described by marketing departmentThis, in fact, is what the customer wanted 13Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007o Build a rapid prototypeo Give it to user for evaluation & obtain feedbacko Prototype is refinedRequirementsPlanningUserDescriptionConstruction Cut overWith active participation of usersThe Rapid Application Development (RAD) Model14Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Notanappropriatemodelintheabsenceofuser participation.Reusable components are required to reduce development time.Highlyspecialized&skilleddevelopersarerequiredand such developers are not easily available.The Rapid Application Development (RAD) Model15Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Evolutionary Process ModelsEvolutionaryprocessmodelresemblesiterativeenhancementmodel.Thesamephasesasdefinedforthewaterfallmodeloccur hereinacyclicalfashion.Thismodeldiffersfromiterative enhancementmodelinthesensethatthisdoesnotrequirea useableproductattheendofeachcycle.Inevolutionary development,requirementsareimplementedbycategoryrather than by priority.This model is useful for projects using new technology that is not wellunderstood.Thisisalsousedforcomplexprojectswhereall functionalitymustbedeliveredatonetime,buttherequirements are unstable or not well understood at the beginning.16Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007ValidationFinalversionDevelopmentIntermediateversionsSpecificationInitialversionOutlinedescriptionConcurr entactivitiesEvolutionary Process Model17Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Prototyping Model The prototype may be a usable program but is not suitable as the final software product. Thecodefortheprototypeisthrownaway.However experience gathered helps in developing the actual system. The development of a prototype might involve extra cost, but overallcostmightturnouttobelowerthanthatofan equivalent system developed using the waterfall model.18Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007 Linear model RapidPrototyping Model19Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Spiral ModelModels do not deal with uncertainly which is inherent to software projects.Important software projects have failed because project risks were neglected&nobodywaspreparedwhensomethingunforeseen happened.Barry Boehmrecognized this and tired to incorporate the project risk factor into a life cycle model.The result is the spiral model, which was presented in 1986.20Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Spiral Model21Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007The radial dimension of the model represents the cumulative costs. Eachpatharoundthespiralisindicativeofincreasedcosts.The angular dimension represents the progress made in completing each cycle. Each loop of the spiralfrom X-axis clockwise through 360orepresents one phase. One phase is split roughly into four sectors of major activities. Planning: Determinationofobjectives,alternatives& constraints. RiskAnalysis: Analyzealternativesandattemptstoidentify and resolve the risks involved. Development: Product development and testing product. Assessment: Customer evaluationSpiral Model22Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007 Animportantfeatureofthespiralmodelisthateachphaseis completedwithareviewbythepeopleconcernedwiththe project (designers and programmers) Theadvantageofthismodelisthewiderangeofoptionsto accommodate the good features of other life cycle models. Itbecomesequivalenttoanotherlifecyclemodelin appropriate situations.Thespiralmodelhassomedifficultiesthatneedtoberesolved beforeitcanbeauniversallyappliedlifecyclemodel.These difficulties include lack of explicit process guidance in determining objectives,constraints,alternatives;relyingonriskassessment expertise;andprovidesmoreflexibilitythanrequiredformany applications.Spiral Model23Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007The Unified Process Developed by I.Jacobson, G.Booch and J.Rumbaugh. Softwareengineeringprocesswiththegoalofproducinggood quality maintainable software within specified time and budget. Developed througha seriesoffixed lengthmini projects called iterations. Maintained and enhanced by Rational Software Corporation and thus referred to as Rational Unified Process (RUP).24Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Phases of the Unified ProcessDefinition ofobjectives of the projectPlanning & architecture for the projectInitialoperationalcapabilityInceptionInceptionElaborationElaborationConstructionConstructionTransitionTransitionRelease of the SoftwareproductTime25Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007 Inception: defines scope of the project. Elaboration- How do we plan & design the project?- What resources are required?- What type of architecture may be suitable? Construction:theobjectivesaretranslatedindesign& architecture documents. Transition:involvesmanyactivitieslikedelivering,training, supporting, and maintaining the product.Phases of the Unified Process26Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Initial development & Evolution CyclesInitial development CycleEvolution CycleContinue till the product is retiredInceptionInceptionElaborationElaborationConstructionConstructionTransitionTransitionV1InceptionInceptionElaborationElaborationConstructionConstructionTransitionTransitionV2InceptionInceptionElaborationElaborationConstructionConstructionTransitionTransitionV3V1=version1, V2 =version2, V3=version327Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Iterations & Workflow of Unified Process28Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Inception Phase Gathering and analyzing the requirements. Planningandpreparingabusinesscaseandevaluating alternatives for risk management, scheduling resources etc. Estimating the overall cost and schedule for the project. Studyingthefeasibilityandcalculatingprofitabilityofthe project.The inception phase has the following objectives:29Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Outcomes of Inception PhaseInceptionProject planInitial riskassessmentInitial business caseVision documentInitial usecase modelInitialprojectGlossaryBusiness modelPrototypes30Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Elaboration Phase Establishing architectural foundations. Design of use case model. Elaboratingtheprocess,infrastructure&development environment. Selecting component. Demonstratingthatarchitecturesupportthevisionat reasonable cost & within specified time.The elaboration phase has the following objectives:31Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Outcomes of Elaboration PhaseElaborationRevised riskdocumentAn executable architectural prototypeUse casemodelSupplementary Requirementswith non functionalrequirementArchitectureDescriptiondocumentPreliminaryUser manualDevelopment plan32Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Construction Phase Implementing the project. Minimizing development cost. Management and optimizing resources. Testing the product Assessing the product releases against acceptance criteriaThe construction phase has the following objectives:33Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Outcomes of Construction PhaseConstructionOperational manualsTest SuiteA description of thecurrent releaseSoftwareproductUser manualsDocumentation manualsTest Outline34Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Transition Phase Starting of beta testing Analysis of users views. Training of users. Tuning activities including bug fixing and enhancements for performance & usability Assessing the customer satisfaction.The transition phase has the following objectives:35Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Outcomes of Transition PhaseTransitionProductreleaseBeta test reportsUser feedback36Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Selection of a Life Cycle ModelSelection of a model is based on:a) Requirementsb) Development teamc) Usersd) Project type and associated risk37Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Based On Characteristics Of Requirements Based On Characteristics Of Requirements Based On Characteristics Of Requirements Based On Characteristics Of RequirementsRAD Spiral Evolutionary developmentIterative enhancementPrototype Waterfall RequirementsAre requirements easily understandable and defined?Do we change requirements quite often?Can we define requirements early in the cycle?Requirements are indicating a complex system to be builtYes YesYesYesYes Yes YesYesYes Yes YesYesNoNoNoNoNoNo NoNoNoNoNoNo38Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007RAD Spiral Evolutionary developmentIterative enhancementPrototype Waterfall Development teamBased On Status Of Development Team Based On Status Of Development Team Based On Status Of Development Team Based On Status Of Development TeamLess experience on similar projects?Less domain knowledge (new to the technology)Less experience on tools to be usedAvailability of training if requiredYesYesYesYesYesYesYesYesYesYesYesNoNoNoNo NoNo No NoNoNoNoNo No39Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Based On User Based On User Based On User Based On User s Participation s Participation s Participation s ParticipationRAD Spiral Evolutionary developmentIterative enhancementPrototype Waterfall Involvement of UsersUser involvement in all phasesLimited user participationUser have no previous experience of participation in similar projectsUsers are experts of problem domainYesYesYesYesYesYesYesYesYesYesYesYesYesYesNoNoNoNoNo No NoNoNoNo40Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007RAD Spiral Evolutionary developmentIterative enhancementPrototype Waterfall Project type and risk Based On Type Of Project With Associated Risk Based On Type Of Project With Associated Risk Based On Type Of Project With Associated Risk Based On Type Of Project With Associated RiskProject is the enhancement of the existing systemFunding is stable for the projectHigh reliability requirementsTight project scheduleUse of reusable componentsAre resources (time, money, people etc.) scare?Yes YesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo41Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Multiple Choice QuestionsNote: Select most appropriate answer of the following questions:2.1Spiral Model was developed by(a) Bev Littlewood(b) Berry Boehm(c) Roger Pressman(d) Victor Basili2.2Which model is most popular for students small projects?(a) Waterfall model(b) Spiral model (c) Quick and fix model (d) Prototyping model2.3Which is not a software life cycle model?(a) Waterfall model(b) Spiral model(c) Prototyping model (d) Capability maturity model2.4Project risk factor is considered in(a) Waterfall model (b) Prototyping model(c) Spiral model (d) Iterative enhancement model2.5SDLC stands for(a) Software design life cycle (b) Software development life cycle(c) System development life cycle (d) System design life cycle42Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Multiple Choice QuestionsNote: Select most appropriate answer of the following questions:2.6Build and fix model has (a) 3 phases (b) 1 phase(c) 2 phases(d) 4 phases2.7SRS stands for (a) Software requirements specification (b) Software requirements solution (c) System requirements specification (d) none of the above2.8Waterfall model is not suitable for(a) small projects (b) accommodating change(c) complex projects (d) none of the above2.9RAD stands for(a) Rapid application development (b) Relative application development (c) Ready application development(d) Repeated application development2.10 RAD model was proposed by(a) Lucent Technologies (b) Motorola(c) IBM(d) Microsoft43Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Multiple Choice QuestionsNote: Select most appropriate answer of the following questions:2.11If requirements are easily understandable and defined,which model is best suited?(a) Waterfall model (b) Prototyping model(c) Spiral model (d) None of the above2.12If requirements are frequently changing, which model is to be selected?(a) Waterfall model (b) Prototyping model(c) RAD model (d) Iterative enhancement model2.13If user participation is available, which model is to be chosen?(a) Waterfall model (b) Iterative enhancement model(c) Spiral model (d) RAD model2.14If limited user participation is available, which model is to be selected?(a) Waterfall model(b) Spiral model (c) Iterative enhancement model (d) any of the above2.15 If project is the enhancement of existing system, which model is best suited?(a) Waterfall model(b) Prototyping model(c) Iterative enhancement model (d) Spiral model44Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Multiple Choice QuestionsNote: Select most appropriate answer of the following questions:2.16Which one is the most important feature of spiral model?(a) Quality management(b) Risk management(c) Performance management (d) Efficiency management2.17Most suitable model for new technology that is not well understood is:(a) Waterfall model (b) RAD model(c) Iterative enhancement model(d) Evolutionary development model2.18Statistically, the maximum percentage of errors belong to the following phase of SDLC(a) Coding (b) Design(c) Specifications (d) Installation and maintenance2.19Which phase is not available in software life cycle?(a) Coding(b) Testing (c) Maintenance (d) Abstraction2.20 The development is supposed to proceed linearly through the phase in(a) Spiral model(b) Waterfall model(c) Prototyping model (d) None of the above45Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Multiple Choice QuestionsNote: Select most appropriate answer of the following questions:2.21Unified process is maintained by(a) Infosys (b) Rational software corporation(c) SUN Microsystems (d) None of the above2.22Unified process is(a) Iterative (b) Incremental(c) Evolutionary (d) All of the above2.23Who is not in the team of Unified process development?(a) I.Jacobson (b) G.Booch(c) B.Boehm (d) J.Rumbaugh2.24How many phases are in the unified process?(a) 4 (b) 5(c) 2 (d) None of the above2.25The outcome of construction phased can be treated as:(a) Product release (b) Beta release(c) Alpha release (d) All of the above46Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Exercises2.1WhatdoyouunderstandbythetermSoftwareDevelopmentLife Cycle (SDLC)?Whyisitimportanttoadheretoalifecyclemodelwhile developing a large software product?2.2 What is software life cycle? Discuss the generic waterfall model.2.3Listtheadvantagesofusingwaterfallmodelinsteadofadhocbuildand fix model.2.4Discusstheprototypingmodel.Whatistheeffectofdesigninga prototype on the overall cost of the project?2.5 What are the advantages of developing the prototype of a system?2.6 Describe the type of situations where iterative enhancement model might lead to difficulties.2.7 Compare iterative enhancement model and evolutionary process model.47Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Exercises2.8 Sketch a neat diagram of spiral model of software life cycle.2.10 As we move outward along with process flow path of the spiral model, what can we say about software that is being developed or maintained.2.11Howdoesprojectrisk factoreffectthespiralmodelofsoftware development.2.12 List the advantages and disadvantages of involving a software engineer throughout the software development planning process.2.13Explainthespiralmodelofsoftwaredevelopment.Whatare the limitations of such a model?2.14 Describe the rapid application development (RAD) model.Discuss each phase in detail.2.15 What are the characteristics to be considered for the selection of the life cycle model?2.9Comparethewaterfallmodelandthespiralmodelofsoftwaredevelopment.48Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Exercises2.16Whatistheroleofuserparticipationintheselectionofalifecycle model?.2.18 Write short note on status of development team for the selection of a life cycle model?.2.19 Discuss the selection process parameters for a life cycle model.2.20 What is unified process? Explain various phases along with the outcome of each phase.2.21Describetheunifiedprocessworkproductsaftereachphase ofunified process.2.22 What are the advantages of iterative approach over sequential approach? Why is unified process called as iterative or incremental?2.17Whydowefeelthatcharacteristicsofrequirementsplayavery significant role in the selection of a life cycle model?1Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20072Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Requirement Engineering Requirement Engineering Requirement Engineering Requirement EngineeringQuality of productWithout well written document-- Developers do not know what to build-- Customersdo not know what to expect-- What to validateRequirementsdescribeWhat not HowProducesonelargedocumentwritteninnaturallanguage containsadescriptionofwhatthesystemwilldowithout describing how it will do it.Process that creates itCrucial process steps3Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Requirement EngineeringRequirementsElicitationRequirementsAnalysisRequirementsDocumentationRequirementsReviewProblem StatementSRSCrucial Process Steps of requirement engineering4Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Requirement Engineering Requirement Engineering Requirement Engineering Requirement EngineeringRequirementEngineeringisthedisciplinedapplicationof proven principles, methods, tools, and notations to describe a proposedsystemsintendedbehavioranditsassociated constraints.SRS may act as a contract between developer and customer.State of practiceRequirements are difficult to uncover Requirements change Over reliance on CASE Tools Tight project Schedule Communication barriers Market driven software development Lack of resources5Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007ExampleAUniversitywishtodevelopasoftwaresystemforthe studentresultmanagementofitsM.Tech.Programme.A problemstatementistobepreparedforthesoftwaredevelopmentcompany.Theproblemstatementmaygive an overview of the existing system and broad expectations from the new software system.Requirement Engineering Requirement Engineering Requirement Engineering Requirement Engineering6Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Types of RequirementsKnown RequirementsUndreamed RequirementsUnknown RequirementsStakeholder:Anyone who should have some direct or indirect influence on the system requirements.--- User--- Affected personsRequirementsFunctional Non-Functional Types of Requirements Types of Requirements Types of Requirements Types of Requirements7Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007MaintainabilityPortabilityTestabilityFor UsersFor DevelopersTypes of Requirements Types of Requirements Types of Requirements Types of RequirementsFunctional requirements describe what the software has to do. They are often called product features.NonFunctionalrequirementsaremostlyquality requirements.Thatstipulatehowwellthesoftwaredoes, what it hasto do.AvailabilityReliabilityUsabilityFlexibility8Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007User and system requirements Userrequirementarewrittenfortheusersandinclude functional and non functional requirement. System requirement are derived from user requirement. The usersystem requirements are the parts of software requirement and specification (SRS) document.Types of Requirements Types of Requirements Types of Requirements Types of Requirements9Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Types of Requirements Types of Requirements Types of Requirements Types of RequirementsInterface Specification Important for the customers.TYPES OF INTERFACES Proceduralinterfaces(alsocalledApplication Programming Interfaces (APIs)). Data structures Representation of data.10Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Feasibility Study Feasibility Study Feasibility Study Feasibility StudyIs cancellation of a project a bad news?As per IBM report, 31% projects get cancelled before they are completed, 53% over-run their cost estimates by an average of 189% & for every 100 projects, there are 94 restarts.How do we cancel a project with the least work?CONDUCT A FEASIBILTY STUDY11Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Feasibility Study Feasibility Study Feasibility Study Feasibility StudyTechnical feasibility Isittechnicallyfeasibletoprovidedirectcommunication connectivity through space from one location of globe to another location? Isittechnicallyfeasibletodesignaprogramming language using Sanskrit?12Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Feasibility Study Feasibility Study Feasibility Study Feasibility StudyFeasibility depends upon non technical Issues like: Are the projects cost and schedule assumption realistic? Does the business model realistic? Is there any market for the product?13Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Feasibility Study Feasibility Study Feasibility Study Feasibility StudyPurpose of feasibility studyevaluationoranalysisofthepotentialimpactofa proposed project or program.Focus of feasibility studies Is the product concept viable? Will it be possible to develop a product that matches the projects vision statement? What are the current estimated cost and schedule for the project?14Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Feasibility Study Feasibility Study Feasibility Study Feasibility StudyFocus of feasibility studies How big is the gap between the original cost & schedule targets & current estimates? Is the business model for software justified when the current cost & schedule estimate are considered? Have the major risks to the project been identified & can they be surmounted? Is the specifications complete & stable enough to support remaining development work?15Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Feasibility Study Feasibility Study Feasibility Study Feasibility StudyFocus of feasibility studies Haveusers&developersbeenabletoagreeona detaileduserinterfaceprototype?Ifnot,arethe requirements really stable? Isthesoftwaredevelopmentplancomplete&adequate to support further development work?16Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Perhaps Most difficult Most critical Most error prone Most communication intensiveSucceedRequirements Elicitation Requirements Elicitation Requirements Elicitation Requirements ElicitationSelection of any method1. It is the only method that we know2. It is our favorite method for all situations3. We understand intuitivelythat the method is effective in the present circumstances.Normally we rely onfirst two reasons.effective customer developer partnership17Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20071. InterviewsBoth parties have a common goalInterviewRequirements Elicitation Requirements Elicitation Requirements Elicitation Requirements ElicitationSelection of stakeholder1. Entry level personnel2.Middle level stakeholder3.Managers4.Users of the software (Most important)Success of the project--- open ended--- structured18Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Types of questions. Any problems with existing system Any Calculation errors Possible reasons for malfunctioning No. of Student EnrolledRequirements Elicitation Requirements Elicitation Requirements Elicitation Requirements Elicitation19Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20075. Possible benefits6. Satisfied with current policies7.How are you maintaining the records of previous students?8. Any requirement of data from other system9. Any specificproblems10. Any additional functionality11. Most important goal of the proposed developmentAt the end, we may have wide variety of expectations from the proposed software.Requirements Elicitation Requirements Elicitation Requirements Elicitation Requirements Elicitation20Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20072. Brainstorming SessionsItis a group techniqueCreative Thinking New ideas QuicklyRequirements Elicitation Requirements Elicitation Requirements Elicitation Requirements Elicitation*Idea is to generate views ,not to vet them.Groups1. Users 2. Middle Level managers 3. Total StakeholdersCategorizedPrioritizedPrunedPrepare long list of requirementsgroup discussions21Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007A Facilitator may handle groupbias, conflicts carefully.-- Facilitator may follow a published agenda-- Every idea will be documented in a way that everyone can see it.--A detailed reportis prepared.3. Facilitated Application specification Techniques (FAST)-- Similar to brainstorming sessions.-- Team oriented approach-- Creation of joint team of customers and developers.Requirements Elicitation Requirements Elicitation Requirements Elicitation Requirements Elicitation22Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Guidelines1. Arrange a meeting at a neutral site.2. Establish rules for participation.3. Informal agenda to encourage free flow of ideas.4. Appoint a facilitator.5. Preparedefinition mechanism board, worksheets, wall stickier.6. Participants should not criticize or debate.FAST session PreparationsEach attendee is asked to make a list of objects that are:Requirements Requirements Requirements Requirements Elicitation Elicitation Elicitation Elicitation23Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20071. Part of environment that surrounds the system.2. Produced by the system.3. Used by the system.A. List of constraintsB. FunctionsC. Performance criteriaActivities of FAST session1. Every participant presents his/her list 2. Combine list for each topic3. Discussion4. Consensus list5. Sub teams for mini specifications6. Presentations of mini-specifications7. Validation criteria8. A sub team to draft specificationsRequirements Elicitation Requirements Elicitation Requirements Elicitation Requirements Elicitation24Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20074. Quality Function Deployment-- Incorporate voice of the customerRequirements Elicitation Requirements Elicitation Requirements Elicitation Requirements Elicitation-- Normal requirements-- Expected requirements-- Exciting requirementsWhat is important for customer?Primeconcern is customer satisfactionDocumentedTechnical requirements.25Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Steps1. Identify stakeholders2. List out requirements3. Degree of importance to each requirement.Requirements Elicitation Requirements Elicitation Requirements Elicitation Requirements Elicitation26Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20075 Points :V. Important4 Points : Important3 Points : Not Important but nice to have2Points :Not important1 Points :Unrealistic, required further explorationRequirement Engineer may categorize like:(i) It is possible to achieve(ii) It should be deferred & Why(iii) It is impossible and should be dropped from considerationFirst Category requirements will be implemented as per priority assigned with every requirement.Requirements Elicitation Requirements Elicitation Requirements Elicitation Requirements Elicitation27Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20075. The Use Case ApproachIvar Jacobson & others introduced Use Case approach for elicitation & modeling.Use Case give functional viewThe termsUse CaseUse Case ScenarioUse Case DiagramRequirements Elicitation Requirements Elicitation Requirements Elicitation Requirements ElicitationUseCasesarestructuredoutlineortemplateforthedescriptionofuserrequirementsmodeledinastructured language like English.Often InterchangedBut they are different28Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Use caseScenarios are unstructured descriptions of user requirements.Use case diagrams are graphical representations that may be decomposed into further levels of abstraction.Components of Use Case approachActor:An actor or external agent, lies outside the system model, but interacts with it in some way.ActorRequirements Elicitation Requirements Elicitation Requirements Elicitation Requirements ElicitationPerson, machine, information System29Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007 CockburndistinguishesbetweenPrimaryand secondary actors. APrimaryactorisonehavingagoalrequiringthe assistance of the system. A Secondary actor is one from which System needs assistance.Use CasesAusecaseisinitiatedbyauserwithaparticulargoalin mind,andcompletessuccessfullywhenthatgoalis satisfied.Requirements Elicitation Requirements Elicitation Requirements Elicitation Requirements Elicitation30Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007*It describes the sequence of interactions between actors and the systemnecessary to deliver the services that satisfies the goal.* Alternate sequence* System is treated as black box.Thus UseCasecaptureswho(actor)doeswhat(interaction) withthesystem,forwhatpurpose(goal),withoutdealing with system internals.Requirements Elicitation Requirements Elicitation Requirements Elicitation Requirements Elicitation31Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007*defines all behavior required of the system, bounding the scope of the system.Jacobson & others proposed a template for writing Use cases as shown below:1. IntroductionDescribe a quick background of the use case.2.ActorsList the actors that interact and participate in the use cases.3.Pre ConditionsPre conditions that need to be satisfied for the use case to perform.4. Post ConditionsDefine the different states in which we expect the systemto be in, after the use case executes.Requirements Elicitation Requirements Elicitation Requirements Elicitation Requirements Elicitation32Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20075. Flow of events5.1 Basic FlowList the primary events that will occur when this use case is executed.5.2 Alternative FlowsAny Subsidiary events that can occur in the use case should beseparately listed. List each such event as an alternative flow.A use case can have many alternative flows as required.6.Special RequirementsBusiness rules should be listed for basic & information flows as special requirements in the use case narration .These rules will also be used for writing test cases. Both success and failures scenarios should bedescribed.7.Use Case relationshipsFor Complex systems it is recommended to document the relationshipsbetween use cases. Listing the relationships between use cases also provides a mechanism for traceabilityUse Case Template.Requirements Elicitation Requirements Elicitation Requirements Elicitation Requirements Elicitation33Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Use Case Guidelines1. Identify all users2.Createauserprofileforeachcategoryofusersincluding all roles of the users play that are relevant to the system.3.Createausecaseforeachgoal,followingtheusecase template maintain the same level of abstraction throughout theusecase.Stepsinhigherlevelusecasesmaybe treatedasgoalsforlowerlevel(i.e.moredetailed),sub-use cases.4.Structure the use case5.Review and validate with users.Requirements Elicitation Requirements Elicitation Requirements Elicitation Requirements Elicitation34Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Use case Diagrams-- represents what happens when actor interacts with a system.-- captures functional aspect of the system.Use CaseRelationship betweenactors and use case and/or between the use cases.Requirements Elicitation Requirements Elicitation Requirements Elicitation Requirements Elicitation-- Actors appear outside the rectangle.--Use cases within rectangle providing functionality.--Relationship association is a solid line between actor & use cases.Actor35Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007*Use cases should not be used to capture all the details of the system.*Only significant aspects of the required functionality*No design issues*Use Cases are for what the system is , not how the system will be designed* Free of design characteristics Requirements Requirements Requirements Requirements Elicitation Elicitation Elicitation Elicitation36Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Use case diagram for Result Management SystemMaintain StudentDetailsMaintain SubjectDetailsMaintain ResultDetailsLoginGenerate ResultReportsView ResultsData Entry OperatorAdministrator/DRStudent/Teacher37Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20071. Maintain student DetailsAdd/Modify/update students details like name, address.2.Maintain subject DetailsAdd/Modify/Update Subject information semester wise3.Maintain Result DetailsIncludeentryofmarksandassignmentofcreditpointsforeach paper.4. LoginUse to Provide way to enter through user id & password.5. Generate Result ReportUse to print various reports6. View Result(i) According to course code(ii) According to Enrollment number/roll numberRequirements Elicitation Requirements Elicitation Requirements Elicitation Requirements Elicitation38Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Login1.1 Introduction : This use case describes how a user logs into the Result Management System.1.2Actors :(i) Data Entry Operator(ii) Administrator/Deputy Registrar1.3Pre Conditions : None1.4Post Conditions : If the use case is successful, the actor is logged into the system. If not, the system state is unchanged.Requirements Elicitation (Use Case) Requirements Elicitation (Use Case) Requirements Elicitation (Use Case) Requirements Elicitation (Use Case)39Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Requirements Elicitation (Use Case) Requirements Elicitation (Use Case) Requirements Elicitation (Use Case) Requirements Elicitation (Use Case)1.5 Basic Flow : This use case starts when the actor wishesto login to the Result Management system.(i) System requests that the actor enter his/her name and password.(ii) The actor enters his/her name & password.(iii) System validates name & password, and if finds correctallow the actor to logs into the system.40Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20071.6 Alternate Flows1.6.1Invalid name & passwordIfin the basic flow, the actor enters an invalid name and/or password, the system displays an error message. The actor can choose to either return to the beginning of the basic flow or cancel the login, at that point, the use case ends.1.7Special Requirements:None1.8 Use case Relationships:NoneUse Cases Use Cases Use Cases Use Cases41Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20072.Maintain student details2.1Introduction :Allow DEO to maintain student details. This includes adding, changing and deleting student information2.2Actors : DEO2.3Pre-Conditions: DEO must be logged onto the system before this use case begins.Use Cases Use Cases Use Cases Use Cases42Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20072.4 Post-conditions :Ifusecaseissuccessful,student informationisadded/updated/deletedfromthesystem. Otherwise, the system state is unchanged.2.5 Basic Flow :StartswhenDEOwishesto add/modify/update/delete Student information.(i) ThesystemrequeststheDEOtospecifythefunction, he/she would like to perform (Add/update/delete)(ii) Oneofthesubflowwillexecuteaftergettingthe information.Use Cases Use Cases Use Cases Use Cases43Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007 If DEO selects "Add a student", "Add a student"sub flow willbe executed. If DEO selects "update a student", "update a student" sub flow will be executed. If DEO selects "delete a student", "delete a student" sub flow will be executed.2.5.1 Add a student(i) The system requests the DEO to enter:NameAddressRoll NoPhone NoDate of admission(ii) System generates unique idUse Cases Use Cases Use Cases Use Cases44Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Use Cases Use Cases Use Cases Use Cases2.5.2 Update a student(i) System requires the DEO to enter student-id.(ii)DEOentersthestudent_id.Thesystemretrievesand display the student information.(iii)DEOmakesthedesiredchangestothestudentinformation.(iv) After changes, the system updates the student record with changed information.45Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20072.5.3 Delete a student(i) The system requests the DEO to specify the student-id.(ii)DEOentersthestudent-id.Thesystemretrievesand displays the student information.(iii)ThesystempromptstheDEOtoconfirmthedeletionof the student.(iv) The DEO confirms the deletion.(v) The system marks the student record for deletion.Use Cases Use Cases Use Cases Use Cases46Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Use Cases Use Cases Use Cases Use Cases2.6 Alternative flows2.6.1Student not foundIf in the update a student or delete a student sub flows, astudentwithspecified_iddoesnotexist,thesystem displaysanerrormessage.TheDEOmayentera differentidorcanceltheoperation.Atthispoint,Use case ends.47Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Use Cases Use Cases Use Cases Use Cases2.6.2Update CancelledIfintheupdateastudentsub-flow,thedataentry operatordecidesnot toupdate thestudentinformation, the update is cancelled and the basic flow is restarted at the begin.48Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20072.6.3 Delete cancelledIfinthedeleteastudentsubflows,DEOdecidesnotto deletestudentrecord,thedeleteiscancelledandthe basic flow is re-started at the beginning.2.7Special requirementsNone2.8Use case relationshipsNoneUse Cases Use Cases Use Cases Use Cases49Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20073.Maintain Subject Details3.1 IntroductionThe DEO to maintain subject information. This includes adding, changing, deleting subject information from the system3.2Actors : DEO3.3Preconditions : DEO must be logged onto the system before the use case begins.Use Cases Use Cases Use Cases Use Cases50Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Use Cases Use Cases Use Cases Use Cases3.4Post conditions :Iftheusecaseissuccessful,thesubjectinformationisadded,updated,ordeletedfromthesystem, otherwise the system state is unchanged.3.5Basic flows :TheusecasestartswhenDEOwishestoadd,change, and/or delete subject information from the system.(i) ThesystemrequestsDEOtospecifythefunctionhe/she would like to perform i.e. Add a subject Update a subject Delete a subject.51Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007(ii) Once the DEO provides the required information, one of the sub flows is executed. If DEO selected Add a subject the Add-a subject sub flow is executed. If DEO selected Update-a subject the update-a- subjectsub flow isexecuted If DEO selected Delete- a- subject, the Delete-a-subjectsub flow is executed.3.5.1 Add a Subject(i) The Systemrequests the DEO to enter the subject information. This includes :* Name of the subjectUse Cases Use Cases Use Cases Use Cases52Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007Use Cases Use Cases Use Cases Use Cases* Subject Code* Semester* Credit points(ii) Once DEO provides the requested information, the system generates and assigns a unique subject-id to the subject. The subject is added to the system.(iii) The system provides the DEO with new subject-id.53Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20073.5.2Update a Subject(i) ThesystemrequeststheDEOtoenter subject_id.(ii) DEO enters the subject_id. The system retrieves and displays the subject information.(iii) DEO makes the changes.(iv) Record is updated.Use Cases Use Cases Use Cases Use Cases54Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20073.5.3 Delete a Subject(i) Entry of subject_id.(ii) After this, system retrieves & displays subject information.*System prompts the DEO to confirm the deletion.*DEO verifies the deletion.*The system marks the subject record for deletion.Use Cases Use Cases Use Cases Use Cases55Software Engineering (3rded.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 20073.6Alternative Flow3.6.1 Subject not