




















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Assignment 1 1631, Hope it help
Typology: Study Guides, Projects, Research
1 / 28
This page cannot be seen from the preview
Don't miss anything!





















Qualification BTEC Level 5 HND Diploma in Computing Unit number and title Unit 09: Software Development Life Cycle Submission date Date Received 1st submission Re-submission Date Date Received 2nd submission Student Name Truong Duy Minh Student ID GCD Class GED1102 Assessor name Pham Thanh Son 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
Grade: Assessor Signature: Date: Internal Verifier’s Comments: Signature & Date:
I. INTRODUCTION Scenario: Tune Source is a company headquartered in southern California. Tune Source is the brainchild of three entrepreneurs with ties to the music industry: John Margolis, Megan Taylor, and Phil Cooper. Originally, John and Phil partnered to open a number of brick-and-mortar stores in southern California specializing in hard-to-find and classic jazz, rock, country, and folk recordings. Megan soon was invited to join the partnership because of her contacts and knowledge of classical music. Tune Source quickly became known as the place to go to find rare audio recordings. Annual sales last year were $40 million with annual growth at about 3%–5% per year. Tune Source currently has a website that enables customers to search for and purchase CDs. This site was initially developed by an Internet consulting firm and is hosted by a prominent local Internet Service Provider (ISP) in Los Angeles. The IT department at Tune Source has become experienced with Internet technology as it has worked with the ISP to maintain the site. II. Describe two iterative and two sequential software lifecycle models (P1)
SDLC or the Software Development Life Cycle is a process that produces software with the highest quality and lowest cost in the shortest time possible. 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. SDLC is a step-by-step process that outlines how to design, construct, and maintain software. Each stage of the SDLC life cycle has its own set of processes and deliverables that feed into the next. The Software Development Life Cycle (SDLC) is also known as the Application Development Life Cycle. (htt52)
Figure 2 : Waterfall model The sequential phases in Waterfall model are: 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 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 in 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 which 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. All these phases are cascaded to each other in which progress is seen as flowing steadily downwards (like a waterfall) through the phases. The next phase is started only after the defined set of goals are achieved for previous phase and it is signed off, so the name "Waterfall Model". In this model, phases do not overlap.
Advantages Disadvantages Simple and easy to understand and use No working software is produced until late during the life cycle. Easy to manage due to the rigidity of the model. Each phase has specific deliverables and a review process. It is difficult to measure progress within stages. Phases are processed and completed one at a time. Poor model for long and ongoing projects. Easy to arrange tasks. Cannot accommodate changing requirements.
Definition: The V-model is an SDLC model where execution of processes happens in a sequential manner in a V-shape. It is also known as Verification and Validation model. The V-Model is an extension of the waterfall model and is based on the association of a testing phase for each corresponding development stage. This means that for every single phase in the development cycle, there is a directly associated testing phase. This is a highly-disciplined model and the next phase starts only after completion of the previous phase. (htt53)
Coding Phase : The actual coding of the system modules designed in the design phase is taken up in the Coding phase. The best suitable programming language is decided based on the system and architectural requirements. The coding is performed based on the coding guidelines and standards. The code goes through numerous code reviews and is optimized for best performance before the final build is checked into the repository. Validation Phases : The different Validation Phases in a V-Model are explained in detail below.
Advantages Disadvantages This is a highly-disciplined model and Phases are completed one at a time. High risk and uncertainty Works well for smaller projects where requirements are very well understood. Not a good model for complex and object-oriented projects Simple and easy to understand and use. Poor model for long and ongoing projects. Easy to manage due to the rigidity of the model. Each phase has specific deliverables and a review process. No working software is produced until late during the life cycle.
Definition: The spiral model combines the idea of iterative development with the systematic, controlled aspects of 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. (htt54)
Figure 4 : Spiral model Stages of spiral model: Identification : The optimal time to collect business needs is during the identification stage. This is done in a spiral pattern. The spirals below show the system, subsystem, and unit requirements. This stage is all about communication between the client and the system analyst to understand what is necessary to deploy. Design : The design also begins with the conceptual design and progresses through the architectural design, logical design of modules, physical product design, and final design spirals. Build : At each spiral, the Construct (Build) step involves the creation of the real software product. When a concept has to be tested for viability in the basic spiral, you should create a POC (Proof of Concept) and try to get useful user input. When you've figured out all of the criteria and precise design features, generate a numbered working model version (build) of the program. Customers rate and comment on all builds. Evaluation : The process of finding, assessing, and monitoring technical feasibility and management risks is known as evaluation (risk analysis). For example, a scheduling delay and a cost overrun. The next iteration is presented once the client has assessed the build. This one uses a linear technique to guarantee that the customer's input is incorporated. The SDLC includes these spiral repeats almost till the end.
Figure 5 : Prototype model
Requirements gathering and analysis : A requirement analysis is the first step in developing a prototyping model. The system's requirements are defined in depth during this phase. During the process, system users are interviewed to determine what they expect from the system. Quick design : A preliminary design, sometimes known as a fast design, is the second phase. A simple system design is created at this stage. It is not, however, a finished product. The user is given a quick overview of the system. The prototype development benefits from the speedy design. Build a prototype : The information acquired during rapid design is used to create an actual prototype in this phase. It's a scaled-down version of the required system.
Customer evaluation : Once the prototype of the final program is completed, it is shown to the customer for assessment. The prototype is evaluated by the customer against the specifications given during the communication phase. If the consumers are happy, the developers will begin working on the full version of the product. If the consumer is dissatisfied with the prototype, they are expected to recommend changes.
Advantages Disadvantages Increased user involvement in the product even before its implementation. Users may get confused in the prototypes and actual systems. Reduces time and cost as the defects can be detected much earlier. Practically, this methodology may increase the complexity of the system as scope of the system may expand beyond original plans. Missing functionality can be identified easily Developers may try to reuse the existing prototypes to build the actual system, even when it is not technically feasible. Confusing or difficult functions can be identified. Risk of insufficient requirement analysis owing to too much dependency on the prototype.
development, Scrum enables an iterative and incremental development process. The project divides into several phases, each of which results in a ready-to-use product. At the end of each step (called sprint in Scrum terminology), a usable product is delivered to a customer. Customer feedback helps reveal possible problems or change the initial development plan if needed. If you want your project to strictly follow the main principles of the Agile manifesto, you can use the Scrum model and be sure that you’re on the right path.
Defined deadline at every step keep developers motivated and empowered at every step Frequent changes in the project lead to a delay in the delivery time of the project Feedback at every level of the project ensures that quality project is delivered in the end Utilizes more resources and stakeholder’s involvement in every small detail change and discussion
To choose the optimal choice, you need to know the needs of the project and the surrounding environment. Here is a comparison SDLC model table:
Base on the table and scenario requirement, I will choose Prototyping models. III. Identify some risks and discuss an approach to manage the Spiral lifecycle model (P2)
Schedule risk Time-related risks or project delivery-related planning hazards are referred to as schedule-related risks. The improper timeline has an impact on project development and delivery. These risks are mostly associated with project development falling behind schedule, which has a direct influence on project delivery. Finally, if schedule risks are not appropriately controlled, project failure occurs, which has a negative impact on the organization's economics or company's Budget risk Budget-related risks are monetary risks that arise primarily as a result of budget overruns. Always handle the financial component of the project as planned, however if the financial aspect of the project is mismanaged, budget issues may develop, resulting in budget hazards. As a result, efficient financial distribution and administration are essential for the project's success; otherwise, the project may collapse. End-user Engagement This risk occurs when a product is released to the market but users are resistant to change or there is user conflict. Ensuring that a product's users actually use the software is directly related to its success. It will correlate with profitability in the case of a company developing software for an external customer. In the case of an enterprise developing software for internal use, it can determine whether the software will actually improve company productivity Poor code quality and technical In software development, technical risks are frequently a pitfall, something that is not immediately apparent but has serious negative consequences. Companies frequently require the use of cutting-edge technologies in order to produce an innovative product, which can have a number of significant drawbacks. Low Stakeholder Engagement This occurs when a client or stakeholder with whom you are collaborating does not engage with your team on a regular enough basis to maintain high productivity levels. Low stakeholder engagement poses a significant risk to projects because slow customer responses can impede delivery timelines.
A feasibility report is a report that evaluates a set of proposed project paths or solutions to determine if they are viable. The person who prepares a feasibility report evaluates the feasibility of different solutions and then chooses their recommendation for the best solution. They then present the feasibility report to their company and make their recommendation. Figure 7 : feasibility report
a. Legal Feasibility: Your proposal must adhere to all applicable laws. This covers all rules and regulations that pertain to your project's operations and deliverables. b. Economic Feasibility: To establish the financial feasibility of your project, you'll need to examine its economic variables. A cost- benefit analysis can be used to evaluate the financial expenses against the expected benefits. c. Technical Feasibility: This entails analyzing whether or not your company has the necessary technical resources and experience to complete the project.
This section helps the readers of report understand how you evaluated the feasibility of different approaches and why you arrived at recommendation. Evaluation criteria may include: Financial costs: Companies typically consider the financial impact of a project before taking action, so financial costs may be one of the criteria in your feasibility report. Tax impacts : You can evaluate different approaches based on how they would change your company's taxes as another criterion. Public perception : Certain projects or problems may affect your company's public perception, so you could evaluate how different approaches would influence your company's public perception in your feasibility report. Environmental effects : If your company values environmentally-friendly choices, you could consider including the environmental effects of an approach in your report. Resources needed : You may need certain resources for different potential approaches, so you could evaluate the resources needed as one of your criteria.
Three factors—technological, economic, and organizational—must be looked at when performing a feasibility study to a Tune Source project. The first is the technical component, where it is necessary to ascertain whether the tools and technologies are suitable for the needs of the project. To fulfill the deadline, the work must be completed as soon as feasible. We must therefore choose solutions that facilitate speedy and easy project execution. The third is financial; costs like personnel salaries, website maintenance fees, and other expenditures need to be estimated and taken into account. In the event that expenses go over the approved budget, the project may be abandoned. Making