















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
The different models of software development life cycle (SDLC) including iterative, agile, prototype, sequential, waterfall, and spiral models. It also discusses the advantages and disadvantages of each model and their use cases. Additionally, it covers the purpose of a feasibility study in software development.
Typology: Study Guides, Projects, Research
1 / 23
This page cannot be seen from the preview
Don't miss anything!
















The above figures describe the iterative model.
There are some advantages and disadvantages in this method.
The advantages are:
Results are obtained early and periodically. Easy to manage risk and supports changing requirements. Initial operating time is less. Test and debugging process is smaller iteration.
The disadvantages are:
More resources may be required.
The cost of change is lesser, but this model is not very suitable for changing requirements.
In this model, more attention is required.
Agile Model
Agile SDLC model is the combination of iterative and incremental models wich mainly focuses on the process adaptability and customer satisfaction. It uses rapid delivery method of working software product. The Agile Methods break the product into small incremental builds. And Those builds are usually provided in iteration. Then each iteration typically lasts from about one to three weeks. The agile model uses iteration so that the project can be completed faster and in effective way.
The above figure is the graphical representation of the agile model.
There are different phases in this model. They are:
Planning Requirements Analysis Design Coding Testing
First of all, in planning phase the team determines the time and scope of the project. Then they gather the requirements that are needed to complete the project. After that they go to the design phase where they design the look and type of the project. After that phase, they start to write the code to develop the project. After the project is complete, then they test the project before launching it in the market.
Advantages and Disadvantages of Agile Model
The agile method is very popular and used worldwide. There are some advantages of this model. They are as follow:
There is different process. They are:
Advantages and Disadvantages of Prototype Model
Even though this model is not popular as other model, it is used nevertheless. There are many advantages of this model. They are:
In this model the users are actively involved in the development In this model, the errors can be detected much earlier. In this model Quicker user feedback is available leading to better solutions. In this model the Missing functionality can be identified easily
Disadvantages:
it may increase the complexity of the system as of the system may expand beyonf original plans.
This model can lead to the incomplete or inadequate problem analysis. Incomplete application may cause application not to be used as the full system was designed. Use of Prototype model:
Prototype model should be used when the desired system needs to have a lot of interaction with the end users. Typically, online systems, web interfaces have a very high amount of interaction with end users, are best suited for Prototype model. It might take a while for a system to be built that allows ease of use and needs minimal training for the end user. Prototyping ensures that the end users constantly work with the system and provide a feedback which is incorporated in the prototype to result in a useable system. They are excellent for designing good human computer interface systems.
Sequential models This is one of the most used and understand model. This type of model is easy to use and understand. The sequent flow is used in sequential models. It woks for small and big projects.
Advantages of sequential model The Sequential model is an easy model which is quite simple and easy to understand. It works for the small projects.
Disadvantages of sequential model
In this model it is difficult to go back after the stages is completed. There is high risk and uncertainty in this model.
Waterfall model
Waterfall — is a cascade SDLC model, in which development process looks like the flow, moving step by step through the phases of analysis, projecting, realization, testing, implementation, and support. This SDLC model includes gradual execution of every stage completely. This process is strictly documented and predefined with features expected to every phase of this software development life cycle model. The representation of this model is:
Use cases for the Waterfall SDLC model:
The requirements are precisely documented Product definition is stable The technologies stack is predefined which makes it not dynamic No ambiguous requirements The project is short
Spiral Model
Spiral model — is SDLC model, which combines architecture and prototyping by stages. It is a combination of the Iterative and Waterfall SDLC models with the significant accent on the risk analysis. The main issue of the spiral model — is defining the right moment to make a step into the next stage. The preliminary set time frames are recommended as the solution to this issue. The shift to the next stage is done according to the plan, even if the work on the previous stage isn’t done yet. The plan is introduced basing on the statistic data, received during the previous projects even from the personal developer’s experience.
The advantages are:
In this model the requirements can be changed.
Task 2 P Explain how risk is managed in the Spiral lifecycle model.
Introduction
In this task, I am going to explain in detail about how is risk managed using Spiral lifecycle model.
Spiral Model
The spiral model usually combines and integrates the idea of iterative development with the waterfall model. This Spiral model is a combination of iterative development process model and sequential linear development model i.e. the waterfall model with a very high emphasis on risk analysis. It allows incremental releases of the product or incremental refinement through each iteration around the spiral.
Risk managed in Spiral Lifecycle Model: There are many risks in spiral lifecycle model. The spiral model is a risk-driven software development process model so there are many risks in this model. We can say that there are many risks in spiral model and thus those risk must be identified and solved before it can cause harm. To manage the risks, we have to follow the following procedure.
As we can see, we have to identify the risks firsts in the spiral model. To do so, there are different methods. First, we have to list out the risks and document it properly so that it can be studied carefully. The documentation helps to find the risk mitigation strategies. The user and integration testing can be carried out to list out the risks. After identification of the risks, we have to analyze them. The risks that can do more harm should be dealt first. And the risks which can cause less harm should be dealt later. But both type of risks should be dealt sooner or later.
We can use spiral model for the bigger and larger projects which are more complex which have the potential to be risky. We can use half circle method in the spiral model to manage the risks swiftly. The analyzation of the risks can be done quite easily by the spiral model. This model always gives an
edge over other models to manage the risks. This model should be used for that type of development when cost is not important. This model can quickly adapt and change the software to manage the risks. The different phases help to identify the risks in the early stages so that in later stage there is no harm due to the risks. The feasibility studies done properly also helps to manage the risks in the spiral model.
Conclusion:
Thus, in this task, I have discussed the spiral model and the risk management process.
feasibility study determines the customers’ needs and demands and incorporates them into the completion of the project. The different needs and ideas of the customers are considered by the feasibility study report and those are presented in the report to fulfill them smoothly. Thus, it is an important purpose of it.
4. Management Study Another important purpose of the feasibility study is to study of the management. Managing different resources can be tedious. There are so many resources and tasks that need to be done to develop a project. The feasibility study helps to manage them easily.
Conclusion Thus, Feasibility study is an important aspect in preliminary stage of developing the system. The preparation of feasibility report before doing any work in a project helps the project so the feasibility always be carried out.
Task 6 P Describe how technical solutions can be compared.
Purpose of technical solution
“The purpose of Technical Solution (TS) (CMMI-DEV) is to select, design, and implement solutions to requirements. Solutions, designs, and implementations encompass products, product components, and product related lifecycle processes either singly or in combination as appropriate.” (Anon., n.d.). So, we can see that the technical solutions are used in different process such as the designing or implementing the product.
Comparison The technical solutions can be compared by different methods and approaches. Some of the key words and terms which is used to compare the different technical solutions are as follows:
Performance and efficiency The terms performance and efficiency may sound similar but they have some distinct features.
Legacy system upgrade The term legacy has a technical definition. In computing, a legacy system is an old method, technology, computer system, or application program, “of, relating to, or being a previous or outdated computer system." Often a pejorative term, referencing a system as "legacy" means that it paved the way for the standards that would follow it. This can also imply that the system is out of date or in need of replacement. The Legacy system is a system which is no longer supported by the manufacturer or which is available for its purchase. The legacy system is used to compare the different terms and solutions.
Automation “Automation is the creation of technology and its application in order to control and monitor the production and delivery of various goods and services. It performs tasks that were previously performed by humans. Automation is being used in a number of areas such as manufacturing, transport, utilities, defense, facilities, operations and lately, information technology.” (Anon., n.d.)
The automation can be performed differently. In the IT domain, automation can be used to test a software product and it is also used to produce a report. In the IT sector the impact of automation is
Task 10 P Use appropriate software analysis tools/techniques to carry out a software investigation and create supporting documentation.
Introduction:
For a system analyst, software analysis is an important tool or technique. An analyst must use different tools and techniques to investigate a software and to create some supporting documents. There are different tools and techniques which must be used by an analyst.
Tools and techniques
ER diagram An entity relationship diagram (ERD) shows the relationships of entity sets stored in a database. An entity in this context is an object, a component of data. An entity set is a collection of similar entities. These entities can have attributes that define its properties.
The ER diagram is an important tool which can be used to investigate a software. The ER diagram helps to find the different relationship between different entities and thus it can help me as an analyst to make documents supporting the software.
Data Collection Processes “Data collection is the process of gathering and collecting the data in a systematic manner that helps to answer the questions of research, test hypothesis and evaluate the outcomes. Before developing the system, the information of the new developing system must be gathered.” (Anon., n.d.).
As many problems may arose in the company while developing a software, the analyst can use this process to collect the data and solve the problems and also, he/he can use it to gather and produce some documents related to the task.
Data Flow Diagram A data flow diagram (DFD) maps out the flow of information for any process or system. It uses defined symbols like rectangles, circles and arrows, plus short text labels, to show data inputs, outputs, storage points and the routes between each destination. Data flowcharts can range from simple, even hand-drawn process overviews, to in-depth, multi-level DFDs that dig progressively deeper into how the data is handled. They can be used to analyze an existing system or model a new
one.
By researching and studying the data flow diagram, different data relations can be found and which can be used to investigate a software
Conclusion: Hence, I have mentioned some of the tools and techniques like ER diagram, data flow diagram and data collection process which can be used to carry out a software investigation and creating some supporting documents.