SDLC assignment 1 - 2022, Essays (university) of Software Development

get the pass grade of SDLC assignment 1

Typology: Essays (university)

2021/2022

Uploaded on 05/07/2022

phamducphutrong
phamducphutrong 🇻🇳

4.8

(6)

5 documents

1 / 34

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
ASSIGNMENT 01 FRONT SHEET
Qualification BTEC Level 5 HND Diploma in Computing
Unit number and title Unit 09: Software Development Life Cycle
Submission date 26/04/2022 Date Received 1st submission 26/04/2022
Re-submission Date Date Received 2nd submission
Student Name Student ID
Class Assessor name
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
Phạm Đức Phú Trọng – GCh200017 1
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
pf22

Partial preview of the text

Download SDLC assignment 1 - 2022 and more Essays (university) Software Development in PDF only on Docsity!

ASSIGNMENT 01 FRONT SHEET

Qualification BTEC Level 5 HND Diploma in Computing Unit number and title Unit 09: Software Development Life Cycle Submission date 26/04/2022 Date Received 1st submission 26/04/ Re-submission Date Date Received 2nd submission Student Name Student ID Class Assessor name 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: Internal Verifier’s Comments: Signature & Date:

  • I. Introduction...........................................................................................................................................................................................................................................
  • II. Task 1: SDLC models:............................................................................................................................................................................................................................
      1. Waterfall model: (Rastogi, 2015)......................................................................................................................................................................................................
      1. V-model: (Anon., 2022).....................................................................................................................................................................................................................
      1. Prototyping: (02DCE, 2022).............................................................................................................................................................................................................
      1. Agile: (Anon., n.d.)..........................................................................................................................................................................................................................
      1. Spiral: (Anon., n.d.).........................................................................................................................................................................................................................
      1. The best SDLC model for the Tune Source Company:.....................................................................................................................................................................
  • III. Discuss the suitability of each of the SDLC models for the project. For each model, specify whether it is most, moderately, or least suitable:..............................
  • IV. Identify some risks and discuss an approach to manage them: (Anon., 2015)..................................................................................................................................
  • V. Task 2: Feasibility study: (Anon., 2017)..............................................................................................................................................................................................
      1. Discuss the purpose of conducting a feasibility study for the project:............................................................................................................................................
      1. Discuss how the three feasibility criteria (technical, economic, organizational) are applied to the project. Discuss whether the project is feasible:
      1. Discuss alternative technical solutions using the alternative matrix (using alternative matrix and have some paragraphs to compare solutions):......................
  • VI. Conclusion:........................................................................................................................................................................................................................................
  • References..............................................................................................................................................................................................................................................
  • Table 1: Risk management......................................................................................................................................................................................................................
  • Table 2: Technical Feasibility..................................................................................................................................................................................................................
  • Table 3: Economic feasibility..................................................................................................................................................................................................................
  • Table 4: alternative matrix......................................................................................................................................................................................................................
  • Figure 1: Software development life cycle................................................................................................................................................................................................
  • Figure 2: Waterfall model.........................................................................................................................................................................................................................
  • Figure 3: V-model.....................................................................................................................................................................................................................................
  • Figure 4: V-model illustration...................................................................................................................................................................................................................
  • Figure 5: Prototype model......................................................................................................................................................................................................................
  • Figure 6: Prototyping model illustration.................................................................................................................................................................................................
  • Figure 7: Agile.........................................................................................................................................................................................................................................
  • Figure 8: Spiral........................................................................................................................................................................................................................................
  • Figure 9: Risk management....................................................................................................................................................................................................................

Product quality, customer satisfaction about the system is always the top priority for companies and businesses. To be able to make a system that meets all the criteria for the purpose of appearing on the market, each system must go through specific and rigorous stages. Those stages are encapsulated in a concept called the software development life cycle. In this report, models representing the stages in a software development life cycle will be discussed and selected the one that best fits the Tune Source company's perspective. In addition, the report will also provide risks and discuss how to approach and manage them. The last part will be the importance of the feasibility study in every system and its role on the Tune Source project. II. Task 1: SDLC models: Figure 1 : Software development life cycle

  1. Waterfall model: (Rastogi, 2015) The waterfall model is the most well-known approach to software development. This is one of the oldest models, and it's still used in government projects and by a lot of big businesses. Because this paradigm stresses early planning, it guarantees that design faults are caught early on. Furthermore, its extensive document and planning capabilities make it ideal for projects where quality control is a top priority. The waterfall life cycle is made up of
  • System requirements: Establishes the system's components, such as the hardware requirements, software tools, and other essential components. Hardware considerations, such as plug-in boards (number of channels, acquisition speed, and so on), and external software decisions, such as databases or libraries, are examples.
  • Software requirements: Establishes program functionality expectations and determines which system requirements the software impacts. Interaction with other programs and databases, performance needs, user interface requirements, and so on are all part of the requirements analysis process.
  • Architectural design: Determines a system's software framework to suit specified needs. This design establishes the key components as well as their interactions, but it does not specify the structure of each component. The designer can choose the external interfaces and tools that will be used in the project.
  • Detailed design: Examines the software components defined during the architectural design stage and generates a specification for each component's implementation.
  • Coding: Implements the detailed design specification.
  • Testing: Checks if the software fits the required standards and looks for any code faults.
  • Maintenance: After the software is released, it is responsible for addressing issues and enhancement requests.
  1. V-model: (Anon., 2022)

Figure 3 : V-model Because testing was done at the end of the development cycle, one of the key drawbacks of the waterfall STLC approach was that flaws were discovered much later in the process. Because the flaws were discovered at such a late stage, repairing them became extremely difficult and expensive. To address this issue, a new development approach known as the "V Model" was established. The V model is currently one of the most used software development methodologies. The incorporation of testing right from the requirement phase has been proven since the introduction of the V model. A verification and validation model is often known as a V model. To be able to understand the V-model, let’s discuss about what is verification and validation in software:

  • Verification: Verification is a type of static analysis. Testing is done without running the code in this method. Reviews, inspections, and walkthroughs are some examples.
  • Validation: Validation is a dynamic analysis approach in which the code is tested by running it. Techniques such as functional and non-functional testing are examples.
  • System design/ high level design: The high-level design of the program is created at this phase. The team researches and studies how the requirements could be accomplished. The requirements' technological feasibility is also investigated. The team also develops the modules that will be generated, as well as their dependencies and hardware/software requirements.
  • Architectural design: Software architecture is established in this step, depending on the high-level design. In this phase, the modules, their linkages, and dependencies, as well as architectural diagrams, database tables, and technical specifics, are all completed.
  • Module design/ low level design: Each module of the software components is created separately during this phase. In this phase, all methods, classes, interfaces, and data types are completed.
  • Implementation/ coding: In this phase, the actual coding is done That are the steps of left-hand side, let’s discuss about the right-hand side: If the left-hand side describes about the system development, then the right-hand side demonstrates the testing activities or validation phase:
  • Unit testing: In this phase, all the unit test case, created in the Low-level design phase are executed. Unit testing is a white box testing methodology in which a piece of code is produced that calls a method (or any other piece of code) to see if the code snippet produces the desired result. The development team is primarily responsible for this testing. Defects are reported and tracked in the event of an abnormality.
  • Integration testing: The integration test cases that were established during the architectural design phase are run in this step. Defects are reported and tracked in the event of any irregularities. Integration testing is a technique where the unit tested modules are integrated and tested whether the integrated modules are rendering the expected results. In simpler words, It validates whether the components of the application work together as expected.
  • System testing: All system test cases, functional test cases, and nonfunctional test cases are run during this phase. In other words, here is where the application's actual and full-fledged testing takes place. Defects are recorded and

monitored until they are resolved. This phase also includes a lot of progress reporting. The traceability metrics are updated to ensure that coverage is maintained and risks are minimized.

  • UAT (user acceptance testing): Acceptance testing is closely connected to the testing of business requirements. Testing is carried out in this environment to ensure that the business requirements are satisfied. This phase also includes compatibility testing as well as nonfunctional testing (load, stress, and volume).
  1. Prototyping: (02DCE, 2022) Figure 5 : Prototype model The process of creating a functioning duplicate of a product or system that has to be engineered is known as prototyping. It's a small-scale replica of the final product that's used to get client feedback, as mentioned below:
  • Evolutionary prototyping: The prototype generated originally is progressively modified based on client input until it is eventually accepted in this way. In compared to Rapid Throwaway Prototyping, it provides a more efficient method that saves both time and labor. This is due to the fact that creating a prototype from scratch for each iteration of the process may be quite difficult for developers.
  • Incremental prototyping: In this type of incremental Prototyping, the final expected product is broken into different small pieces of prototypes and being developed individually. In the end, when all individual pieces are properly developed, then the different prototypes are collectively merged into a single final product in their predefined order. It’s a very efficient approach that reduces the complexity of the development process, where the goal is divided into sub-parts and each sub-part is developed individually. The time interval between the project’s beginning and final delivery is substantially reduced because all parts of the system are prototyped and tested simultaneously. Of course, there might be the possibility that the pieces just do not fit together due to some lack of ness in the development phase – this can only be fixed by careful and complete plotting of the entire system before prototyping starts.
  • Extreme prototyping: This method is mainly used for web development. It is consists of three sequential independent phases:
  • In this phase a basic prototype with all the existing static pages are presented in the HTML format.
  • In the 2nd phase, Functional screens are made with a simulated data process using a prototype services layer.
  • This is the final step where all the services are implemented and associated with the final prototype.

This Extreme Prototyping process keeps the whole developer team focused on product delivery rather than identifying all conceivable needs and specifications and adding unnecessarily features, making project cycle and delivery robust and rapid.

  1. Agile: (Anon., n.d.) The Agile SDLC model combines iterative and incremental process models with a focus on process adaptation and customer satisfaction through the delivery of a functioning software product quickly. Agile methods divide a project into tiny, incremental steps. Iterations of these builds are available. Each repetition lasts anywhere from one to three weeks. Every iteration incorporates cross-functional teams working on several areas at the same time, such as:
    • Planning
    • Requirements Analysis
    • Design
    • Coding
    • Unit Testing and
    • Acceptance Testing. At the end of the iteration, a working product is displayed to the customer and important stakeholders. Every project should be handled differently, according to the Agile model, and current methodologies should be customized to best meet the project objectives. To deliver specific features for a release, tasks are divided into time boxes (small time frames) in Agile.The technique is iterative, with each iteration delivering a viable software build. In terms of features, each build is incremental; the final version contains all of the features requested by the client.
  • The advantages of the Agile Model are as follows:
  • Is a very realistic approach to software development.
  • Promotes teamwork and cross training.
  • Functionality can be developed rapidly and demonstrated.
  • Resource requirements are minimum.
  • Suitable for fixed or changing requirements.
  • Delivers early partial working solutions.
  • Good model for environments that change steadily.
  • Minimal rules, documentation easily employed.
  • Enables concurrent development and delivery within an overall planned context.
  • Little or no planning required.
  • Easy to manage.
  • Gives flexibility to developers.
  • The disadvantages of the Agile Model are as follows:
  • Not suitable for handling complex dependencies.
  • More risk of sustainability, maintainability and extensibility.
  • An overall plan, an agile leader and agile PM practice is a must without which it will not work.
  • Strict delivery management dictates the scope, functionality to be delivered, and adjustments to meet the deadlines.
  • Depends heavily on customer interaction, so if customer is not clear, team can be driven in the wrong direction.
  • There is a very high individual dependency, since there is minimum documentation generated.
  • Transfer of technology to new team members may be quite challenging due to lack of documentation.
  1. Spiral: (Anon., n.d.) The spiral model blends the notion of repeated development with the waterfall model's methodical, regulated characteristics. This Spiral approach combines an iterative development process model with a sequential linear development model, i.e. the waterfall model, with a strong focus on risk analysis. It enables for incremental product launches or enhancement as each iteration around the spiral progresses. There are four phases to the spiral model. Spirals are iterations in which a software project goes through these phases again and again: + Identification: The baseline spiral is used to gather the business needs at this phase. This phase is followed by the identification of system requirements, subsystem requirements, and unit requirements in following spirals as the product evolves. This phase also includes understanding the system requirements by continuous communication between the customer and the system analyst. At the end of the spiral, the product is deployed in the identified market. + Design: The Design process begins with the baseline spiral's conceptual design and progresses through architectural design, logical module design, physical product design, and final design in successive spirals. + Construct or Build: At each spiral, the Construct phase refers to the production of the actual software product. A POC (Proof of Concept) is produced in this phase of the baseline spiral, when the idea is merely being thought of and the design is being developed, to collect user input. Then, when the requirements and design specifics become clearer, a functioning model of the program known as a build is created with a version number. These prototypes are submitted to the buyer for review. + Evaluation and Risk Analysis: Technical feasibility and management risks, such as schedule slippage and cost overrun, are identified, estimated, and monitored through risk analysis. At the end of the first iteration, the client analyzes the program and offers comments after testing it. The following illustration is a representation of the Spiral Model, listing the activities in each phase:

continuing indefinitely. As a result, the discipline of change and the extent to which change requests are accepted are critical to the effective development and implementation of the product. The advantages of the Spiral SDLC Model are as follows:

  • Changing requirements can be accommodated.
  • Allows extensive use of prototypes.
  • Requirements can be captured more accurately.
  • Users see the system early.
  • Development can be divided into smaller parts and the risky parts can be developed earlier which helps in better risk management. The disadvantages of the Spiral SDLC Model are as follows:
  • Management is more complex.
  • End of the project may not be known early.
  • Not suitable for small or low risk projects and could be expensive for small projects.
  • Process is complex
  • Spiral may go on indefinitely.
  • Large number of intermediate stages requires excessive documentation.
  1. The best SDLC model for the Tune Source Company: Tune Source is a company that delivers music through smart devices and hardware like CDs. According to the information provided, the company Tune Source is planning to launch a website that is a drastic upgrade from an existing website. The ambition of 3 owners John Margolis, Megan Taylor, Phil Cooper is to be able to transform the business model from selling music records to selling music online through many forms, thereby attracting more customers and can dominate, leading in this niche. From here, it can be seen that this project has a very large scale and huge investment capital. To complete this project, it is necessary to determine the most suitable system

development life cycle model. And the most suitable model for Tune Source's website this time will be Agile for a number of reasons:

  • The Turn Source Company has a number of competitors in the music industry related field. Their customers are ready to buy products that are CDs or floppy music on smart devices from other companies. Therefore, the early launch of the system to retain customers is Turn Source's top goal at this time. In order to realize this goal, the Agile model is the most suitable because when applying this model, the development team will create a website with the most basic functions in the shortest time from 2 weeks up to 4 weeks then put into operation.
  • Because Tune Source focuses on developing e-commerce websites in order to increase revenue, client experience is extremely vital. To achieve so, the e-commerce website's quality is critical. And Agile is the most popular model. Agile emphasizes process flexibility and customer satisfaction by delivering functioning software quickly. The product is put on the market for consumer feedback after each version. And Agile incorporates client input into enhancements that provide the highest level of customer satisfaction.
  • The duration of a loop in the Agile model usually lasts from 2 to 4 weeks, so the workload will not be too large. This model will focus on testing segments for the purpose of determining errors or points that have not achieved customer expectations to be able to repair or complete. As mentioned above, the workload is not a great problem, so the projecter will have more time to focus and test the system, from which the shortcomings will be solved and brought to Another system can satisfy customers. Moreover, managers can also easily manage and evaluate the performance of the team, and allocate financial resources more effectively and easily. Through the above three reasons, Agile deserves to be considered as the best model for the commercial website project of Tune Source. III. Discuss the suitability of each of the SDLC models for the project. For each model, specify whether it is most, moderately, or least suitable: Waterfall is a straightforward concept that is simple to implement. The stages in this paradigm do not overlap. Specific deliverables and the review procedure are as follows: Each stage has its own set of deliverables and audit points. We