Assignment 1 _ Software Life Cycle | Study Guides, Projects, Research Computer Science | Docsity
Download Assignment 1 _ Software Life Cycle and more Computer Science Study Guides, Projects, Research in PDF only on Docsity! (2 UNIVERSITY of
is/ GREENWICH
Alliance with aGs. Education
Higher Nationals in Computing Unit 9: Software Development Life Cycle ASSIGNMENT 1 Assessor name: PHAN MINH TAM Learner’s name: Nguyen Huy Nhat Tan ID: GCS210161 Class: GCS1004A Subject code: 1631 Assignment due: Assignment submitted: Assignment Brief 01 (RQF) Higher National Certificate/Diploma in Business Student Name/ID Number: GCS210161 Nguyen Huy Nhat Tan Unit Number and Title: Unit 09: Software Development Life Cycle Academic Year: 2021 – 2022 Unit Assessor: TamPM Assignment Title: Plan a software development life cycle Issue Date: 10/Jan/2022 Submission Date: Internal Verifier Name: Date: Submission Format: Format: ● The submission is in the form of 1 document. ● You must use the Times font with 12pt size, turn on page numbering; set line spacing to 1.3 and margins to be as follows: left = 1.25cm, right = 1cm, top = 1cm, bottom = 1cm. Citation and references must follow the Harvard referencing style. Submission: ● Students are compulsory to submit the assignment in due date and in a way requested by the Tutor. ● The form of submission will be a soft copy posted on http://cms.greenwich.edu.vn/. ● Remember to convert the word file into PDF file before the submission on CMS. Note: ● The individual Assignment must be your own work, and not copied by or from another student. ● If you use ideas, quotes or data (such as diagrams) from books, journals or other sources, you must reference your sources, using the Harvard style. ● Make sure that you understand and follow the guidelines to avoid plagiarism. Failure to comply this requirement will result in a failed assignment. Unit Learning Outcomes: LO1 Describe different software development lifecycles. LO2 Explain the importance of a feasibility study. Assignment Brief and Guidance: Assignment 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 specialising 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. System Request Project Sponsor: Carly Edwards, Assistant Vice President, Marketing. Business Need: This project has been initiated to increase sales by creating the capability of selling digital music downloads to customers through kiosks in our stores, and over the Internet using our website. Business Requirements: Using the Web or in-store kiosks, customers will be able to search for and purchase digital music downloads. The specific functionality that the system should have includes the following: ● Search for music in our digital music archive. ● Listen to music samples. ● Purchase individual downloads at a fixed fee per download. ● Establish a customer subscription account permitting unlimited downloads for a monthly fee. ● Purchase music download gift cards. Business Value: We expect that Tune Source will increase sales by enabling existing customers to purchase specific digital music tracks and by reaching new customers who are interested in our unique archive of rare and hard-to-find music. We expect to gain a new revenue stream from customer subscriptions to our download services. We expect some increase in cross-selling, as customers who have downloaded a track or two of a CD decide to purchase the entire CD in a store or through our website. We also expect a new revenue stream from the sale of music download gift cards. Conservative estimates of tangible value to the company include the following: ● $757,500 in sales from individual music downloads. ● $950,000 in sales from customer subscriptions. ● $205,000 in additional in-store or website CD sales. ● $153,000 in sales from music download gift cards. Special Issues or Constraints: ● The marketing department views this as a strategic system. The ability to offer digital music downloads is critical in order to remain competitive in our market niche. Our music archive of rare and hard-to- find music is an asset that is currently underutilized. ● Many of our current loyal customers have been requesting this capability, and we need to provide this service or face the loss of these customers’ business. ● Because customers have a number of music download options available to them elsewhere, we need to bring this system to the market as soon as possible. Tasks Complete the following tasks: Task 1 – SDLC model You are a project manager of a company named ABC. Your company has been hired by Tune Source to carry out a project that helps them develop a software for the requirements specified in the system request. As the first step, you need to: 1. Describe the following SDLC models: waterfall, v-model, prototyping, scrum and spiral. Choose one that Learning Outcomes and Assessment Criteria (Assignment 01): Learning Outcome Pass Merit Distinction LO1 Describe different software development lifecycles P1 Describe two iterative and two sequential software lifecycle models. P2 Explain how risk is managed in the Spiral lifecycle model. M1 Describe, with an example, why a particular lifecycle model is selected for a development environment. D1 Assess the merits of applying the Waterfall lifecycle model to a large software development project. LO2 Explain the importance of a feasibility study P3 Explain the purpose of a feasibility report. P4 Describe how technical solutions can be compared. M2 Discuss the components of a feasibility report. D2 Assess the impact of different feasibility criteria on a software investigation. Contents Unit 9: Software Development Life Cycle ASSIGNMENT 1……………………………………………………………………………2 Assignment Brief 01 (RQF)……………………………………………………………………………………………………………………..3 Higher National Certificate/Diploma in Business…………………………………………………………………………………….3 A. Describe two iterative and two sequential software life cycle models (P1)………………………………………………..1 1. Introduction to System development lifecycle……………………………………………………………………………………….1 1.1. Definition of System Development Life Cycle (SDLC)…………………………………………………………………………1 1.2. Purposes of SDLC…………………………………………………………………………………………………………………………1 2. Two sequential software lifecycle models……………………………………………………………………………………………..1 2.1. Waterfall model…………………………………………………………………………………………………………………………..1 2.1.1. Definition………………………………………………………………………………………………………………………………..1 2.1.2. Advantages……………………………………………………………………………………………………………………………..3 2.1.3. Disadvantages………………………………………………………………………………………………………………………….3 2.1.4. When to use……………………………………………………………………………………………………………………………4 2.2. Reuses – Oriented Software Engineering…………………………………………………………………………………………4 2.2.1. Definition………………………………………………………………………………………………………………………………..4 2.2.2. Advantages……………………………………………………………………………………………………………………………..5 2.2.3. Disadvantages………………………………………………………………………………………………………………………….5 2.2.4. When to use……………………………………………………………………………………………………………………………6 3. Two iterative software lifecycle models………………………………………………………………………………………………..6 3.1. Incremental Development…………………………………………………………………………………………………………….6 3.1.1. Definition………………………………………………………………………………………………………………………………..6 3.1.2. Advantages……………………………………………………………………………………………………………………………..7 3.1.3. Disadvantages………………………………………………………………………………………………………………………….7 3.1.4. When to use……………………………………………………………………………………………………………………………8 3.2. Spiral model………………………………………………………………………………………………………………………………..8 4. The model is used in the Tune Source project………………………………………………………………………………………..8 A method for iterative software development called the spiral model concentrates on risk management. The Spiral Model may still be applied to improve Tune Source’s website production process even if the firm is primarily a retailer…………………………………………………………………………………………………………………………………9 The Spiral Model might be used in the creation of the Tune Source website:………………………………………………..9 • Establish goals and specifications………………………………………………………………………………………………………….9 • Recognize and assess potential dangers…………………………………………………………………………………………………9 • Create a website prototype………………………………………………………………………………………………………………….9 • Test and assess the prototype………………………………………………………………………………………………………………9 • Improve the prototype depending on input……………………………………………………………………………………………9 • Launch the website……………………………………………………………………………………………………………………………..9 • Track and modify the website throughout time………………………………………………………………………………………9 B. Explain how risk is managed in the Spiral lifecycle model (P2)………………………………………………………………….9 1. Risk management………………………………………………………………………………………………………………………………9 2. Risk management process…………………………………………………………………………………………………………………..9 3. Risk management matrix in Tune Source project………………………………………………………………………………….10 4. How to manage risks in the Spiral lifecycle model…………………………………………………………………………………10 C. Explain the purpose of a feasibility report (P3)…………………………………………………………………………………….11 1. What is a feasibility study………………………………………………………………………………………………………………….11 2. The purpose of a feasibility report……………………………………………………………………………………………………..12 3. Feasibility study on Tune Source project……………………………………………………………………………………………..13 3.1. Economic feasibility……………………………………………………………………………………………………………………13 3.2. Organization feasibility……………………………………………………………………………………………………………….13 3.3. Technical Feasibility……………………………………………………………………………………………………………………14 3.4. Schedule Feasibility……………………………………………………………………………………………………………………15 D. Describe how technical solutions can be compared (P4)……………………………………………………………………….15 1. What is a requirements…………………………………………………………………………………………………………………….15 2. Types of requirements………………………………………………………………………………………………………………………16 2.1. Functional requirements…………………………………………………………………………………………………………….16 2.2. Non-functional requirements………………………………………………………………………………………………………17 3. How to determine requirements………………………………………………………………………………………………………..17 4. Requirements elicitation techniques…………………………………………………………………………………………………..18 4.1. Interviews…………………………………………………………………………………………………………………………………18 4.2. Joint Application Development (JAD)……………………………………………………………………………………………19 4.3. Questionnaires………………………………………………………………………………………………………………………….19 4.4. Document Analysis…………………………………………………………………………………………………………………….20 4.5. Observation………………………………………………………………………………………………………………………………21 5. Comparison of requirements elicitation techniques……………………………………………………………………………..21 Interviews…………………………………………………………………………………………………………………………………………..21 Joint Application Design……………………………………………………………………………………………………………………….21 Questionnaires……………………………………………………………………………………………………………………………………21 Document Analysis………………………………………………………………………………………………………………………………21 6B UNIERSITY 4 Pd
sian “BTEC
ASSIGNMENT 1 ANSWERS A. Describe two iterative and two sequential software life cycle models (P1). 1. Introduction to System development lifecycle. 1.1. Definition of System Development Life Cycle (SDLC). – System Development Life Cycle is also known as Application Development Lifecycle or Software Development Lifecycle. It is the process of planning, developing, testing and implementing a specific information system. Figure 1: SDLC 1.2. Purposes of SDLC. – The System Development Life Cycle typically comprises six distinct stages and is adaptable to a number of software and hardware combinations. Analysis, design, development, testing, implementation, documentation, and evaluation are the stages that comprise this process. 2. Two sequential software lifecycle models. 2.1. Waterfall model. 2.1.1. Definition. – The Waterfall Approach was the first commonly used SDLC Model in software engineering to assure project success. The entire P a g e | 1 software development process is split into several phases using “The Waterfall” technique. Typically, the results of one step in this waterfall model serve as the input for the subsequent phases in turn. Figure 2: Waterfall model – The Waterfall model’s successive phrases are: o Requirement Gathering and Analysis: During this stage, all potential system needs are gathered and outlined in a requirement specification document. o System Design: In this phase, the required specifications from the previous phase are examined, and the system design is created. This system design aids in determining the overall system architecture as well as the hardware and system requirements. o Implementation: In this phase, the required specifications from the previous phase are examined, and the system design is created. This system design aids in determining the overall system architecture as well as the hardware and system requirements. o Verification: Following the testing of each unit created P a g e | 2 definition, information about the component that was chosen during the component analysis is used. Requirements are changed based on the components that are available. If the requirements need to be changed, the component analysis process is utilized again to discover a comparable solution. – System Design: This phase sees the development of the system’s design. While organizing the framework, the designer must take the reused component into account. When reusable components are not available, new software is created. – Development and Integration: To create new software, COTS systems and components are merged. In this paradigm, integration is a component of development rather than a distinct endeavor. 2.2.2. Advantages – Because many of the system’s components are premade, reusing software needs less work. – The development team can save time by reusing the pre-made components. – Time and effort savings result in lower total costs. – When you are given ready-made components, you may concentrate on the brand-new components that are not yet available. – Reusing software frees up time that may be spent on ensuring and maintaining the quality of software. 2.2.3. Disadvantages – The genuine application of the reuse-oriented approach is not always put into effect. – Compromises in requirements might result in a system that doesn’t meet user needs. P a g e | 5 – Occasionally, employing an outdated system component that is incompatible with a newer version of that component might have an effect on how the system evolves. 2.2.4. When to use – Reuse-oriented software engineering is best implemented in projects that: o Expensive software. o Repeated similar initiatives. o Short time to market. o Not many other resources. 3. Two iterative software lifecycle models. 3.1. Incremental Development. 3.1.1. Definition. – A process paradigm used in software engineering called incremental development stresses the value of moving slowly toward a goal. In contrast to the waterfall approach of software development, where a functioning system is only made accessible during the project’s latter stages, incremental development starts with a modest, functional system that is gradually enhanced and enlarged. P a g e | 6 Figure 4: Incremental development 3.1.2. Advantages. – Some advantages of Incremental Development: o Because incremental development grows gradually and facilitates revisiting various discrete phases, it is particularly helpful. o Varying parts of the same project may take different amounts of time to complete when using incremental development. o Since there is a broad segmentation of the entire project, it is simple to arrange developmental stages in incremental development. 3.1.3. Disadvantages. – The drawback of the Incremental development include: o For the product to be broken down into modules, all requirements must be known. o Unless paired with working in iterations, less capable of adapting to changes in needs. o Until every component is in place, the product won’t be finished. o It might be difficult and needs extra work to get the pieces P a g e | 7 o Risk needs to be watched over and managed. 3. Risk management matrix in Tune Source project. – The Spiral approach uses a risk management matrix as a tool to manage and prioritize risks. It helps the development team decide which risks need the most attention by graphically representing prospective hazards, their likelihood, and effects. Columns for risk description, likelihood, impact, risk assessment, and risk mitigation approach are included in the matrix. By ensuring that possible risks are handled proactively, this tool helps to increase the chance of project success. o Planning: The project team assesses any risks that can materialize during the planning stage. The risks may be identified by study, team member experience, or prior experience. o Risk analysis: When a risk has been identified and investigated, its likelihood and impact are evaluated. The hazards are then categorized using the risk matrix. o Development: The possibility and effect of a risk are assessed when it has been discovered and examined. The risk matrix is then used to classify the dangers. o Testing: The tried-and-true strategies are put to the test to assess how successfully they reduce the identified risks. The testing may involve simulations or actual tests. o Refinement: Based on the results of the testing, the project team makes adjustments to the strategies to improve their effectiveness in lowering the identified risks. o Repeat: The aforementioned procedures are continually carried out throughout the project to ensure that any new hazards are identified and dealt with. 4. How to manage risks in the Spiral lifecycle model. P a g e | 10 – The Spiral lifecycle model provides a systematic strategy for managing risk in a project. The Spiral model’s risk management phases are as follows: o Identify Potential Risks: The development team evaluates potential project difficulties such technical, financial, schedule, and resource hazards as well as requirements, quality, and security risks. o Assess Risks: To help identify the risks that need the most attention, the project team examines the likelihood and impact of each risk. o Develop Risk Mitigation Solutions: The development team develops strategies for lowering each risk using the risk analysis, such as adding resources, changing the development methodology, or revising the project schedule. o Use risk-reduction strategies: The development team uses risk mitigation to lessen the effect of recognized threats. C. Explain the purpose of a feasibility report (P3). 1. What is a feasibility study. – A feasibility study evaluates the chances that a proposed project, such a new product line or technological system, would be successful. To determine if the project is worthwhile of investment, the research examines the pertinent technical, economic, and legal elements. P a g e | 11 Figure 6: Feasibility Study 2. The purpose of a feasibility report. – When considering the launch of a new initiative, feasibility studies are crucial. Any corporation making the decision to accept a suggested business plan is making an investment, therefore it is wise to consider all the variables that affect a project from the beginning to the end. – Below are a few reasons feasibility studies are important: o Finds good reasons to approve or reject a project concept. o Increases the project team’s focus. o Provide pertinent information for the actions to be taken following the research. o Limits possible commercial options. o Evaluates the available and required technologies and resources. P a g e | 12 3.4. Schedule Feasibility – Tune Source must assess its capacity to do so in order to ensure that activities and projects are finished within a given time range. This review entails looking at a number of things, including workforce needs, inventory management, sales and marketing campaigns, and IT projects. Tune Source can make sure company has the resources to support its growth and stay competitive in the music market by managing these aspects efficiently. D. Describe how technical solutions can be compared (P4). 1. What is a requirements. – A requirement is a declaration of what the system must a accomplish or of the qualities it must posses. Figure 9: Requirements – Requirements describe: o Business requirements. o User requirements. P a g e | 15 o Functional requirements. o Non-functional requirements. o System requirements 2. Types of requirements. 2.1. Functional requirements. – An explanation of how a system must work is known as a functional requirement. It specifies what has to be done by the system in order to fulfill user demands or expectations. The characteristics that the user notices can be thought of as functional requirements. Figure 10: Functional requirements – Example: Users must be able to create an account, explore product categories, conduct product searches, add things to shopping carts, proceed with secure checkout, examine purchase histories, manage wish lists, contact customer support, use discounts and promotions, and monitor shipment and delivery details. P a g e | 16 2.2. Non-functional requirements. – The limitations or restrictions placed on the system are known as non-functional requirements. They outline the software’s quality feature. Scalability, maintainability, performance, portability, security, dependability, and many more challenges are covered by non-functional requirements. Figure 11: Non-functional requirements – Example: Performance, security, scalability, usability, compatibility, dependability, maintainability, accessibility, compliance, and availability are examples of non-functional criteria for a website. Instead than dictating what the website should accomplish, these criteria describe how it should function. 3. How to determine requirements. – There are several steps to determine requirements for a project, product, or system: o Identify stakeholders: Finding out who the stakeholders are and what they need is the first step. Customers, users, and internal staff are all included in this. o Gather requirements: The next stage is to compile the stakeholders’ needs. Numerous methods, including surveys, P a g e | 17 Figure 14: questionnaires 4.4. Document Analysis. – Using this method, needs are gathered by looking at already- existing papers. It is helpful for obtaining requirements for an existing system and for eliciting needs from stakeholders who are no longer available. The documentation might not be current, and it might not reveal all criteria. P a g e | 20 Figure 15: Document analysis 4.5. Observation. – In order to acquire requirements, this approach entails watching the actions and procedures of stakeholders. It helps to clarify the requirements’ context and to identify any implicit needs. It might not, however, reach every stakeholder or identify every demand. Figure 16: Observation 5. Comparison of requirements elicitation techniques. Interviews Joint Application Design Questionnaires Document Analysis Observation Type of information As-is, improvements, to-be As-is, improvements, to-be As-is, improvements As-is As-is Depth of information High High Medium Low Low Breadth of information Low Medium High High High Low Integration of information Low High Low Low Low User involvement Medium High Low Low Low Cost Medium Low-Medium Low Low Low-Medium P a g e | 21 REFERENCES 1. Simplilearn (2023) What is elicitation: Top requirement elicitation techniques for 2023, Simplilearn.com. Simplilearn. Available at: https://www.simplilearn.com/what-is-elicitation-article (Accessed: February 10, 2023). 2. Editor (2019) Functional and nonfunctional requirements: Specification and types, AltexSoft. AltexSoft. Available at: https://www.altexsoft.com/blog/business/functional-and-non-functional-requirements- specification-and-types/ (Accessed: February 10, 2023). 3. Staff, R. (2020) What are requirements?, Requirements.com. Requirements.com. Available at: https://requirements.com/Content/What-is/what-are-requirements (Accessed: February 10, 2023). 4. Organizational feasibility analysis – definition and more (no date) the. Available at: https://the-definition.com/term/organizational-feasibility-analysis (Accessed: February 10, 2023). 5. Whyatt, T. (2023) The Pros and cons of Waterfall Software Development, One Beyond. Available at: https://www.one-beyond.com/pros-cons-waterfall-software-development/ (Accessed: February 10, 2023). 6. Hina (1970) Reuse-oriented software engineering, Reuse-Oriented Software Engineering. Available at: https://softwarekno.blogspot.com/2016/09/reuse-oriented-software-engineering.html (Accessed: February 10, 2023). 7. Reuse oriented model (2020) GeeksforGeeks. GeeksforGeeks. Available at: https://www.geeksforgeeks.org/reuse-oriented-model/ (Accessed: February 10, 2023). 8. SDLC – V-model (2021) TutorialsPoint. TutorialsPoint. Available at: https://www.tutorialspoint.com/sdlc/sdlc_v_model.htm (Accessed: February 10, 2023). 9. Parallel model (no date) martinfowler.com. Available at: https://martinfowler.com/eaaDev/ParallelModel.html (Accessed: February 10, 2023). 10. The modern Static Analysis Platform (no date) DeepSource. Available at: https://deepsource.io/glossary/incremental-development/ (Accessed: February 10, 2023). 11. Advantages and disadvantages of Incremental Process Model (2022) GeeksforGeeks. GeeksforGeeks. Available at: https://www.geeksforgeeks.org/advanategs-and-disadvanategs-of-incremental-process- model/ (Accessed: February 10, 2023). 12. Software engineering: Spiral model (2022) GeeksforGeeks. GeeksforGeeks. Available at: https://www.geeksforgeeks.org/software-engineering-spiral-model/ (Accessed: February 10, 2023). 13. What is Agile Methodology in project management? (no date) Wrike. Available at: https://www.wrike.com/project-management-guide/faq/what-is-agile-methodology-in-project- management/ (Accessed: February 10, 2023). 14. What is scrum methodology? & scrum project management (2019) Digite. Available at: https://www.digite.com/agile/scrum-methodology/ (Accessed: February 10, 2023). P a g e | 22