Thursday, May 23, 2019
Comparison between five process models of software engineering Essay
IJCSI International Journal of estimator experience Issues, Vol. 7, Issue 5, September 2010 ISSN (Online) 1694-0814www.IJCSI.orgA Comparison Between five dollar bill Models Of Softw ar designNabil Mohammed Ali Munassar1 and A. Govardhan21Ph.D Student of calculating machine Science & applied scienceJawahrlal Nehru Technological UniversityKuktapally, Hyderabad- 500 085, Andhra Pradesh, India2Professor of reckoner Science & EngineeringPrincipal JNTUH of Engineering College, Jagityal, Karimnagar (Dt), A.P., India slipThis research deals with a racy and important issue in calculating machine world. It is concerned with the package management changees that examine the ara of bundle development by dint of thedevelopment ideals, which ar known as package product package developmentlife rack. It represents five of the development models namely, falls, Iteration, V-shaped, spiral and perfect schedule. These models contain advantages and disadvantages as well.Therefore, the main object glass of this research is to represent different models of package development and make acomparison between them to show the features and defects ofeach model.Keywords Software Management Processes, Software tuition, Development Models, Software Development Life round of drinks, 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 used 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 engineering isto create a suitable expire that construct programs of high tonus. 1. IntroductionComputer ScienceNo angiotensin-converting enzyme can deny the importance of computer in our life,especially during the present time. In fact, computer hasbecome indispensible in at onces life as it is used in many an separate(prenominal)fields of life such as industry, medicine, commerce,education and even agriculture. It has become animportant broker in the industry and technology ofadvanced as well as developing countries. Now a days,organizations become more dependent on computer intheir functional 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, people use it for fun andentertainment. Noticeably, the number of companies thatproduce software programs for the purpose of facilitatingworks of offices, administrations, banks, etc, hasTheoriesComputer FunctionClientProblemsThe Software eng ineeringTools and techniques to solve problemsFig. 1 Explanation of software engineering conception.IJCSI International 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 comment of a process from more or lessparticular perspective asThe pure 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, coding, analyzeing, and maintenance.The waterfall model serves as a baseline for many otherlifecycle models.1.2.3.4.Specification. physique.Validation.Evolution.General Software Process Models are1. Waterfall model Separate and distinct phases ofspecification and development.2. Prototype model.3. Rapid application development model (RAD).4. E volutionarydevelopmentSpecification,development and brass are interleaved.5. Incremental model.6. repetitious model.7. Spiral model.8. Component- found software engineering The systemis assembled from existing components. musical arrangement RequirementsSoftware RequirementsArchitectural traffic patternDetailed Design tagThere are many variants of these models e.g. formaldevelopment where a waterfall-like process is used, butthe specification is formal that is refined through with(predicate) with(predicate) severalstages to an implementable design1.TestingMaintenanceFig. 2 Waterfall 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 model.3. V-shaped mod el.4. Spiral model.5. Extreme model.These models are chosen because their featurescorrespond to most software development programs.RequirementsDefinitionSystem andSoftware DesignImplementationand social unit Testing integrating andSystem Testing3.1 The Waterfall ModelThe waterfall model is the classical model of softwareengineering. This model is one of the oldest models and iswidely used in government projects and in many majorcompanies. As this model emphasizings planning in earlystages, it ensures design flaws before they develop. Inaddition, its intensive document and planning 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 International 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 hardwarerequirement s, software tools, and other infalliblecomponents. 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. Requirementsanalysis includes determining interaction needed withother applications and databases, performancerequirements, user interface requirements, and so on.Architectural design conditions the software material 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 can be determined by the designer.4Detailed design Examines the software componentsdefined in the architectural design stage and producesa specification for how eac h 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 point out errors orgaps in the requirements.The waterfall method does not prohibit returning to an earliest phase, for example, returning from the design phaseto the requirements phase. However, this involves costlyrework. Each completed phase requires formal review andextensive documentation development. Thus, oversightsmade in the requirements phase are expensive to correct deepr.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 amount of documentation is excessiveand inflexible.Although the waterfall model hasinstructive because it emphasizesproject development. Even if onemodel, he must consider each ofrelationship to his ow n project 4.1.2.3.designTesting Determines whether the software meets thespecified requirements and finds any errors present inthe code.Maintenance Addresses problems and sweeteningrequests after the software releases.In some organizations, a change 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 corporal 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 thedesign, 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 say and implement.Widely used and known (in theory).Reinforces good habitsdefine-before- design,design-before-code.Identifies deliverables and milestones.Document driven, URD, SRD, etc. Publisheddocumentation standards, e.g. PSS-05.Works well on mature products and weak teams.Disadvantages Idealized, doesnt match reality well.Doesnt reflect iterative nature of exploratorydevelopment.3. Unrealistic to expect accurate requirements soearly in project.Software is delivered late in project, delays discoveryof serious errors.Difficult to integrate bump management.Difficult and expensive to make changes todocuments, swimming upstream.Significant administrative overhead, costly for blueteams and projects 6.Pure WaterfallThis is the classical system development model. It consistsof discontinuous phases1.2.3.Concept.Requirements.Architectural design.IJCSI Int ernational 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 implementation.Table 1 Strengths & Weaknesses of Pure WaterfallStrengthsMinimizes planningoverhead since it canbe done up front.Structure minimizeswasted effort, so itworks well fortechnically weak orinexperienced staff.Risk reduction spirals can be added to the top of thewaterfall to reduce happens 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 overbold method of developing systems which couldprovide faster results, require less up-front information,and offer great er flexibility. With Iterative Development,the project is divided into small parts. This allows thedevelopment team to give results in front on in theprocess and obtain valuable 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 variation 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 tell only make itinadvisable when rapid development is needed. In thosecases, modified models may be more effective.97 modified WaterfallThe modified waterfall uses the same phases as the purewaterfall, but is not based on a discontinuous basis. Thi senables the phases to overlap when needed. The purewaterfall can also split into subprojects at an appropriatephase (such as after the architectural design or detaileddesign).Table 2 Strengths & Weaknesses of circumscribed WaterfallStrengthsMore flexible than thepure waterfall model.If there is personnelcontinuity between thephases, documentationcan be substantiallyreduced.Implementation of wantonareas does not need towait for the hard ones.WeaknessesModified Waterfall SummaryMilestones are moreambiguous than thepure waterfall.Activities performedin parallel are candidto 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 elbow room of execution of processes. Each phasemust be completed before the next phase begins. Testingis emphasized in this model more than the waterfallmodel. The testing procedures are developed early in the life 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 order 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 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 d eveloped earlier are now put to use.Simple and easy to use.Each phase has specific deliverables.Higher chance of success over the waterfall modelimputable 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 convertible 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 the planningphase. In the risk analysis phase, a process is undertakento id entify 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 trothbefore the project continues to the next spiral.In the spiral model, the angular component representsprogress, and the radius of the spiral represents cost.Fig. 5 V-Model 3Disadvantages1.2.Very rigid like the waterfall model. small-scale 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 amount of risk analysis.Good for large and mission-critical projects.Software is produced early in the software life cycle.1.2.3.Disadvantages fire be 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 object glassive set 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 be after 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 negotiate scene win-win alternatives, analyze, assess, resolvewin-lose or lose-lose risks, record commitments and areasto b e 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 code improvement, user thing inthe development team and pair perspicacious programming . It canbe difficult to keep the interest of customers who areinvolved in the process. Team members may be unsuitedto the intense involvement that characterizes agilemethods. Prioritizing changes can be difficult where thereare multiple stakeholders. Maintaining simplicity requiresextra work. Contracts may be a problem as with otherapproaches to iterative development.Fig. 7 Spiral Model of the Software Process1. WinWin Spiral ModelThe original spiral model Boehm 88 began each cycle ofthe spiral by do t he 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 surmise 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 interfaces.2. Determine Constraints Determine the conditionsFig. 8 The XP Releas e Cycle Extreme Programming PracticesIncremental planning Requirements are recorded onStory Cards and the Stories to be included 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 furrow 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 compose 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 improvementsare found. This keeps the code simple and maintainable.Pair P rogramming Developers work in pairs, checkingeach others work and providing support to do a good job.embodied 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.Continuous Integration As soon as work on a task iscomplete, it is integrated into the whole system. later 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 extreme 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 agile 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 ownership 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 learning 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 andrequirements.2. These models were established between 1970 and1999.3. W aterfall 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.Making 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 De partment 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 Ass ociate 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 well-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
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment