Download Software Development Life Cycle - Assignment 2 and more Papers Computer Applications in PDF only on Docsity!
ASSIGNMENT 0 2 FRONT SHEET
Qualification BTEC Level 5 HND Diploma in Computing Unit number and title Unit 0 9: Software Development Life Cycle Submission date 03 Jan 2022 Date Received 1st submission Re-submission Date 07 Jan 2022 Date Received 2nd submission Student Name Hồ Ngọc Khánh Student ID GCS Class GCD0901 Assessor name Mr. Ananta Kar 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 Khanh Grading grid P5 P6 P7 M3 M4 M5 M6 D3 D
❒ Summative Feedback: ❒ Resubmission Feedback:
Grade: Assessor Signature: Date: Internal Verifier’s Comments: Signature & Date:
- Discuss two quality assurance techniques that can help improve the software quality in the project
- I. Undertake a software investigation to meet a business need (P5)
- Identify the stakeholders, their roles and interests in the case study
- what requirements 2. Review the requirement definition of the project. Clearly indicate which stakeholder(s) provide
- Business Need........................................................................................................................................
- Discuss the relationships between the FRs and NFRs
- Discuss the technique(s) you would use to obtain the requirements
- i. Interview
- ii. Joint Application Development (JAD)/ Requirement Workshops
- iii. Survey/Questionnaire......................................................................................................................
- iv. Prototyping
- v. Observation
- vi. Focus Group
- vii. Document Analysis/Review
- viii. Stakeholder Analysis
- supporting documentation (P6) II. Use appropriate software analysis tools/techniques to carry out a software investigation and create
- Use-case diagram
- Use-case specification
- i. Use-case specification for Searching for songs
- ii. Use-case specification for Listening to songs online
- iii. Use-case specification for Paying for songs
- iv. Use-case specification for Registering.............................................................................................
- v. Use-case specification for Logging
- vi. Use-case specification for Downloading songs
- vii. Use-case specification for Calling for help
- Entity relationship diagram (ERD)
- Context Diagram
- Data Flow Diagram
- III. Analyze how software requirements can be traced throughout the software lifecycle (M3)
- IV. Discuss two approaches to improving software quality (M4)
- Discuss two software quality attributes that are applicable to the project
- i. Performance
- ii. Security
- i. Involve a QA team starting with the discovery phase
- ii. Test-driven development
- software quality 3. Discuss how the design techniques and approaches that you have used can help improve the
- i. Clear-cut Scope
- ii. Retrospection After Every Sprint
- V. Explain how user and software requirements have been addressed (P7)
- Wireframe............................................................................................................................................
- Mockup
- Hardware Architecture
- i. 3 - tier
- ii. N-tier tier
- Wireframe of Tune Source application
- VI. Discuss how activity diagram and pseudocode are used to specify the software behavior (M5)
- Software Stack
- Activity Diagram
- Pseudo Code
- between FSM and extended FSM using the case study (M6) VII. Discuss how UML state machine can be used to specify the software behavior. Differentiate
- State Diagram
- Finite State Machine and Extended-Finite State Machine
- State Machine Diagram for Tune Source.............................................................................................
- VIII. References
- Figure 1: FRs AND NFRs FIGURES AND TABLES
- Figure 2: REQUIREMENTS ELICITATION
- Figure 3: USE-CASE DIAGRAM
- Figure 4: ENTITY RELATIONSHIP DIAGRAM
- Figure 5: CONTEXT DIAGRAM
- Figure 6: DATA FLOW DIAGRAM
- Figure 7: WIREFRAME
- Figure 8: MOCKUP
- Figure 9: 3-TIER HARDWARE ARCHITECTURE
- Figure 10: N-TIER HARDWARE ARCHITECTURE
- Figure 11: TUNE SOURCE'S HOME PAGE
- Figure 12: TUNE SOURCE'S ALBUM VIEW
- Figure 13: TUNE SOURCE'S SEARCH ENGINE
- Figure 14: TUNE SOURCE'S CALL SUPPORT
- Figure 15: TUNE SOURCE'S RECOMMENDATION SYSTEM
- Figure 16: SOFTWARE STACK...........................................................................................................................
- Figure 17: EXAMPLE OF ACTIVITY DIAGRAM
- Figure 18: EXAMPLE OF PSEUDO CODE
- Figure 19: FINITE STATE MACHINE
- Figure 20: EXTENDED-FINITE STATE MACHINE................................................................................................
- Figure 21: STATE MACHINE DIAGRAM
- Table 1: REQUIREMENTS AND STAKEHOLDERS OF THE PROJECT
- Table 2: USE-CASE SPEC FOR SEARCHING SONGS
- Table 3: USE-CASE SPEC FOR LISTENING FOR SONGS
- Table 4: USE-CASE SPEC FOR PAYING FOR SONGS
- Table 5: USE-CASE SPEC FOR REGISTERING.....................................................................................................
- Table 6: USE-CASE SPEC FOR LOGINING
- Table 7: USE-CASE SPEC FOR DOWNLOADING SONGS....................................................................................
- Table 8: USE-CASE SPEC FOR CALLING FOR HELP
- Table 9: REQUIREMENT TRACIBILITY MATRIX
- Table 10: COMPARISON BETWEEN FSM AND EFSM
2. Review the requirement definition of the project. Clearly indicate which
stakeholder(s) provide what requirements
NUMBER REQUIREMENTS STAKEHOLDERS
Search for songs or artist using search engine on the website Tune Source and customers 2 Be able to listen to songs on the website Tune Source and customers 3 Pay for songs and subscription Customers and payment system 4 Download songs Customers and Cloud Service 5 Call for help Tune Source, customers and Content Managing System 6 Clean design Tune Source, employees and Content Managing System 7 Good performance website Tune Source, employees, and website hosting service Table 1 : REQUIREMENTS AND STAKEHOLDERS OF THE PROJECT
3. Business Need
TUNE SOURCE FUNCTIONAL REQUIREMENTS
- Tune Source E-portal platform : Create an internet platform application that allows clients to listen to music online.
- Account Register and Login : The user must be able to register their own account details and connect to the website using that registered account. Users must first log in before they may purchase and listen to tracks.
- A purchasing system provides multiple options : A system that offers a variety of payment alternatives and methods for downloading music.
- Monthly Subscription : Customers can subscribe for an extended period of time and freely listen to any tune they choose.
- Search Engine : By entering a term, the engine will search for songs that have anything in common with the keyword and show them on the website.
- Call Support : You should be able to request assistance via the live chat box, or the website should include contact information for the supporter so that the user may contact them. TUNE SOURCE NON-FUNCTIONAL REQUIREMENTS
- User-friendly functionalities: Provide consumers with a plethora of built-in functions in order to maximize their time spent with Tune Source.
- Good Performance: The interaction between the website and the user must be as quick as possible.
- Minimalist UI: Keep the user interface as simple as possible so that clients will have an easier time using the program.
- Security: It is vital to guarantee that harmful software is not infected in order to secure user information.
- Integration testing: Integration testing is used to assess a system's or component's compliance with stated functional requirements.
- API testing: API testing is currently seen as critical for automation since APIs are the primary interface to application functionality.
4. Discuss the relationships between the FRs and NFRs
Although both functional and non-functional requirements are required, the question is whether it is necessary to distinguish between them. To a certain extent, no. In practice, developers never draw a distinction between the two, instead simply doing their job – executing the features of the product as well as possible. Nevertheless, when it comes to the client's needs, the distinction between functional and non- functional approaches is critical. When a client embarks on a project, he has specific needs and desires. Both needs and desires should be incorporated into the work scope, and this is where the distinction comes into play. After reviewing the budget and costs, the client may decide that some requirements can be modified, simplified, or replaced. Changes are typically made only to non-functional requirements. (Anon., 2016)
Figure 2 : REQUIREMENTS ELICITATION i. Interview This is the most common technique for eliciting requirements. Strong relationships between business analysts and stakeholders should be built through the use of interview techniques. In this technique, the interviewer asks questions of stakeholders in order to gather information. The most common technique is one-on-one interviews. A structured interview is one in which the interviewer asks a predetermined set of questions. An unstructured interview occurs when the interviewer does not follow a specific format or asks specific questions. Consider the 5 Why technique for an effective interview. When you have received answers to all of your Whys, your interview is complete. To provide detailed information, open-ended questions are used. In this interview, the interviewee can only say Yes or No. ADVANTAGES : Because they can be scheduled for a shorter period of time, these interviews are the most common and efficient. They're also the most adaptable interviews because each interviewer can make them formal or informal, ask unique questions, and employ a personal style. (Anon., 2021) DISADVANTAGES: Individual interviews can be easily prepared for by candidates. Interviewers must also be experienced enough to know what questions not to ask and how to guide an interview. These interviews are also difficult for making comparisons between candidates. If there are multiple individual interviews, the questions and flow may differ from one to the next, making the process repetitive for the interviewee. (Anon., 2021)
ii. Joint Application Development (JAD)/ Requirement Workshops When compared to other techniques, this one is more process-oriented and formal. These are structured meetings with end-users, project managers, and subject matter experts (SMEs). This is used to specify, clarify, and finish requirements. PARTICIPANTS IN JAD (Anon., 2021) :
- Execution Process: This process is on the client side including the project manager CIO CEO or CISO who has decision-making authority regarding the project.
- Facilitator: This person is responsible for creating managing and implementing JAD activities minimizing disagreements encouraging end-user engagement and maintaining a focused and objective approach.
- IT Representative: This person provides technical advice and helps the team develop engineering models and prototyping the final results. They should reach out and help customers transform their visualizations into on-demand models develop an understanding of end-user business goals manifest in IT functions make the end solution is affordable in nature etc.
- End User: This data topic is often the main focus of JAD. They provide tailored business knowledge and strategies represent all key user groups impacted by development and represent multiple levels of the organization.
- Recorder: This person is responsible for accurately and efficiently recording the JAD process and JAD sessions. They often act as facilitator partners during each JAD session and provide benchmarks for the assessment.
- Observer: Observer will observe each JAD session and gather knowledge about end- user needs and JAD session decisions interacting only with JAD participants outside of the JAD session. BENEFITS (Anon., 2019) :
- Time Saving : All stakeholders are in one place without any external distractions. This allows the team to reach consensus on system requirements much faster. System requirements are recorded as they are defined thus speeding up the development process significantly.
product will look. Prototypes can be used to create a mock-up of a site and use diagrams to describe the process. BENEFITS OF PROTOTYPING (Anon., 2017):
- Provides functionality and interactions
- Make actual communication with your boss, stockholders and users
- Detect errors earlier and save time and money
- Enhance collaboration within your team members internal
- Involve user feedback and help to do multiple-test v. Observation The primary goal of the observation session is to comprehend the activity, task, tools used, and events carried out by others. The observation plan ensures that all stakeholders are aware of the session's purpose, that they agree on the expected outcomes, and that the session meets their expectations. You must inform the participants that their performance will not be evaluated. BENEFITS OF OBSERVATION (Anon., 2020): The biggest benefit of observational research has been documented: It allows businesses to observe potential customers in a natural setting which can reveal insights not available through other methods such as grouping. focus and survey bulletins. This is especially the case when study participants tend to consciously or unconsciously present “their best selves” to the researcher. vi. Focus Group You can get information about a product or service from a group by using a focus group. Subject matter experts are included in the Focus group. This group's goal is to discuss the topic and provide information. This session is overseen by a moderator. The moderator should collaborate with business analysts to analyze the results and report back to stakeholders.
If a product is in development and a discussion is required, the result will be an update to the existing requirements or the addition of new requirements. If a product is ready to ship, the discussion will focus on the product's release. BENEFITS OF FOCUS GROUP (Anon., 2019):
- Clarifying and testing biases and conclusions
- Understand met and unmet needs
- Listen to customer feedback with their words and voices
- Explore ideas and problems issues that may not be resolved initially but are important to the client
- Explore process decision making
- Have the flexibility to explore questions that arise during the discussion vii. Document Analysis/Review This method is used to collect business information by reviewing/examining available materials that describe the business environment. This analysis is useful for validating the implementation of current solutions as well as understanding the business requirement. Document analysis entails reviewing business plans, technical documents, problem reports, and existing requirement documents, among other things. This is useful if you intend to update an existing system. This method is beneficial for migration projects. BENEFITS OF DOCUMENT ANALYSIS/REVIEW (Anon., 2016) : There are many reasons why researchers choose to use document analysis. First document analysis is an efficient and effective way to collect data because the document is a real and manageable source of documentation. Documents are common and come in many different forms making them very accessible and reliable data sources. Collecting and analyzing literature is often much more profitable and faster than doing your own research or experiments. In addition, documents are stale and non-reactive data sources which means they can be read and checked multiple times and still remain unaffected by the influence of the researcher or the research process.
Post-condition The song that he/she needs will appear on the searching interface Basic path
- Open the Tune Source website
- User taps on the search bar
- Type in the title of the song
- Click on the search button
- The search interface will be appeared Alternative paths
- Access Google.com
- Type in ‘Tune Source ’
- Press Enter and press on the first link Exception paths N/A Table 2 : USE-CASE SPEC FOR SEARCHING SONGS ii. Use-case specification for Listening to songs online Description If an existed user or a subscribed user wants to listen to a specific song online. This function allows users to listen to a song online Pre-condition Users have to be^ existed^ or subscribed Post-condition The listening^ interface^ will appear Basic path
- Open the Tune Source website
- Choose the song that is wanted
- The listening interface will be appeared Alternative paths N/A Exception paths N/A Table 3 : USE-CASE SPEC FOR LISTENING FOR SONGS iii. Use-case specification for Paying for songs Description If an existed user or a subscribed user wants to purchase to a specific song online. This function allows users to purchase to a song online Pre-condition Users have to be^ existed^ or subscribed Post-condition Successfully purchase the song Basic path
- Open the Tune Source website
- User login account
- Search the song using song ID or song Name
- Purchase the song Alternative paths N/A Exception paths
- Tap on the Contact Help button at the bottom left
- Choose the problem that seems to be the one
- Do whatever it tells Table 4 : USE-CASE SPEC FOR PAYING FOR SONGS iv. Use-case specification for Registering Description If a user needs to find a song in the Tune Source E-portal platform. This function allows the user to search for his/her needed song Pre-condition Any type of user will be valid for searching Post-condition An account is successfully made Basic path 1.^ Open the Tune^ Source website
- Tap on the Profile button
- Tap on Creating a new account
- Type in your information
- Tap Sign Up to finish the process Alternative paths N/A Exception paths N/A Table 5 : USE-CASE SPEC FOR REGISTERING v. Use-case specification for Logging Description If a user needs to find a song in the Tune Source E-portal platform. This function allows the user to search for his/her needed song Pre-condition Existed users only Post-condition Login process successfully Basic path
- Open the Tune Source website
- Tap on the Profile button
- Type in your information
- Tap Log In to finish the process Alternative paths N/A Exception paths N/A Table 6 : USE-CASE SPEC FOR LOGINING vi. Use-case specification for Downloading songs Description If a user needs to find a song in the Tune Source E-portal platform. This function allows the user to search for his/her needed song Pre-condition Any type of user will be valid for searching Post-condition The song that he/she needs will appear on the searching interface Basic path
- Open the Tune Source website
- Choose the song that you need to download
- Tap on the download button on the top right Alternative paths N/A Exception paths
- Tap on the Contact Help button at the bottom left
- Choose the problem that seems to be the one
- Do whatever it tells Table 7 : USE-CASE SPEC FOR DOWNLOADING SONGS vii. Use-case specification for Calling for help Description If a user needs to find a song in the Tune Source E-portal platform. This function allows the user to search for his/her needed song Pre-condition Any type of user will be valid for searching Post-condition The song that he/she needs will appear on the searching interface Basic path
- Tap on the Contact Help button at the bottom left
- Choose the problem that seems to be the one
- Do whatever it tells Alternative paths N/A
4. Context Diagram
Figure 5 : CONTEXT DIAGRAM
5. Data Flow Diagram
Figure 6 : DATA FLOW DIAGRAM
III. Analyze how software requirements can be traced throughout the software lifecycle (M3) DEFINITION OF REQUIREMENT TRACEABILITY MATRIX : A traceability matrix is a document that correlates with all of the underlying documents that require a many-to-many relationship to verify the relationship's completeness. It is used to keep track of requirements and ensure that current project requirements are met. (Hamilton, 2021) WHY REQUIREMENT TRACIBILITY MATRIX IS IMPORTANT (Anon., 2020) :
- Meeting Goals: Traceability, when done correctly, tracks the life of a requirement. It begins when a requirement is created.
- Running the Right Tests: Traceability of requirements also assists your quality assurance (QA) staff in understanding what needs to be tested. By mapping test cases back to each need, this enhances test coverage.
- Making Decisions: Traceability may also be utilized to make decisions throughout the product development process. You will be able to grasp how requirements influence product design.
- Managing Projects: Traceability is also important for project management. You'll be able to see how far you've come. You'll also be able to control the scope of your criteria. By tying your needs to tests, you'll be able to see how you can achieve those criteria while still shipping on schedule. ID
FUNCTIONAL
REQUIREMENTS
STATUS
TECH SPECIFI-
CATION
SOFTWARE
MODULE
TEST
CASE
NO
TEST CASE
DESCRIPTION
TEST
CASE
OUTCOME
Create an E-portal platform Work In Progress Search Engine
T
Users can listen to music directly on the website of Tune Source As per the requirement document 2 Customers Help Testing Hotline and Chatbots
T
Users can either call on the hotline Ok