Software Development LifeCycle Models, Study Guides, Projects, Research of Software Development Methodologies

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

2019/2020

Available from 03/05/2022

ayush-malla
ayush-malla 🇳🇵

6 documents

1 / 23

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17

Partial preview of the text

Download Software Development LifeCycle Models and more Study Guides, Projects, Research Software Development Methodologies in PDF only on Docsity!

Contents

  • Task 1 P1................................................................................................................................................
  • Software Lifecycle Models:
    • Iterative Models..................................................................................................................................
      • Agile Model
      • Prototype model
    • Sequential models
      • Waterfall model
      • Spiral Model.................................................................................................................................
  • Task 2 P2..............................................................................................................................................
    • Risk managed in Spiral Lifecycle Model:
  • Task 5 P3..............................................................................................................................................
    • Feasibility Study...............................................................................................................................
      • Purpose of Feasibility study
    • Conclusion
  • Task 6 P4..............................................................................................................................................
    • Comparison
      • Performance and efficiency
      • Legacy system upgrade
      • Automation
    • Conclusion:
  • Task 10 P6............................................................................................................................................
    • Tools and techniques
      • ER diagram
      • Data Collection Processes
      • Data Flow Diagram
    • Conclusion:
  • Task 14 P7............................................................................................................................................
    • User Requirements
    • Software Requirement
    • Conclusion:
  • Bibliography

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:

  • This model promotes teamwork and cross training.

There is different process. They are:

  1. First of all, the new system requirements are defined in as much detail as possible. This usually involves interviewing a number of users representing all the departments or aspects of the existing system.
  2. A preliminary design is created for the new system.
  3. A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system, and represents an approximation of the characteristics of the final product.
  4. The users thoroughly evaluate the first prototype, noting its strengths and weaknesses, what needs to be added, and what should to be removed. The developer collects and analyzes the remarks from the users.
  5. The first prototype is modified, based on the comments supplied by the users, and a second prototype of the new system is constructed.
  6. The second prototype is evaluated in the same manner as was the first prototype.
  7. The preceding steps are iterated as many times as necessary, until the users are satisfied that the prototype represents the final product desired.
  8. The final system is constructed, based on the final prototype.
  9. The final system is thoroughly evaluated and tested. Routine maintenance is carried out on a continuing basis to prevent large-scale failures and to minimize downtime.

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.

  1. Identification In the first phase the requirements are identified and collected. The planning is carried out before developing the project. The requirements are chosen carefully. After that the project is designed.
  2. Design This is the second phase. All the gathered data and requirements are studied and then designed.
  3. Construction or build In this phase the project is constructed. The design is studied carefully and it is implemented carefully.
  4. Evaluation and Risk analysis In this phase the risks are identified. After the risks are identified, then the solutions are gathered to immediately solve the risks. And the project is evaluated and studied in this phase so that it can run smoothly.

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.

  • Identification
  • Analysis
  • Planning
  • Resolution
  • Monitoring

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.