Download 1631_Software Development Life Cycle_Assignment 2 and more Assignments Software Development Methodologies 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 02/03/2022 Date Received 1st submission Re-submission Date Date Received 2nd submission Student Name Mai Tran Tuan Anh Student ID GCD Class GCD0904 Assessor name Ananta Kumar 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 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:
- Identify stakeholders, their roles and interests in the case study
- Review requirements of the project
- Identify functional and non-functional requirements of Tuna Source Project
- Discuss the technique used to obtain the requirements
- II. USE APPROPRIATE SOFTWARE ANALYSIS TOOLS/TECHNIQUES TO CARRY OUT A SOFTWARE INVESTIGATION AND CREATE SUPPORTING DOCUMENTATION (P6)
- Class Diagram
- Composite Structure Diagram
- Sequence Diagram
- Activity Diagram
- State Machine Diagram
- Data Flow Diagram
- Entity Relationship Diagram
- Use Case Diagram
- Use Case specification for 2 Use cases
- A. Use Case specification
- B. Use Case specification
- III. DESIGN (P7)
- Wireframe..........................................................................................................................................................................................................................................
- Mock-up.............................................................................................................................................................................................................................................
- IV. BIBLIOGRAPHY
- Figure 1: Stakeholder
- Figure 2: FRS and non-FRS
- Figure 3: JAD.........................................................................................................................................................................................................................
- Figure 4: Interview
- Figure 5: Class diagram
- Figure 6: Composite Structure Diagram
- Figure 7: Sequence Diagram
- Figure 8: Activity Diagram
- Figure 9: State Machine Diagram.........................................................................................................................................................................................
- Figure 10: Data Flow Diagram
- Figure 11: Entity Relationship Diagram
- Figure 12: Use Case Diagram
- Figure 13: User Interface......................................................................................................................................................................................................
- Figure 14: Login function
- Figure 15: Payment function
- Figure 16: Project's mockup (1)
- Figure 17: Project's mockup (2)
I. UNDERTAKE A SOFTWARE INVESTIGATION TO MEET A BUSINESS NEED (P5)
1. Identify stakeholders, their roles and interests in the case study
- Stakeholder can be an individual or group of people that have interest in the company, business or project. Stakeholder can have significant impact on decisions related to operations and finances of an organization. Stakeholder impact is the primary consideration of social responsibility, therefore their interests should be considered for a organization to be socially responsible. There are many types of stakeholders, each of them has different interest and different impact on the company, and companies are often face trade-off in trying to please all of them. Figure 1 : Stakeholder
- Partner: Main partner of the Tuna Source project is our company, the ABC Software company. We are responsible for developing and deploying the website to meet all the requirements from the customer. Beside our company, there are also some companies that we co-operate during the process of developing the system, which can be listed are o Microsoft Azure (Cloud platform) o Amazon’s AWS (Design, Develop, Deploy in cloud) o WordPress o 3rd party payment system (APIs, MasterCard, VISA, Net Banking)
- Government: After deploying the system into real scenario, for every year 20% profit of the system will be collected by the government. The website activity must also follow the government rules
- Employees: Including developers from our company (ABC company), employees in Tuna Source company and employees in other partners company that also support the developing of the project
2. Review requirements of the project
- A system Requirements Specification (SRS) is a document or a set of documents that describe all features and behavior of a system, website or software application. It included all the necessary elements and guide how the system is expected to perform. It may also describe the requirements from stakeholder and which action need to be done in order to satisfy the stakeholder needs.
- Based on the report that the Tuna Source company has provided to us, we have analyze and end up with a table that contains all kind of stakeholders with their requirements needed to be fulfilled. No. Requirements Stakeholder 1 - Access to the website - All stakeholder 2 - Search for song and listen to music - Tuna Source and users 3 - Register for account - User 4 - Pay for song, register premium account for unlimited download - User, 3rd^ party payment system
3. Identify functional and non-functional requirements of Tuna Source Project
- Functional requirements (FR) are specifications of a projects function. It determines what a project able to do, how it executes functions and how it responds the data input. Functional requirements are crucial when building an application, as the project can only be seen as completed when it met all these requirements. Figure 2 : FRS and non-FRS
Captured in use case Captured as a quality attribute Verify functionality of the system Verify the performance of the system Define at component level Applied to a system at a whole
4. Discuss the technique used to obtain the requirements
A. Joint Application Development
- Joint Application Development (JAD) is a methodology that involves the client or end user in the process of designing and developing a software system. It uses customer and group dynamics to accurately depict the user's view of the business need and to jointly develop a solution. JAD technique has just been developed back in 1970s. Figure 3 : JAD
- Before JAD appearance, the traditional technique when it comes to identify requirements was interviewing stakeholders individually. Because of the ineffectiveness of this strategy, JAD has been developed. JAD focused on group consensus rather than individual input. This approach also let the client involved throughout the development process, which make the developing process a lot faster and provide greater client satisfaction.
- When applying JAD approach into Tuna Source project, we must include all potential stakeholders of the system including:
- Execution process: This is the customer’s side, including project manager, CIO, CEO or CISO or anyone that has the authority to make decision on the project
- End-user: This is the main focus of JAD. They offer business knowledge as well as strategy, illustrate all key user group who are affected by the development of the system.
- Scribe: They are responsible for documenting JAD process and JAD sessions to be precisely and effectively
- Observer: Observer will observe every session of the JAD process, gather all knowledge for end-user needs, interact with JAD participants outside JAD session B. Interview
- An interview is a structured conversation between 2 or multiple participants, where one side will ask and the other one answer. The main reason of an interview is to have deeper understanding about the opponents in order to working together or co-operate in a long period of time.
- Participant observation: The terms which researcher become a part of the context that being observed. Researcher will have chances to participate on their own so that they can have real experience
- Direct observation: Researcher try to be as unobtrusive as possible without biasing the observation. This approach can have the involve of technology, such as recording, filming and so on
- Indirect observation: This approach does not involve during the process that being observed, but after the result have happen. For example, the chef will measure all the food that is waste left after lunch to determine a suitable amount of food to be prepared for the next meal. Figure 5 : Observation
- During the process of developing the Tuna Source project, the customers are able to observe at any phase they want. This will bring chance for the customer to change anything during the development process without having the developer to get back from the starting point. The process is also ensured to go on the right way. II. USE APPROPRIATE SOFTWARE ANALYSIS TOOLS/TECHNIQUES TO CARRY OUT A SOFTWARE INVESTIGATION AND CREATE SUPPORTING DOCUMENTATION (P6)
1. Class Diagram
- A class diagram is a diagram that describe the overview and structures of a system in term of classes, attributes methods and relationship between these classes. Class diagram is usually used to demonstrate and create a functional diagram across the system classes and serve as a system development resource during the software development life cycle. A typical class diagram can consist more than one or all classes existed inside the system
2. Composite Structure Diagram
- Composite structure diagram describe the structure of a class through a series of interaction between multiple elements in the diagram. This type of diagram is usually used to depict interactions between classes. It allows developers to understand more about classes and provide the ability to map out a logical view of different parts of the entity or entire system. Figure 7 : Composite Structure Diagram
3. Sequence Diagram
- This diagram is an interaction diagram describes how and what order a group of objects work together. This type of diagram usually used by software developers or business professionals in order to understand the requirements of a system or to document an existing process. Sequence diagrams are sometimes known as event diagrams or event scenarios. This is the basic sequence diagram of the Tuna Source project system Figure 8 : Sequence Diagram
Figure 9 : Activity Diagram
5. State Machine Diagram
- State machine diagram, or can be referred as state diagram, state machine; is a diagram that show different states of an entity. It describes how an entity respond to events and functions by changing from one state to different states during its lifetime. State machine diagram is usually applied to objects, but it can be applied to any factors that has interaction with other elements such as: use cases, methods, software system and so on. Below is the state machine diagram of the whole system. Figure 10 : State Machine Diagram