You are on page 1of 98

ASSIGNMENT

Qualification BTEC Level 5 HND Diploma in Business

Unit number and title Unit 30: Develop Application

Submission date Date Received 1st submission

Re-submission Date Date Received 2nd submission

Student Name Nguyen Van Phong Student ID FB1100048

Class BS-AI 18011 Assessor name Duong Thien Tu

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 M1 M2 D1 D2

1
Nguyen Van Phong
Learning Outcomes and Assessment Criteria

Pass Merit Distinction

LO1 Produce a Software Design Document by analysing a business-


related problem and deduce an appropriate solution including a set of
initial requirements
LO1 & 2
P1 Explore a business-related M1 Analyse a business-related
problem and produce a well-defined problem using appropriate D1 Justify the tools and
Problem Definition Statement methods and produce a well- techniques chosen to realise a
supported by a set of user and structured Software Design custom built website. Justify
system requirements. Document that defines a your preferred selection of
proposed solution and includes tools and techniques in
relevant details on deducing an appropriate
P2 Determine any areas of risk solution to a business related
requirements, system analysis,
related to the successful completion problem.
system design, coding, testing
of your application.
and implementation.

LO2 Use design and development methodologies with tools and


techniques associated with the creation of a business application

P3 Research the use of software M2 Compare the differences


development tools and techniques between the various software
and identify any that have been development tools and
selected for the development of this techniques researched and
application. justify your preferred selection
as well as your preferred
software development
methodology.

Learning Outcomes and Assessment Criteria

Pass Merit Distinction

LO3 Work individually and as part of a team to plan and produce a


functional business application with support documentation

P4 Create a formal questionnaire M3 Interpret your peer-review


D2 Evaluate any new insights,
that effectively reviews your feedback and identify
ideas or potential

2
Nguyen Van Phong
business application, problem opportunities not previously improvements to your system
definition statement, proposed considered. and justify the reasons why
solution and development strategy. you have chosen to include (or
Use this questionnaire as part of a not to include) them as part of
M4 Develop a functional
peer-review and document any this business application.
business application based on a
feedback given. specific Software Design
Document with supportive
P5 Develop a functional business evidence of using the preferred
application based on a specified tools, techniques and
business problem. methodologies.

LO4 Evaluate the performance of a business application against its


Software Design Document and initial requirements

P6 Review the performance of your M5 Analyse the factor that D3 Critically evaluate the
business application against the influence the performance of a strengths and weaknesses of
Problem Definition Statement and business application and use your business application and
initial requirements. them to undertake a critical fully justify opportunities for
review of the design, improvement and further
development and testing stages development.
of your application. Conclude
your review by reflectively
discussing your previously
identified risks.

Submission Format
The submission is in the form of documents/files:

1. The submission is in the form of 1-word document containing required evidences and 1 presentation
if necessary (M2, D1).

2. A report document including required evidences

3. An installable and executable version of your application (P5)

4. A presentation if necessary (D2, D3)

You are required to make use of headings, paragraphs, subsections and illustrations as appropriate,
and all work must be supported with research and referenced using the Harvard referencing system.

3
Nguyen Van Phong
Assignment Brief and Guidance
As the technology is being developed rapidly nowadays, FPT Co. desires to build the continuing study
environment throughout the corporation. It is necessary to develop a web-based system, which
manages the activity of “Training” for internal training program of the company. This system can 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.
This is a system used by HR department. We have three roles in this system, an administrator, training
staff and a trainer. The brief description of those roles is as follow.
1. 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
2. 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, 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.
3. 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.

Your manager suggests that this would be a great opportunity for you to demonstrate your capabilities

4
Nguyen Van Phong
by designing and developing the application. After considering, you decide to do the project. The
project consists of 4 steps which is divided into two phases. In this first phase, you have to carry on
requirement analysis and produce solution design for the problem.
Assignment Guidance
Task Assessment Criteria Requirement
1 P1 Explore a business-related problem and 1. Use case diagram to capture problem
produce a well-defined Problem Definition requirements
Statement supported by a set of user and 2. Screen-flow diagram and wireframes
system requirements. (prototype screen)
2 P2 Determine any areas of risk related to the 3. Questions to identity any problem from
successful completion of your application. the requirements, use cases, screen-flow
diagram or UI
4. Answer to above questions according to
personal research
3 P3 Research the use of software development 5. ERD describing application database
tools and techniques and identify any that 6. UML Class diagram for the core business
have been selected for the development of processing
this application.
4 M1 Analyze a business-related problem using 7. Detail use case description for important
appropriate methods and produce a well- functions
structured Software Design Document that
defines a proposed solution and includes
relevant details on requirements, system
analysis, system design, coding, testing and
implementation.
5 M2 Compare the differences between the 8. A presentation to introduce different
various software development tools and software development methods (at least
techniques researched and justify your 3), for example: Waterfall, Prototyping,
preferred selection as well as your preferred Spiral, Agile…
software development methodology.
6 D1 Justify the tools and techniques chosen to 9. Critical comparison among development
realize a custom built website. Justify your methods in the presentation and reasons
preferred selection of tools and techniques in for your selection of tools and techniques.
deducing an appropriate solution to a
business related problem.
7 P4 Create a formal questionnaire that 10. Questionnaires to peer-review your
effectively reviews your business application, application
problem definition statement, proposed
solution and development strategy. Use this
questionnaire as part of a peer-review and

5
Nguyen Van Phong
document any feedback given.
8 P5 Develop a functional business application 11. A runnable implementation of the
based on a specified business problem. application
9 P6 Review the performance of your business 12. Test plan
application against the Problem Definition 13. Test results
Statement and initial requirements.
10 M3 Interpret your peer-review feedback and 14. Peer-review feedback and Evaluation on
identify opportunities not previously feedback
considered. 15. Recommendation for improvements
11 M4 Develop a functional business application 16. Sequence diagrams to show business
based on a specific Software Design process of important application functions
Document with supportive evidence of using
the preferred tools, techniques and
methodologies.
12 M5 Analyze the factor that influence the 17. Evaluation on test results
performance of a business application and use
them to undertake a critical review of the
design, development and testing stages of
your application. Conclude your review by
reflectively discussing your previously
identified risks.
13 D2 Evaluate any new insights, ideas or 18. A presentation about your application
potential improvements to your system and
justify the reasons why you have chosen to
include (or not to include) them as part of this
business application.
14 D3 Critically evaluate the strengths and 19. Evaluation of your application in the
weaknesses of your business application and presentation
fully justify opportunities for improvement
and further development.

6
Nguyen Van Phong
 Summative Feedback:  Resubmission Feedback:

Grade: Assessor Signature: Date:


Internal Verifier’s Comments:

Signature & Date:

7
Nguyen Van Phong
Table of Contents
I. Introduction............................................................................................................................................................ 10
II. Customer Requirement.......................................................................................................................................... 10
1. An administrator’s role................................................................................................................................... 10
2. A training staff’s role...................................................................................................................................... 10
3. A trainer’s role................................................................................................................................................ 11
III. Areas of risk related to the application................................................................................................................. 11
IV. Functional Requirements Specification................................................................................................................. 12
1. Account.......................................................................................................................................................... 12
2. Category, Course and Topic............................................................................................................................ 12
3. Admin............................................................................................................................................................. 13
4. Trainer............................................................................................................................................................ 13
5. Trainee........................................................................................................................................................... 13
6. Training Staff.................................................................................................................................................. 14
6.1. Manage category................................................................................................................................. 14
6.2. Management Course........................................................................................................................... 14
6.3. Trainee Management.......................................................................................................................... 14
6.4. Trainer Manager.................................................................................................................................. 14
I. Screen-flow diagram............................................................................................................................................... 16
II. Use Case Diagram.................................................................................................................................................. 17
III. Class Diagram........................................................................................................................................................ 19
1. Model Package............................................................................................................................................... 19
2. Entity Package (View Package)....................................................................................................................... 20
3. Controller Package......................................................................................................................................... 21
IV. Entity Relationship Diagram (ERD)........................................................................................................................ 22
V. Database Schema................................................................................................................................................... 23
VI. Functional Description.......................................................................................................................................... 24
1. Login............................................................................................................................................................... 24
2. Logout............................................................................................................................................................ 24
3. List Account by role........................................................................................................................................ 24
4. Create Account............................................................................................................................................... 25
5. Change Password........................................................................................................................................... 26
6. Block Account................................................................................................................................................. 27
7. Unblock Account............................................................................................................................................ 27
8. List All Trainees............................................................................................................................................... 28
9. Search Trainees.............................................................................................................................................. 28
10. Manage Trainees.......................................................................................................................................... 29
11. Manage Trainers........................................................................................................................................... 31
12. List All Trainers............................................................................................................................................. 33
13. List Category by Id........................................................................................................................................ 33
14. Manage Categories...................................................................................................................................... 34
15. List Course by Category................................................................................................................................ 35
16. Manage Course............................................................................................................................................ 36
17. Show Profile Details..................................................................................................................................... 37
18. Edit Trainer Profiles...................................................................................................................................... 38
19. List Learning Courses.................................................................................................................................... 39
20. List Topics of Course..................................................................................................................................... 39
21. View Course................................................................................................................................................. 40

8
Nguyen Van Phong
22. Show Profile Details..................................................................................................................................... 40
23. Edit Trainee Profile....................................................................................................................................... 41
24. List Teaching Courses................................................................................................................................... 42
25. List Topics of Course..................................................................................................................................... 42
26. Manage Topics............................................................................................................................................. 43
VII. Testing.................................................................................................................................................................. 45
1. Review and Test plant.................................................................................................................................... 45
1.1 Scope of the test.................................................................................................................................. 45
1.2 Test Environment.................................................................................................................................. 45
2. Results compared to reality............................................................................................................................ 48
VIII. Peer-review the application................................................................................................................................ 87
IX. User Manual......................................................................................................................................................... 88
1. For Admin....................................................................................................................................................... 88
2. For Training Staff............................................................................................................................................ 89
3. For Trainee..................................................................................................................................................... 97
4. For Trainer.................................................................................................................................................... 100

9
Nguyen Van Phong
Task 1: Overview

I. Introduction
As the technology is being developed rapidly nowadays, FPT Co. desires to build the continuing
study environment throughout the corporation. It is necessary to develop a web-based system,
which manages the activity of “Training” for internal training program of the company.

II. Customer Requirement


As the technology is being developed rapidly nowadays, FPT Co. desires to build the continuing
study environment throughout the corporation. It is necessary to develop a web-based system,
which manages the activity of “Training” for internal training program of the company. This
system can 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.
This is a system used by HR department. We have three roles in this system, an administrator,
training staff and a trainer. The brief description of those roles is as follow.
1. 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.

2. 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, 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.

10
Nguyen Van Phong
 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.

3. 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.
Your manager suggests that this would be a great opportunity for you to demonstrate your
capabilities by designing and developing the application. After considering, you decide to do the
project. The project consists of 4 steps which is divided into two phases. In this first phase, you
have to carry on requirement analysis and produce solution design for the problem.

III. Areas of risk related to the application.


NO Questions Answers
1 How many roles can work system? The system is divided into 4 levels, the
corresponding user is Admin, Training Staff,
Trainee and Trainer
2 So for each user level, what functions do Admin can create account and change
they have, what level can manage them password, but for trainee account and
all? trainer can only create but not activated. In
order for the account to be activated, the
Training Staff must fully add the account
information. And Training account plays a
central role, controlling 4 main activities is
managing category, course (unable to
manage topic in course), trainee and trainer.
Trainee can manage the course topics and
be assigned by the Training Staff. Trainer can
use system resources to study.
3 Can Trainee or Trainer create their Trainee and Trainer cannot create an
account? If they want to create an account; they need to go through the
account, how should they do it? Training Staff. However, the Training Staff
can only create in case the system has an
empty account that has not been activated
yet. If not, they need to contact admin to

11
Nguyen Van Phong
create an account. Another, all accounts in
the system (except admin accounts) cannot
create an account by themselves but need
to create an account through the admin.
4 Can visitors from outside can view the This is an internal learning system so it can
course information? only view the course after it has been
granted an account to log into the system.
5 So Training Staff cannot create an Yes, they aren’t. If they want to create a
account for themselves? Training Staff account, you need to create an
account through the administrator.
6 Can the account in the Admin system Unable to delete the account in the system,
delete the account? For example, delete admin can only block or unblock the
a teacher or student account account. This is an interesting point in the
system because if you delete the account,
the history of the teaching-learning course
in the system will be lost.
7 Can the Training Staff account block or No, Training Staff account can only edit
unblock the trainee account and trainer? account’s profile of users and assign / enroll
courses or learning / teaching for trainee or
trainer. In addition, when admin create an
account, it’s will empty and cannot use.
Training Staff need provides account’s profile
to unlock account
8 Can the trainee account add new No, they can only add topics in the course,
courses? and the extra course must be through the
Training Staff.
9 So students cannot register their courses Yes, if they want to register they must go
directly on the system, right? through the Training Staff.
IV. Functional Requirements Specification
TMS is a training management system for companies. The system has four roles (role) members:
admin, training staff, trainee and trainer. Members must login (login) into the system through the
first page.
1. Account
Account stores user information, including (id, password (encrypted SHA-256), role, active).

2. Category, Course and Topic


 Category describes categories of classes, information including (id, name, description), a
category contains a list of courses of the same category.
 Course describes a class, information includes (id, name, description, active), a course
contains a list of topics.
 Topic is the topic of a course, contains information (id, name, description, createDate).

12
Nguyen Van Phong
3. Admin
The main task is to manage user accounts.
 List role accounts, except admin role.
 Create an account (Create Account) to follow the role. A trainee account or trainer when
newly created in a locked state, cannot be logged in, they need to be trained by the staff full
of information and activated later, even admin cannot activate.
 Change the password (Change Password) of the user, to avoid wrong input, the password is
entered twice to check.
 Inactive (Block) and activated (Unblock) account, except for a trainee account or a newly
created trainer.

4. Trainer
Students, use the system's resources to study.
Trainer information includes (id, name, type, department, education, phone, email, portrait),
portrait are standardized PNG images of 160x200 size. If there is no image, the default image
no_image.png will be used.
- Trainer can edit information (Edit Profile) individually.
- Trainer can list a list of registered courses; trainers register for these courses by contacting
training staff directly.
- Trainer can access course (View Course) in the list of registered courses, ie see the topic of the
course. The list of course topics is displayed in chronological order to create topics
(createDate).

5. Trainee
The teacher, is managed by training staff and has the right to manage the assigned courses.
Information of trainee includes (id, name, date of birth, title, department, education, main skill
(main programming language), TOEIC score, experience, portrait), portrait is standardized PNG
images of size 160x200. If there is no image, the default image no_image.png will be used.
- Trainee can edit personal information (Edit Profile).
- Trainee can manage the courses assigned to teach, namely managing topics under the course
(Manage Topics).
- Managing topics including adding topics (Add Topic), editing topics (Edit Topic) and topic
deletion (Remove Topic).
6. Training Staff
The mission, playing a central role, dominates 4 main activities:

13
Nguyen Van Phong
6.1. Manage category
Allow creating (Add Category), edit information (Edit Category) and delete (Delete Category)
categories. A category is only deleted when there are no courses of that category.

6.2. Management Course


- Course is listed as a category list for ease of management. For each category, it is possible to
create a new course (Add Course) of that category, edit the course information (Edit Course)
and close the course (Close Course).
- The courses after closing will not be able to reopen (except for direct access to the database),
thus the content cannot be viewed and changed.
- Training staff does not manage the course topics, the trainee will perform that task.

6.3. Trainee Management


- It is possible to create a new trainee (Add Trainee) from pre-registered free account accounts
with admin. If not, training staff must contact the trainee directly to create these empty
accounts.
- You can search (Search Trainee) and list trainees by: main programming language (By Skill) or
by TOEIC score (in certain min, max intervals), or list all. For trainees in the list, you can edit
information (Edit Profile) or assign classes to the trainee to teach (Assign Course). The list of
courses assigned to the trainee is active (active) courses, not yet assigned to any trainee (a
course with only one trainee taught).
- Cannot delete trainee, can only ask the admin to disable (block) the account so that the
trainee cannot login.

6.4. Trainer Manager


- You can create a new trainer (Add Trainer) from your free account (accounts) registered with
admin. If not, training staff must contact the trainee directly to create these empty accounts.
- Can list the trainers. With the trainers in the list, you can edit information (Edit Profile) or
register a trainer to the class (Enroll Course). The list of trainee registration courses is that the
active courses (active) and the trainer have not registered yet.
- Unable to delete the trainer, it is only possible to ask the admin to block the account so that
the trainer cannot login.

14
Nguyen Van Phong
Task 2: TMSProject
TMS Project system was built based on MVC (Model-View-Controller) model with the aim to meet the
needs of managing "training" activities in the company. In addition, the system meets such needs:

Admin roles:
 List role accounts, except admin role.
 Create an account (Create Account) to follow the role. A trainee account or trainer when newly
created in a locked state, cannot be logged in, they need to be trained by the staff full of
information and activated later, even admin cannot activate.
 Change the password (Change Password) of the user, to avoid wrong input, the password is
entered twice to check.
 Inactive (Block) and activated (Unblock) account, except for a trainee account or a newly created
trainer.
Training Staff roles:
 Manage categories
 Manage Courses
 Trainer Management
 Trainee Management
Trainee roles:
- Trainee can edit personal information (Edit Profile).
- Trainee can manage the courses assigned to teach, namely managing topics under the course
(Manage Topics).
- Managing topics including adding topics (Add Topic), editing topics (Edit Topic) and topic
deletion (Remove Topic).
Trainer roles:
- Trainer can edit information (Edit Profile) individually.
- Trainer can list a list of registered courses; trainers register for these courses by contacting
training staff directly.
- Trainer can access course (View Course) in the list of registered courses, ie see the topic of the
course. The list of course topics is displayed in chronological order to create topics (createDate).

Notes: Project has included code, extract file “TMSProject.rar”

15
Nguyen Van Phong
I. Screen-flow diagram

16
Nguyen Van Phong
II. Use Case Diagram

17
Nguyen Van Phong
18
Nguyen Van Phong
III. Class Diagram
1. Model Package

19
Nguyen Van Phong
2. Entity Package (View Package)

20
Nguyen Van Phong
3. Controller Package

21
Nguyen Van Phong
IV. Entity Relationship Diagram (ERD)

22
Nguyen Van Phong
V. Database Schema

23
Nguyen Van Phong
VI. Functional Description
1. Login
Use Case Name User Login into system
Actor User
Description User login into system and used it
Requirements Provides valid value of username and password
Pre-conditions Actor has login into systems
Post-conditions Login success and actor can use system
Basic flow Actor Action System Response
1. Actor provides valid value of 4. System will display the
username interface suitable for each
2. Actor provides valid value of account if the user logs in to
password the correct account
3. Actor click “Login” 5. System will show Error
message if invalid username
or password
Relationship

2. Logout
Use Case Name User log out of the system
Actor User
Description User can log out of the system after use
Requirements None
Pre-conditions Actor has login into systems
Post-conditions Logout success
Basic flow Actor Action System Response
1. Actor click “Logout” 2. System logs out the user
account and displays the
login layout

Relationship NONE
3. List Account by role
Use Case Name Admin can view list account by role
Actor Admin

24
Nguyen Van Phong
Description The administrator can view the list of corresponding accounts in the system
for each role
Requirements The administrator chooses the role they want to see
Pre-conditions Actor has logged as Admin
Post-conditions Displays the list of respective accounts
Basic flow Actor Action System Response
1. Actor login system by 3. System will show the list
admin account of respective accounts
2. Administrator chooses
the role they want to see
Relationship

4. Create Account
Use Case Name Admin can create new account
Actor Admin
Description Admin want to create new account
Requirements The administrator selects the corresponding role for the account that they
want to create
Pre-conditions Actor has logged as Admin
Post-conditions Create a successful account
Basic flow Actor Action System Response
1. Actor login system by 7. The system will save the
admin account new account created in
2. Administrator chooses the database
the role they want to
create account
3. Administrator provides
username
4. Administrator provides
password
5. Administrator provides
password again (must
true with previous)
6. Administrator click Create
button when done
25
Nguyen Van Phong
Relationship

5. Change Password
Use Case Name The administrator can change the password of the account
Actor Admin
Description The administrator can change the password of the account they want
Requirements The administrator provides new password of the account they want
Pre-conditions Actors has logged as Admin
Post-conditions Change the password of the selected account
Basic flow Actor Action System Response
1. Actor login system by 7. The system updates the
admin account corresponding password
2. The administrator in the database
chooses the role of the
account they want to
change
3. The administrator selects
"Change Password"
immediately for the
corresponding account
4. The administrator
provides a new password
5. The administrator re-
enter that password again
6. The administrator clicks
the “Confirm” button
after it's done
Relationship

6. Block Account
Use Case Name Administrator block account
Actor Admin

26
Nguyen Van Phong
Description The administrator locks the account if there are no users left (just block
trainee/trainer account)
Requirements NONE
Pre-conditions Actor has logged as Admin
Post-conditions Block account
Basic flow Actor Action System Response
1. Actor login system by 4. System will change status
admin account of account from enable
to disable

2. The administrator
chooses the role of the
account they want to
modify (just trainee or
trainer account)
3. The administrator selects
"block" immediately for
the corresponding
account
Relationship

7. Unblock Account
Use Case Name Administrator block account
Actor Admin
Description The administrator unlocks the account (just unblock trainee/trainer account)
Requirements NONE
Pre-conditions Actor has logged as Admin
Post-conditions Unblock account
Basic flow Actor Action System Response
1. Actor login system by 4. System will change status
admin account of account from disable
2. The administrator to enable
chooses the role of the
account they want to
modify (just trainee or
trainer account)

27
Nguyen Van Phong
3. The administrator selects
"unblock" immediately
for the corresponding
account
Relationship

8. List All Trainees


Use Case Name Ministry can view all trainees
Actor Training Staff
Description Ministry can view all trainees in system
Requirements NONE
Pre-conditions Actor has logged as training staff
Post-conditions Displays trainee list accounts
Basic flow Actor Action System Response
1. Actor login system by 3. System will show the list
training staff account of respective accounts
2. Actor choose “Manage
Trainees”

Relationship NONE
9. Search Trainees
Use Case Name Ministry can search trainee
Actor Training Staff
Description Ministry can search trainee that they want to find
Requirements Provides trainee’s skill or trainee’s TOEIC score
Pre-conditions Actor has logged as training staff
Post-conditions Display account as required (if available)
Basic flow Actor Action System Response
1. Actor login system by 8. System will show account
training staff account that correct with require
2. Actor choose “Manage 9. System will show “Not
Trainees” found” if that incorrect
3. Actor choose “Search data or not exists.
Trainee”
4. Actor provides keyword of
trainee’s kill they want to

28
Nguyen Van Phong
find
5. Actor click button “By
Skill” when done
6. Actor can provide max-
min TOEIC score of
trainee they want to find
7. Actor click button “By
TOEIC” when done
Relationship

10. Manage Trainees


Use Case Ministry can manage trainee
Name
Actor Training Staff
Description Ministry want to add, edit, assign for trainee
(must has an empty account was created by admin before ministry create
trainee account)
Requirements Provides trainee’s profile when they want to create or edit trainee account.
Or assign course for trainee
Pre-conditions Actor has logged as training staff
Post- System will store new profile or update new profile if account was existed. Or
conditions store trainee’s account was assigned into course was chose
Basic flow Actor Action System Response
1. Actor login system by 12. System will store new
training staff account profile of trainee if actor
2. Actor choose “Manage create or update trainee
Trainees” 13. System will show error and
3. Actor choose “Add actor must be providing
Trainee” to create trainee data again that valid if
4. Actor choose account incorrect data
was empty and provides: 14. System will add trainee
29
Nguyen Van Phong
Name, Date of Birth was choose into course
(format dd/mm/yyyy), was selected if actor
Address, Title, choose “Assign Course”
Department, Education,
Main skill, TOEIC score,
Experience, Portrait
picture of trainee
5. Actor click “Create”
button when done.
6. Actor choose “Edit
Trainee” to edit trainee
7. Actor provides new:
Name, Date of Birth
(format dd/mm/yyyy),
Address, Title,
Department, Education,
Main skill, TOEIC score,
Experience, Portrait
picture of trainee
8. Actor click “Update”
button when done.
9. Actor choose “Assign
Course” to assign course
for trainee
10. Actor choose course was
not teachers yet
11. Actor click “Confirmed”
when done
Relationship

30
Nguyen Van Phong
11. Manage Trainers
Use Case Ministry can manage trainer
Name
Actor Training Staff
Description Ministry want to add, edit, assign for trainer
(must has an empty account was created by admin before ministry create
trainer account)
Requirements Provides trainer’s profile when they want to create or edit trainer account. Or
enroll course for trainer
Pre-conditions Actor has logged as training staff
Post- System will store new profile or update new profile if account was existed. Or
conditions store trainer’s account was enroll into course was chose
Basic flow Actor Action System Response
1. Actor login system by 11. System will store new
training staff account profile of trainee if actor
2. Actor choose “Manage create or update trainer
Trainers” 12. System will show error and
3. Actor choose “Add actor must be providing
Trainer” to create trainee data again that valid if

31
Nguyen Van Phong
4. Actor choose account incorrect data
was empty and provides: 13. System will add trainer
Name, Type, Department, was choose into course
Education, Phone, Email, was selected if actor
Portrait picture of trainer choose “Enroll Course”
5. Actor click “Create”
button when done.
6. Actor choose “Edit
Trainer” to edit trainer
7. Actor provides new
Name, Type, Department,
Education, Phone, Email,
Portrait picture of trainer
8. Actor click “Update”
button when done.
9. Actor choose “Enroll
Course” to enroll course
for trainer
10. Actor click “Confirmed”
when done

Relationship

32
Nguyen Van Phong
12. List All Trainers
Use Case Name Ministry can view all trainers
Actor Training Staff
Description Ministry can view all trainers in system
Requirements NONE
Pre-conditions Actor has logged as training staff
Post-conditions Displays trainer list accounts
Basic flow Actor Action System Response
1. Actor login system by 3. System will show the list
training staff account of respective accounts
2. Actor choose manage
trainees

Relationship NONE
13. List Category by Id
Use Case Name Ministry can view all categories
Actor Training Staff
Description Ministry can view all categories in system
33
Nguyen Van Phong
Requirements NONE
Pre-conditions Actor has logged as training staff
Post-conditions Displays category list
Basic flow Actor Action System Response
1. Actor login system by System will show the list of
training staff account category
2. Actor choose manage
category

Relationship

14. Manage Categories


Use Case Name Ministry can manage category
Actor Training Staff
Description Ministry want to add new category, update an exists category or delete
category
Requirements Provides category’s name and category’s description to add new or update
category
Pre-conditions Actor has logged as training staff
Post-conditions System will add new category into database or update category’s info. Or
delete category haven’t course in there
Basic flow Actor Action System Response
1. Actor login system by 10. System will store new
training staff account category if actor create
2. Actor choose “Manage category
Categories” 11. System will store new
3. Actor choose “Create category’s information if
Category” to create actor edit category
category 12. System will delete
4. Actor provides: Name, category if actor delete
Description of Category category
5. Actor click “Create” 13. System will show error
button when done. message if delete
6. Actor choose “Edit” to category has course
edit category
7. Actor provides: Name,

34
Nguyen Van Phong
Description of Category
8. Actor click “Update”
button when done.
9. Actor choose “Delete” to
delete category (just can
delete category haven’t
course

Relationship

15. List Course by Category


Use Case Ministry can view all course
Name
Actor Training Staff
Description Ministry can view all courses in category
Requirements NONE
Pre-conditions Actor has logged as training staff
Post- Displays course list in category was selected
conditions
Basic flow Actor Action System Response
1. Actor login system by 4. System will show the list of

35
Nguyen Van Phong
training staff account course that correct with
2. Actor choose manage category was selected
courses
3. Actor Select the
corresponding category
to see all course inside

Relationship

16. Manage Course


Use Case Name Ministry can manage course
Actor Training Staff
Description Ministry want to add new course, update an exists course or close course
(cannot open course again if close, just see course was closed on database)
Requirements Provides course’s name and course’s description to add new or update
course
Pre-conditions Actor has logged as training staff
Post-conditions System will add new course into database or update course’s info. Or
change active status from true to false if close course and actor cannot see
it on system (just can see course was closed on database)
Basic flow Actor Action System Response
1. Actor login system by 10. System will store new
training staff account course if actor create course
2. Actor choose “Manage 11. System will store new
Courses” course’s information if actor
3. Actor choose “Create edit course
Course” to create 12. System will change active
course status from true to false if
4. Actor provides: Name, close course if actor close
Description of course course
5. Actor click “Create”
button when done.
6. Actor choose “Edit” to
edit course
7. Actor provides: Name,
Description of course
8. Actor click “Update”
button when done.

36
Nguyen Van Phong
9. Actor choose “Close”
to close course

Relationship

17. Show Profile Details


Use Case Name Trainer can see their profile
Actor Trainer
Description Trainer want to see their profile
Requirements NONE
Pre-conditions Actor has logged as trainer
Post-conditions List all their information
Basic flow Actor Action System Response
1. Actor login system by 2. List all trainer’s
trainer account information

Relationship

37
Nguyen Van Phong
18. Edit Trainer Profiles
Use Case Name Trainer can update their information
Actor Trainer
Description Trainer want to update their information
Requirements Provides new their information
Pre-conditions Actor has logged as trainer
Post-conditions System will update new their information in database
Basic flow Actor Action System Response
1. Actor login system by 5. System will update new
trainer account information in database.
2. Actor choose “Edit
Trainer” to edit trainer
3. Actor provides new
Name, Type, Department,
Education, Phone, Email,
Portrait picture
4. Actor click “Update”
button when done.

Relationship

19. List Learning Courses


Use Case Name Trainer can see their courses
Actor Trainer
Description Trainer want to see their courses
Requirements NONE
Pre-conditions Actor has logged as trainer

38
Nguyen Van Phong
Post-conditions List all their information
Basic flow Actor Action System Response
1. Actor login system by 2. List all trainer’s courses
trainer account

Relationship

20. List Topics of Course


Use Case Name Trainer can see their topics
Actor Trainer
Description Trainer want to see their topics
Requirements NONE
Pre-conditions Actor has logged as trainer
Post-conditions List all their topics in course
Basic flow Actor Action System Response
1. Actor login system by 3. List all topics in course
trainer account
2. Actor choose “View
Course”
Relationship

21. View Course


Use Case Name Trainer can see their courses
Actor Trainer
Description Trainer want to see their courses
Requirements NONE

39
Nguyen Van Phong
Pre-conditions Actor has logged as trainer
Post-conditions List all their course
Basic flow Actor Action System Response
1. Actor login system by 2. List all courses
trainer account

Relationship

22. Show Profile Details


Use Case Name Trainee can see their profile
Actor Trainee
Description Trainee want to see their profile
Requirements NONE
Pre-conditions Actor has logged as trainee
Post-conditions List all their information
Basic flow Actor Action System Response
1. Actor login system by 2. List all trainee’s
trainee account information

Relationship

23. Edit Trainee Profile


Use Case Name Trainee can update their information
Actor Trainee

40
Nguyen Van Phong
Description Trainee want to update their information
Requirements Provides new their information
Pre-conditions Actor has logged as trainee
Post-conditions System will update new their information in database
Basic flow Actor Action System Response
1. Actor login system by 5. System will store new
trainee account profile of trainee
2. Actor choose “edit” to
edit trainee
3. Actor provides new:
Name, Date of Birth
(format dd/mm/yyyy),
Address, Title,
Department, Education,
Main skill, TOEIC score,
Experience, Portrait
picture of trainee
4. Actor click “Update”
button when done.

Relationship

24. List Teaching Courses


Use Case Name Trainee can see their courses
Actor Trainee
Description Trainee want to see their course
Requirements NONE
Pre-conditions Actor has logged as trainee
Post-conditions List all their courses
Basic flow Actor Action System Response
1. Actor login system by 2. List all courses
trainer account

Relationship

41
Nguyen Van Phong
25. List Topics of Course
Use Case Name Trainee can see their topics in each course
Actor Trainee
Description Trainee want to see their topics in each course
Requirements NONE
Pre-conditions Actor has logged as trainee
Post-conditions List all their courses
Basic flow Actor Action System Response
1. Actor login system by 3. List all topics in course
trainee account was selected
2. Actor choose “Manage
Topics”
Relationship

26. Manage Topics


Use Case Name Trainee can manage topics
Actor Trainee
Description Trainee want to add new topic, update an exists topic or delete topic
Requirements Provides topic’s title and topic’s content to add new or update course
Pre-conditions Actor has logged as trainee
Post-conditions System will add new topic into course or update topic’s info. Or delete topic
Basic flow Actor Action System Response
1. Actor login system by 10. System will store new
trainee account topic if actor create topic
2. Actor choose “Manage 11. System will store new
Topics” topic’s information if
3. Actor choose “Add Topic” actor edit topic
to create course 12. System will delete topic if
4. Actor provides: Title, actor choose delete

42
Nguyen Van Phong
Content of topic
5. Actor click “Create”
button when done.
6. Actor choose “Edit” to
edit course
7. Actor provides: Title,
Content of topic
8. Actor click “Update”
button when done.
9. Actor choose “Delete” to
delete topic
Relationship

43
Nguyen Van Phong
VII. Testing
1. Review and Test plant
1.1 Scope of the test
a. TMSProject: Ver1.0
b. Document require: Document requirement, coding document, design document.
c. Time testing: From 01-July-2019 To 07-July-2019
1.2 Test Environment
a. Testing system:
- Library Management System
b. Hardware requirement:
Computer Hardware MacBook Air 13
Screen Size 13 inch
Client 1 laptop
c. Software
Software NetBeans IDE 8.2 (JDK 1.8)
Database Microsoft SQL Server 2017
Browser Coccoc, Chrome
Documentation tool Microsoft Word 2016
Computer Operating System Windows 10 Pro, 64bit
d. Resource:
1) Participating organizations: No organizations join to this test.
2) Manpower requirements: Only me.
e. Test Detail (For Each Test):
1) Test identification: Test insert, update, delete, show, block, unblock function.
2) Test objective: All the requirement function will run with no error.
f. Test level:
1) Normal scenarios
2) Data validation.
3) Extremes of data.
g. Test schedule:
 Testing: Function Test and Unit Test → 3 days
 Regression tests: Test all function and unit of the test case → 3 days
***Data to be recorded: Data given from system test plan will be record and will be executed
when the system process has no occurred error and run successfully.
h. Test case
NO Test function Description
44
Nguyen Van Phong
1 Login Log in into system
2 Logout Log out system
3 List Account by role List all account by role
4 Create Account Create new account (just admin can add but
account was disable, it’s just use when enable by
training staff update profiles of account)
5 Change Password Change account’s password
6 Block Account Block account(trainee, trainer)
7 Unblock Account Unblock account(trainee, trainer)
8 List All Trainees Show all trainees
9 Search Trainees Search trainees (by skill, by TOEIC score)
10 Manage Trainees Manage trainee (add new trainee with an exists
empty account was create by admin, update
trainee’s profile, assign course)
11 Manage Trainers Manage trainer(add new trainer with an exists
empty account was create by admin, update
trainer’s profile, enroll course)
12 List All Trainers Show all trainers
13 List Category by Id Show all category
14 Manage Categories Manage categories (add new category, update
category or delete category if haven’t courses)
15 List Course by Category Show all course in category was selected
16 Manage Course Manage courses (add new course, update course or
close course if close courses, actor cannot open it
again and can see it in system, just see it in
database)
17 Show Trainer’s Profile Details Show profile details of account
18 Edit Trainer Profiles Edit Profiles
19 List Learning Courses (Trainer) Show all learning courses
20 List Topics of Course (Trainer) Show topics in course was selected
21 View Course (Trainer) Show all Course
22 Show Trainee’s Profile Details Show profile details of account
23 Edit Trainee Profile Edit profile
24 List Teaching Courses Show all teaching courses
25 List Topics of Course Show all topics in course
26 Manage Topics Manage topics (add new topic, edit topic, or delete
topic)

45
Nguyen Van Phong
2. Results compared to reality
NO Test Steps Test Data Expected Actual Output Status Notes

46
Nguyen Van Phong
Output Pass/Fail
1 Login (admin) Username: chode Login success Login success Pass Success
Password: dede
2 Login Username: choghe Login success Login success Pass Success
(Training Staff) Password: gheghe
3 Login (Trainee) Username: chomuc Login success Login success Pass Success
Password: mucmuc
4 Login (Trainer) Username: choxamau Login success Login success Pass Success
Password: maumau
5 Logout N/A Logout success Logout success Pass Success

6 Show Trainee Profile N/A Trainee profile Trainee profile Pass Success
Details page page
7 Edit Trainee Profile Add more main Show Show information Pass Success
skill: .Net, information update on the
update on the Trainee profile
Trainee profile page
page
8 List Teaching Courses N/A Display list Display list Pass Success
teaching course teaching course
9 Add Topic Title: Database Basic Create a topic Create a topic and Pass Success
Content: Create and display on display on the
database, table, the Manage Manage Topics
update table, Topics page page
constraint, trigger
Database Schema,
ERD(Entity
Relationship Diagram)
10 Edit Topic Title: Database Basic Show Show information Pass Success
(V 5.0) information update on the
update on the Manage Topics
Manage Topics page
page
11 Remove Topic N/A Remove a topic Remove a topic Pass Success
on the Manage on the Manage
Topics page Topics page

47
Nguyen Van Phong
12 Show Trainer Profile N/A Trainer profile Trainer profile Pass Success
Details page page
13 Edit Trainer Profile Type: External Show Show information Pass Success
information update on the
update on the Trainer Profile
Trainer Profile page
page
14 List Learning Courses N/A Display List Display List Pass Success
Learning Learning Courses
Courses
15 List Topics of Course N/A Display List Display List Topics Pass Success
Topics of Course of Course
16 View Course N/A Display List Display List Topics Pass Success
Topics of Course of Course
17 List Account By Role N/A Display List Display List Pass Success
Account By Role Account By Role
18 Create Staff Account Username: testting Create account Create account Pass Success
Password: and display and display
testingtestingtesting account on the account on the
Retype password: Admin page Admin page
testingtestingtesting
19 Change Password New password: Update Update password Pass Success
testtest password for for “testing”
Retype password: “testing” account
testtest account
20 Block Account N/A Block “cholu” Block “cholu” Pass Success
account account
21 Unblock Account N/A Unblock “cholu” Unblock “cholu” Pass Success
account success
22 Search Trainees By Skill Skill: C# Display Trainees Success. Display Pass Success
who have Skill is Trainees By Skill
“C#”
23 Search Trainees By min: 80 Display Trainees Success. Display Pass Success
TOEIC Score max: 100 who have TOEIC Trainees By TOIEC
score from 80 Score
to 100

48
Nguyen Van Phong
24 List All Trainees N/A Display list all Display list all Pass Success
trainees trainees
25 Assign Course Jquery Assign Course Assign Course for Pass Success
for Trainees Trainees
26 Add Trainee Name: test1 Create new Create new Pass Success
Date of Birth: trainee, display trainee, display on
12/12/1999 on the Training the Training Staff
Address: 123/abc Staff page page
HCM
Title: Leader
Department:
Software Engineer
Education: F.U
Main skill: Jquery
TOIEC score: 80
Experience: - Began
developing C++ in
1979
The head of AT&T Bell
Labs' Large-scale
Programming
Research department.
Began Database in
2000.
27 Edit Trainee Profile Education: College Update Trainee Update Trainee Pass Success
BTEC FPT information information
TOIEC score: 95
28 Add Trainer Name: trainertest Create new Create new Pass Success
Type: internal trainer, display trainer, display on
Department: Soft test on the Training the Training Staff
Education: 12/12 Staff page page
Phone: 0909909990
Email:
trainertest@gmail.co
m
29 Edit Trainer Profile Name: trainertest99 Update Trainer Update Trainer Pass Success

49
Nguyen Van Phong
Add new picture information information
30 Enroll Course Java 8 Essentials Display course Display course on Pass Success
on the Trainer the Trainer page
page
31 List All Trainers N/A Display list all Display list all Pass Success
trainers trainers
32 Find Category By Id N/A Display all Display all Pass Success
category category
33 Add Category Name: Database Create new Create new Pass Success
Description: SQL category and category and
Server display on the display on the
Trainer Staff Trainer Staff page
page
34 Edit Category Name: Database Update Update Pass Success
Exercises information information
35 Remove Category N/A Remove a N/A Fails Success
category
36 List Courses By .C# Programming Display Course Display Course by Pass Success
Category by category category
37 Add Course Name: Jquery Create new Create new Pass Success
Description: course and course and display
Basic of Jquery display on the on the Training
Training Staff Staff
38 Edit Course Description: -Write Update course Update course Pass Success
your own LINQ information information
operators
39 Close Course N/A Close a course Close a course Pass Success

50
Nguyen Van Phong
NO
1

51
Nguyen Van Phong
2

52
Nguyen Van Phong
3

53
Nguyen Van Phong
4

54
Nguyen Van Phong
5

55
Nguyen Van Phong
6

56
Nguyen Van Phong
8

57
Nguyen Van Phong
10

11

58
Nguyen Van Phong
59
Nguyen Van Phong
12

13

60
Nguyen Van Phong
14

15

61
Nguyen Van Phong
16

17

62
Nguyen Van Phong
18

63
Nguyen Van Phong
64
Nguyen Van Phong
19

20

65
Nguyen Van Phong
66
Nguyen Van Phong
21

67
Nguyen Van Phong
22

23

24

68
Nguyen Van Phong
25

69
Nguyen Van Phong
26

70
Nguyen Van Phong
71
Nguyen Van Phong
27

28

72
Nguyen Van Phong
29

30

73
Nguyen Van Phong
31

74
Nguyen Van Phong
32

33

75
Nguyen Van Phong
76
Nguyen Van Phong
34

77
Nguyen Van Phong
35

78
Nguyen Van Phong
36

79
Nguyen Van Phong
37

80
Nguyen Van Phong
38

81
Nguyen Van Phong
82
Nguyen Van Phong
39

83
Nguyen Van Phong
VIII. Peer-review the application
Effective of the The application will integrate online payment features and learning
application functions through videos so students can review old lectures.
Problems - Not yet implemented the student's score management system
- Course information is sketchy
- Hasn't provided specific course times
Proposed solution - Add score management part into system
- Add more course information
- Add course time management to help trainer know course specific time
Development strategy The application works stably, all functions are fine

84
Nguyen Van Phong
IX. User Manual
1. For Admin
 List role accounts, except admin role.
 Create an account (Create Account) to follow the role. A trainee account or trainer when
newly created in a locked state, cannot be logged in, they need to be trained by the staff full
of information and activated later, even admin cannot activate.

 Change the password (Change Password) of the user, to avoid wrong input, the password is
entered twice to check.

 Inactive (Block) and activated (Unblock) account, except for a trainee account or a newly
created trainer.

85
Nguyen Van Phong
2. For Training Staff
 Manage category

86
Nguyen Van Phong
- Allow creating (Add Category), edit information (Edit Category) and delete (Delete Category)
categories. A category is only deleted when there are no courses of that category.
 Category describes categories of classes, information including (id, name, description), a
category contains a list of courses of the same category.
 Management Course
- Course is listed as a category list for ease of management. For each category, it is possible to
create a new course (Add Course) of that category, edit the course information (Edit Course)
and close the course (Close Course).

87
Nguyen Van Phong
88
Nguyen Van Phong
89
Nguyen Van Phong
- The courses after closing will not be able to reopen (except for direct access to the database),
thus the content cannot be viewed and changed.
- Training staff does not manage the course topics, the trainee will perform that task.
 Course describes a class, information includes (id, name, description, active), a course
contains a list of topics.
 Trainee Management
- It is possible to create a new trainee (Add Trainee) from pre-registered free account accounts
with admin. If not, training staff must contact the trainee directly to create these empty
accounts.
- You can search (Search Trainee) and list trainees by: main programming language (By Skill) or
by TOEIC score (in certain min, max intervals), or list all. For trainees in the list, you can edit
information (Edit Profile) or assign classes to the trainee to teach (Assign Course). The list of
courses assigned to the trainee is active (active) courses, not yet assigned to any trainee (a
course with only one trainee taught).

90
Nguyen Van Phong
91
Nguyen Van Phong
- Cannot delete trainee, can only ask the admin to disable (block) the account so that the
trainee cannot login.
 Trainer Manager
- You can create a new trainer (Add Trainer) from your free account (accounts) registered with
admin. If not, training staff must contact the trainee directly to create these empty accounts.

92
Nguyen Van Phong
- Can list the trainers. With the trainers in the list, you can edit information (Edit Profile) or
register a trainer to the class (Enroll Course). The list of trainee registration courses is that the
active courses (active) and the trainer have not registered yet.

93
Nguyen Van Phong
- Unable to delete the trainer, it is only possible to ask the admin to block the account so that
the trainer cannot login.

3. For Trainee

94
Nguyen Van Phong
- Trainee can edit personal information (Edit Profile).
- Trainee can manage the courses assigned to teach, namely managing topics under the course
(Manage Topics).
- Managing topics including adding topics (Add Topic), editing topics (Edit Topic) and topic
deletion (Remove Topic).
 Topic is the topic of a course, contains information (id, name, description, createDate).

95
Nguyen Van Phong
96
Nguyen Van Phong
4. For Trainer
- Trainer can edit information (Edit Profile) individually.
- Trainer can list a list of registered courses; trainers register for these courses by contacting
training staff directly.
- Trainer can access course (View Course) in the list of registered courses, ie see the topic of the
course. The list of course topics is displayed in chronological order to create topics
(createDate).

97
Nguyen Van Phong
98
Nguyen Van Phong

You might also like