Monday, January 14, 2019
Comparison between five process models of software engineering Essay
IJCSI internationalistic ledger of com congealing machine lore jazzs, Vol. 7, Issue 5, family line 2010 ISSN (Online) 1694-0814www.IJCSI.orgA Comparison mingled with Five manakins Of parcel EngineeringNabil Mohammed Ali Munassar1 and A. Govardhan21Ph.D Student of figurer scholarship & international ampere EngineeringJawahrlal Nehru Technological UniversityKuktap all in ally, Hyderabad- 500 085, Andhra Pradesh, India2Professor of reck wizardr accept & EngineeringPrincipal JNTUH of Engineering College, Jagityal, Karimnagar (Dt), A.P., IndiaAbstractThis interrogation deals with a vital and all-important(prenominal) issue in computer world. It is concern with the softw be program management attendes that examine the ara of softw be product reading through with(predicate) the development sets, which argon known as softw ar development  manners cycle per second. It represents five of the development lays namely, falls, Iteration, V-shaped, spiral and E xtreme programming. These assumeings have advantages and disadvantages as n archaean.Therefore, the main(prenominal) objective of this research is to represent different mouldings of software development and hit a comparison amid them to show the features and defects of to each one model.Keywords software product instruction Processes, Software  education, Development Models, Software Development spiritedness Cycle, Comparison amidst five models of Software Engineering.increased recently which moderates in the difficulty of enumerating such(prenominal)(prenominal) companies. During the previous four decades, software has been developed from a tool employ for analyzing information or solving a problem to a harvest-home in itself. However, the early programming flesh angles have  attaind a number of problems spell software an obstacle to software development dissociateicularly those relying on computers. Software consists of doc uments and programs that contain a collection that has been established to be a part of software plan procedures. Moreover, the aim of software engineering is to create a suitable work that construct programs of high  quality.1. Introduction calculator recognitionNo one kindle deny the importance of computer in our life, especially during the present metre. In fact, computer has become indispensible in nowadayss life as it is apply in m any(prenominal) field of life such as industry, medicine, commerce, education and even agriculture. It has become an important element in the industry and technology of advanced as strong as developing countries. Now a days, organizations become more low-level on computer in their works as a result of computer technology. Computer is con facial expressionred a quantify- saving device and its progress helps in executing complex, long, repeated transitiones in a very short time w ith a high speed. In addition to using computer for work, deal use it for fun and entertainment. Noticeably, the number of companies thatproduce software programs for the purpose of facilitating works of offices, administrations, banks, etc, hasTheoriesComputer FunctionClientProblemsThe Software engineeringTools and techniques to solve problemsFig. 1 exposition of software engineering conception.IJCSI International Journal of Computer scientific discipline Issues, Vol. 7, Issue 5, September 2010 ISSN (Online) 1694-0814www.IJCSI.org952. Software Process Modelsconcern.A software shape model is an abstract representation of a bidding. It presents a description of a process from some particular perspective asThe pure waterfall lifecycle consists of several nonoverlapping stages, as shown in the following figure. The model begins with establishing scheme requirements and software requirements and continues with architectural  institution, detailed design, crypto logy, tasteing, and maintenance.The waterfall model serves as a baseline for many new(prenominal) lifecycle models.1.2.3.4.Specification. forge.Validation.Evolution.General Software Process Models are1. waterfall model Separate and distinct conformations ofspecification and development.2. Prototype model.3. Rapid exercise development model (RAD).4. EvolutionarydevelopmentSpecification,development and validation are interleaved.5. additive model.6. Iterative model.7. whorl model.8. Component- found software engineering The agreementis assembled from alert components. administration RequirementsSoftware RequirementsArchitectural Design particular Design cryptographThere are many variants of these models e.g. formaldevelopment where a waterfall-like process is used, hardlythe specification is formal that is refined through severalstages to an implementable design1. testMaintenanceFig. 2 waterfall Model4.3. Five ModelsA Programming process model is an abstractrepresenta tion to expound the process from a particularperspective. There are numbers of general models forsoftware processes, like waterfall model, Evolutionarydevelopment, Formal placements development and Reuse ground development, etc. This research will insure the following five models 1. Waterfall model.2. Iteration model.3. V-shaped model.4. Spiral model.5. Extreme model.These models are chosen because their featurescorrespond to most software development programs.RequirementsDefinition corpse andSoftware DesignImplementationand Unit interrogatoryIntegration andSystem interrogation3.1 The Waterfall ModelThe waterfall model is the classical model of software engineering. This model is one of the oldest models and is widely used in disposal get words and in many major companies. As this model empha sizes formulation in early stages, it images design flaws before they develop. In addition, its intensive document and planning make it work well for projects in which quality mark is a majorOperation andMaintenanceFig. 3 Waterfall model2.The following diagnose details the maltreats 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 components for construction the system, including the hardware requirements, software tools, and other necessary components. Examples include decisions on hardware, such as plug-in boards (number of channels, acquisition speed, and so on), and decisions on external pieces of software, such as databases or libraries.23Software requirements Establishes the expectations for software functionality and identifies which system requirements the software affects. Requirements  epitome includes determining interaction needed with other applications and databases, performance requirements, substance abuser interface requirements, an d so on.Architectural design finalises the software framework of a system to meet the specific requirements. This design defines the major components and the interaction of those components, but it does non define the structure of each component. The external interfaces and tools used in the project provoke be determined by the designer.4Detailed design Examines the software components defined in the architectural design stage and produces a specification for how each component is implemented.5CodingImplementsspecification.67thedetailedstarting cryptology. There is no overlap betwixt stages. In real-world development, however, one can discover issues during the design or coding stages that point discover errors orgaps in the requirements.The waterfall method does not prohibit returning to an earlier variety, for example, returning from the design phase to the requirements phase. However, this involves pricy rework. Each completed phase requires formal check and extensive authentication development. Thus, oversights make in the requirements phase are expensive to correct  recentlyr.Because the veridical development comes late in the process, one does not see results for a long time. This delay can be disconcerting to management and nodes. some(prenominal) people also think that the amount of certification is excessive and inflexible.Although the waterfall model has instructive because it emphasizes project development. Even if one model, he must consider each of relationship to his own project 4.1.2.3.design scrutiny Determines whether the software meets the specified requirements and finds any errors present in the jurisprudence.Maintenance Addresses problems and sweetener requests later the software releases.In some organizations, a change control board maintains the quality of the product by reviewing each change made in the maintenance stage. Consider applying the full waterfall development cycle model when correcting problems or implementing these enhancement requests.In each stage, documents that explain the objectives and describe the requirements for that phase are created. At the end of each stage, a review to determine whether the project can proceed to the undermentioned stage is held. Your prototyping can also be incorporated into any stage from the architectural design and after.Many people believe that this model cannot be applied to all situations. For example, with the pure waterfall model, the requirements must be stated before start-off the design, and the complete design must be stated before964.5.6.1.2.4.5.6.7.its weaklynesses, it is important stages of does not apply this these stages and itsAdvantages Easy to understand and implement.Widely used and known (in theory).Reinforces good habitsdefine-before- design,design-before-code.Ident ifies deliverables and milestones.Document driven, URD, SRD, etc. Publisheddocumentation standards, e.g. PSS-05.Works well on mature products and weak team ups.Disadvantages Idealized, doesnt twin reality well.Doesnt reflect iterative nature of exploratorydevelopment.3. kafkaesque to expect accurate requirements soearly in project.Software is delivered late in project, delays discoveryof serious errors. laborious to integrate risk management.Difficult and expensive to make changes todocuments, swimming upstream.Significant administrative overhead, high-priced for smallteams and projects 6. elegant 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 WaterfallS trengthsMinimizes planning overhead since it canbe done up front. Structure minimizes wasted effort, so it works well for  skilfully weak or inexperienced staff.Risk reduction spirals can be added to the fall of the waterfall to wither risks prior to the waterfall phases. The waterfall can be further change using options such as prototyping, JADs or CRC sessions or other methods of requirements gathering done in overlapping phases 5.Weaknesses3.2 Iterative DevelopmentInflexibleOnly the final phase produces a nondocumentation deliverable.Backing up toaddress mistakes isdifficult.The problems with the Waterfall Model created a demand for a forward-looking method of developing systems which could provide faster results, require less up-front information, and erect greater flexibility. With Iterative Development, the project is divided into small parts. This allows the development team to demonstrate results earlier on in the process and obtain priceless feedback from system users.Often, each iteration is actually a mini-Waterfall process with the feedback from one phase providing vital information for the design of the next phase. In a variation of this model, the software products, which are produced at the end of each step (or series of steps), can go into production immediately as additive releases. Pure Waterfall SummaryThe pure waterfall model performs well for products with  move inly understood requirements or when working with well understood technical tools, architectures and infrastructures. Its weaknesses frequently make it inadvisable when rapid development is needed. In those  character references, special models may be more effective.97 change WaterfallThe modified waterfall uses the same phases as the pure waterfall, but is not based on a discontinuous basis. This enables the phases to overlap when needed. The pure waterfall can also split into subprojects at an let phase (such as after the architectural design or detaileddesign).Table 2 Strengths & Weaknesses of Modified WaterfallStrengthsMore flexible than the pure waterfall model.If in that location is personnel continuity between the phases, documentation can be intimatelyreduced. Implementation of easy areas does not need to wait for the hard ones.WeaknessesModified Waterfall SummaryMilestones are more ambiguous than the pure waterfall.Activities performed in parallel are subject to miscommunication and mistaken assumptions.Unforeseen interdependencies can create problems.Fig. 4 Iterative Development.3.3 V-Shaped ModelJust like the waterfall model, the V-Shaped life cycle is a sequential path of execution of processes. Each phase must be completed before the next phase begins. Testing is emphasized in this model more than the waterfall model. The testing procedure s are developed early in the life cycle before any coding is done, during each of the phases preceding implementation. Requirements begin the life 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 system architecture and design. An integration test plan is created in this phase in suppose to test the pieces of the software systems ability to work together. However, the low-level design phase lies where the actual software components are designed, and unit tests are created in this phase as well.System TestPlanningHigh LevelDesignLow LevelDesignThe implementation phase is, again, where all coding takes place. Once coding is complete, the path of execution continues up the right side of the V where the test plans developed earlier are now put to use.Simple and easy to use.Each phase has specific deliverables.Higher bump of success over the waterfall model due to the early development of test plans during the life cycle.Works well for small projects where requirements are  comfortably understood.Unit TestPlanningIntegrationTestingUnitTestingImplementationAdvantages1.2.3.IntegrationTestPlanningSystemTesting4.Fig. 6 V-Shaped Life Cycle Model7.3.4 Spiral ModelThe spiral model is homogeneous to the incremental model, with more emphases placed on risk analysis. The spiral model has four phases Planning, Risk digest, Engineering and Evaluation. A software project repeatedly passes through these phases in iterations (called Spirals in this model). The baseline spiral, starting in the planning phase, requirements are gathitherd and risk is assessed. Each subsequent spiral bu ilds on the baseline spiral. Requirements are gathered during the planning phase. In the risk analysis phase, a process is undertaken to identify risk and alternate solutions. A simulacrum is produced at the end of the risk analysis phase. Software is produced in the engineering phase, along with testing at the end of the phase. The evaluation phase allows the customer to value the output of the project to date before the project continues to the next spiral.In the spiral model, the angular component represents progress, and the radius of the spiral represents cost.Fig. 5 V-Model 3Disadvantages1.2.Very rigid like the waterfall model.Little flexibility and adjusting reach is difficult and expensive. 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 problems found during testing phases 7.3.4.1.2.3.AdvantagesHigh amount of risk anal ysis. level-headed for large and mission-critical projects.Software is produced early in the software life cycle.1.2.3.Disadvantages target be a costly model to use.Risk analysis requires highly specific expertness. proposals success is highly dependent on the risk analysis 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 sectorsObjective setting Specific objectives for the phase areidentified.2. Risk estimate 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. key and Evaluate Alternatives Solicit suggestions from stak eholders, evaluate them with respect to stakeholders win conditions, synthesize and negotiate candidate win-win alternatives, analyze, assess, resolve win-lose or lose-lose risks, record commitments and areas to be left flexible in the projects design record and life cycle plans.4. Cycle through the Spiral Elaborate the win conditions evaluate and screen alternatives, resolve risks, accumulate appropriate commitments, and develop and execute downstream plans 8.3.5 Extreme ProgrammingAn attempt to development, based on the development and delivery of very small increments of functionality. It relies on never-ending code improvement, user involvement in the development team and partner off wise programming . It can be difficult to keep the recreate of customers who are involved in the process. Team genus Phalluss may be unfitting to the intense involvement that characterizes fast methods. Prioritizing changes can be dif ficult where there are multiple stakeholders. Maintaining simplicity requires extra work. Contracts may be a problem as with other approaches to iterative development.Fig. 7 Spiral Model of the Software Process1. WinWin Spiral ModelThe original spiral model Boehm 88 began each cycle of the spiral by performing the next level of culture of the prospective systems objectives, constraints and alternatives. A primary difficulty in applying the spiral model has been the lack of explicit process guidance in determining these objectives, constraints, and alternatives. The Win-Win Spiral Model Boehm 94 uses the theory W (win-win) approach Boehm 89b to touch on a systems next-level objectives, constraints, and alternatives. This surmisal W approach involves identifying the systems stakeholders and their win conditions, and using negotiation processes to determine a mutually satisfactory set of objectives, constraints, and alternative s for the stakeholders. In particular, as illustrated in the figure, the nine-step Theory W process translates into the following spiral model extensions1. Determine Objectives Identify the system life-cycle stakeholders and their win conditions and establish initial system 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 tokenish 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 Eno ugh design is carried out to meet the current requirements and no more.Test first development An machine-driven unit test framework is used to write tests for a pertly piece of functionality before functionality itself is implemented. Refactoring All developers are expected to re-factor the code ceaselessly as soon as possible code improvements are found. This keeps the code simple and maintainable. Pair Programming Developers work in pairs, checking each others work and providing support to do a good job.  incorporated Ownership The pairs of developers work on all areas of the system, so that no islands of expertise develop and all the developers own all the code. Anyone can change anything. free burning Integration As soon as work on a task is complete, it is integrated into the whole system. After any such integration, all the unit tests in the system must pass. Sustainable pace abundant amounts of over-time are not  considered acceptable as the net effect is a lot to reduce code quality and medium term productivity. On-site node A representative of the end-user of the system (the guest) should be available full time for the use of the XP team. In an extreme programming process, the customer is a member of the development team and is responsible for bringing system requirements to the team for implementation.1.2.3.4.5.XP and agile principlesIncremental development is supported through small, frequent system releases.Customer involvement means full-time customer engagement 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 of code 1.1.2.3.4.5.AdvantagesLightweight methods suit small-medium size projects.Produces good team cohesion.Emphasises final product.Iterative.Test base d 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 approaching 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 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 coming(prenominal) works1.2.3.Suggesting a model to simulate advantages that arefound in different models to software processmanagement.Making a comparison between the suggested modela nd 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, seventh 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 field 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 superscript 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 have-to doe with Professor in Computer Science &Engineering College in University Of Science and Technology, Yemen. His area of liaison 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. fro m Osmania University in 1992. He is workings as aPrincipal of Jawaharlal Nehru Technological University, Jagitial. He has published just about 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