Assignment 1 1631 Software Development Life Cycles

53 3 0
Assignment 1 1631 Software Development Life Cycles

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

This assignment earns a Pass in system design. This exercise presents models in the software development process such as waterfall, scrum, agile, and spinal. Ways to draw dfd, wbs, entity relationship diagrams, mockups and wireframes.

ASSIGNMENT 01 FRONT SHEET Qualification BTEC Level HND Diploma in Computing Unit number and title Unit 09: Software Development Life Cycle Submission date 17/05/2023 Date Received 1st submission 17/05/2023 Re-submission Date 03/06/2023 Date Received 2nd submission 03/06/2023 Student Name Tran Duc Long Student ID GCH210562 Class GCH1106 Assessor name Nguyen The Lam Tung 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 Page of 52 M2 D1 D2 ❒ Summative Feedback: ❒ Resubmission Feedback: 2.1 Grade: Assessor Signature: Date: Internal Verifier’s Comments: Signature & Date: Page of 52 Table of Contents A Introduction B Describe different software development lifecycles I Describe two iterative and two sequential software lifecycle models (P1) What is SDLC ? Waterfall model 2.1 Waterfall model – design 2.2 Waterfall model – Application 2.3 Advantages and disadvantages of waterfall model 10 V-model 11 3.1 V-model – design 11 3.2 V-model - Verification Phases 12 3.3 V-model – Application 14 3.4 Advantages and disadvantages of the V-model 15 Prototyping model 15 4.1 Prototyping model phases 16 4.2 Types of prototyping models 17 4.3 Best Practices of prototyping 17 4.4 Advantages and disadvantages of the prototyping model 18 Spiral model 19 5.1 Spiral model – design 19 5.2 Spiral model phases 20 Page of 52 5.3 Spiral model application 21 5.4 Advantages and disadvantages of Spiral model 21 Scrum model 22 6.1 Key roles in Scrum model 23 6.2 Advantages and disadvantages of the Scrum model 24 Compare and Choose SDLC model to the project 26 7.2 II C Choose model for project 27 Explain how risk is managed in the Spiral lifecycle model (P2) 31 Why is risk assessment important? 31 What is the goal of risk assessment? 32 Five Steps of the Risk Management Process 33 Risk Management Matrix of Tune Source project 34 Risk management table 35 Explain the importance of a feasibility study 37 I Explain the purpose of a feasibility report (P3) 37 What is a feasibility report? 37 Importance of feasibility report? 38 What is the objective of the feasibility report? 39 Type feasibility 39 4.1 Technical feasibility 39 4.2 Economic feasibility 39 4.3 Legal feasibility 40 Page of 52 4.4 Operational feasibility 40 4.5 Schedule feasibility 40 4.6 Environmental feasibility 40 II Describe how technical solutions can be compared (P4) 41 Feasible criteria 42 a Technical Feasibility 42 b Economic Feasibility 42 c Organizational Feasibility 43 Alternative matrix for the Tune Source project 44 a C# technology 44 b Java technology 44 c PHP technology 45 Choose an Alternative to Tune Source 45 D Conclusion 49 E Reference 50 Table of Figures Figure 1: SDLC (Servicenow, 2023) Figure 2: Waterfall model (Tutorialspoint, 2023) Figure 3: V-model (Tutorialspoint, 2023) 12 Figure 4: Prototyping models (Martin, 2023) 16 Figure 5: Spiral model (Tutorialspoint, 2023) 19 Figure 6: Scrum model (Atlassian, 2023) 23 Figure 7: Diagram scrum for Tune Source 30 Page of 52 A Introduction The SDLC, which stands for Software Development Life Cycle, is an important method that helps businesses build high-quality software that satisfies the needs of their consumers This method provides a disciplined approach to software development, guaranteeing that the product is delivered on time, of high quality, and meets the expectations of the users In this article, we will look at the SDLC's various stages and offer advice on how firms can effectively adopt it This report will also demonstrate the application of SDLC to the provided project and identify the many models involved in the project, as well as specific explanations of feasibility studies B Describe different software development lifecycles I Describe two iterative and two sequential software lifecycle models (P1) What is SDLC ? The process of developing and deploying software applications is iterative, with multiple distinct phases The Software Development Life Cycle (SDLC) technique improves process monitoring and improvement by providing analysis of each stage of software development SDLC may reduce waste and boost efficiency by detailing each action required to build and deliver a software application SDLC helps firms stay on track with timetables and budgets by monitoring, ensuring that software development remains a profitable investment Agile and Waterfall processes are frequently employed in SDLC, and some firms use a hybrid of both (Servicenow, 2023) Page of 52 Figure 1: SDLC (Servicenow, 2023) Here are the six phases of the SDLC: • Requirements Gathering and Analysis: In this phase, the software requirements are gathered and analyzed in detail This involves working closely with the stakeholders to determine the specific features, functions, and goals of the software • Design: Once the requirements are established, the system design is developed in this phase This includes creating a detailed plan for the software system, such as the architecture, data structures, algorithms, and user interface design • Implementation: The actual coding of the software is done in this phase based on the design specifications This involves writing, compiling, and testing the code to ensure it meets the requirements and functions correctly • Testing: Once the implementation phase is complete, testing is conducted to validate that the software works as intended and meets the requirements Different types of testing, such as unit testing, integration testing, and system testing, are performed • Deployment: Once the software is tested and deemed to be stable and fully functional, it is deployed to the users for their use Page of 52 • Maintenance: After the software is deployed, it enters the maintenance phase This phase involves ongoing support, bug fixes, and updates to ensure that the software continues to meet the user's needs and functions correctly Waterfall model The Waterfall model is a linear and sequential approach to software development in which each phase follows the preceding one in a precise, predetermined order The phases of this approach are as follows: requirements gathering, design, implementation, testing, deployment, and maintenance The Waterfall model requires the development team to move on to the next step only when the previous one has been completed and authorized This method is frequently employed in industries with stringent standards or when the requirements are well understood and unlikely to change It can, however, be stiff and inflexible when numerous iterations are required or when there is a high amount of uncertainty or change in the project requirements Figure 2: Waterfall model (Tutorialspoint, 2023) 2.1 Waterfall model – design Page of 52 The Waterfall approach was the initial SDLC Model to gain widespread usage in the field of Software Engineering as a means of ensuring project success This model involves dividing the entire software development process into distinct phases, with each phase's outcomes serving as the next phase's input in a sequential manner (Tutorialspoint, 2023) The Waterfall model's consecutive phases are as follows: • Requirements Gathering and Analysis: The software requirements are gathered and thoroughly assessed during this phase This entails working closely with stakeholders to identify the software's unique features, functions, and goals • Design: This phase develops the system design after the requirements have been identified Creating a detailed plan for the software system, such as the architecture, data structures, algorithms, and user interface design, is part of this • Implementation: The actual coding of the software is done in this phase based on the design specifications This involves writing, compiling, and testing the code to ensure it meets the requirements and functions correctly • Testing: Once the implementation phase is complete, testing is conducted to validate that the software works as intended and meets the requirements Different types of testing, such as unit testing, integration testing, and system testing, are performed • Deployment: Once the software is tested and deemed to be stable and fully functional, it is deployed to the users for their use • Maintenance: After the software is deployed, it enters the maintenance phase This phase involves ongoing support, bug fixes, and updates to ensure that the software continues to meet the user's needs and functions correctly 2.2 Waterfall model – Application • The Waterfall Model is a software development methodology that is often used in projects where the requirements are well-defined and stable, and there is little likelihood of change during the development process It is a sequential approach where each phase of the project is completed before moving on to the next one, and changes to the project scope, requirements or design are generally not allowed after a phase is completed (Tutorialspoint, 2023) • The Waterfall Model is useful for large and complex projects that require a high degree of planning and organization, and where it is important to have a clear understanding of the project requirements and timeline It provides a Page of 52 structured and systematic approach to software development, with clearly defined phases and deliverables that allow for better control and management of the project • One common application of the Waterfall Model is in the development of large-scale enterprise software systems, such as financial management systems, inventory management systems, or customer relationship management systems These types of projects typically require a high degree of planning and coordination across multiple departments, and the Waterfall Model can help ensure that the project is completed on time, within budget, and to the satisfaction of the stakeholders • Another application of the Waterfall Model is in the development of mission-critical systems, such as those used in aerospace or medical devices, where failure could have severe consequences The Waterfall Model provides a rigorous approach to software development that can help ensure the reliability, safety, and performance of these types of systems (Tutorialspoint, 2023) 2.3 Advantages and disadvantages of waterfall model Advantage Disadvantage Clear and well-structured approach: The Waterfall Inflexible to changes: The Waterfall Model is inflexible to changes in Model provides a clear and structured approach to the project scope or requirements, and any changes that occur can software development, with each phase being completed be difficult and costly to implement before moving on to the next one This makes it easier to plan, manage and monitor the project Well-defined requirements: The Waterfall Model Late feedback: The Waterfall Model does not allow for feedback or requires that all the requirements be gathered and testing until the later phases of the project, which can result in issues defined upfront, which can help ensure that the final being identified only after significant development has already product meets the client's needs occurred Page 10 of 52

Ngày đăng: 24/02/2024, 01:57

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan