Software Development Lifecycle Models: A Comparative Analysis, Assignments of Software Development Methodologies

Software development lifecycle

Typology: Assignments

2020/2021

Uploaded on 01/23/2021

nguyen-tananh
nguyen-tananh 🇻🇳

3.5

(4)

4 documents

1 / 25

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 Date Received 1st submission
Re-submission Date Date Received 2nd submission
Student Name Nguyen Tan Anh Student ID BHAF190112
Class BH-AF-1911-2.1 Assessor name Ngo Thi Mai Loan
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
Grading grid
P1 P2 P3 P4 M1 M2 D1 D2
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19

Partial preview of the text

Download Software Development Lifecycle Models: A Comparative Analysis and more Assignments Software Development Methodologies 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 Date Received 1st submission Re-submission Date Date Received 2nd submission Student Name Nguyen Tan Anh Student ID BHAF Class BH-AF-1911-2.1 Assessor name Ngo Thi Mai Loan 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 Grading grid P1 P2 P3 P4 M1 M2 D1 D

❒ Summative Feedback: ❒ Resubmission Feedback:

Grade: Assessor Signature: Date: Signature & Date:

List of figures Figure 1: Iterative devalopment............................................................................................................................ 5 Figure 2: The Spiral Model..................................................................................................................................... 6 Figure 3: The RAD -Model...................................................................................................................................... 7 Figure 4: Sequential development......................................................................................................................... 9 Figure 5: The Waterfall Model............................................................................................................................... 9 Figure 6: The V -Model........................................................................................................................................ 11 Figure 7: Risk management................................................................................................................................. 13 List of tables Table 1: The purpose of a feasibility report......................................................................................................... 16 Table 2: Front-end technology compariton......................................................................................................... 20 Table 3: Back-end technology compariton.......................................................................................................... 20 Table 4: Select model........................................................................................................................................... 23 A. INTRODUCTION. In this assignment, I will complete the tasks. The first major task describes the different software development life cycles, which will consist of small tasks that need to be completed such as describing two iterative and two sequential software life cycle models. The second explains how to manage risks in the Spiral lifecycle model. The third is to describe, with an example, why a specific lifecycle model was chosen for the development environment and Evaluate the value of applying the Waterfall lifecycle model to a large software development project. Next is to explain the importance of the feasibility study. Including sections such as: Explaining the purpose of the feasibility report, describing how to compare technical solutions, discussing the feasibility report components, and assessing the impact of the feasibility criteria for a software survey. B. CONTENT.

I. Describe two iterative and two sequential software lifecycle models.

A software development life cycle (SDLC) model is a conceptual framework describing all activities in a software development project from planning to maintenance. In this process, it is associated with many models in which each model includes a variety of tasks and activities. It involves several distinct stages which include planning, building, designing, testing, and deployment. Some of the popular software development lifecycle models are the waterfall model, spiral model, agile model, and rad model which is used to develop a successful application effectively.

1. Iterative software lifecycle models.

The iterative model is a specific usage of the product improvement life cycle which centers around an underlying, streamlined execution which after that continuously acquires multifaceted nature and a visitor include set until the last framework is finished. Such a style of the model doesn't endeavor to begin with full detail of necessities. The figure of the iterative model is given beneath : Figure 1 : Iterative devalopment. 1.1. Spiral model. The spiral model is a mix of the iterative model and the cascade model. Each stage in the spiral model beginnings with a plan objective and closures with the customer exploring the advancement. The spiral model has particularly four stages: Planning, risk analysis, engineering, and evaluation. This sort of model is extraordinarily utilized for huge undertakings which include consistent improvements.

Apply:  Good for large scale software systems.  Easy to control risks at each evolution level.  The assessment is more realistic as a workflow, because important issues were discovered earlier. 1.2. RAD model. Rapid application development is a software development methodology that uses minimal planning in favor of rapid prototyping. A prototype is a working model that is functionally equivalent to a component of the product. In the RAD model, the functional modules are developed in parallel as prototypes and are integrated to make the complete product for faster product delivery. Since there is no detailed preplanning, it makes it easier to incorporate the changes within the development process. RAD projects follow iterative and incremental model and have small teams comprising of developers, domain experts, customer representatives and other IT resources working progressively on their component or prototype. The most important aspect for this model to be successful is to make sure that the prototypes developed are reusable. Figure 3 : The RAD -Model. Following are the various phases of the RAD Model:  Business Modelling : The business model for the product under development is designed in terms of flow of information and the distribution of information between various business channels. A complete business analysis is performed to find the vital information for business, how it can be obtained, how and when is the information processed and what are the factors driving successful flow of information.  Data Modelling : The information gathered in the Business Modelling phase is reviewed and analyzed to form sets of data objects vital for the business. The attributes of all data sets is identified and defined. The relation between these data objects are established and defined in detail in relevance to the business model.  Process Modelling: The data object sets defined in the Data Modelling phase are converted to establish the business information flow needed to achieve specific business

objectives as per the business model. The process model for any changes or enhancements to the data object sets is defined in this phase. Process descriptions for adding, deleting, retrieving or modifying a data object are given.  Application Generation: The actual system is built and coding is done by using automation tools to convert process and data models into actual prototypes.  Testing and Turnover: The overall testing time is reduced in the RAD model as the prototypes are independently tested during every iteration. However, the data flow and the interfaces between all the components need to be thoroughly tested with complete test coverage. Since most of the programming components have already been tested, it reduces the risk of any major issues. Advantages of RAD Model:  Reduce development time.  Increased reuse of ingredients.  Make an initial assessment quickly.  Encourage customers to give feedback. Disavantages of RAD Model:  Depends on strong team and individual performances for identifying business requirements.  Only system that can be modularized can be built using RAD.  Requires highly skilled developers/designers.  High dependency on modeling skills.  Inapplicable to cheaper projects as cost of modeling and automated code generation is very high. Apply:  The RAD model can be successfully applied to projects:  Clearly modularized. If the project cannot be divided into modules, RAD may fail.  RAD should be used when the need arises to create a system with changing customer requirements in a small 2-3 months period.  Should be used when a designer is available for the model and the cost is high.

2. Sequential software lifecycle models.

The sequential model can be described as completing the work within a sequence in which one stage requires completion before the next stage can begin. In this model, only one step is done at a time, and after completing the level, it is not possible to return. The levels are executed in a chain. It implies a systemic, sequential approach to software development that starts at the framework and professes by study, architecture, coding, testing, and maintenance. It is the most important model which contributes to the creation of successful apps.

Requirement Gathering and Analysis: All possible requirements of the system to be developed are captured in this phase and documented in a requirement specification document.  System Design: The requirement specifications from the first phase are studied in this phase and the system design is prepared. This system design helps in specifying hardware and system requirements and helps in defining the overall system architecture.  Implementation : With inputs from the system design, the system is first developed in small programs called units, which are integrated into the next phase. Each unit is developed and tested for its functionality, which is referred to as Unit Testing.  Integration and Testing: All the units developed in the implementation phase are integrated into a system after testing of each unit. Post integration the entire system is tested for any faults and failures.  Deployment of system : Once the functional and non-functional testing is done; the product is deployed in the customer environment or released into the market.  Maintenance : There are some issues that come up in the client environment. To fix those issues, patches are released. Also, to enhance the product some better versions are released. Maintenance is done to deliver these changes in the customer environment. Advantages of waterfall model:  Easy to use, easy to access, easy to manage.  Product develops in clearly defined stages.  Validation at each stage, ensuring early detection of errors. Disadvantages of waterfall model:  Less flexible, limited range of adjustment.  It is very difficult to measure growth in each stage.  This model is not suitable for long, ongoing, or complex projects with many changing requirements in the development lifecycle.  It is very difficult to go back when some stages are over. The model commonly applied to software projects is as follows:  Waterfall applies when determining the requirements of the project in the best way, the requirements are clear and have high stability.  Mastering the developed technology.  No binding required.  Rich development resources and high technical expertise.  Suitable for small and short- term projects.

2.2. V-Model. V-model stands for Verification and Validation model. It is a software development lifecycle model in which execution of processes happens in a sequential manner in a V-shape. In the V- model, the corresponding testing phase of the development phase is planned in parallel. It is based on the association of a testing phase for each corresponding development stage. Figure 6 : The V -Model. Stage of V-model There are different stages of V-model which are given below:  Business requirement analysis: This is the first step where product requirements understood from the customer's side. This phase contains detailed communication to understand customer's expectations and exact requirements.  System Design: In this stage system engineers analyze and interpret the business of the proposed system by studying the user requirements document.  Architecture Design: The baseline in selecting the architecture is that it should understand all which typically consists of the list of modules, brief functionality of each module, their interface relationships, dependencies, database tables, architecture diagrams, technology detail, etc. The integration testing model is carried out in a particular phase.

 Requirements are clearly defined.  Determine the stable product.  Technology remains unchanged and is well understood by the project team.  There are no unspecified or unspecified requirements.  Short project.

II. Explain how risk is managed in the Spiral lifecycle model.

Risk analysis which involves defining, evaluating and tracking the technological feasibility and handling risks such as cost overrun and schedule slippage is performed in the second quadrant of the spiral model. After this all possible solutions are analyzed in order to choose the best possible solutions. The risks involved with that solution will be established later and then the problem will be overcome with the best available solution. Finally, the prototype at the end of this quadrant is constructed for the best possible solution. So in short we might conclude that defining possible danger is achieved when preparing and finalizing risk reduction policy.In the spiral model diagram above, the creation component has been broken into the four-quadrant. It has provided one complete quadrant for risk assessment and mitigation even though there is no danger in the context that there may be a danger in the future. It gives the risk reduction a greater focus. Figure 7 : Risk management.

1. Risk assessment.

Risk assessment may be described as defining, evaluating, and measuring the risk levels involved in a scenario, measuring them to thresholds or expectations and deciding an appropriate level of risk. It analyses the risk and allows the production to overcome the danger that emerged. The risk assessment is further broken down into three sections given below: 1.1. Identification. Risk identification is the first risk identification tool. We cannot find the right solution, without defining the possibility. We should know what kinds of danger it is or what kinds of danger will exist in the future so that we can find the best possible way to address the problem. 1.2. Prioritization. Following risk analysis, we should classify the risk based on meaning, design, or hazard. Before solving another problem, the problem which is very risky for the program or very important to solve should be resolved unexpectedly. If we don't consider the danger so in the future it will carry a lot of tech problems. 1.3. Analysis. We should evaluate the defined danger after Risk identification. In order to know the key causes of the increase in solving it, we should examine thoroughly.

2. Risk control.

Risk control is the process by which businesses identify possible risks and intervene to minimize or remove those hazards. In plain terms, we may conclude that the risk for managing it is controlled. There is no use of risk assessment without managing risk and there will be various risks arising frequently in the applications. 2.1 Planning. Planning, as we all know, involves preparing before doing something. Planning is the first move that can be achieved while managing the risk. 2.2 Resolution. We should go on to the second phase which is resolution after good preparation. On the basis of which we prepare in this phase, we should move forward on the risk assessment or control process. 2.3 Monitoring.

employees. Finance and engineering This is the peculiarity of the IT sector. We have to carefully measure the cost of the project. Review the measures, the comprehensive cost of each implementation stage, and the complexity of the job to be completed. Economic feasibility Have to be reminded before using equipment expenses, personnel, job resources. We need to hold to the financial deadline that the company promises to run the company. And decide whether the proposal should be approved or not. This seems to be the widest part, summing up the remaining feasible reasons for being a financially viable problem. Incurred Sometimes a project presents additional risks that need to be estimated in advance and included in the study. If you do not consider carefully the arising financial, time, human resources, ... will greatly affect the project. Table 1 : The purpose of a feasibility report.

IV. Discuss the components of a feasibility report.

 Components of a feasibility report: There are many components of the feasibility reports which are given below:

1. Technical.

The technical aspect explores' if the project feasibility is within the limits of current technology and does the technology exist at all, or if it is available within given resource constraints (i.e., budget, schedule,...).

2. Operational.

This aspect defines the urgency of the problem and the acceptability of any solution. It shows if the system is developed, will it be used. The operational study includes people-oriented and social issues: internal issues, such as manpower problems, labor objections, manager resistance, organizational conflicts, and policies; also external issues, including social acceptability, legal aspects, and government regulations. It takes into consideration whether the current work practices and procedures support a new system and social factors of how the organizational changes will affect the working lives of those affected by the system.

3. Time Feasibility.

Given his technical expertise, the analyst should determine if the project deadlines are reasonable whether constraints placed on the project schedule can be reasonably met. Some projects are initiated with specific deadlines. You need to determine whether the deadlines are mandatory or desirable. If the deadlines are desirable rather than mandatory, the analyst can propose

alternative schedules. It is preferable (unless the deadline is absolutely mandatory) to deliver a properly functioning information system two months late than to deliver an error-prone, useless information system on time! Missed schedules are bad, but inadequate systems are worse! We may have the technology, but that doesn't mean we have the skills required to properly apply that technology. True, all information systems professionals can learn new technologies. However, that learning curve will impact the technical feasibility of the project, specifically, it will impact the schedule.

4. Legal Feasibility.

Determines whether the proposed system conflicts with legal requirements e.g. a Data Processing system must comply with the local Data Protection Acts. When an organization has either internal or external legal counsel, such reviews are typically standard. However, a project may face legal issues after completion if this factor is not considered at this stage

5. Economic Feasibility.

The bottom line in many projects is economic feasibility. During the early phases of the project, economic feasibility analysis amounts to little more than judging whether the possible benefits of solving the problem are worthwhile. As soon as specific requirements and solutions have been identified, the analyst can weigh the costs and benefits of each alternative. This is called a cost- benefit analysis. 5.1 Cost /benefit analysis. Feasibility studies typically involve cost/benefit analysis. In the process of feasibility study, the cost and benefits are estimated with greater accuracy. If cost and benefit can be quantified, they are tangible; if not, they are called intangible.

6. Social feasibility.

Its part would determine the proposed project will be satisfactory for the people or not. This assumption would in general examine the probability that the project would have to be accepted by the group of people that are directly affected by the proposed system.

V. Technical solutions that Tune Source can choose to develop the system.

The technical solutions that Tune Source can choose to develop the system, I will classify two parts which include front end technology and back end technology.

1. Front-end technology.

HTML5 : is a programming language whose acronym stands for Hyper Text Markup Language. It is a system that allows the modification of the appearance of web pages, as well as making adjustments to their appearance. It also used to structure and present content for the web.

Cascading Style Sheet language. It is used to style and style elements written in markup language, such as HTML. It distinguishes the appearance of the website from the main content of the page by controlling the layout, color, and font.  It improves the loading speed of the page.  CSS has the ability to re- position.

 It has better device

compatibility.  There are multiple levels of CSS such as CSS, CSS 2, CSS 3. This can create confusion for non-developers and beginners.

Javascript  Speed. Client-side

JavaScript is very fast because it can be run immediately within the client-side browser. Unless outside resources are required, JavaScript is unhindered by network calls to a backend server.  Simplicity. JavaScript is relatively simple to learn and implement.  Popularity. JavaScript is used everywhere on the web.  Interoperability. JavaScript plays nicely with other languages and can be used in a huge variety of applications.  Server Load. Being client-side reduces the demand on the website server.  Gives the ability to  Client-Side Security. Because the code executes on the users’ computer, in some cases it can be exploited for malicious purposes. This is one reason some people choose to disable Javascript.  Browser Support. JavaScript is sometimes interpreted differently by different browsers. This makes it somewhat difficult to write cross-browser code.

create rich interfaces. Table 2 : Front-end technology compariton.

Criteria ASP.NET^ PHP

Type Web application framework created by Microsoft Server-side scripting language created by Rasmus Lerdorf Support Large to medium size enterprise applications Small to medium sized web solutions Cost License cost attached Freely available all over the web Solutions More focused on Security and functionalities More focused on client facing, user interfaces Community Dedicated community with the fewer developers Large size community since its open source Security Highly secure Less built-in security feature than .NET Speed Decent speed, fast enough for desktop application Not suitable and slower for desktop application Customization Less prone to customization Allow customization causes bugs, thus poor coding than .NET Table 3 : Back-end technology compariton.

VI. Describe, with an example, why a particular lifecycle model is selected for a

development environment.

1. System request.

Business Need : This project has been initiated to increase sales by creating the capability of selling digital music downloads to customers through kiosks in our stores, and over the Internet using our website. Business Requirements : Using the Web or in-store kiosks, customers will be able to search for and purchase digital music downloads. The specific functionality that the system should have includes the following:  Search for music in our digital music archive.