Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Risk Management in Software Development: Spiral Model and Its Importance, Study Guides, Projects, Research of Information Systems

The importance of risk management in software development, focusing on the Spiral Model. the phases of the SDLC, the significance of risk analysis, and the types of risks in software development. It also explains the process of risk assessment and mitigation in the Spiral Model. The document emphasizes the importance of risk management in maintaining the development of software systems and ensuring their control, inspection, and management.

Typology: Study Guides, Projects, Research

2021/2022

Uploaded on 08/05/2022

nguyen-huy-676
nguyen-huy-676 🇻🇳

13 documents

1 / 24

Toggle sidebar

Related documents


Partial preview of the text

Download Risk Management in Software Development: Spiral Model and Its Importance and more Study Guides, Projects, Research Information Systems 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 September 30, 2021 Date Received 1st submission Re-submission Date Date Received 2nd submission Student Name Nghiêm Thành Đông Student ID GCH190626 Class GCH0904 Assessor name Michael Omar 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: ❒ Resubmission Feedback: Grade: Assessor Signature: Date: Internal Verifier’s Comments: Signature & Date: I. Introduction. Since the software's inception, the more customers who wanted to use it, the more diversified the program became and the more difficult the customers' software requirements became. The customer's demands may be different in other instances. It might be tiny, huge, transparent, or completely opaque. As a result, if the creators are uninformed of the circumstance, there may be misunderstandings and issues. The software ignores the expectations of the consumer. As a result, a system that can comprehend the customer's request is required. This study will look at some of the components that go into developing a solid business strategy, such as developing a programming category that fits the needs of customers. II. SDLC model 1. What is SDLC (Software Development Life Cycle)? A software project's follow-up procedure is known as the Software Development Life Cycle (SDLC). It also includes instructions for creating, maintaining, modifying, or upgrading software. The Software Development Life Cycle (SDLC) is a framework that specifies the activities that must be accomplished at each step of the software development life cycle. The Software Evolution Life Cycle is a framework that guides the development of a development team in a software firm (Rajkumar, 2021). 2. SDLC Model Selection. Iterative models are included in the Software Development Life Cycle. The iterative methodology includes building a system in little parts at a time, using cycles (repetition) (ascending). Up until the system is completely functioning, the iterative paradigm prioritizes initial implementation, simplicity, increased complexity, and extended functionality. The SDLC includes a thorough plan for developing, producing, and maintaining specific software. Each step of the SDLC life cycle has its own set of processes and products that are needed in the next (Rajkumar, 2021). Picture1: the 6 Phases of SDLC:  Phases 1: Requirement Phase The most crucial stage of the software development lifecycle is acquiring and analyzing requirements. The first stage of the SDLC is the requirement phase. The Business Analyst gathers requirements from the Customer/Client in accordance with the client's business needs and documents them in the Business Requirement Specification (the name of the document changes depending on the organization). Customer Requirement Specification (CRS), Business Specification (BS), and other similar documents are examples of documents that are provided to the Development Team (Rajkumar, 2021).  Phases 2: Analysis Phase Following the requirement collection and analysis, the product requirements must be defined, documented, and accepted by the client. The Software Requirement Specification (SRS) document is used to do this. All of the product requirements that must be created and produced over the project life cycle are contained in the SRS. The Project Manager, Business Analyst, and Senior Team Members are all important players during this phase. The Software Requirement Specification is the product of this step (Rajkumar, 2021).  Phases 3: Design Phase There are two phases in this process: High-Level Design (HLD) is the architecture of the software product that will be produced, and it is done by architects and senior developers. Senior developers handle LLD (Low-Level Design). It explains how each feature and component of the product should function. Only the design, not the code, will be seen here. This phase yields a High-Level Document and a Low-Level Document, both of which are used as inputs in the following step (Rajkumar, 2021).  Phases 4: Development Phase This phase involves all levels of developers (seniors, juniors, and fresher). This is when we begin developing the program and writing the product's code. Source Code Document (SCD) and the finished product are the results of this step (Rajkumar, 2021).  Phases 5: Test Phase When the program is complete, it is delivered to the testing department, where it is carefully tested for various faults by the testing team. They either manually test the program or use automated testing tools, depending on the STLC (Product Testing Life Cycle) methodology, to verify that every component of the software functions properly. After the QA team has verified that the program is error-free, the software moves on to the next step, Implementation. The Quality Product and Testing Artifacts are the end products of this step (Rajkumar, 2021).  Phases 6: Development & Maintenance Phase The product is provided to the consumer for usage after successful testing. The Deployment/Implementation engineers are in charge of the deployment. When consumers begin to use the newly built system, problems will arise that must be addressed on a regular basis. The maintenance phase involves resolving faults discovered by the client. Because the method testers test the product differs from the way customers use the product, 100 percent testing is impossible. Maintenance should be carried out in accordance with the service level agreement (SLA) (Service Level Agreement) (Rajkumar, 2021). Design Phase – Coding, Internal Testing and deployment. Evaluation Phase – Client Evaluation (Client-side Testing) to get the feedback. Picture 3: Spiral model Advantages:  It permits modifications in requirements.  Appropriate for big, complex tasks.  It makes risk analysis easier.  Economical as a result of efficient risk management. Disadvantages:  This product is not appropriate for minor tasks.  The risk analysis stage is critical to the project's success.  Have to hire more experienced personnel, particularly for risk analysis, must be hired. c) V-model A strategy drives the V-model. It contains comparable components to the Waterfall model, but it's more difficult because each step of software development involves several testing phases. The V-model, we understand, is a variation of the Waterfall model, although it emphasizes testing needs more. Unlike the Waterfall model, the V-model does not have four stages as seen in the previous example. Analyzing, designing, and testing will all be used to run this model. This command will notify you of any project problems. This procedure will be repeated until the program has been completed. This approach is extremely useful in enhancing design and product quality since we will focus on testing to achieve the greatest outcome for the client's desires. This approach, however, has a number of disadvantages. The V-model, which evolved from the Waterfall model, is structured in such a way that its sequential execution is extremely rigorous (Rajkumar, 2021). Picture 4: V-model The V-Model approach has the benefit of being extremely simple to comprehend and implement. It's also easy to maintain because of the model's simplicity. The drawback is that the model is not adaptable to changes, and if a need changes, as is typical in today's dynamic environment, making the adjustment becomes prohibitively expensive. Advantages:  This is a very rigorous model and phases are completed one at a time in this methodology.  For smaller projects with well-defined needs, this method works effectively.  It's straightforward and simple to use.  The model's stiffness makes it easy to manage. There are defined deliverables for each step, as well as a review procedure. Disadvantages:  Uncertainty and high risk.  In sophisticated and object-oriented projects, this paradigm is ineffective.  This is a bad model for long-term projects.  Not appropriate for projects with a moderate to high risk of change in requirements.  It's tough to go back and modify functionality after an application is in the testing stage.  Until the end of the life cycle, no functioning software is generated. d) Prototyping model The adaptable model category includes the prototyping model. System prototyping and Throwaway prototyping are the two forms of prototyping in this approach. Both techniques start with a system prototype and work their way up from there. The distinction is in how each model makes use of the prototype that has been created. Any of these can be used for our goals depending on the user's demands. The first kind of prototyping paradigm is system prototyping. We'll build and test a system prototype using this model when we finish the design phase. We can finish and incorporate the prototype into the system if it meets all of the user demands. In a dynamic user environment where demands are continually added or altered during the software development process, system prototyping is acceptable. If there are any additional demands once we have the system prototype, we may create a small project to finalize the product instead of restarting the full project. While it has a fundamental and successful structure, the System prototyping model has several limitations. If the project requires new technology, which might be complex and challenging at times, we cannot utilize this paradigm. If it's a long-term project, it might result in a cascade of system failures and be quite costly. (Dennis, 2019) Figure 6: Rick management process In order for a well-developed software system to have control, inspection, and management, risk management is also extremely essential in maintaining the development of software systems and terms. The least dangerous level of threat. Several types of risks can harm this project:  Project construction risks: These hazards might occur at any point during the project and have a direct influence on the project's progress as well as project resource replacement. Sufficiency and change Project risk might include things like losing an expert project developer or market surveyor. Finding a developer or marketer with the required skills and expertise to fill the hole left by the departing employee might be challenging. Furthermore, synchronizing everything, including project and human resource management, will take extra time (Cole, 2021).  Product Risk: A project may occasionally encounter issues that jeopardize the end product's quality or the software's functioning. This sort of danger is exemplified by difficulties with the login feature. It has a detrimental effect on the user experience (Cole, 2021).  Business risk: A danger to software developers and purchasers. To advertise and introduce new items, hire a celebrity, for example. Worst- case scenario: she or he becomes embroiled in an argument. It's possible that it'll have an effect on your company (Cole, 2021). 2. The risk management approach The risks in spiral models, particularly when utilizing this spiral to build Tune Sources, are much reduced because, if used appropriately, this spiral model will reduce risks before they become Technical problems, and risks are taken into account at all stages.  The first stage in the risk management process is risk assessment, which is used by organizations and companies to determine the level of threat provided by possible threats, as well as the impact of development-related disadvantages.  Calculating Inherent Risk: Inherent risk refers to the possibility of a risk event occurring before any mitigation measures are adopted.  Risk assessments are a variety of studies that analyze and evaluate risks to establish risk levels. It can highlight risks at different phases based on cost variables, timelines, resources, and personnel.  Risk mitigation is limited to the risks that have the least impact, as well as the degree of risk exposure. A risk reduction solution is created and modeled to assess the amount of risk reduction vs the cost of implementation. No Describe Type of risk Probability Affect the project Solution 1 The group has never used a spiral model before. Personnel qualification Medium High Make sure the working groups are arranged correctly. are well-educated and have worked in the area for a period of time. As a consequence, the danger is decreased, and Analyses may be performed with ease. 2 Uncertainty about costs leads to the project has been postponed due to expenditures accrued in many phases. Risk of cost, time Low High To keep track of the project's expenditures, create a comprehensive and precise cost plan. While the project is under process, more investors may be contacted. 3 The firm had to cease functioning for a while Covid-19 was being developed. Time Very high Very high Organizing staff to use online tools such as Google Meet, Zoom, and others to install online working forms and manage operations efficiently. 4 If a virus infects an employee's PC, all project data might be lost. Technology High High To troubleshoot data protection issues, prepare another place to store text such as USB... Turn on security software and contact IT as soon as possible. 5 The project is behind schedule or is unclear. Quality Very high High Hold planning workshops with the project team to ensure that everyone is on board with the strategy and that no tasks are overlooked. At each weekly project progress meeting, share your goals and collaborate on forthcoming responsibilities. Significant risks have been found in the project's first and third hazards, respectively. Because of their influence on product quality and company operations, we picked those two risks. The second danger is tolerable since it occurs often in real life. We need to focus on making the product better. We must keep to the strategy in order to control risk. The solution's risk effect should be assessed during its deployment. If there is a better way to solve the problem, we should investigate changing the previous technique and potentially proposing that this activity be performed multiple times to test and select the best solution. As a result, risk management is essential in every project. If risk management isn't done, a slew of unfavorable issues will occur during development. Plan ahead of time to replace items in phases so the job works smoothly and costs are kept to a minimum. (Becker, 2004) IV. Discuss the purpose of conducting a feasibility study for the project. 1. Purpose of Feasibility A feasibility study is a technique for studying and assessing a project. To assess the project's capacity to be completed successfully, it examines all project- related factors, including economic, technical, legal, and planning concerns. Feasibility studies are used by project managers to assess a project's viability. They should consider the pros and downsides before investing a lot of time and money in a project. So, let's get started. Feasibility studies can also give valuable data to a company's management. The information can assist firms in avoiding high-risk ventures. A feasibility study considers all project-related issues, including economic, technical, legal, and planning problems, in order to determine the project's capacity to be completed successfully. The capacity to perform a task in a specific context under a set of conditions, as defined by the phrase "feasibility." In this case, the feasibility of a project refers to its c) Feasibility of the organization After the technical and economic feasibility studies are finished, we will have a risk management strategy to estimate. The feasibility study for the organization will be based on this document. The feasibility study for Tune Source comes to a close with the feasibility study for the organization. The project's features and risk management documents from the previous two feasibility studies will be used to determine if the project is appropriate for the company's development plan. Project managers will assess the project's impact on the organization in a variety of ways (operations, economy, human resources, and reliability) (Simplilearn, 2021). 3. Alternative solutions An alternative matrix may be used to arrange the advantages and disadvantages of design alternatives, allowing the best option to be chosen in the end. This matrix is produced using the same procedures as the feasibility analysis. The main difference is that the alternative matrix combines many feasibility assessments into a single matrix, making it easier to evaluate the alternatives. The alternative matrix is a grid that summarizes the technical, economic, and organizational viability of each system candidate, as well as the advantages and disadvantages of choosing each option and other pertinent information. Weights and scores are added to the alternative matrix to create a weighted alternative matrix that conveys the project's most important requirements and the best options for meeting them. A scorecard is made up of a "weight" column with a number reflecting the importance of each factor to the final decision. Analysts frequently divide 100 points equally across the criteria. If there were five criteria and they all mattered equally, each would be given a weight of 20. If cost were the most important consideration in choosing an option, it may get 60 points, whereas the other four might only get 10 points apiece. V. Technical Solution 1. Custom Development Without a question, custom development is the most efficient method of system development. Teams, in particular, have total command of the system's operations and procedures. The custom development process at Tune Source consists of the following steps: Tune Source will require a more sophisticated and high-quality professional specialized program if they want to have a function in the future that is directly linked to selling CDs on their website. All of Tune Source's information systems are built using industry-standard technology and interface design, making both management and customer systems simple to upgrade and support. Select customized development is the most practical option in a technological environment when it comes to the difficulties that must be handled with a very essential new system that requires substantial system processes. Developers may also tackle business problems in a more flexible and inventive way with custom development. Tune Source's main objective is to offer clients digital music through the company's website. The company may want to use system data to gain a better understanding of customers who buy digital music over the Internet, and they may want to build systems that are more adaptable to technologies like data mining software and systems. Geographic data is needed for doing marketing research. Custom creation will enable components to take advantage of existing technology to assist one another in such ways, while also allowing for simpler modification. 2. Packaged Software Aside from the ability to create bespoke software, packaged software has a slew of other benefits. There are thousands of commercial software programs available to meet a wide range of requirements. Low-cost software in the form of a word processor. With applications that have been created, tested, and verified, packaged software may meet demands such as payroll or receivables. The packing system, in contrast to the customs system, maybe quickly obtained and deployed. Packaging strategies also take into account the program creator's expertise and understanding. Tune Source must be able to provide a simple, fast, and flexible method of delivering purchased music to customers via the Internet. The objective of server- side download management software is to make file delivery as efficient as possible. Some of these items are free, while others include them as part of the entire purchasing process. Since then, Tune Source has preferred packaged software. 3. Evaluation Custom application using C# Custom application using java Packaged Application using Python Evaluation criteria Importance (weigh ) Score(1-5) Weighed score Score(1-5) Weighed score Score(1-5) Weighed score Technical issue Security 20 5 100 4 90 3 70 Clear and friendly interface 10 4 50 4 40 3 45 Integrated with other system 10 5 50 4 45 3 35 Supported to multiple platform 10 4 40 5 55 3 30 Economic issue Cost for development 20 4 40 3 30 5 50 Profit gained 10 4 90 5 100 4 80 Organizational issue Interface customization 20 5 100 4.5 100 3 70 Total 100 470 460 370 Java is a tried-and-true open-source programming language that provides your company peace of mind when it comes to building dependable and expandable bespoke apps, and Java projects can provide that peace of mind. The interface is beautiful, and the customer satisfaction is great, however, they are pricey and only suitable for huge projects. You are not creating a solution to enhance customer interactions or a completely new product to manage a million requests in a single day. Java's scalability means that it can be scaled up when your company expands and you want a solution to handle increased traffic or demands...We live in an era where data breaches occur on a daily basis, and C # is a secure, high-level language that, when paired with infrastructure and safeguards, may help defend your business from any data breaches. ideal for small and medium projects to save time and money, and its pricing is fairly acceptable. Python is the simplest and easiest language to learn, which helps programmers save time and energy while completing projects. However, because it is the simplest, Python's security is relatively weak when compared to the other two options. There is still France and the Custom application using C # is the technique with the greatest score for being suited for the project, according to evaluation and comparison. VI. Conclusion: The software development lifecycle is a structural paradigm that aims to generate high-quality software in all aspects while meeting the basic needs of customers at various phases of product development. The development project Tune Source is perhaps the most reasonable, with specific answers based on valid technical, economic, and organizational analyses, when employing the spiral technique. The technique of managing a Software Development Life Cycle (SDLC) is essential for developing a good system that fulfills user needs. Because the request is growing increasingly complex, it necessitates the adoption of an acceptable technique, which has been extensively evaluated. We should also pay-related issue that impacts project viability should also be taken into consideration. Having a solid understanding of the project will help it go more smoothly.
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved