Tuesday, April 16, 2019

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

Comparison surrounded by five process stupefylings of package w atomic number 18 program engineering EssayIJCSI Inter subject Journal of information processing administration learning restorations, Vol. 7, Issue 5, folk 2010 ISSN (Online) 1694-0814www.IJCSI.orgA Comparison Between Five Models Of softw are brass program EngineeringNabil Mohammed Ali Munassar1 and A. Govardhan21Ph.D Student of reckoner Science EngineeringJawahrlal Nehru Technological UniversityKuktapally, Hyderabad- 500 085, Andhra Pradesh, India2Professor of figurer Science Engineering sensation JNTUH of Engineering College, Jagityal, Karimnagar (Dt), A.P., IndiaAbstractThis research deals with a vital and important issue in estimator world. It is touch on with the software management processes that examine the subject area of software growing with the information presents, which are cognise as software developmentlife musical rhythm. It represents five of the development gets namely, falls, Iteration, V-shaped, roll and perfect programming. These models have advantages and disadvantages as well. therefore, the main objective of this research is to represent different models of software development and look at a resemblance between them to show the features and defects ofeach model.Keywords parcel Management Processes, SoftwareDevelopment, Development Models, Software Development look cycles/second, Comparison between five models of Software Engineering.increased recently which results in the obstruction ofenumerating such companies. During the former fourdecades, software has been developed from a tool used foranalyzing information or solving a problem to a product initself. However, the early programming stages have haved a number of problems move software anobstacle to software development particularly thoserelying on computers. Software consists of documents andprograms that contain a sight that has beenestablished to be a part of software engineerin gprocedures. Moreover, the aim of software engineering isto create a suitable unfastened that construct programs of highquality.1. IntroductionComputer ScienceNo iodine fanny deny the importance of computer in our life,especially during the present time. In fact, computer has fuck off indispensible in todays life as it is used in umpteenfields of life such as industry, medicine, commerce,education and even agriculture. It has become animportant element in the industry and technology ofadvanced as well as underdeveloped countries. Now a days,organizations become more dependent on computer intheir deeds as a result of computer technology. Computeris considered a time- saving whirl and its progress helpsin executing complex, long, repeated processes in a veryshort time with a high speed. In addition to applycomputer 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 engineeringTools and techniques to solve problemsFig. 1 business relationship 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 entity representation of aprocess. It presents a interpretation of a process from someparticular perspective asThe pure waterfall lifecycle consists of some(prenominal) nonoverlapping stages, as sh take in the pursuance figure. The model begins with establishing system admitments andsoftware requirements and continues with architectural design, detailed design, cryptography, footraceing, and maintenance.The waterfall model serves as a baseline for many oppositelifecycle models.1.2.3.4.Specification.Design.Validation.Evolution.General Software Process Models are1. falls model Separate and distinct arranges ofspecification and development.2. Prototype model.3. Rapid application development model (RAD).4. EvolutionarydevelopmentSpecification,development and validation are interleaved.5. Incremental model.6. repetitive model.7. gyrate model.8. Comp adeptnt-based software engineering The systemis assembled from subsisting components. dodge 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 program 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 foll owing five models 1. Waterfall model.2. Iteration model.3. V-shaped model.4. Spiral model.5. Extreme model.These models are elect because their featurescorrespond to most software development programs.RequirementsDefinitionSystem andSoftware DesignImplementationand social unit TestingIntegration 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 emphasizes plan 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 comp onentsfor building the system, including the hardwarerequirements, software tools, and other infalliblecomponents. Examples include decisions onhardware, such as plug-in boards (number ofchannels, acquisition speed, and so on), and decisionson external shares of software, such as databases orlibraries.23Software requirements Establishes the expectationsfor software functionality and identifies which systemrequirements the software affects. Requirements synopsis includes determining interaction needed withother applications and databases, performancerequirements, user interface requirements, and so on.Architectural design Determines the software fashion model of a system to meet the specificrequirements. This design specializes 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 componentsdefin ed in the architectural design stage and producesa specification for how each component isimplemented.5CodingImplementsspecification.67thedetailedstarting steganography. 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 precedent phase, for example, returning from the design phaseto the requirements phase. However, this involves costlyrework. distributively completed phase requires formal review and drawn-out living development. Thus, oversightsmade in the requirements phase are expensive to correct novelr.Because the actual development comes late in the process,one does not see results for a long time. This delay can be up picture to management and customers. some peoplealso think that the amount of documentation is excessiveand inflexible.Although the waterfall model hasinstructive because it emph asizesproject development. Even if onemodel, he must consider each ofrelationship to his own 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 reassign 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 side by side(p) 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 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 understand and implement.Widely used and known (in theory).Reinforces acceptable habitsdefine-before- design,design-before-code.Identifies deliverables and milestones.Document driven, URD, SRD, etc. Publisheddocumentation standards, e.g. PSS-05. whole 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. herculean to comprise luck management.Difficult and expensive to make changes todocuments, swimming upstream.Significant administrative overhead, costly for half-sizeteams and projects 6.Pure WaterfallThis is the classical system development model. It consistsof discontinuous 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 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 cover of thewaterfall to clip chances 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 d emandfor a new method of developing systems which couldprovide faster results, require less up-front information,and offer greater flexibility. With Iterative Development,the project is divided into small parts. This allows thedevelopment team to present results in the beginning on in theprocess and obtain valuable feedback from system users.Often, each iteration is genuinely 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 workss withwell understood technical tools, architectures andinfrastructures. Its weaknesses frequently make itinadvisable when rapid development is needed. In thosecases, modified models may be more ef fective.97 change WaterfallThe modified waterfall uses the same phases 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 usurpphase (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 easyareas does not need towait for the hard ones.Weaknesses change 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 completed before the next phase begins. Testingis emphasized in this model more than the waterfallmodel. 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. in the leadIJCSI 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 TestPlanning spicy LevelDesignLow LevelDesignThe implementation phase is, again, whe re all codingtakes place. at one time coding is complete, the path ofexecution continues up the right side of the V where thetest plans developed earlier are now put to use.Simple and easy to use.Each phase has specific deliverables. luxuriouslyer break 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 spiritedness pedal 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 the 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 angular component representsprogress, and the radius of the spiral represents cost.Fig. 5 V-Model 3Disadvantages1.2.Very rigid like the waterfall model. low 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.Softwar e is produced early in the software life cycle.1.2.3.Disadvantages stinkpot 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 small projects 7.4.IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010 ISSN (Online) 1694-0814www.IJCSI.org1.Spiral model sectorsObjective setting 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 aforethought(ip) 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 conditi ons, synthesize and negotiatecandidate win-win alternatives, analyze, assess, resolvewin-lose or lose-lose risks, record commitments and areasto be left-hand(a) flexible in the projects design record and lifecycle plans.4. Cycle through the Spiral flesh out the win conditionsevaluate and screen alternatives, resolve risks, accumulateappropriate commitments, and develop and executedownstream plans 8.3.5 Extreme ProgrammingAn snuggle to development, based on the developmentand delivery of very small increments of functionality. Itrelies on uninterrupted code improvement, user involvement inthe development team and pair wise programming . It canbe difficult to keep the interest of customers who areinvolved in the process. Team fractions may be unsuitedto the intense involvement that characterizes agilemethods. Prioritizing changes can be difficult where thereare tenfold 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 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-cyclestake holders and their win conditions and establish initialsystem boundaries and external interfaces.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 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 business value is developed offset. 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.Refact oring All developers are expected to re-factor thecode continuously as soon as contingent code improvementsare 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.Continuous Integration As soon as work on a task iscomplete, it is compound 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 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 support through small,frequent system releases.Customer involvement means full-time customerengagement with the team. community 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.Advantages lightweight 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 coming(prenominal) 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. Waterfall model and spiral model are used normallyin developing systems.4. Each model has advantages and disadvantages for thedevelopment of systems , so each model tries toeliminate the disadvantages of the foregoing 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 robotic work.REFERENCES1 Ian Sommerville, Software Engineering, AddisonWesley, 7th edition, 2004.2 CTG. MFA 003, A Survey of System DevelopmentProcess Models, Models for Action Project exploitationPractical Approaches to Electronic Records Managementand Preservation, Center for applied science 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 Informatio n 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 around 108 papers in various national andinternational Journals/conferences. His research of interest includes Databases, Data Warehousing Mining, InformationRetrieval, Computer Networks, Image Processing, SoftwareEngineering, look for Engines and Object Orie nted Technologies.101

No comments:

Post a Comment

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