Saturday, June 8, 2019

Comparison between five process models of software engineering Essay Example for Free

similarity between five process nonpluss of packet engineering EssayIJCSI foreign Journal of computer knowledge make dos, Vol. 7, Issue 5, September 2010 ISSN (Online) 1694-0814www.IJCSI.orgA Comparison Between Five Models Of software program EngineeringNabil Mohammed Ali Munassar1 and A. Govardhan21Ph.D Student of Computer cognizance EngineeringJawahrlal Nehru Technological UniversityKuktapally, Hyderabad- 500 085, Andhra Pradesh, India2Professor of Computer Science EngineeringPrincipal JNTUH of Engineering College, Jagityal, Karimnagar (Dt), A.P., IndiaAbstractThis research deals with a vital and essential issue in information processing system world. It is concerned with the software management processes that examine the area of software tuition through thedevelopment models, which are known as software development bread and butter cycle. It represents five of the development models namely, waterfall, Iteration, V-shaped, voluted and Extreme programming. The se models have advantages and disadvantages as surface.Therefore, the main objective of this research is to represent different models of software development and make acomparison between them to show the features and defects ofeach model.Keywords software product Management coveres, SoftwareDevelopment, Development Models, Software Development Life steering wheel, Comparison between five models of Software Engineering.increased recently which results in the difficulty ofenumerating such companies. During the previous fourdecades, software has been developed from a tool use foranalyzing information or solving a problem to a product initself. However, the early programming stages havecreated a number of problems turning software anobstacle to software development particularly thoserelying on computers. Software consists of documents andprograms that contain a collection that has beenestablished to be a part of software engineeringprocedures. Moreover, the aim of software engineeri ng isto create a fountable work that construct programs of spiritedquality.1. IntroductionComputer ScienceNo one net deny the importance of computer in our life,especially during the present time. In fact, computer hasbecome indispensible in todays life as it is utilise in many another(prenominal)fields of life such as industry, medicine, commerce,education and even agriculture. It has become animportant element in the industry and technology ofadvanced as healthful as developing countries. Now a days,organizations become more dependent on computer intheir works as a result of computer technology. Computeris considered a time- saving device and its progress helpsin executing complex, long, repeated processes in a veryshort time with a high speed. In addition to usingcomputer for work, plenty use it for fun andentertainment. Noticeably, the number of companies thatproduce software programs for the purpose of facilitatingworks of offices, administrations, banks, and so forth ha sTheoriesComputer FunctionClientProblemsThe Software engineeringTools and techniques to solve problemsFig. 1 Explanation of software engineering conception.IJCSI transnational Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010 ISSN (Online) 1694-0814www.IJCSI.org952. Software Process Modelsconcern.A software process model is an abstract representation of aprocess. It presents a description of a process from some(prenominal)particular perspective asThe nice waterfall lifecycle consists of several nonoverlapping stages, as shown in the following figure. The model begins with establishing system requirements andsoftware requirements and continues with architecturaldesign, detailed design, secret writing, examination, and maintenance.The waterfall model serves as a baseline for many otherlifecycle models.1.2.3.4.Specification.Design.Validation.Evolution.General Software Process Models are1. waterfall model Separate and distinct contours of spec and development.2. Prototype model.3. Rapid cover development model (RAD).4. EvolutionarydevelopmentSpecification,development and validation are interleaved.5. Incremental model.6. iterative aspect model.7. Spiral model.8. Component-based software engineering The systemis assembled from existing components. transcription RequirementsSoftware RequirementsArchitectural DesignDetailed DesignCodingThere are many variants of these models e.g. formaldevelopment where a waterfall-like process is used, butthe specification is formal that is refined through severalstages to an implementable design1.TestingMaintenanceFig. 2 falls Model4.3. Five ModelsA Programming process model is an abstractrepresentation to describe the process from a particularperspective. There are numbers of general models forsoftware processes, like Waterfall model, Evolutionarydevelopment, Formal systems development and Reusebased development, etc. This research will view the following five models 1. Waterfall model.2. Iteration mode l.3. V-shaped model.4. Spiral model.5. Extreme model.These models are chosen because their featurescorrespond to most software development programs.RequirementsDefinition transcription andSoftware DesignImplementationand Unit TestingIntegration andSystem Testing3.1 The Waterfall ModelThe waterfall model is the important model of softwareengineering. This model is one of the oldest models and iswidely used in government nominates and in many major(ip)companies. As this model emphasizes be after in earlystages, it ensures design flaws before they develop. Inaddition, its intensive document and cookery make itwork well for projects in which quality control is a majorOperation andMaintenanceFig. 3 Waterfall model2.The following list details the steps for using the waterfallIJCSI external Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010 ISSN (Online) 1694-0814www.IJCSI.orgmodel1 System requirements Establishes the componentsfor building the system, including the h ardwarerequirements, software tools, and other necessarycomponents. Examples include decisions onhardware, such as plug-in boards (number ofchannels, acquisition speed, and so on), and decisionson external pieces of software, such as databases orlibraries.23Software requirements Establishes the expectationsfor software functionality and identifies which systemrequirements the software affects. Requirements compendium includes determining interaction required withother applications and databases, performancerequirements, user interface requirements, and so on.Architectural design feels the softwareframework of a system to meet the specificrequirements. This design defines the majorcomponents and the interaction of those components,but it does not define the structure of eachcomponent. The external interfaces and tools used inthe project back end be getd by the designer.4Detailed design Examines the software componentsdefined in the architectural design stage and producesa specifi cation for how each component isimplemented.5CodingImplementsspecification.67thedetailedstarting coding. There is no overlap between stages. Inreal-world development, however, one can discover issuesduring the design or coding stages that menstruum out errors orgaps in the requirements.The waterfall method does not prohibit returning to anearlier phase, for example, returning from the design phaseto the requirements phase. However, this involves costlyrework. to each one effected phase requires formal review andextensive documentation development. Thus, oversightsmade in the requirements phase are expensive to correctlater.Because the actual development comes late in the process,one does not see results for a long time. This delay can bedisconcerting to management and customers. Many peoplealso think that the come of documentation is excessiveand in flexible.Although the waterfall model hasinstructive because it emphasizesproject development. Even if onemodel, he must consider each ofrelationship to his own project 4.1.2.3.designTesting Determines whether the software meets thestipulate requirements and finds any errors present inthe enroll.Maintenance Addresses problems and enhancementrequests after the software releases.In some organizations, a substitute control board maintainsthe quality of the product by reviewing each change madein the maintenance stage. Consider applying the fullwaterfall development cycle model when correctingproblems or implementing these enhancement requests.In each stage, documents that explain the objectives anddescribe the requirements for that phase are created. At the end of each stage, a review to determine whether theproject can proceed to the next stage is held. Yourprototyping can also be incorporated into any stage fromthe architectural design and after.Many people believe that this model cannot be applied toall situations. For example, with the pure waterfall model,the requirements must be stated before beginning th edesign, and the complete design must be stated before964.5.6.1.2.4.5.6.7.its weaknesses, it isimportant stages ofdoes not apply thisthese stages and itsAdvantages Easy to understand and implement.Widely used and known (in theory).Reinforces honorable habitsdefine-before- design,design-before- law.Identifies deliverables and milestones. schedule driven, URD, SRD, etc. Publisheddocumentation standards, e.g. PSS-05. dresss well on mature products and weak teams.Disadvantages Idealized, doesnt match reality well.Doesnt reflect iterative constitution of exploratorydevelopment.3. Unrealistic to expect accurate requirements soearly in project.Software is delivered late in project, delays discoveryof serious errors.Difficult to integrate adventure management.Difficult and expensive to make changes todocuments, swimming upstream.Significant administrative overhead, costly for smallteams and projects 6.Pure WaterfallThis is the classical system development model. It consistsof discontin uous phases1.2.3.Concept.Requirements.Architectural design.IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5,September 2010 ISSN (Online) 1694-0814www.IJCSI.org4.5.6.Detailed design.Coding and development.Testing and carrying out.Table 1 Strengths Weaknesses of Pure WaterfallStrengthsMinimizes planningoverhead since it canbe done up front.Structure minimizeswasted effort, so itworks well fortechnically weak orin captured staff. bump simplification curlicues can be added to the top of thewaterfall to reduce risks prior to the waterfall phases. The waterfall can be further modified using options such asprototyping, JADs or CRC sessions or other methods ofrequirements gathering done in overlapping phases 5.Weaknesses3.2 Iterative DevelopmentInflexibleOnly the final phaseproduces a nondocumentationdeliverable.Backing up toaddress mistakes isdifficult.The problems with the Waterfall Model created a demandfor a new method of developing systems which couldprovide faster results, require slight up-front information,and offer greater flexibility. With Iterative Development,the project is divided into small parts. This allows thedevelopment team to demonstrate results earlier on in theprocess and obtain worthful feedback from system users.Often, each iteration is actually a mini-Waterfall processwith the feedback from one phase providing vitalinformation for the design of the next phase. In a conversion of this model, the software products, which are producedat the end of each step (or series of steps), can go intoproduction immediately as incremental releases. Pure Waterfall SummaryThe pure waterfall model performs well for products withclearly understood requirements or when working withwell understood technical tools, architectures andinfrastructures. Its weaknesses frequently make it imprudent when rapid development is needed. In thosecases, modified models may be more effective.97Modified WaterfallThe modified waterfall uses the same pha ses as the purewaterfall, but is not based on a discontinuous basis. Thisenables the phases to overlap when needed. The purewaterfall can also split into subprojects at an subduephase (such as after the architectural design or detaileddesign).Table 2 Strengths Weaknesses of Modified WaterfallStrengthsMore flexible than thepure waterfall model.If at that place is personnelcontinuity between thephases, documentationcan be substantiallyreduced.Implementation of easyareas does not need towait for the hard ones.WeaknessesModified Waterfall SummaryMilestones are moreambiguous than thepure waterfall.Activities performedin parallel are subjectto miscommunicationand mistakenassumptions.Unforeseeninterdependencies cancreate problems.Fig. 4 Iterative Development.3.3 V-Shaped ModelJust like the waterfall model, the V-Shaped life cycle is asequential path of execution of processes. Each phasemust be established before the next phase begins. Testingis emphasized in this model more than the wa terfallmodel. The testing procedures are developed early in thelife cycle before any coding is done, during each of thephases preceding implementation. Requirements begin thelife cycle model just like the waterfall model. BeforeIJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010 ISSN (Online) 1694-0814www.IJCSI.orgdevelopment is started, a system test plan is created. Thetest plan focuses on meeting the functionality specified inrequirements gathering.98RequirementsThe high-level design phase focuses on systemarchitecture and design. An integration test plan is created in this phase in frame to test the pieces of the softwaresystems ability to work together. However, the low-leveldesign phase lies where the actual software componentsare designed, and unit of measurement tests are created in this phase aswell.System TestPlanningHigh LevelDesignLow LevelDesignThe implementation phase is, again, where all codingtakes place. Once coding is complete, the path ofexecution continues up the right side of the V where thetest plans developed earlier are now put to use. impartial and easy to use.Each phase has specific deliverables.Higher chance of success over the waterfall modeldue to the early development of test plans during thelife cycle.Works well for small projects where requirements areeasily understood.Unit TestPlanningIntegrationTestingUnitTestingImplementationAdvantages1.2.3.IntegrationTestPlanningSystemTesting4.Fig. 6 V-Shaped Life Cycle Model7.3.4 Spiral ModelThe spiral model is similar to the incremental model, withmore emphases placed on risk analysis. The spiral modelhas four phases Planning, Risk Analysis, Engineering andEvaluation. A software project repeatedly passes throughthese phases in iterations (called Spirals in thismodel). The baseline spiral, starting in the planningphase, requirements are gathered and risk isassessed. Each subsequent spiral builds on the baselinespiral. Requirements are gathered during th e planningphase. In the risk analysis phase, a process is undertakento identify risk and alternate solutions. A prototype isproduced at the end of the risk analysis phase. Software isproduced in the engineering phase, along with testing atthe end of the phase. The evaluation phase allows thecustomer to evaluate the output of the project to datebefore the project continues to the next spiral.In the spiral model, the angulate component representsprogress, and the radius of the spiral represents cost.Fig. 5 V-Model 3Disadvantages1.2.Very rigid like the waterfall model.Little flexibility and adjusting scope is difficult andexpensive.Software is developed during the implementation phase,so no early prototypes of the software are produced.This Model does not provide a clear path for problemsfound during testing phases 7.3.4.1.2.3.AdvantagesHigh join of risk analysis.Good for large and mission-critical projects.Software is produced early in the software life cycle.1.2.3.DisadvantagesCan b e a costly model to use.Risk analysis requires highly specific expertise.Projects success is highly dependent on the riskanalysis phase.Doesnt work well for smaller projects 7.4.IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010 ISSN (Online) 1694-0814www.IJCSI.org1.Spiral model sectors disapproveive intendting Specific objectives for the phase areidentified.2. Risk assessment and reduction Risks are assessed andactivities are put in place to reduce the key risks.3. Development and validation A development modelfor the system is chosen which can be any of thegeneral models.4. Planning The project is reviewed and the next phaseof the spiral is planned 1.99under which the system would produce win-lose or loselose outcomes for some stakeholders. 3. Identify and Evaluate Alternatives Solicitsuggestions from stakeholders, evaluate them with respectto stakeholders win conditions, synthesize and negotiatecandidate win-win alternatives, analyze, assess, resolvewin-lose or lose-lose risks, record commitments and areasto be left flexible in the projects design record and lifecycle plans.4. Cycle through the Spiral Elaborate the win conditionsevaluate and screen alternatives, resolve risks, accumulateappropriate commitments, and develop and executedownstream plans 8.3.5 Extreme ProgrammingAn approach to development, based on the developmentand delivery of very small increments of functionality. Itrelies on constant ordinance improvement, user involvement inthe development team and pair wise programming . It canbe difficult to keep the interest of customers who are tough in the process. Team members may be unsuitedto the intense involvement that characterizes agilemethods. Prioritizing changes can be difficult where thereare multiple stakeholders. Maintaining easiness requiresextra work. Contracts may be a problem as with otherapproaches to iterative development.Fig. 7 Spiral Model of the Software Process1. WinWin Spiral ModelThe c ertain spiral model Boehm 88 began each cycle ofthe spiral by performing the next level of elaboration ofthe prospective systems objectives, constraints andalternatives. A primary difficulty in applying the spiralmodel has been the lack of explicit process guidance indetermining these objectives, constraints, and alternatives. The Win-Win Spiral Model Boehm 94 uses the theoryW (win-win) approach Boehm 89b to converge on asystems next-level objectives, constraints, andalternatives. This Theory W approach involves identifyingthe systems stakeholders and their win conditions, andusing negotiation processes to determine a mutuallysatisfactory set of objectives, constraints, and alternatives for the stakeholders. In particular, as illustrated in thefigure, the nine-step Theory W process translates into thefollowing spiral model extensions1. Determine Objectives Identify the system life-cyclestakeholders and their win conditions and establish initialsystem boundaries and external interfac es.2. Determine Constraints Determine the conditionsFig. 8 The XP Release Cycle Extreme Programming PracticesIncremental planning Requirements are recorded onStory Cards and the Stories to be include in a release aredetermined by the time available and their relative priority. The developers break these stories into developmentTasks.Small Releases The minimal useful set of functionalitythat provides business value is developed first. Releases of the system are frequent and incrementally addfunctionality to the first release.IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010 ISSN (Online) 1694-0814www.IJCSI.orgSimple Design Enough design is carried out to meet thecurrent requirements and no more.Test first development An automated unit testframework is used to write tests for a new piece offunctionality before functionality itself is implemented.Refactoring All developers are expected to re-factor thecode continuously as soon as possible code impr ovementsare found. This keeps the code simple and maintainable.Pair Programming Developers work in pairs, checkingeach others work and providing support to do a good job.Collective Ownership The pairs of developers work onall areas of the system, so that no islands of expertisedevelop and all the developers own all the code. Anyonecan change anything. endless Integration As soon as work on a task iscomplete, it is integrated into the whole system. After anysuch integration, all the unit tests in the system must pass. Sustainable pace Large amounts of over-time are notconsidered acceptable as the net effect is often to reducecode quality and medium term productivity.On-site Customer A representative of the end-user of thesystem (the Customer) should be available full time for theuse of the XP team. In an ingrained programming process,the customer is a member of the development team and isresponsible for bringing system requirements to the teamfor implementation.1.2.3.4.5.XP and agil e principlesIncremental development is supported through small,frequent system releases.Customer involvement means full-time customerengagement with the team.People not process through pair programming,collective possession and a process that avoids longworking hours.Change supported through regular system releases.Maintaining simplicity through constant refactoring ofcode 1.1.2.3.4.5.AdvantagesLightweight methods suit small-medium size projects.Produces good team cohesion.Emphasises final product.Iterative.Test based approach to requirements and qualityassurance.1.DisadvantagesDifficult to scale up to large projects wheredocumentation is essential.Needs experience and skill if not to degenerate intocode-and-fix.Programming pairs is costly.2.3.4.100Test case construction is a difficult and specializedskill 6.4. Conclusion and Future WorkAfter completing this research , it is concluded that 1. There are many existing models for developingsystems for different sizes of projects andreq uirements.2. These models were established between 1970 and1999.3. Waterfall model and spiral model are used commonlyin developing systems.4. Each model has advantages and disadvantages for thedevelopment of systems , so each model tries toeliminate the disadvantages of the previous modelFinally, some topics can be suggested for future works1.2.3.Suggesting a model to simulate advantages that arefound in different models to software processmanagement. do a comparison between the suggested modeland the previous software processes managementmodels.Applying the suggested model to many projects toensure of its suitability and documentation to explainits mechanical work.REFERENCES1 Ian Sommerville, Software Engineering, AddisonWesley, 7th edition, 2004.2 CTG. MFA 003, A Survey of System DevelopmentProcess Models, Models for Action Project DevelopingPractical Approaches to Electronic Records Managementand Preservation, Center for Technology in GovernmentUniversity at Albany / Suny,1998 . 3 Steve Easterbrook, Software Lifecycles, Universityof Toronto Department of Computer Science, 2001.4 National Instruments Corporation, Lifecycle Models,2006 , http//zone.ni.com.5 JJ Kuhl, Project Lifecycle Models How They Differand When to Use Them,2002 www.businessesolutions.com.6 Karlm, Software Lifecycle Models, KTH,2006 .7 Rlewallen, Software Development Life CycleModels, 2005 ,http//codebeter.com.8 Barry Boehm, Spiral Development Experience,Principles, and Refinements, edited by Wilfred J.Hansen, 2000 .Nabil Mohammed Ali Munassar was born in Jeddah, SaudiArabia in 1978. He studied Computer Science at University of Science and Technology, Yemen from 1997 to 2001. In 2001 heIJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010 ISSN (Online) 1694-0814www.IJCSI.orgreceived the Bachelor degree. He studied Master of Information Technology at Arab Academic, Yemen, from 2004 to 2007. Nowrdhe Ph.D. Student 3 year of CSE at Jawaharlal NehruTechnological University (JNTU), Hyderabad, A. P., India. He is working as Associate Professor in Computer Science Engineering College in University Of Science and Technology, Yemen. His area of interest include Software Engineering, System Analysis and Design, Databases and Object OrientedTechnologies.Dr.A.Govardhan received Ph.D. degree in Computer Scienceand Engineering from Jawaharlal Nehru Technological University in 2003, M.Tech. from Jawaharlal Nehru University in 1994 and B.E. from Osmania University in 1992. He is Working as aPrincipal of Jawaharlal Nehru Technological University, Jagitial. He has published nigh 108 papers in various national andinternational Journals/conferences. His research of interest includes Databases, Data Warehousing Mining, InformationRetrieval, Computer Networks, Image Processing, SoftwareEngineering, Search Engines and Object Oriented Technologies.101

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.