Assignment 1 Software Development Life Cycles (1631 Distinction)

33 0 0
Assignment 1 Software Development Life Cycles (1631 Distinction)

Đ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

Vòng đời phát triển phần mềm là một quy trình tích hợp nhằm thúc đẩy việc xây dựng phần mềm an toàn, chất lượng tốt trong toàn bộ quá trình phát triển. Mục đích của môn học này là cung cấp cho sinh viên kiến thức và kỹ năng cần thiết để hiểu vòng đời phát triển phần mềm và thể hiện kiến thức của họ bằng cách triển khai vòng đời phát triển phần mềm với một phương pháp phù hợp. Đơn vị này giới thiệu cho sinh viên cách ra quyết định trong vòng đời ở các giai đoạn khác nhau của quy trình phát triển phần mềm. Học sinh sẽ kiểm tra các mô hình vòng đời khác nhau và đánh giá cao các đặc điểm cụ thể của chúng để hiểu môi trường dự án nào chúng phù hợp nhất. Sự hiểu biết lý thuyết sẽ được chuyển thành các kỹ năng thực tế thông qua một dự án vòng đời phát triển phần mềm thực tế và sinh viên sẽ trở nên tự tin trong việc sử dụng các công cụ và kỹ thuật cụ thể phù hợp với phương pháp đã chọn. Trong số các chủ đề trong đơn vị này có các mô hình lặp và tuần tự về vòng đời phát triển phần mềm và các khung tham chiếu để thu thập dữ liệu và thông tin khái niệm ban đầu thông qua nghiên cứu khả thi và các kỹ thuật thu thập yêu cầu cho đến các hoạt động phân tích, thiết kế và triển khai phần mềm. Kết quả là học sinh sẽ phát triển các kỹ năng như kỹ năng giao tiếp, tư duy phản biện, phân tích, lý luận và diễn giải, những kỹ năng rất quan trọng để kiếm được việc làm và phát triển năng lực học tập.

ASSIGNMENT 01 FRONT SHEET Qualification BTEC Level 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 Bui Quang Minh Student ID GCD210325 Class GCD1104 Assessor name Tran Trong Minh 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 ❒ Summative Feedback: Grade: Internal Verifier’s Comments: Signature & Date: ❒ Resubmission Feedback: Assessor Signature: Date: TASK 1: SDLC MODEL I Describing SDLC models (P1-M1-D1) Describing SDLC models and choosing suitable one for the project (P1) 1.1 Waterfall 1.2 V-model 1.3 Prototyping 1.4 Agile 1.5 Spiral 10 1.6 Responsibilities of a project manager 11 1.7 How to apply a methodology 12 1.8 Suitable model for the project 13 Discussing the suitability of each of SDLC models for The Tune Source project (M1) 14 Discussing the merits of applying waterfall model to a large software development project (D1) 15 II Identifying risks and discussing approach to manage them (P2) 15 How risk is managed in the Spiral Lifecycle Model 15 Risk Management 16 TASK 2: FEASIBILITY STUDY 21 I Purpose of feasibility study and how can it help project manager (P3) 21 Discussing the purpose of conducting a feasibility study 21 How can feasibility report help project manager in project selection, planning and design 23 II Feasibility criteria (P4) 23 Discussing how three feasibility criteria are applied to the project 23 Two technical solutions and comparing them about feasibility 26 III Components of a feasibility report (M2) 29 IV Accessing the impact of each feasibility criterion on a software investigation (D2) 31 TASK 1: SDLC MODEL I Describing SDLC models (P1-M1-D1) Describing SDLC models and choosing suitable one for the project (P1) 1.1 Waterfall Definition The Waterfall approach was established in 1970 by Winston w Royce It contains five phases of management, where each requires a deliverable from the previous phase to proceed Waterfall is ideal for projects like software development, where the end result is clearly established before starting, and is best suited for projects that require a lot of predictability Phases There are five phases of the Waterfall methodology: Requirements, Design, Implementation, Verification and Maintenance Requirements The Waterfall methodology depends on the belief that all project requirements can be gathered and understood upfront The project manager does their best to get a detailed understanding of the project sponsor’s requirements Written requirements, usually contained in a single document, are used to describe each stage of the project, including the costs, assumptions, risks, dependencies, success metrics, and timelines for completion Design Here, software developers design a technical solution to the problems set out by the product requirements, including scenarios, layouts, and data models First, a higher-level or logical design is created that describes the purpose and scope of the project, the general traffic flow of each component, and the integration points Once this is complete, it is transformed into a physical design using specific hardware and software technologies Implementation Once the design is complete, technical implementation starts This might be the shortest phase of the Waterfall process because painstaking research and design have already been done In this phase, programmers code applications based on project requirements and specifications, with some testing and implementation taking place as well If significant changes are required during this stage, this may mean going back to the design phase Verification or testing Before a product can be released to customers, testing needs to be done to ensure the product has no errors and all of the requirements have been completed, ensuring a good user experience with the software The testing team will turn to the design documents, personas, and user case scenarios supplied by the product manager to create their test cases Deployment and maintenance Once the software has been deployed in the market or released to customers, the maintenance phase begins As defects are found and change requests come in from users, a team will be assigned to take care of updates and release new versions of the software Figure Waterfall method phases Advantages and Disadvantages Advantages Dis-Advantages Before the next phase of development, each Error can be fixed only during the phase phase must be completed Suited for smaller projects where requirements are well defined It is not desirable for complex project where requirement changes frequently They should perform quality assurance test (Verification and Validation) before completing each stage Testing period comes quite late in the developmental process Elaborate documentation is done at every phase of the software’s development cycle Documentation occupies a lot of time of developers and testers Project is completely dependent on project team with minimum client intervention Clients valuable feedback cannot be included with ongoing development phase Small changes or errors that arise in the Any changes in software are made during the completed software may cause a lot of process of the development problems 1.2 V-model Definition The V-model is a type of SDLC model where process executes in a sequential manner in V-shape It is also known as Verification and Validation model It is based on the association of a testing phase for each corresponding development stage Development of each step directly associated with the testing phase The next phase starts only after completion of the previous phase i.e for each development activity, there is a testing activity corresponding to it The V-Model is a software development life cycle (SDLC) model that provides a systematic and visual representation of the software development process It is based on the idea of a “V” shape, with the two legs of the “V” representing the progression of the software development process from requirements gathering and analysis to design, implementation, testing, and maintenance Phases Requirements Gathering and Analysis: The first phase of the V-Model is the requirements gathering and analysis phase, where the customer’s requirements for the software are gathered and analyzed to determine the scope of the project Design: In the design phase, the software architecture and design are developed, including the highlevel design and detailed design Implementation: In the implementation phase, the software is actually built based on the design Testing: In the testing phase, the software is tested to ensure that it meets the customer’s requirements and is of high quality Deployment: In the deployment phase, the software is deployed and put into use Maintenance: In the maintenance phase, the software is maintained to ensure that it continues to meet the customer’s needs and expectations The V-Model is often used in safety-critical systems, such as aerospace and defense systems, because of its emphasis on thorough testing and its ability to clearly define the steps involved in the software development process Figure V-model method phases Advantages and Disadvantages Advantages:          This is a highly disciplined model and Phases are completed one at a time V-Model is used for small projects where project requirements are clear Simple and easy to understand and use This model focuses on verification and validation activities early in the life cycle thereby enhancing the probability of building an error-free and good quality product It enables project management to track progress accurately Clear and Structured Process: The V-Model provides a clear and structured process for software development, making it easier to understand and follow Emphasis on Testing: The V-Model places a strong emphasis on testing, which helps to ensure the quality and reliability of the software Improved Traceability: The V-Model provides a clear link between the requirements and the final product, making it easier to trace and manage changes to the software Better Communication: The clear structure of the V-Model helps to improve communication between the customer and the development team Disadvantages:         High risk and uncertainty It is not a good for complex and object-oriented projects It is not suitable for projects where requirements are not clear and contains high risk of changing This model does not support iteration of phases It does not easily handle concurrent events Inflexibility: The V-Model is a linear and sequential model, which can make it difficult to adapt to changing requirements or unexpected events Time-Consuming: The V-Model can be time-consuming, as it requires a lot of documentation and testing Overreliance on Documentation: The V-Model places a strong emphasis on documentation, which can lead to an overreliance on documentation at the expense of actual development work 1.3 Prototyping Definition The prototyping model is a systems development method in which a prototype is built, tested and then reworked as necessary until an acceptable outcome is achieved from which the complete system or product can be developed This model works best in scenarios where not all of the project requirements are known in detail ahead of time It is an iterative, trial-and-error process that takes place between the developers and the users Phases Step-1: Requirements gathering and analysis : Requirement analysis is the first step in developing a prototyping model During this phase, the system’s desires are precisely defined During the method, system users are interviewed to determine what they expect from the system Step-2: Quick design : The second phase could consist of a preliminary design or a quick design During this stage, the system’s basic design is formed However, it is not a complete design It provides the user with a quick overview of the system The rapid design aids in the development of the prototype Step-3: Build a Prototype : During this stage, an actual prototype is intended to support the knowledge gained from quick design It is a small low-level working model of the desired system Step-4: Initial user evaluation : The proposed system is presented to the client for preliminary testing at this stage It is beneficial to investigate the performance model’s strengths and weaknesses Customer feedback and suggestions are gathered and forwarded to the developer Step-5: Refining prototype : If the user is dissatisfied with the current model, you may want to improve the type that responds to user feedback and suggestions When the user is satisfied with the upgraded model, a final system based on the approved final type is created Step-6: Implement Product and Maintain : The final system was fully tested and distributed to production after it was developed to support the original version To reduce downtime and prevent major failures, the programmer is run on a regular basis Figure Prototyping method phases Advantages and Disadvantages Advantages       Customers get a say in the product early on, increasing customer satisfaction Missing functionality and errors are detected easily Prototypes can be reused in future, more complicated projects It emphasizes team communication and flexible design practices Users have a better understanding of how the product works Quicker customer feedback provides a better idea of customer needs Disadvantages The main disadvantage of this methodology is that it is more costly in terms of time and money when compared to alternative development methods, such as the spiral or Waterfall model Since in most cases the prototype is discarded, some companies may not see the value in taking this approach Additionally, inviting customer feedback so early on in the development lifecycle may cause problems One problem is that there may be an excessive amount of change requests that may be hard to accommodate Another issue could arise if after seeing the prototype, the customer demands a quicker final release or becomes uninterested in the product 1.4 Agile Definition The Agile methodology is a way to manage a project by breaking it up into several phases It involves constant collaboration with stakeholders and continuous improvement at every stage Once the work begins, team cycle through a process of planning, executing, and evaluating Continuous collaboration is vital, both with team members and project stakeholders Phases Concept At the onset of the Agile development life cycle, stakeholders and product owners join forces to outline the project’s scope and priorities They scrutinize costs, projected completion time, desired features, and requirements to determine the project’s feasibility Inception The inception phase is the second of six Agile development life cycle stages During this phase, the founder selects the appropriate team members, assigns roles, and provides the necessary tools to begin development Before beginning the development phase, it is essential to establish a plan and define the core set of methods and templates for future development activities This planning stage, known as the inception phase, consists of two parts  UI/UX design, where designers create a mock-up of the user interface and experience, thoroughly analyzing their competitors’ strengths and weaknesses  Product architecture, where the dedicated team discusses the most suitable tools to meet business requirements, including frameworks, containers, programming languages, etc At the end of this phase, the team and software structure is established, allowing you to move to the next stage Iteration This phase typically lasts the longest and involves close cooperation between developers and UI/UX designers to ensure that all business needs and feedback are incorporated into the code During this phase, the team works on the product backlog, completed through development sprints The iteration (or development) stage is fundamental to the agile approach, allowing the team to build a product with minimal features, with additional functionality added later Once the development stage is complete, it’s time to conduct quality assurance activities, create technical documentation, and end the iteration Testing After testing the digital product at the end of every sprint, the final testing phase is conducted to ensure the software operates flawlessly The Agile life cycle incorporates various types of testing, including:     Unit Testing: At this stage, the QA team separately evaluates each front-end and back-end component’s performance and functionality Integration Testing: This phase merges different product parts to verify their compatibility Acceptance Testing: Upon completing this phase, quality assurance specialists assess the digital solution’s adherence to end-user requirements System Testing: The entire system is evaluated to ensure all components function properly The QA team approves the next deployment phase if the tests are successful The designated team conducts all these procedures to assess the code’s quality and the product’s ability to fulfill business objectives After successfully passing all testing stages, it is time to release the product By the way, if you’re seeking top-notch quality assurance services delivered by industry experts, don’t hesitate to contact us! Release In this phase, the primary objective is to deliver a dependable and efficient product that meets customers’ requirements It is accomplished by conducting quality assurance testing to ensure the product is error-free and functions flawlessly upon release Once all the final testing and verification are completed, the product is prepared for launch To help users become acquainted with the software, development teams frequently offer training on using it efficiently When the dedicated team ends all the activities, they pass to the final phase Review Once an Agile software development project reaches this stage, the focus shifts from striving for a triumphant launch to sustaining long-term triumph The product has been released successfully, and customers frequently provide feedback, request new features, or interact with recent updates The Five Essential Steps of A Risk Management Process Identify the Risk Analyze the Risk Evaluate or Rank the Risk Treat the Risk Monitor and Review the Risk Figure Risk management process Step 1: Identify the Risk The initial step in the risk management process is to identify the risks that the business is exposed to in its operating environment There are many different types of risks:     Legal risks Environmental risks Market risks Regulatory risks etc It is important to identify as many of these risk factors as possible In a manual environment, these risks are noted down manually If the organization has a risk management solution employed all this information is inserted directly into the system Step 2: Analyze the Risk Once a risk has been identified it needs to be analyzed The scope of the risk must be determined It is also important to understand the link between the risk and different factors within the organization To determine the severity and seriousness of the risk it is necessary to see how many business functions the risk affects There are risks that can bring the whole business to a standstill if actualized, while there are risks that will only be minor inconveniences in the analysis In a manual risk management environment, this analysis must be done manually.When a risk management solution is implemented one of the most important basic steps is to map risks to different documents, policies, procedures, and business processes This means that the system will already have a mapped risk management framework that will evaluate risks and let you know the far-reaching effects of each risk Step 3: Evaluate the Risk or Risk Assessment Risks need to be ranked and prioritized Most risk management solutions have different categories of risks, depending on the severity of the risk A risk that may cause some inconvenience is rated lowly, risks that can result in catastrophic loss are rated the highest It is important to rank risks because it allows the organization to gain a holistic view of the risk exposure of the whole organization The business may be vulnerable to several low-level risks, but it may not require upper management intervention On the other hand, just one of the highest-rated risks is enough to require immediate intervention Step 4: Treat the Risk Every risk needs to be eliminated or contained as much as possible This is done by connecting with the experts of the field to which the risk belongs In a manual environment, this entails contacting each and every stakeholder and then setting up meetings so everyone can talk and discuss the issues The problem is that the discussion is broken into many different email threads, across different documents and spreadsheets, and many different phone calls In a risk management solution, all the relevant stakeholders can be sent notifications from within the system The discussion regarding the risk and its possible solution can take place from within the system Upper management can also keep a close eye on the solutions being suggested and the progress being made within the system Instead of everyone contacting each other to get updates, everyone can get updates directly from within the risk management solution Step 5: Monitor and Review the Risk Not all risks can be eliminated – some risks are always present Market risks and environmental risks are just two examples of risks that always need to be monitored Under manual systems monitoring happens through diligent employees These professionals must make sure that they keep a close watch on all risk factors Under a digital environment, the risk management system monitors the entire risk framework of the organization If any factor or risk changes, it is immediately visible to everyone Computers are also much better at continuously monitoring risks than people Monitoring risks also allows your business to ensure continuity

Ngày đăng: 02/02/2024, 10:36

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

Tài liệu liên quan