




















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
About the project of Tune Source
Typology: Assignments
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^0 9: Software Development Life Cycle Submission date 14/02/2022 Date Received 1st submission 14/02/ Re-submission Date Date Received 2nd submission Student Name Nguyễn Trí Tài Student ID GCS Class GCS0903B Assessor name Thái Thị Thanh Thảo 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. Introduce The TuneSource Company is based in California. Tune Source is the idea of three music business veterans: John Margolis, Megan Taylor, and Phil Cooper. Initially, John and Phil collaborated to build multiple physical stores in southern California concentrating in hard-to-find and classical jazz, rock, country, and folk recordings. Tune Source now offers a website where users may search for and purchase CDs. So, in order to raise income from music items, this corporation must upgrade the old system and replace it with a new system that offers a variety of services. Because buyers from other nations will be purchasing things in numerous currencies. II. Body My role as System Analyst As a member of the development team, I had to collaborate with my colleagues to create this project. Previously, TuneSource had a small development team that solely worked on the previous system; thus, when constructing this new system, the internal team will collaborate with us to better understand their requirements. I'll be in charge of project analysis and the design of the new system. First, I'll provide an update to the internal team on the new systems development approaches being utilized for system analysis. Description of predictive and adaptive software development models considering at least two iterative and two sequential models
The software development life cycle (SDLC) is a diagram that depicts the activities that must be completed at each stage of the software development process. SDLC is a design process that is monitored by a development team inside a software firm. It comprises of a detailed strategy on how to create, maintain, and replace certain software. The life cycle outlines an approach for enhancing software quality and the development process as a whole. The software development process is another name for the software development life cycle. (2019, Techopedia)
iv. Development Phase This phase involved developers of all levels (seniors, juniors, and freshers). This is the stage at which we begin developing the program and creating the product's code. This phase yields the Source Code Document (SCD) and the developed product. v. Testing and Integration When the program is finished, it is submitted to the testing department, where the testing team extensively tests it for various faults. They either manually test the program or use automated testing tools, depending on the procedure outlined in the STLC (Product Testing Life Cycle), to guarantee that every component of the software functions properly. After the QA ensures that the program is error-free, it moves on to the next stage, which is testing. Implementation. This step yields the Quality Product and the Testing Artifacts. Following the successful testing of the application, we must integrate the various modules such as login, signup, upload, claim, and services. vi. Deployment and Maintenance Phase: The product is delivered/deployed to the customer after successful testing. The Deployment/Implementation engineers are in charge of deployment. When clients begin utilizing the established system, genuine problems will arise and must be resolved on a regular basis. The maintenance phase includes resolving any concerns discovered by the client. Because the method testers test the product differs from the way customers use the product, 100 percent testing is not achievable. Maintenance should be performed in accordance with the SLA (Service Level Agreement)
3.1. Iterative Models Iterative models are a type of software development lifecycle implementation that focuses on an initial, basic implementation that gradually adds complexity and a larger feature set until the final system is complete. Enhancements in this sort of model may be identified rapidly with implementation throughout each cycle. Spiral and agile models are the two iterative approaches that I will discuss. The agile model Please include sprint, scum. Backlog, sprint backlog, standup meeting, client feedback Please include the agile manifesto. The Agile SDLC model is a hybrid of iterative and incremental process models, with a focus on process adaptation and customer satisfaction through the quick delivery of functional software. Agile methodologies divide a product into small incremental builds. Iterations of these builds are available. Every project is handled differently under this approach, and current procedures are adjusted to best meet the project's requirements. All jobs are broken into short time limits in order to provide particular features in time for the release. It prioritizes operational software and customer cooperation above detailed documentation and contract negotiation. This paradigm also provides for a more appropriate response to change than just following the project plan, and each iteration involves a cross-functional team working concurrently. The agile paradigm is an iterative, team-based approach to development. This paradigm emphasizes the significance of delivering a fully working system in a timely manner. Rather of setting tasks and plans for system development, all time is time boxed in stages known as sprints. Each sprint has a set duration when it begins, however this might vary depending on the project and the ongoing list of deliveries. If the scheduled sprint work cannot be completed, the task is reprioritized and the information is used for future sprint planning. When the task is finished, it is examined and assessed by the team and the customers. This paradigm is based on a high level of client interaction throughout the development process, particularly during the system review.
Can be added as the project progresses Clients submit input to the system here as well, and the system is modified to meet their needs. Development: Here, the developed demo version is put into action for user feedback, and by the conclusion of this phase, the system will be nearly finished. In this stage, customer collaboration and input are critical. Testing and feedback: During this last step, the whole system is wrapped up with all necessary testing. The produced system is handed over to the client after the customer is pleased. Advantages Disadvantages It is a simple, realistic method that gives developers freedom. It also encourages collaboration and cross-training. It is a simple, realistic method that gives developers freedom. It also encourages collaboration and cross-training. It maintains a consistent focus on technological excellence and attractive design. Because of the stringent delivery control, modifications may be made to fulfill deadlines. Minimal rules and documentation are simple to implement. This paradigm is extremely difficult to adopt without an overarching strategy, an agile leader, and an agile project manager. It is best suited for environments where requirements are subject to change during the development process. If the client representative is unclear about the project's conclusion, the team can quickly fall off course. The resource needs are minimal, and just a minimal amount of preparation is necessary. Due to a lack of documentation, it will be difficult to move or attract new members to the project throughout development.
Definition:
Figure 1 : Spiral model
As shown in the above figure there are various sequential phases involved in waterfall model which are explained below: Requirement Gathering and analysis: All of the system requirements that must be produced are gathered and recorded in a specification document. The final product specifications are indicated and reviewed here. System Design: The requirements specifications acquired in the first step are analyzed here, and then the system design is developed. Thus, a well-prepared system design aids developers in determining hardware and system requirements, as well as in defining the overall system's architecture.
Implementation: Using system design input, the system is constructed in small pieces that are summed up in the following phase. Each produced unit is functionally tested, which is also known as unit testing. After each unit is tested, the units generated in the previous step are merged into the system. The complete system is checked for flaws and failures so that the client does not encounter errors while installing and operating the program in the future. System Deployment: Following the conclusion of functional and non-functional testing, the product is deployed in the client environment or released to the market, as appropriate. Maintenance: Difficulties in the client environment may arise even after the system has been deployed, thus patches are distributed to address such issues. In order to improve the product, further versions are published during the maintenance period. This phase is carried on for the duration of the software's existence, until it dies. Advantages Disadvantages The Waterfall model is a strategy that is relatively straightforward and easy to learn and apply, which is why it is quite advantageous for the beginner or novice developer. This paradigm may only be utilized when extremely specific needs are known ahead of time. Because of the model's rigidity, it is simple to manage. Furthermore, each phase has its own set of deliverables and evaluation procedure. This concept is inapplicable to maintenance tasks. This model processes and completes stages all at once, saving a large amount of time. The biggest disadvantage of this strategy is that once an application is in the testing stage, it cannot be edited. This sort of development strategy is more successful in smaller projects with well-defined needs. There is no way to create functional software until it reaches the end of the cycle.
V-model Definition: “The V-shaped algorithm differs from the previous ones by the work approach and the architecture. If we visualize this model, we’ll see that there appears one more axis, unlike the waterfall and iterative models. Along with the first one, they constitute the V letter. You can see it in the picture below.”[1]
Figure 2 : V-Model Requirement Analysis : This phase comprises significant discussion with the consumer to properly understand their wants and expectations. This process is known as requirement gathering. System Design : This phase includes the system design as well as the whole hardware and communication infrastructure for constructing a product.
Architectural Design : The design of a system is further segmented into modules that handle distinct functions. Both data transmission and communication between internal modules and the outside world (other systems) are well understood. Module Design : During this phase, the system is divided into tiny modules. The specification of the exact design of modules is known as low-level design (LLD). Unit Testing : Unit test plans are established during the module design phase. Unit Test Plans are used to identify and correct problems in code or units. Integration testing: Following the completion of unit testing, integrity testing is performed. During integration testing, the components are combined and the system is tested. Integration testing is performed throughout the architectural design process. This test verifies that the modules can interact with one another. System Testing: System testing investigates the whole application's functionality, interdependence, and communication. It assesses the functional and non-functional requirements of the created application. User Acceptance Testing (UAT) : UAT is performed in a user environment comparable to that of production. UAT guarantees that the delivered system meets the user's needs and is suitable for use in the actual world.
Spiral development supports risk management in software projects in several ways summarized in the following: The preliminary risk assessment serves as a planning tool and tries to Spirals of evolutionary prototyping aimed at overcoming performance and user interface issues. These spirals aid in the reduction of main hazards prior to the development phase. The risk analysis stage in each cycle that precedes each waterfall phase serves the objective of. The spiral's iterative aspect, which allows the development process to return to the initial quadrant at any point in time. The evaluation completed at the conclusion of each cycle with key stakeholders serves as a decision point to minimize lack of commitment risks in the following cycle. Because of the risk analysis step performed at each cycle, spiral development is the greatest way to handle time and expense overrun concerns. At this point, the cost and time necessary for each cycle are calculated in advance to provide a clear picture of the project's essential status. This helps the project manager and the developers get more control over these risks. Spiral is also used to control risks associated with the project's rising complexity. This is achieved by the partitioning activity conducted at the planning phase. Decomposing the project into sections to be developed in parallel spirals decreases time contention issues since more work may be accomplished within the same timeframe. The Spiral Model's Major Risk Sources Despite its risk-driven nature, spiral has its own risk sources, which are outlined below: A strong emphasis on the human aspect Process for managing risks in detail
Risks and Solution of Tune Source Project Risk Item Level Action To Mitigate Communicate Scope & Objective Extreme To prevent spending time outside of the Framework, it is vital to think about and explain a specific Framework, as well as have strong team management skills. Maintain regular contact with consumers. Requirement Definition Change Medium Using tools to receive and handle user requests. Create the best product to meet your clients' demands. Talk to the leaders in this industry on a regular basis to understand how to fix it. Technical Processes Change Medium The method model is erroneous, and the project's true essence does not apply. Influence the project's rate of progress Speak with the stakeholder and director, as well as the marketing and development teams, to revise the Process model. Technology Employed Extreme Determine the technology required for the project so that the team's employees and the company's viewpoint on technology are compatible. Create a Technical Solution Matrix to choose and pick possibilities. Frequent meetings with workers provide direction for knowledge development, as do open sharing sessions in which individuals may offer their expertise and experience.