Saturday, May 30, 2020

Software Development Life Cycle Models Applications - 2200 Words

Software Development Life Cycle Models: Applications, Advantages and Disadvantages (Term Paper Sample) Content: Software Development Life Cycle ModelsName:ProfessorInstitutionDate:AbstractIn relation to software development, life cycle is a very powerful tool that enhances a systematic construction of excellent software systems, which are also of very high quality. A number of models that can be used to develop software are in existence. Since the software industry consists of various processes, ranging from analysis, development to maintenance, this paper would basically focus on one of the elements - development models. The models to be discussed are four in number: Waterfall, v-model, spiral, and iterative model; of which each has its individual strengths and weaknesses. The advantages or disadvantage of a given model makes it suitable for use in a particular are over the others. The paper also takes a comparative analysis of the models as the applications of each model would also be discussed.Key words: Software, models, applications, advantages and disadvantages.Introducti on:Software engineering and computer programming are two important terminologies that one would never fail to come by in any software development firm. The two terms and concepts are used together to enhance development of any computer system. From early 1960's Programming concept has been in existence in the scientific, engineering fields, with the main aim of attempting to and solving various problems in the field of science. Software development is a process that follows a predetermined scientific framework, making use of the various models.Software development life cycle is a model that is used in software engineering to construct various systems [2]. The model basically entails a clear information (which can either be prescriptive or descriptive) regarding the framework within which the software development ought to follow. The descriptive models explain the historical facts and figures regarding the development of the model that one intends to use. Descriptive models are very important in providing an insight into the setting within which the software should be developed and the guideline to follow while improving an already existing software.On the other hand, prescriptive models explain how a new software should be developed, based on the needs and the intended use [4]. The models are generally important in providing the developers with guidelines to follow while developing new software, or improving the already existing ones. A number of factors determine the choice of a model to employ: Reliability, efficiency, modifiability, and understandability CITATION SBe14 \l 2057 [3]. The model to be used should be one that gives, the intended results when the procedures are followed to the later (reliable). Also the model should be able available for use whenever the need arises, without fail.Some models can be modified to give a completely different result while others require structuring from the scratch. It goes without any doubt that a software engineer would go for a model that only prompts him or her to go for a modification. In order to effectively apply the software development models and achieve the intended result, the developer is obliged to follow certain laid principles. Firstly, the principle of separation of concerns: - Under this principle, the human mind is oriented towards working with a given data set at a time, depending on the work context, a software developer must deal with the data structure in terms of functionality and data integrity in isolation.The second core principle is that of modularity. In this case, the software should be separated based on functionality and responsibility CITATION Iss \l 2057 [4]. The methodology should be wholly based on the responsibility. Thirdly, the principle of abstraction which dictates that the behaviour of various parts of the software should be classified according to implementation plans. Abstraction helps in identifying the two major perspectives of a software: the worka bility and the functioning process. Failure to consider the abstraction principle may lead to unnecessary coupling occurrence of algorithms that recur when they are intended to perform different functions [4]. Other important principles that must be considered include generality, anticipated change, consistency, incremental development, and generality.Software Life Cycle Model ActivitiesBefore and during the implementation of any software development model in order to construct and implement a given software, the following activities are important:-Firstly, Software Specification is important in identifying the service that the software would deliver. Through specification, the developers are also able to identify some of the possible challenges that would be encountered during development and operation [5]. Software specification is the most important step since the errors made at this level would affect the final design. To avoid such challenges, the developers should carry out a feasibility study, analyze the requirements, specify them and validate for the purposes of consistency.The second stage involves coming up with the design and implementation strategies [3]. In this case, the validated requirements are now put in a format in which execution can now be done through programming, interfaces and structure descriptions. After the design and implementation, ità ¢Ã¢â€š ¬s incumbent upon the developer to ensure that the software conforms to its earlier specifications and user expectations. In this stage of development, system and acceptance testing are all done [5]. The final stage is the software evolution in which maintenance is done in order to ensure that the software lives to the expectations of the intended use.Types of ModelsSoftware development models are basically four, namely: Waterfall, V-model, Spiral and Iterative models. The following is the comparative analysis between the four models: 1 Waterfall model:The model was presented by Winston Roy ce in around 1961. It is the oldest model and because of its age in it is commonly referred to as the classical model. The model basically involves two important aspects of software engineering: coding and analysis [4]. Many major companies and government agencies use the model due to its age that has earned its trust from such agencies. In the model, planning is done in good time to allow for easy design and development. A comprehensive documentation is involved during planning and this works in ensuring that efficiency is maximized in projects that involves quality control.In the waterfall model, every step follows an already outlined sequence, with a reduced number of splash backs allowed at each and every stage CITATION KMa14 \l 2057 [1]. In order to achieve a consistent flow from the planning stage, initiation of the processes is done with thorough planning and design, followed by a tight maintenance, control, reviews and proper documentation throughout the process [3,4]. The waterfall model creates a very little room for going back to the stages that have already been passed. The flow is steady downwards hence the name waterfall.Figure 1: The waterfall model [1]The model has advantages and disadvantages that can be summarized as shown in the table below:Advantages Disadvantages * The structural approach applied in the model is self-explanatory to the user. * Due to proper attention to planning, the stages and activities are very well outlined * Verification and validation that occurs at every stage makes it easy to reveal and reduce possible errors. * Its lack of mobility makes it very difficult to correct an error in case of any. * Management of the model is very cumbersome since it lacks clear milestone and development plans at every stage CITATION Iss \l 2057 [4]. Table 1: Advantages and disadvantages of the waterfall modelApplication of the model: Since the model lacks flexibility with the requirements, it would be very convenient in developing s oftware for projects that do not lay emphasis on change of different variables such as the projects that are born from proposals CITATION SBe14 \l 2057 [3]. This would be very compatible with government development projects that require that things be initiated and implemented in specific ways. 2 V-shaped modelV-shaped model, just like the waterfall model uses a sequential approach to planning and design [5]. Moving to the next stage is forbidden until all the procedures and activities in a given stage are done. The V-shaped model emphasizes testing at every development stage to ensure that functionality is met as per the requirements. Moreover, the procedures are developed in good time, even prior to commencement of coding [1]. Before the life cycle kicks off, the developer is tasked with the responsibility of ensuring that all the requirements are in place.V-shaped model and Waterfall Models Compared:The V-shaped model is basically a modification of the waterfall model. The only difference is that for V-shaped, the testing starts right from the planning stage hence higher chances of success. Again for the waterfall, the sequencing is done in a linear manner while in the V-shaped model, the coding phase marks the end in downward flow, and instead the model moves upwards, leading to the formation of a V-shape hence the name. The figure below shows a diagrammatic representation of the V-shaped model.:Figure 2: The V-shaped model [4,5]Adoption of the V-shaped model for software development has merits and demerits that the developer must always be aware of. These are summarized as shown in the table below:Merits Demerits * Besides being simple and user friendly, V-shaped model has stages which intend to deliver specific outcomes CITATION Van15 \l 2057 [2] * The test plans are made during the planning st...

No comments:

Post a Comment

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