You are on page 1of 43

ASSIGNMENT 2 FRONT SHEET

Qualification BTEC Level 5 HND Diploma in Computing

Unit number and title Unit 9: Software Development Life Cycle

Submission date 8/4/2023 Date Received 1st submission

Re-submission Date Date Received 2nd submission

Student Name Nguyen Duc Quy Student ID BH00103

Class IT0502 Assessor name Ngo Thi Mai Loan

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 Qúy

Grading grid

P5 P6 P7 M3 M4 M5 M6 D3 D4

14
❒ Summative Feedback: ❒ Resubmission Feedback:

Grade: Assessor Signature: Date:

14
Internal Verifier’s Comments:

Signature & Date:

14
Contents
A. Introduce............................................................................................................................................................................................................ 5
B. Content............................................................................................................................................................................................................... 6
P5. Undertake a software investigation to meet abusiness need..............................................................................................................................6
1. techniques BPI, BPA, BPR.......................................................................................................................................................................... 6
2. Reasons for choosing BPI............................................................................................................................................................................7
3. Functional and non-functional requirements in the Tune Source project.....................................................................................................8
3.1. Function requirement............................................................................................................................................................................. 10
3.2. Non-function requirement...................................................................................................................................................................... 11
3.3. Relationship........................................................................................................................................................................................... 12
P6. Use appropriate software analysis tools/techniques to carry out a software investigation and create supporting documentation.......................13
1. Use a case diagram......................................................................................................................................................................................... 13
2. ERD............................................................................................................................................................................................................... 20
P7. Explain how user and software requirements have been addressed.....................................................................................................................21
1. Wireframe...................................................................................................................................................................................................... 21
2. Website.......................................................................................................................................................................................................... 24
3. Code............................................................................................................................................................................................................... 30
C. Conclusion........................................................................................................................................................................................................ 36
D. References......................................................................................................................................................................................................... 37

14
Figure
Figure 1 BPI, BPA, BPR................................................................................................................................................................................................. 6
Figure 2 question......................................................................................................................................................................................................... 8
Figure 3 case diagram................................................................................................................................................................................................ 19
Figure 4 Use case....................................................................................................................................................................................................... 20
Figure 5 ERD............................................................................................................................................................................................................... 21
Figure 6 Home Page Wire frame................................................................................................................................................................................ 22
Figure 7 Login wire frame.......................................................................................................................................................................................... 23
Figure 8 Register wire frame...................................................................................................................................................................................... 24
Figure 9 Home Page................................................................................................................................................................................................... 25
Figure 10 Login........................................................................................................................................................................................................... 26
Figure 11 Register...................................................................................................................................................................................................... 27
Figure 12 home page................................................................................................................................................................................................. 28
Figure 13 Category..................................................................................................................................................................................................... 29
Figure 14 Product...................................................................................................................................................................................................... 30
Figure 15: Edit Product.............................................................................................................................................................................................. 31
Figure 16: register...................................................................................................................................................................................................... 32
Figure 17: login.......................................................................................................................................................................................................... 33
Figure 18 database.................................................................................................................................................................................................... 34
Figure 19 database password.................................................................................................................................................................................... 34
Figure 20 views.......................................................................................................................................................................................................... 35
Figure 21 category index............................................................................................................................................................................................ 36
Figure 22 routes-web................................................................................................................................................................................................. 37
Figure 23 .env............................................................................................................................................................................................................ 38
Figure 24 php Web.................................................................................................................................................................................................... 39

14
A. Introduce

Hello, our web music product is an online platform that provides users with a diverse music library with millions of songs from
various genres. In addition, we also offer a feature to download music for users to enjoy music without an internet connection

With a simple and user-friendly interface, users can search and play music quickly and conveniently. Furthermore, our product also
supports many other features such as creating playlists, sharing songs with friends, rating and commenting on songs.

With such diverse features and functions, our web music product aims to bring users the best and most convenient music experience.
If you are looking for a full-featured online music platform, our product is definitely a great choice for you.

B. Content

P5. Undertake a software investigation to meet abusiness need.


1. techniques BPI, BPA, BPR

Figure 1 BPI, BPA, BPR

BPI, BPA, and BPR are all related to business process


management and improvement.

BPI (Business Process Improvement) is the process of


analyzing and improving existing business processes to
increase efficiency, reduce costs, and improve customer
satisfaction. BPI typically involves a step-by- step approach,
including process mapping, identification of process
bottlenecks and inefficiencies, and implementation
of process improvements.

14
BPA (Business Process Analysis) is a broader term that encompasses the analysis of existing business processes as well as the
identification of potential areas for improvement. BPA is focused on understanding how work is done in an organization,
identifying areas for improvement, and developing a plan for implementing those improvements.

BPR (Business Process Reengineering) is a more radical approach to business process improvement that involves completely
rethinking and redesigning business processes. BPR typically involves a fundamental rethinking of how work is done in an
organization, and may involve the adoption of new technologies or the outsourcing of certain business functions.

Overall, BPI, BPA, and BPR are all important tools for organizations looking to improve their business processes and stay
competitive in today's fast-paced business environment.

2. Reasons for choosing BPI.

BPI (Business Process Improvement) is a method that helps optimize business processes and improve the performance of an
organization. By applying BPI, we can identify issues in the business process and provide solutions for improvement to
enhance productivity and service quality.

In this case, we have chosen BPI to investigate the current business demands for music because we want to have a
comprehensive understanding of the music market and provide solutions for improvement to enhance customer experience. We
believe that BPI will help us identify and resolve issues in the most scientific and effective way.

Because our company will use the BPI method to investigate the current business demands for music, we have created survey
questions to gather feedback from people on this matter.

14
Figure 2 question

We have completed the market research and received support and trust from everyone, so we have decided to undertake the
music project.

2.1. Undertake the investigation

Full Name Role Interview Purposes Date Time


Nguyễn Đức Qúy Chief Executive Officer Strategic vision for the 25/05/2019
new system.

Phạm Thị Vân Chief Technology Officer Technologies required 19/06/2020


Trang with the new system
Trần Đức Phúc Customers Music Design 27/04/2021
Vũ Thành Đô Sellers Write music text 15/03/2022
Nguyễn Mạnh IT Staffs music website 16/2/2023

14
Trường Anh programming

Question

Interview with Duc Quy, CEO Question

Closed-ended Questions How many employees does your company currently


have?

Open-Ended Questions Can you walk me through the current business processes
that will be impacted by the new software?
Probing Questions Can you provide more details on how the current
processes are causing inefficiencies or challenges for the
business?

14
Interview with Thanh Do, Head of Sales Question

Closed-ended questions What is the current revenue target for the sales
team?

Open-Ended Questions Can you tell me about the specific sales- related
requirements you would like to see in the new
software?
Open-Ended Questions Can you describe the current process for handling
customer service requests and how the new software
could potentially improve it?
Probing Questions Can you provide an example of a specific customer
service challenge that could be addressed with the
new software?

In the course of the interview with Duc Quy, the Tune Source Customer Representative, it was brought to light that
customers usually contact the customer service team a few times every month to seek assistance with their inquiries or
problems. Among the common concerns that customers approach the team with is the challenge of navigating the platform.
While Quy attested to the effectiveness of the current customer service team in addressing customer issues, he also
acknowledged that there is a need for continuous improvement. He further explained that recent updates to the platform have
triggered a surge in customer inquiries, specifically regarding the newly added features.

Duc Quy also expressed optimism about the growth potential of Tune Source. He noted that the company is constantly
striving to improve its platform and services in order to meet the evolving needs of its customers. Quy emphasized that the
company values customer feedback and is committed to using it to drive innovation and improve customer satisfaction.

In particular, Quy highlighted the company's focus on enhancing its technological capabilities and expanding its
product offerings. He mentioned that Tune Source is currently exploring new features and functionalities that will enable it to
offer a more comprehensive and seamless user experience to its customers.

14
Overall, Quy's comments suggest that Tune Source is a dynamic and forward-thinking company that is well-positioned
for growth and success in the highly competitive digital marketplace.

3. Functional and non-functional requirements in the Tune Source project.

The analysis of requirements is a crucial step in determining whether or not a system or software project will succeed.
Functional and non-functional requirements are the two sorts of requirements in general.

Functional Requirements: These are the needs that the end-user expresses as essential features that the system should
provide. As part of the contract, all of these functionalities must be included in the system. These are expressed or described as
input to be delivered to the system, operation to be conducted, and expected output. They are the user's expressed requirements
that, unlike non-functional criteria, can be seen immediately in the completed product.

Non-functional requirements: These are the quality requirements that the system must meet to fulfill the project contract. The
importance of these aspects, as well as the amount to which they are implemented, varies from project to project. Non-
behavioral requirements are another name for them.

Functional Requirements Non-Functional Requirements

14
A functional requirement defines a A software system's quality attribute is defined by
system or its component. a non-functional need.

It specifies “What should the software It places constraints on “How should the software
system do?” system fulfill the functional requirements?”

A non-functional requirement is specified by


A functional requirement is
technical people e.g., Architect, Technical leaders,
specified by the User.
and software developers.

It is mandatory. It is not mandatory.

It is captured in the use case. It is captured as a quality attribute.

Defined at a component level. Applied to a system as a whole.

Helps you verify the functionality of


Helps you to verify the performance of the software.
the software.

Functional Testing like System,


Non-Functional Testing like Performance, Stress,
Integration, End to End, API testing,
Usability, Security testing, etc. is done.
etc. is done.

14
Usually easy to define. Usually more difficult to define.

3.1. Function requirement


A functional requirement is defined as the description of the functionality or service of the software or system.

Admin:
▪ Login
▪ Register
▪ Authorization
▪ Add new user account
▪ Remove user account
▪ Edit user account
▪ Add a new song
▪ Edit Information (Song)
▪ Remove song
▪ Add new artist
▪ Edit information (Artist)
▪ Remove artist
▪ Add new album
▪ Edit information (Album)
▪ Remove album

Client:

▪ Login

▪ Register

▪ Edit personal information

14
▪ Buying bundled services

▪ Listen to music demo

▪ Search Song/Artist/Album

▪ Create a new playlist (for Premium)

▪ Add song to a playlist

▪ Remove song from the playlist

▪ Add song to the cart

▪ Download song

▪ Checkout

3.2. Non-function requirement

Non-functional requirements include all requirements that functional requirements do not contain. They specify criteria by
which to evaluate the performance of the system rather than the behavior.

Non-functional requirements of the system:

- Language: English

- Operating time: Always

- Each request should be processed within 5 seconds.

- The site should load in 5 seconds when the number of simultaneous users is > 1.000.000

- Color: Theme Christmas (Dark Red and Dark Green)

14
- Payment: VND/USD with VISA/Mastercard

- Security: High Security with HTTPS, DV-SSL, OV-SSL, EV-SSL.

- Maintenance time: 15-20 days update one time. (Maintenance from 02:00 AM – 04:00 AM)

- Download speed: 150mbps/song

3.3. Relationship
This a very clear difference can be seen between functional requirements and non-functional requirements. Inside:

● Functional requirements: describe the functionality or service of the software or system.

● Non-functional requirements: describe the constraints and properties of the software or system. Therefore, in practice,
non-functional requirements will be judged to be somewhat more important. If these requirements are not met, the
software or system cannot be put into use.

P6. Use appropriate software analysis tools/techniques to carry out a software investigation and create supporting
documentation.
1. Use a case diagram
Use case diagrams consist of actors, use cases, and their relationships. The diagram is used to model the system/subsystem of
an application. A single-use case diagram captures a particular functionality of a system. The purpose of the use case diagram
is to capture the dynamic aspect of a system. However, this definition is too generic to describe the purpose, as the other four
diagrams (activity, sequence, collaboration, and State chart) also have the same purpose. We will look into some specific
purpose, which will distinguish it from the other four diagrams.

Use case diagrams are used to gather the requirements of a system including internal and external influences. These
requirements are mostly design requirements. Hence, when a system is analyzed to gather its functionalities, use cases are
prepared and actors are identified.

14
Actors can be human users, some internal applications, or maybe some external applications. When we are planning to draw a
use case diagram, we should have the following items identified.

 Functionalities to be represented as a use case


 Actors
 Relationships among the use cases and actors.

Use case diagrams are drawn to capture the functional requirements of a system. After identifying the above items, we have to
use the following guidelines to draw an efficient use case diagram

 The name of a use case is very important. The name should be chosen in such a way so that it
can identify the functionalities performed.
 Give a suitable name for actors.
 Show relationships and dependencies clearly in the diagram.
 Do not try to include all types of relationships, as the main purpose of the diagram is to
identify the requirements.
 Use notes whenever required to clarify some important points.

NAME NOTATION DESCRIPTION

14
● Someone interacts with the use
case (system function).
ACTOR
● Named by a noun.
● Actor plays a role in the business
● Similar to the concept of a user,
but a user can play different roles
● Actor triggers use case(s).
● Actor has a responsibility toward
the system (inputs), and Actor has
expectations from the system
(outputs).

USE CASE ● System function


(process - automated
or manual)
● Named by verb + Noun (or
Noun Phrase).
● i.e. Do something
● Each Actor must be linked to a
use case, while some use cases
may not be linked to actors.

14
COMMUNICATION ● The participation of an actor in a
LINK use case is shown by connecting
an actor to a use case by a solid
link.
● Actors may be connected to use
cases by associations, indicating
that the actor and the use case
communicate with one another
using messages.

USE CASE NOTATION DESCRIPTION


RELATIONSHIP
● Indicates that an "Invalid
Password" use case may include
EXTENDED
(subject to specified in the
extension) the behavior specified
by base use case "Login
Account".

● The stereotype "<<extends>>"


identifies as an extend
relationship

14
INCLUDE ● When a use case is depicted as
using the functionality of another
use case, the relationship between
the use cases is named as include
or uses relationship.
● A use case includes the functionality
described in another use case as a
part of its business process flow.
● A uses relationship from base use
case to child use case indicates that
an instance of the base use case will
include the behavior as specified in
the child use case.

# Name Descriptio
n

1 Login Allow actor to log into the system

2 Register Allow actor to register system account

3 Add new account Allow actor to add a new account to the system

14
4 Edit account Allow actor to edit account

5 Remove account Allow actor to remove the account from the system

6 Add new song Allow actor to add a new song to a playlist

7 Edit song information Allow actor to edit song information

8 Delete song Allow actor to remove a song from the list

9 Add new singer Allow actor to add new singer to list

10 Edit singer information Allow actor to edit singer information

11 Delete case artist Allow actor to remove the singer from list

12 Edit personal information Allow actors to edit personal information on the system

13 Purchase service packages Allow actor to purchase service packages provided on the system

14 Search for songs Allow actors to search for songs

14
15 Search for singers Allow actors to search for singers

16 Listen to demo Allow actor to listen to demo music

17 Create playlist Allow actor to create a new playlist

18 Add song to a playlist Allow actor to add a new song to a playlist

19 Remove song from the Allow actor to remove a song from the playlist
playlist

20 Delete playlist Allow actor to delete the playlist

21 Add song to cart Allow actor to add song add to cart

22 Download song Allow actor to download song

23 Checkout Allow actor to pay

24 Authorization Allow actor to delegate account

14
Figure 3 case diagram

14
Figure 4 Use case

2. ERD
An Entity-Relationship Diagram (ERD) is a type of flowchart that illustrates how “entities” such as people, objects, or
concepts relate to each other within a system. ER Diagrams are most often used to design or debug relational databases in
the fields of software engineering, business information systems, education, and research. Also known as ERDs or ER

14
Models, they use a defined set of symbols such as rectangles, diamonds, ovals, and connecting lines to depict the
interconnectedness of entities, relationships, and their attributes.

Figure 5 ERD

P7. Explain how user and software requirements have been addressed.
1. Wireframe

14
Figure 6 Home Page Wire frame

14
Figure 7 Login wire frame

14
Figure 8 Register wire frame

2. Website

14
Figure 9 Home Page

14
Figure 10 Login

14
Figure 11 Register

14
Figure 12 home page

14
Figure 13 Category

14
Figure 14 Product

14
Figure 15: Edit Product

3. Code

14
Figure 16: register

14
Figure 17: login

14
Figure 18 database

Figure 19 database password

14
Figure 20 views

14
Figure 21 category index

14
Figure 22 routes-web

14
Figure 23 .env

14
Figure 24 php Web

C. Conclusion

To continue achieving success in the software development project for Tune Source, FPT BTEC needs to complete the tasks of
software analysis and design. These are important steps in building a software product that meets the customer's requirements and
achieving success in the project.

14
D. References

Chitransingla, 2020. Functional vs Non Functional Requirements. [Online]

Available at: https://www.geeksforgeeks.org/functional-vs-non-functional-requirements/ [Accessed 13 December


2021].

Korngold, R., 2021. 10 Ways to Improve Software Quality. [Online]

Available at: https://www.accesshq.com/insights-and-events/10-ways-to-improve-software-quality/ [Accessed 13 December


2021].

Lucidchart, 2019. What is an Entity Relationship Diagram (ERD)?. [Online]

Available at: https://www.lucidchart.com/pages/er-diagrams [Accessed 13 December


2021].

Sealight, 2021. What Is Software Traceability?. [Online]

Available at: https://www.sealights.io/software-quality/software-traceability-keeping-track-of-dev-and-test- productivity/

[Accessed 13 December 2021].

14

You might also like