Software Development Life Cycles: A Guide to Waterfall, V-Model, Spiral, Agile, and Scrum, Schemes and Mind Maps of Data Compression

Software development life cycleSoftware development life cycleSoftware development life cycleSoftware development life cycleSoftware development life cycleSoftware development life cycle

Typology: Schemes and Mind Maps

2021/2022

Uploaded on 11/22/2022

lin-zhi
lin-zhi 🇻🇳

5

(2)

4 documents

1 / 21

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
ASSIGNMENT 1 FRONT SHEET
Qualification
BTEC Level 5 HND Diploma in Computing
Unit number and title
Unit 9: Software Development Life Cycle
Submission date
Oct 29 2021
Date Received 1st submission
Oct 29 -2021
Re-submission Date
Date Received 2nd submission
Student Name
Dang Tan Tai
Student ID
BSAF200013
Class
PBIT16101_CNTT1
Assessor name
Cao Tien Thanh
Student declaration
I certify that the assignment submission is entirely my own work and I fully understand the consequences of plagiarism. I understand
that making a false declaration is a form of malpractice.
Student’s signature
Đặng Tấn Tài
Grading grid
P1
P2
P3
P4
M1
M2
D1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15

Partial preview of the text

Download Software Development Life Cycles: A Guide to Waterfall, V-Model, Spiral, Agile, and Scrum and more Schemes and Mind Maps Data Compression in PDF only on Docsity!

ASSIGNMENT 1 FRONT SHEET

Qualification BTEC Level 5 HND Diploma in Computing Unit number and title Unit 9 : Software Development Life Cycle Submission date Oct – 29 – 2021 Date Received 1st submission Oct – 29 - 2021 Re-submission Date Date Received 2nd submission Student Name Dang Tan Tai Student ID BSAF Class PBIT16101_CNTT1 Assessor name Cao Tien Thanh Student declaration I certify that the assignment submission is entirely my own work and I fully understand the consequences of plagiarism. I understand that making a false declaration is a form of malpractice. Student’s signature Đặng Tấn Tài Grading grid P1 P2 P3 P4 M1 M2 D

❒ Summative Feedback: ❒ Resubmission Feedback:

Grade: Assessor Signature: Date: IV Signature:

Table of Contents

  • I. Describe different software life cycle
      1. Software development life cycle
      1. Models in software development life cycle
  • II. How to risk managed in spiral lifecycle model
  • III. The purpose of a feasibility report
  • IV. Describe how technical solutions can be compared
  • References

I. Describe different software development life cycle

1. Software development life cycle Software development life cycle (SDLC) is a structure consisting of a set of operations and correlated results used in development to produce a software product. The basic activities of the software development process: - Software specification: Define the functions, operating conditions of the software. - Software development: The process of developing specifications. - Software evaluation: Software must be evaluated to make sure it can at least do what the specification document requires. - Software evolution: This is the process of perfecting functions and interfaces to improve software as well as customer requirements. 2. Models in Software Development Life Cycle In software development life cycle we have some common model to develop and expand the project like: Water Fall model, V-V Shaped model, Spiral Model, Agile Model, Scrum Model. Water Fall Model: Define: The waterfall model is a model of the software development process in which the development process looks like a flow, with phases being executed in strict order and with no backtracking or leapfrogging. are: requirements analysis, design, implementation, testing, integration and maintenance. Stages of the waterfall model: - Requirement gathering: This is the stage of determining the functional and non-functional requirements that the software system should have. The output of this phase is the requirements specification document. This document will be the foundation for the next phases to the end of the project. - System Analyst: It is the stage of determining how the software system meets the requirements of the customer. This phase performs analysis and design of the software system. - Coding: Is the stage of product implementation based on requirements specification and module design document. - Testing: The tester will receive the product from the developer and perform testing for the component group and system testing. The last stage of testing will be Acceptance Testing, this phase also includes the participation of customers.

Apply: Usually applied to projects that do not frequently change requirements. Benefits: Easy to use, accessible Well-defined stages and activities Confirm at each stage, ensuring early detection of defects Disadvantaged: It is very difficult to go back to any stage when it's over. Few features work, and editing its scope is quite difficult, reducing value. V-V Shaped Model: Define:

  • The V model is today one of the most widely used software development processes. In the V model, the test execution takes place right from the requisition phase. The V model is also called the verification model and the validation model.
  • To understand the V model, let's first understand what verification and validation are in software.
  • Verification: Verification is a static analysis technique. In testing, this technique is performed without having to run the code. It includes several activities such as review, inspection, and walkthrough.
  • Validation: Validation is a dynamic analysis technique in which testing is performed by executing code. Examples include functional and non-functional testing techniques.

Photo 2 V-V Model Apply: Software requirements must be clearly defined Software engineering and tools must be understood Benefits: Simple to use Phase-specific delivery Perform verification and validation early in each development phase Disadvantaged: The adjustment range is quite difficult and expensive. In the V model, development and quality assurance activities are performed concurrently. There is no discrete phase called testing, instead testing is started right from the requirement gathering phase. Verification and validation activities go hand in hand. Spiral Model: Define:

Photo 3 Sprial Model

Apply: Commonly used for large applications and systems built in small phases or in segments Benefits: Estimates (i.e. budget, schedule, etc.) become more realistic as a workflow, because significant problems are discovered earlier. Early involvement of developers Risk management and phased system development Disadvantaged: High cost and long time to final product Good skill in assessing risks and assumptions is required. Agile Model: Define:

  • Agile is a set of principles for software development that promotes adaptive planning, incremental development, early delivery, and continuous improvement. Agile also advocates rapid adaptation to changes. These principles are shared in the Agile Software Development Manifesto and the 12 Principles behind.
  • Agile does not define a specific method for achieving these, but there are many different software development methods that satisfy and follow those criteria. Purpose: The purpose of Agile methods is to help businesses achieve agility, thereby improving competitiveness and sustainable development. Agile methods have changed the face of the world not only in Software Development but are also showing value in other areas such as Marketing (Agile Marketing), education (EduScrum, Lean Edu, etc.), design (Lean UX, Design Thinking), Startup (Lean Startup) and Hardware.

Define: Is an agile software development process. With the main principle is to break down the software that needs to be produced into small parts for development (these small parts must be readable and Releaseable), get customer opinions and change accordingly during the development process. development to ensure the product release meets what the customer wants. Scrum divides the project into development loops called sprints. Each sprint usually takes 2 - 4 weeks (30 days) to complete. It is very suitable for projects with a lot of change and high speed requirements. Photo 5 Scrum Model Benefits: One person can do many things eg dev can test Detect defects much earlier than traditional methods Customers quickly see the product thereby giving early feedback. Capable of being applied to projects where customer requirements are not clear at the outset. Disadvantaged: The level of the team is to have a certain skill Must have an understanding of the aglie model. Difficulty determining budget and timing. Always listen to feedback from customers and change accordingly, so time will last when there are too many change requests from customers. The role of the PO (Product Owner) is very important, the PO is the product oriented person. If the PO does not do well, it will affect the overall result.

II. How risk is managed in the Spiral life cycle model To be able to reduce the risks when working with the Spiral model, we need to review the disadvantages of this model including:

  • As for risk, at the analysis stage a highly qualified specialist is needed to perform the analysis.
  • Not useful for small projects.
  • The project time and cost can be limitless because of the spiral nature of the model.
  • The project documentation can be very lengthy because of the intermediate stages.
  • Risk may not meet schedule or budget.
  • The success of the project depends heavily on the risk analysis phase. Since then we have 6 risks when working with this model, so we will give solutions for the above risks:
  • We need to find ourselves a highly qualified analyst or find people who have experience working with projects using this Spiral model, and must work together smoothly and flexibly to always come up with new solutions. comments to help the project develop completely and sooner.
  • Because the disadvantage of the Spiral model is that it is only compatible with large projects and not compatible with small projects. But we can use them in the level of small but highly complex project by analyzing the requirements then assessing the risk, this will take time but it brings safety to the user. whole project
  • The project cost of the project using this model is very high, so to be able to optimize the cost, we need to make clear and organized requirements right from the beginning.
  • Because the project using this model will be very long, but besides that, there is also the benefit that we can already have enough documentation about the project, and at the same time we can optimize the document through keywords.
  • The degree of dependence on risk analysis we can overcome by analyzing risks into components that are highly likely to occur during project construction. III. The purpose of feasibility report What is feasibility report? Research the possibility of bringing all the factors relevant to the project into analysis, including economic, technical, legal and planning aspects, to determine the likelihood of a project's success.

expertise of the employees inside. In addition, when implementing a project, it is likely that one employee will be responsible for many different parts of the project and the time is very short, resulting in poor and unstable software quality. Staff with low technical skills will greatly affect the project progress and quality. Besides, customers' requirements are not clear, it will make the project very difficult to develop when customers change their general requirements to smaller details. Moreover, it will be very difficult for both parties if the customer requires a technology that may be new or the company does not work with it, because the company needs to ask employees to learn new knowledge, The new technology required by the customer will lead to the project being delay and because of the new knowledge, the new technology is not in the expertise of the programmers, which will cause the software to be both behind schedule and poor quality. get high Finally, dealing with risks is that we need to assess the feasibility of the project and whether it is suitable for the company and its human resources. Has the company used this new technology in other projects, if not, it should be negotiated with the customer to make the technology that the company currently has. Economic feasibility: The second feasibility analyst is perform an economic feasibility. We need to keep in mind the organizations have limited capital resources and multiple projects is going to competing for funding Economic feasibility: Should build it? The cost to development the project Annual operating costs Maintain the software costs To develop a complete project and maintain them, there must be costs for that project, including human costs, management costs, development costs, maintenance costs. And the problem we need to ask is how to manage these costs and calculate the division of these costs appropriately. We need to analyze clearly and thoroughly before proceeding with the project. And always be prepared for unforeseen risks that involve our unexpected costs Organization feasibility

Feasibility study method is one of the technical methods of management decision making. Feasibility study method is a scientific research method to find reasonable solutions for decision options in the relationship between needs and capabilities, between opportunities, the possibility of success and risks, disadvantages, failures. failure as well as ensuring economic and social efficiency for the decision options. The management decision is the most rational of the possible options to deal with the problem according to the goals and conditions and environment of the system in the present and in the future. An organization feasibility analyst attempts to answer the question “If build it, what will they come” Organization feasibility: If build it, what will they come? Project manager Senior management Users Other stakeholders One way to assess the viability of an organization's project is to set the goals of the project and understand the purpose of the project and assess whether it is appropriate for the business level. of the company6 or not. the alignment of business plan and strategy are two inseparable links, the tighter the connection, the less risky the project implementation will be. IV. Describe how technical solutions can be compared To be able to compare techniques with each other as well as technology, what we need to do is to make an overview of that technique, just like we compare the strengths and weaknesses of each technique. techniques and technologies used in the project, thereby drawing accurate conclusions about the techniques to be used in the project. To be able to compare techniques to solve a problem, I will use the SWOT model, also known as Strengths, Weakness, Opportunities, Threats to analyze the situation that I posed by choosing choose the technique for each programming language, let's say I

Using for Android Development Development Website Open Source Memory management, with Java, is quite expensive. Easy to maintenance Clear syntax Too many libraries support for Java the person receiving the maintenance later does not understand the writer's code. C# Development Windows Phone Development Website App Run good in environment of Microsoft .NET The security is not good It is not common Not compatible with large projects They have a lot of libraries to support Clear syntax Expanding Application for Web, APP Run better in .NET environment Because it works good in .NET environment when we bring it to use in another environment it will not run or not compatible JavaScript Fast Easy to develop Have many libraries Have a lot framework It is not logical It does not have data type Very hard to control Different from other languages We can build application for website and native application mobile by using native framework Too many companies using JavaScript for Front End and Back End Artificial intelligence can replace programming technologies Second Table, I am going to compare general in the real projects by statistics from my opinion Technical Criteria C# JavaScript Java Range Graphical user interface 7 9 8 1 - 10

Performance 70 95 80 1 - 100 Supports by multiple platforms No Yes Yes Good security 6 6 9 1 - 10 Economic Developing Cost 200$ initial 150$ initial 300$ initial Maintenance costs 300$ initial 150$ initial 350$ initial Organizational Customizable interface No Very easy to change A little bit, but not easy to change User satisfaction with the software Satisfied Very satisfied Satisfied Total 83 110 97 After comparing, I decided to build a website application using JavaScript because JavaScript have many technologies can build for Website, Native App (Android and IOS) by React Native, and the economics to maintenance is very low and we can easy to change the graphic for website, finally the satisfaction is very high because it is faster than Java and C#.