lOMoAR cPSD| 22148649
BTEC Level 5 HND Diploma in Computing
Unit 30: Application Development
Learner’s name: LAM NGUYEN TRUNG NAM
ID: GCS200222
Class: GCS0905B
Subject ID: 1670
Assessor team name: Đào Vĩnh Khang
Lê Thanh Tùng
Trần Thái Hoà
Assignment due:
Assignment submitted:
ASSIGNMENT 1 FRONT SHEET
Qualification
BTEC Level 5 HND Diploma in Business
Unit number and title
Unit 30: Application Development
Submission date
Date Received 1st submission
Re-submission Date
Date Received 2nd submission
Student Name
Đào Vĩnh Khang
Student ID
GCS200222
Class
GCS0905B
Assessor name
TRUNG NAM
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
M1
M2
D1
Summative Feedback:
Grade:
Resubmission Feedback:
Assessor Signature:
Internal Verifier’s Comments:
Signature & Date:
Date:
Assignment Brief 1 (RQF)
Higher National Certificate/Diploma in
Computing
Student Name/ID Number:
Unit Number and Title:
Unit 30: Application Development
Academic Year:
2023
Unit Assessor:
LAM NGUYEN TRUNG NAM
Assignment Title:
Analysis and Design solution for a given problem
Issue Date:
10 Jan 2023
Submission Date:
Internal Verifier Name:
Date:
Submission Format:
Format: The submission is in the form of two documents/files
● An individual SRS document in PDF format. Writing must be professional.
● An individual evaluation document in PDF format. Writing must be professional.
Submission
● Students are compulsory to submit the assignment on the due date and in a way requested by the
Tutor.
● The form of submission will be a soft copy posted on />● Remember to convert the word file into a PDF file before the submission on CMS.
Note:
● The individual Assignment must be your 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
with this requirement will result in a failed assignment.
Unit Learning Outcomes:
LO1 Produce a Software Design Document by analyzing a business-related problem and deduce an
appropriate solution including a set of initial requirements
LO2 Use design and development methodologies with tools and techniques associated with the creation
of a business application
Assignment Brief and Guidance:
Scenario: FPTBook will be a web-based software system to aid book store customers and owners to
manage their book purchases and sales about simplifying and speeding up the process of selection,
ordering, and purchasing books for customers as well as managing a database of users and a database of
products for book store owners. The attached document can view the detailed description of those roles
(Requirements.docx).
Tasks
You and your teammates (3 members/team maximum) need to prepare a software design document with
the following sections:
o A requirement specification that explores the problem by a set of user and system requirements,
as well as determines any risks related to the successful completion of your application. You are
advised to use an SRS template or modify one to complete this task.
o An evaluation section in which you research the use of software development tools and techniques
and identify any that have been selected for the development of this application. You should
compare them and justify your choices.
o A design section in which you use chosen tools from the previous step to produce design diagrams
for your solution based on the requirement specification.
Learning Outcomes and Assessment Criteria (Assignment 1):
Learning Outcome
LO1
LO2
Pass
P1 Explore a
business-related
problem and produce
a well-defined
Problem Definition
Statement supported
by a set of user and
system requirements.
P2 Determine any
areas of risk related to
the successful
completion of your
application.
P3 Research the use
of software
development tools and
techniques and
identify any that have
been selected for the
development of this
application.
Merit
M1 Analyse a
business-related
problem using
appropriate methods
and produce a wellstructured Software
Design Document that
defines a proposed
solution and includes
relevant details on
requirements, system
analysis, system
design, coding, testing
and implementation.
M2 Compare the
differences between
the various software
development tools and
techniques researched
and justify your
preferred selection as
well as your preferred
software development
methodology.
Distinction
D1 Justify the tools
and techniques chosen
to realise a custom
built website. Justify
your preferred
selection of tools and
techniques in
deducing an
appropriate solution to
a business related
problem.
9
Table of Contents
P1 Explore a business-related problem and produce a well-defined Problem Definition Statement
supported by a set of user and system
requirements........................................................................................................................................5
1.
2.
3.
Introduction...............................................................................................................................................5
1.1.
Document Purpose..............................................................................................................................5
1.2.
Product Scope.....................................................................................................................................6
1.3.
Intended Audience and Document
Overview..........................................................................................6
1.4.
Definitions, Acronyms and
Abbreviations...............................................................................................6
Overall Description......................................................................................................................................7
2.1.
Product Overview................................................................................................................................7
2.2.
Product Functionality...........................................................................................................................7
2.3.
Risks related to the project...................................................................................................................8
2.4.
Assumptions and
Dependencies............................................................................................................8
Specific Requirements.................................................................................................................................9
3.1.
External Interface Requirements...........................................................................................................9
3.2.
Functional Requirements....................................................................................................................10
3.3.
Use Case Model.................................................................................................................................11
3.3.1.
Use Case #1 (Course Management Function - UC
1)...........................................................................12
3.3.2.
Use Case #2 (Trainer Management Function - UC
2)...........................................................................14
3.4.
Other Non-functional Requirements....................................................................................................16
P2 Determine any areas of risk related to the successful completion of your
application..............................................17
P3 Research the use of software development tools and techniques and identify any that have been
selected for the
development of this
application....................................................................................................................................19
1.
2.
Design tools.............................................................................................................................................19
1.1.
UML definition:.................................................................................................................................19
1.2.
Some popular UML diagrams:.............................................................................................................19
1.3.
Use the UML tool to give
examples......................................................................................................20
Development tools and techniques.............................................................................................................21
2.1.
Cloud provider...................................................................................................................................21
2.2.
Development languages /
Framework..................................................................................................24
1
2.2.1.
Programming languages..................................................................................................................24
2.2.2.
Framework:...................................................................................................................................25
2.3.
Database servers...............................................................................................................................28
2.4.
Software Development Models...........................................................................................................30
Conclusion...............................................................................................................................................................
......35
REFERENCES..........................................................................................................................................................
........39
ASSIGNMENT 1 ANSWERS
P1 Explore a business-related problem and produce a well-defined
Problem Definition Statement supported by a set of user and system
requirements.
1. Introduction
Along with the rapid development of technology. Web applications are increasingly popular because of
the benefits that it brings such as: High interactivity, storing and retrieving data quickly. Integrate
multiple tasks to support features, management, and tracking. Increase user experience, increase
brand effect and save maintenance cost. FPT Company is also not out of that trend. They want to
develop a web-based system to manage the "Training" activities for the company's internal training
program to ensure a continuous learning environment throughout FPT Corporation. The system is used
by the human resources department. We have three roles in this system, administrator, training staff
and a trainer. The system's functions include: student account management, lecturer management,
course catalog management, course management, topic management, subject assignment for the
course, assignment of lecturers for the course. topics, assign instructors to the course.
1.1. Document Purpose
This document is intended to explain the role requirements of each human resources department.
An administrator’s role:
•
Can login to the system through the first page of the application
•
Can create/edit/delete new user account for trainer/training staff and assign/change(if existing
user) username and a password
A training staff’s role:
•
A registered training staff, who is assigned a user name and a password by the administrator
logs in can create trainee accounts by entering details like trainee name, trainee accounts, age,
2
date of birth, education, main programming language, TOEIC score, experience details,
department, location, etc.
•
After entering successfully all details for trainees, his/her details are then stored in the database.
The training staff is given a list of trainees for him to view and search. From the list of trainees,
he can also search by trainee account, programming language, TOEIC score…
•
Can update, delete trainee accounts
•
Can manage course categories such as searching, adding, updating and deleting course
categories.
Course category includes the information such as course category name and descriptions.
•
Can manage courses such as searching, adding, updating and deleting courses. Course
includes course name and description.
•
Can add topics such as topic name and topic descriptions into a course, add courses into a
category.
•
Can manage trainer profile such as adding, updating and deleting the information: Trainer name,
External or Internal Type, working place, telephone, and email address.
•
Can assign trainer to a topic.
•
Can assign trainee to a course.
A trainer’s role:
•
In the same system, the trainer who have been registered by the administrator can login and
can update his profile such as Trainer name, External or Internal Type, education, working
place, telephone, and email address.
•
Can view courses which have a topic he is assigned to.
The above roles are divided to make the work process easy, clear, and understandable for users.
1.2. Product Scope
This software is being developed primarily for education for each role in the field. Helps to easily
manage student accounts, manage instructors, manage course catalogs, manage courses, manage
topics, assign topics to courses, assign instructors to topics, assign instructors for the course. Easily
integrate all of the above as a means of communication so that everyone can easily interact through at
work.
1.3. Intended Audience and Document Overview
The intended audience of this project includes people who act as system users such as administrators,
training staff and trainers. In addition, the people who need to read this document are those
responsible for software design such as: software engineers, technical architects, project managers...
The document refers to the design and use of a web-based system to manage the "Training" activity for
FPT's internal training program.
3
Internal trainer is defined as an employee who was delegated by manager or volunteer with personal
willingness to conduct education as additional task to cover business needs.
1.4.Definitions, Acronyms and Abbreviations
Internal training is the practice of teaching learners within an organisation by learning and development
officers. It refers to commercial operations and corporate learning rather than pure-learning institutions.
Training is teaching, or developing in oneself or others, any skills and knowledge or fitness that relate
to specific useful competencies. Training has specific goals of improving one's capability, capacity,
productivity and performance. It forms the core of apprenticeships and provides the backbone of
content at institutes of technology (also known as technical colleges or polytechnics). In addition to
the basic training required for a trade, occupation or profession, training may continue beyond initial
competence to maintain, upgrade and update skills throughout working life. People within some
professions and occupations may refer to this sort of training as professional development. Training
also refers to the development of physical fitness related to a specific competence, such as sport,
martial arts, military applications and some other occupations.
Course (education)
In higher education in various countries, such as Canada, Nigeria and the United States, a course is a
unit of teaching that typically lasts one academic term, is led by one or more instructors (teachers or
professors), and has a fixed roster of students. A course usually covers an individual subject. Courses
generally have a fixed program of sessions every week during the term, called lessons or classes.
Students may receive a grade and academic credit after completion of the course.
2. Overall Description
2.1. Product Overview
Currently, with the rapidly developing technology, FPT company is planning to develop a system for
internal training activities in the company in order to increase the training quality of FPT company. This
will be a completely new system to replace the traditional training management process. It is used by
the human resources department including: administrators, training staff, trainers and trainees. Web
application of FPT Company will be used to manage trainee accounts, manage trainers, manage
course categories, manage courses, manage topics, assign topic to course, assign trainer to topic,
assign trainee to course.
2.2. Product Functionality
There are main levels of access:
•
Administrators
•
Training staff
•
Trainers
According to the project, the main functions will be performed as follows: You can log in to the system
through the first page of the application. When the user enters the system, he will be required to log in.
If he does not have an account, create an account. The data when the user logs in will be saved to the
database.
Furthermore, as a user, it is possible to change, create, edit, and delete an account when that person
is no longer in use. To avoid full data that will lead to delay when loading resources, after logging in the
manager will provide a role for the user, the user will use those roles correctly. After logging in, if the
system updates wrong information, users can edit and update the system again. Users entering the
4
system can find the correct route they are learning the date and time of the content. Through this
section, the functions of updating and correcting information are very important to implement for the
project.
2.3. Risks related to the project
Broken Access Control
This means that restrictions on authenticated users are not properly enforced, leading to one user able
to see other users' files or modify other users data.
XML External Entities
This occurs when older or badly configured XML processors evaluate external entity references within
XML docs. That can expose internal files and allow for internal port scanning, remote code execution,
and denial of service attacks.
Sensitive Data Exposure
This is where sensitive data is not encrypted in transit or at rest, leaving it exposed for attackers to
steal or modify.
Broken Authentication
If authentication and session management is implemented wrong, attackers can compromise
passwords, keys or session tokens and assume other users' identities.
Injection
Whether it's SQL, NoSQL, OS, or LDAP, an untrusted dataset gets sent to an interpreter tacked on to
a command or query, tricking the interpreter into executing unintended commands or accessing data
without authorization.
2.4. Assumptions and Dependencies
Software developers will need to take into consideration the operating environment in which their
products will be deployed when designing, developing, and testing the software. To deploy a product
in a specific operating environment, the software must be designed to operate in that specific
environment. Software development also depends on third-party tools and/or services for design,
marketing, analytics, etc.
3. Specific Requirements
3.1. External Interface Requirements
5
User Interfaces
This is the home page, the user can enter the correct web address, this first page will appear, here the
web will display information about the user's roles. And there are information tabs of the system such
as login to register to have a system account, with contact information that needs support, there is a
separate information page.
The next page is the account registration page, users can enter email information to user registration.
Password to register, confirm the password is correct or not. Finally, choose the right role you need to
use.
6
Finally, on the system login page, the user logs in correctly and requires an email and password that is
registered. If the system fails, the user can go back registration page to re-subscribe through the relogin page.
3.2. Functional Requirements
F1: Our system will create user request pages, through which users can choose the right role they are
using. Usually, uploaders must register before they can edit their information. This is so that there are
no multiple copies of the same property.
<Functional Requirement or Feature #2>
Each user role has a different function
Trainers and Trainees: can view personal information editing courses
Training staff: edit the course to change the status of the information and remove more students.
Administrators: can access the system more easily, delete, add, edit and edit teachers and students.
3.3. Use Case Model
Use Case diagram for course management functionality.
7
Use Case diagram for trainer management functionality.
3.3.1. Use Case #1 (Course Management Function - UC 1)
Use Case ID: UC 1
Use Case Name: Course Management
8
Description: As a manager, I want to use the system's course management functionality to create and
assign courses to trainers and trainees.
Actor(s): User (Administrator, Training staff)
Priority: Must Have
Trigger: User wants to create a new training course for FPT's system.
Pre-Condition(s):
•
User accounts already created
•
User accounts have been authorized
•
User's account has been logged into the system
•
The user's device is already connected to the internet when performing the function
Post-Condition(s):
•
User successfully created a new course for the system.
•
The system records successful create new course in the Activity Log.
Use-case Normal steps:
Step No.
1
2
Actor
System
Notes
The administrator clicks the Displays the Create New CourseSee Create New Course
link to create a new course onscreen for the administrator.
screen layout design
the home screen of the
below
system.
Enter all the information for
Verify information about the
the course such as Course
course
Name, Course Description,
3
Course Date.
Click the create new course Show newly created course in See Course Management
button
course management screen.
screen layout design
below
Alternative 1: The administrator wants to delete unnecessary courses to easily for manage
other courses.
9
Step No.
1
2
3
Actor
Admin clicks on the link to
System
Displays the Course
Notes
See Course Management
the course management
Management screen for the
screen layout design
screen
administrator.
Admins search for the course Show course information
below
See Course Information
they want to delete from the
screen layout design
system.
Click the Delete button
below
Display message: Successfully See Notification screen
deleted course
layout design below
The system records Successful
course deletion in the Activity
Log
Alternative 2: The administrator wants to assign trainers to the courses in the system.
10
| 22148649
Step No.
1
2
3
Actor
Admin clicks on the link to
System
Displays the Course
Notes
See Course Management
the course management
Management screen for the
screen layout design
screen
administrator.
Click the link to add a trainer Select a trainer that the
below
See List Of Trainers
for the course
manager wants to add to the
screen layout design
Click the button to assign a
course from the list of trainers. below
The system records successfullySee Notification screen
trainer to the course
assigned a trainer to the course layout design below
in the Activity Log.
3.3.2. Use Case #2 (Trainer Management Function - UC 2)
Use Case ID: UC 2
Use Case Name: Trainer Management
Description: As a manager, I want to add a user as a trainer to use the system functions.
Actor(s): User (Administrator)
Priority: Must Have
Trigger: User wants to register an account for a new trainer in the FPT Company's system.
Pre-Condition(s):
•
User accounts already created
•
User accounts have been authorized
•
User's account has been logged into the system
•
The user's device is already connected to the internet when performing the function
Post-Condition(s):
•
User successfully registers an account for a new trainer to access the system.
•
The system records successful add new trainer role in Activity Log
Use-case Normal steps:
Step No.
1
Actor
System
Notes
The administrator clicks the Displays the Create New Trainer See Create New Trainer
link to create a new trainer
screen for the administrator.
11
screen layout design
| 22148649
on the home screen of the
2
below
system.
The administrator enters the Check trainer information
full information for the
If true, redirect to new account
trainer's account that needs creation screen
to be added to the system.
3
4
If false, request to re-enter the
trainer's information
Enter the full username and Verify account information
See Create New Account
password for the trainer
screen layout below
account
Clicks on create new account The system records the
button
successful Creation of a new
account for trainer in the
Activity Log.
Alternative 1: The administrator wants to remove unnecessary trainer for easier
management.
Step No.
1
2
Actor
System
The administrator clicks the Displays the Trainer
Notes
See Trainer Management
link to the trainer
Management screen for the
screen layout design
management screen in the
administrator.
below
system.
Search for the name of the
Display the information of the
See Trainer Information
trainer who need to deleted trainer need to find
3
4
screen layout design
from the management list.
below
Click on delete trainer button Send confirmation message to See Notification screen
The administrator confirms
admin
Show message: Delete user
layout design below
deleting the trainer from the successfully
system.
The system records successfully
Deleted trainer in the Activity
Log
Alternative 2: The administrator wants to edit trainer information.
Step No.
Actor
System
12
Notes
| 22148649
1
2
The administrator clicks the Displays the Trainer
See Trainer Management
link to the trainer
Management screen for the
screen layout design
management screen in the
administrator.
below
system.
Search for the name of the
Display the information of the
See Trainer Information
trainer who need to edited
trainer need to find
screen layout design
3
from the management list.
Click the button edit trainer
below
Show details of all previously
4
information
The administrator clicks on
added trainer information.
Send notification: Edit successfulSee Notification screen
the row whose information
The system records successful layout design below
need to edited.
information editing in the
After editing is complete, the Activity Log
administrator clicks on the
finish button.
3.4. Other Non-functional Requirements
Some non-functional requirements in our system:
•
Users who enter incorrect login information for the 5th time in a row will have their account
locked for 15 minutes.
•
Time out for login screen under 60 seconds.
•
The maximum delay in redirecting to another page is 30 seconds
13
lOMoAR cPSD| 22148649
P2 Determine any areas of risk related to the successful completion of your
application.
17
|