1631_Software Development Life Cycle_Assignment 1, Assignments of Software Development Methodologies

The software development lifecycle is an integrated process that promotes building good quality, secure software throughout the entire development process. The aim of this unit is to provide students with the knowledge and skills needed to understand software development lifecycles and to demonstrate their knowledge by implementing a software development lifecycle with a suitable methodology

Typology: Assignments

2021/2022

Available from 06/01/2023

TuanAnhMai
TuanAnhMai 🇬🇧

5

(3)

24 documents

1 / 33

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
ASSIGNMENT 01 FRONT SHEET
Qualification
BTEC Level 5 HND Diploma in Computing
Unit number and title
Unit 09: Software Development Life Cycle
Submission date
17/02/2022
Date Received 1st submission
Re-submission Date
Date Received 2nd submission
Student Name
Mai Tran Tuan Anh
Student ID
GCD201452
Class
GCD0904
Assessor name
Ananta Kumar Kar
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
Tuan Anh
Grading grid
P1
P3
P4
M1
M2
D2
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21

Partial preview of the text

Download 1631_Software Development Life Cycle_Assignment 1 and more Assignments Software Development Methodologies in PDF only on Docsity!

ASSIGNMENT 01 FRONT SHEET

Qualification BTEC Level 5 HND Diploma in Computing Unit number and title Unit 0 9: Software Development Life Cycle Submission date 17/02/20 22 Date Received 1st submission Re-submission Date Date Received 2nd submission Student Name Mai Tran Tuan Anh Student ID GCD Class GCD0904 Assessor name Ananta Kumar Kar 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 Tuan Anh Grading grid P 1 P 2 P 3 P4 M 1 M 2 D1 D 2

❒ Summative Feedback: ❒ Resubmission Feedback:

Grade: Assessor Signature: Date: Internal Verifier’s Comments: Signature & Date:

  • I. ANALYZING SCENARIO
  • II. DIFFERENT SOFTWARE DEVELOPMENT LIFECYCLES (P1)
      1. SDLC meaning
      1. How SDLC work....................................................................................................................................................................................................................................
      1. Types of SDLC model
  • III. DESCRIBE ITERATIVE AND SEQUENTIAL SOFTWARE LIFECYCLE MODELS (P2)
      1. Sequential software lifecycle model
      • A. Waterfall model.............................................................................................................................................................................................................................
      • B. V model..........................................................................................................................................................................................................................................
      1. Iterative model
      • A. Spiral model...................................................................................................................................................................................................................................
      • B. Agile model
      1. Contextualize to the project
  • IV. HOW RISK IS MANAGEMENT IN SPIRAL LIFECYCLE MODEL
  • V. EXPLAIN THE IMPORTANCE OF A FEASIBILITY STUDY (P3)
      1. Definition
      1. Requirements
      • A. Functional requirements
      • B. Non-functional requirements
      1. Feasibility Criteria:
      • A. Technical feasibility
      • B. Time Scale
      • C. Operational
      • D. Economic
  • VI. DESCRIBE HOW TECHNICAL SOLUTION CAN BE COMPARED (P4)
      1. Performance and efficiency
      1. Legacy system upgrade
      1. Process automation
  • VII. BIBLIOGRAPHY
  • Figure 1: SDLC model
  • Figure 2: Waterfall model
  • Figure 3: V-model
  • Figure 4: Spiral model
  • Figure 5: Agile model
  • Figure 6: Feasibility study
  • Figure 7: Feasibility study
  • Figure 8: Functional requirements
  • Figure 9: Non-functional requirements
  • Figure 10: Gantt chart
  • As the customer, they can:
    • Search for music by keywords
    • Listen to music sample
    • Create account
    • Add and purchase digital music or CDs
    • Customer subscription to enjoy limited features

II. DIFFERENT SOFTWARE DEVELOPMENT LIFECYCLES (P1)

1. SDLC meaning

  • Software Development Life Cycle (SDLC) refers to a methodology with clearly defined processes for creating high-quality software with lowest cost possible in the shortest amount of time. SDLC provides a well-structured flow of phases that help an organization to quickly produce high-quality software which is well-tested and ready for production use. In detail, SDLC methodology focuses on the following phases of software development, including:
    • Requirement analysis
    • Planning
    • Software design
    • Software development
    • Testing
    • Deployment

Figure 2 : SDLC model

  • V-shaped
  • Realizations of lightweight (agile) models are:
  • Scrum
  • XP
  • Kanban

III. DESCRIBE ITERATIVE AND SEQUENTIAL SOFTWARE LIFECYCLE MODELS (P2)

1. Sequential software lifecycle model

  • Sequential model assume that the system will be delivered near the end of its development life cycle. The popular SDLC models that follow sequential processes are waterfall model and V model A. Waterfall model
  • The waterfall model is a linear sequential approach to the software development life cycle. The waterfall model emphasizes a logical progression of steps. It follows the top-down approach, executing each step, finish one step and then move on the next one. Because of this special approach strategy, new requirements or changes in the requirements in the middle of the project are not acceptable.

Figure 3 : Waterfall model

  • The waterfall methodology is composed of six different stages:
    • Analyze requirements: Customer requirements, special features and deadlines of the projects are carefully stated and analyzed
    • Design: After all the analysis has been done, its time to design the overall structure of the program. This phase will base mostly on programming language, hardware, data sources, architecture and services of the project
    • Coding/Implementation: This is an important part, as software engineer will start to create the program. The project will be divided into many small parts to decrease the load of work and easier for future maintenance
    • Testing: All part of the projects will be carefully test so that issue will be reported and get fixed. If the system passes the tests, the waterfall continues forward.
    • Operation/Deployment: The product has met all the requirements of the user and ready to be apply in real scenario
    • Maintenance: The system will be constantly updated to improve and add more features needed.

Figure 4 : V-model

  • Develop a project using V model will include different phases:
    • Business requirement analysis: This is the phase in the development cycle where the product requirements are understood from the customer’s perspective
    • System design: Once all the requirements are analyzed, it is time to design a complete system. The system design will have the understanding and detailing of complete hardware and communication setup for the product under development.
  • Coding: The most suitable programming language will be selected based on the customer requirements and system design, then it will be code with coding guidelines and standards.
  • Validation: The system will be tested from the overall to every detail features. Issues and failures will then be reported back to the coding engineer so that they can be fixed right away
  • Operation/Deployment: The product has met all the requirements of the user and ready to be apply in real scenario
  • Maintenance: The system will be constantly updated to improve and add more features needed.
  • V- Model application is almost the same as the waterfall model, as both the models are of sequential type. Requirements have to be very clear before the project starts, because it is usually expensive to go back and make changes. V model are best suited for programs that requirements are well defined, clearly documented and fixed.
  • Some benefits that V model brings to developer are:
  • Simple and easy to understand and use.
  • Easy to manage because there is always a test phrase after each step
  • Works well for smaller projects where requirements are very well understood.
  • A highly-disciplined model and phases are completed one at a time.
  • Disadvantages of V model can be listed as follow:
  • High risk and uncertainty.
  • Poor model for long and ongoing projects
  • Not a good model for complex and object-oriented projects.
  • Not suitable for projects that usually catch up with the trend

Figure 5 : Spiral model

  • Spiral model does counter the biggest drawbacks of waterfall model, which is cannot constantly be updated during the process of building the software. For this reason, spiral model is best used for large projects which involve continuous enhancements
  • A spiral model has 4 different phases during the process of developing a program
    • Planning: Customer requirements are gathered and analyze to have deep understand about the project
    • Risk analysis: Requirements are analyzed to have a deep understanding and able to identify potential risks
    • Engineering: Coding, developing and testing the software
  • Evaluation: Evaluate the software to see if it met all of the customer requirements and be able to be deployed in real scenario or not.
  • Advantages of spiral model among others model are:
  • Changing requirements can be accommodated
  • Better risk management as developing process can be divided into many smaller parts and risky parts can be developed first
  • Control towards all phase of developments
  • Suitable for large projects as they can be handled in strategic way
  • Among from advantages, there are still some disadvantages:
  • More expensive than other types of models
  • Risk analysis is crucial phase, so an expert is needed to handle this part
  • Documentation is more as it has intermediate phases. B. Agile model
  • Agile SDLC model is a combination of iterative and incremental process models with focus on process adaptability and customer satisfaction by rapid delivery of working software product. Agile Methods break the product into small incremental builds. These builds are provided in iterations. Every iteration involves cross functional teams to work together. Each build is incremental in terms of features; the final build holds all the features required by the customer.
  • Sprint planning: A meeting that is hosted to determine what will be accomplished by each person during that sprint, how it will be achieved, and assess the task load
  • Daily stand-up: A meeting that is hosted daily for team members to talk about what they accomplished the day before and what they will be working on that day.
  • Sprint review and retrospective: After the end of each sprint, your team will hold two meetings: first, you will hold a sprint review with the project stakeholders to show them the finished product. Second, you will have a sprint retrospective meeting with your stakeholders to discuss what went well during the sprint, what could have been better, whether the task load was too heavy or too light for each member, and what was accomplished during the sprint.
  • Agile model has been accepted to be used widely around the world because of its features. Some of the benefits that agile model bring to their users can be listed are:
  • Is a very realistic approach to software development.
  • Promotes teamwork and cross training.
  • Functionality can be developed rapidly and demonstrated
  • Minimize the required of resources
  • Suitable for fixed or changing requirements
  • Good model for environments that change steadily.
  • Easy to manage and provide the flexibility for the developers
  • Beside benefits, agile model also has some drawback:
  • More risk of sustainability, maintainability and extensibility
  • Required a wise leader with strong discipline among team members
  • Requirements from customer must be clearly, otherwise the whole project can be driven to wrong direction
  • Not suitable for handling complex dependencies

3. Contextualize to the project

  • Tuna Source company demand us to analyze each type of model being discuss above in order to find out which model is the most suitable for the Maze project.
  • When its coming to sequential models, for particular the waterfall and V model, both of them are not really matched to the system. As working in entertainment industry, especially music, the system must be able to catch up with the trend, meaning that there will be additional requirements about the system. For the waterfall model and V-model, the requirements must be clear at the beginning of the projects. When the requirements analyze phase has ended, no additional requirements can be added. Even if the new requirements are critical, it is very expensive to add more because the whole process must restart from the beginning again.
  • For iterative model, which are the spiral and agile model, they can be used to develop the project for Tuna Source company. The biggest benefit of these model against sequential models are that it is able to breakdown the project into many small parts. Instead of develop the project from the top to the bottom, developers are able to develop whichever part of the project they want. This brings a major advantage to both developer and the customer as the customer can add extra requirements during the process and the developer do not have to start from the beginning again. It also significantly improves the productive of the developing process as multiple phases can be done at the same time. The only drawbacks of these models is that they are relatively expensive than sequential models and require developers to have deep understanding about this field.