You are on page 1of 74

INTERNSHIPS REPORT

Master of Software Engineering (2008-2010)

NEW TRAINING MANAGEMENT SYSTEM


Place: Computer Science Centre University of Science VNU HCMC
Duration: 6 months (From 15th June, 2010 to 15th December,
2010)

Supervisor: Prof. DONG Thi Bich Thuy

Author: KHUAT Thuy Phuong

January 07th, 2011

Abstract

Abstract
Training management system is a useful application which every training and education
organization, including Computer Science Centre (CSC), needs to manage all their work.
Because CSC is one of the largest Information Technology (IT) training centers with
more than 40 affiliates over Vietnam and 50.000 registrations of students to short-term or
long-term program per year, we must have a good training management system.
Currently, CSC is using a computer system for training management but this system has
been built and exploited more than ten years, and of course, it is doesnt satisfy the
demand now and future. Hence, constructing a new training management system which is
suitable for present and future needs is requirement for the internship.
This report writes about the internship at CSC. It will mentions to some issues such as the
current training management system; a description of requirements needed to change and
new requirements needed to add; an analysis and design of new system based on objectoriented analysis and design and design pattern theories; and an implementation built
basing on web services, distributed architecture, especially multi-tier architecture theories
and using Java language and Java platforms.

New Training Management System

Page i

TABLE OF CONTENTS
Page #

Abstract .............................................................................................................................................. i
Acknowledgements............................................................................................................................. v
1.0

INTRODUCTION...................................................................................................................... 2

1.1

Ples Universitaires Franais (PUF)...................................................................................... 2

1.2

Computer Science Centre (CSC)........................................................................................... 2

1.3

Internship Information.......................................................................................................... 3

1.3.1
1.3.2
1.3.3

2.0

Supervisor ....................................................................................................................................... 3
Internship position .......................................................................................................................... 3
Job description and motivation ........................................................................................................ 3

ANALYSIS AND DESIGN ........................................................................................................ 6

2.1

Description of problem.......................................................................................................... 6

2.2

The current Training Management System .......................................................................... 8

2.2.1 Introduction ......................................................................................................................................... 8


2.2.2 Reason why the current system is no longer meet the requirements....................................................... 9

2.3

Requirement description ..................................................................................................... 10

2.4

Result of analysis and design............................................................................................... 11

2.4.1 Reason why the new system improves over the current system............................................................ 11
2.4.2 Class Diagram.................................................................................................................................... 14
2.4.3 Sequence Diagram ............................................................................................................................. 28

3.0

IMPLEMENTATION.............................................................................................................. 33

3.1

Structure.............................................................................................................................. 33

3.2

Packages .............................................................................................................................. 34

3.2.1
3.2.2
3.2.3

Package of Dynamic Web Project .................................................................................................. 34


Package of Business Project........................................................................................................... 35
Package of Enterprise Application Project ..................................................................................... 35

3.3

Result................................................................................................................................... 36

3.4

Advantages and Disadvantages ........................................................................................... 41

3.4.1
3.4.2

Advantages.................................................................................................................................... 42
Disadvantages ............................................................................................................................... 43

CONCLUSION AND FUTURE WORK........................................................................................ 44


Conclusion........................................................................................................................................ 44
Future work ..................................................................................................................................... 44
Bibliography .................................................................................................................................... 45
Appendix A Requirement Description.......................................................................................... 46

New Training Management System

Page ii

A.1

Group of requirements about training program and material facilities management......... 46

A.2

Group of requirements about student management ............................................................ 54

A.3

Group of requirements about certification and diploma management................................ 62

Appendix B Installation and steps to run the application............................................................. 68


B.1

Installation........................................................................................................................... 68

B.2

Steps to run the application................................................................................................. 68

New Training Management System

Page iii

TABLE OF FIGURES
Figure 1.
Figure 2.
Figure 3.
Figure 4.
Figure 5.
Figure 6.
Figure 7.
Figure 8.
Figure 9.
Figure 10.
Figure 11.
Figure 12.
Figure 13.
Figure 14.
Figure 15.
Figure 16.
Figure 17.
Figure 18.
Figure 19.
Figure 20.
Figure 21.
Figure 22.
Figure 23.
Figure 24.
Figure 25.
Figure 26.
Figure 27.
Figure 28.
Figure 29.

PUF at HCMC National University and Hanoi National University ........... 2


The current Training Management System ................................................. 9
General model of New Training Management System.............................. 15
Classification of regulations ..................................................................... 17
Unit of study ............................................................................................ 17
Two types of version ................................................................................ 19
State pattern for class LopHoc.................................................................. 20
Training Program and Material Facilities Management System ................ 20
Two kinds of student ................................................................................ 21
Types of study registration ....................................................................... 22
Types of reducing fee............................................................................... 23
Study Management System....................................................................... 24
Subclasses of exam subject....................................................................... 25
Examination Management System............................................................ 26
Types of Certificate.................................................................................. 27
Certificate and Diploma Management System .......................................... 28
Enrolling in a class ................................................................................... 29
Enrolling in a unit .................................................................................... 30
Registration to a national certificate exam................................................ 30
Create a unit based on training system and training program .................... 31
Structure of the system ............................................................................. 34
Page index.jsp .......................................................................................... 36
Page group1.jsp........................................................................................ 37
Page group2.jsp........................................................................................ 37
Page group3.jsp........................................................................................ 37
Choose function study registration ........................................................... 38
Searching a student by full name and date of birth.................................... 38
Insert a new student page ......................................................................... 39
Registration a unit .................................................................................... 41

New Training Management System

Page iv

Acknowledgements
As the graduation requirement of Software Engineering Master Course University of
Bordeaux 1, I applied for the internship at Computer Science Centre (CSC) University
of Science VNU HCMC from the middle of June to the middle of December and was
accepted.
First of all, I am heartily thankful to Prof. DONG Thi Bich Thuy, who is both the director
of CSC and supervisor. She gives me an opportunity to work the internship here, creates
many good conditions for me to finish the internship and supports me to understand the
way how to do this internship and to improve the abilities and skills in this time.
Secondly, I offer the regards and blessings to many staff members working at CSC. They
help me in any respect during the completion of the internship.
Thirdly, it is a pleasure to thank University of Bordeaux 1 and the Ples Universitaires
Franais (PUF) for giving me a change to put the theories I have learnt into practice.
Lastly, I am indebted to all the professors who taught me in Software Engineering Master
Course, for their help. The knowledge which I have learnt from them is very useful for
me to do this internship.

New Training Management System

Page v

1. INTRODUCTION
This report is about the internship, worked at CSC from June 15th, 2010 to December 15th,
2010, as the graduation requirement of Master of Software Engineering Course. It is a
good time for me to practice and improve the knowledge I have learnt into a real
environment. The internship report has three chapters. The first chapter is the
introduction. The second chapter writes about the current system management and the
analysis and design of new system. The third chapter says to the implementation. The last
part in this report is the conclusion of the internship and future work.
In this chapter, the introduction, there are three main parts. The first part introduces PUF,
where I have studied; the second part writes about CSC, where I have done the internship;
and the third part is about the job description and motivation to do it.

New Training Management System

1.0 INTRODUCTION
1.1

Ples Universitaires Franais (PUF)

Figure 1. PUF at HCMC National University and Hanoi National University

PUF1 in Ho Chi Minh City (HCMC) is the centre where I have studied Master Course of
Software Engineering. It is located in Administrative Department of Vietnam National
University, Ward 6, Linh Trung Street, Thu Duc District, HCMC. I has chosen PUF
because of the good training quality and enviroment here.
1.2

Computer Science Centre (CSC)

CSC is an organization established in 1986. After more than 20 years continuously


developing, CSC is one of the largest Information Technology (IT) training centers with
more than 40 affiliates over Vietnam. CSC has played an important role in IT building
strategy quality of our country. At the main office at HCMC, there are 50.000 students
registrations to short-term or long-term program per year. CSC is also well known with
new technology research services.

Many businesses highly appreciate CSC in IT

consulting, application into operation of the businesses. The main activities are training
(it will be presented in details in the next chapter), programming and maintaining
software, IT consulting and application into operation of the businesses

www.puf.edu.vn

New Training Management System

Page 2

1.3

Internship Information

1.3.1 Supervisor

The supervisor is Professor DONG Thi Bich Thuy. Now, she works as an Associate
Professor and Director of Faculty of IT, CSC and Centre for Educational Excellence
University of Science - VNU HCMC. Her main field of research relates to information
system. Because she is the Director of CSC, she decides which analysis and design for
the new training management system is chosen, if this system is deployed to test or not
and what functions are needed to added or removed.
1.3.2 Internship position

The internship started from June 15th, 2010 to December 15th, 2010. The project named
New Training Management System was assigned to me under the guidance of Professor
DONG Thi Bich Thuy. At that time, I worked at Technical Department which the main
functions are to research new technology, design new programs and deploy those
programs to learners, etc. It is also the place where I have worked from 2006 to now.
1.3.3 Job description and motivation

One of the most important activities of CSC is training opened to everyone. The variety
of training programs, such as the number of programs and training durations (6 weeks - 3
months - 6 months - 18 months - ), as well as the diversity of the regulations which
allow students to determine their study route (to complete the training program selected)
and study duration (must respect the requirement of previous subject/course and total
durations allowed) explain the complexity in the training management operations.
CSC is currently using a computer system for training management. This system manages
the studys processes of students (from the time they register to a program to the time
they receive a certificate or a diploma). This system has been built and exploited more
than ten years, and of course, it doesnt satisfy the current study and examination
regulations. Because of this reason, the requirements written below are posed.
New Training Management System

Page 3

The content of internship suggested is analyzing the current system and designing a new
training management system with reusable components oriented approach in order to
accept the grand flexibility about the evolution in the study and examination regulations
(conditions to study a program, determinate an "option" study route within the defined
framework...).
One solution of implementation must be proposed, not only paying attention to both new
technologies such as web services, SOA... and effect of exploitation, but also paying
attention to exploitation conditions of future system (exploitation is scattered on many
points, centralized database or distributed database). Need to implement some functions
to test the effectiveness of the proposed solution.
In conclusion, there are two main requirements. Analysis and design is a very important
work. Having a good analysis and design will help the managers can understand the
system clearly and will help the programmers implement well. So the first requirement is
to analyze and to design whole of the system. Because the time to do this internship is not
enough to implement all functions, the second requirement is choosing one or two
subsystems to implement.

New Training Management System

Page 4

2. TRAINING MANAGEMENT SYSTEM - ANALYSIS AND DESIGN


In this chapter, the first part is about the description of problem. The second part
introduces the current training management system. The third part is about the description
of requirements. It lists the requirements divided into three subsystems. Next, that is the
result of the analysis and design for the new system. It includes class diagram for each
sub system and some sequence diagrams. In the internship, the time I spent to analyze and
design was the longest time (more than haft of total time I had) because they are very
important. They decide the accuracy of the project. Firstly, the director gave me some
documents about the current training management system. I must read them carefully to
understand whole the system. Secondly, I listed all problems I found in this process to ask
her. Thirdly, I surveyed the old requirements needed to change and new requirements
needed to add from the director and the staffs. Then, I made the requirement analysis and
design and sent the result to the director. She read it very careful and gave me a lot of
suggests. I corrected and sent it again. I had done these works many times, on repetitively
until they were exactly and the director accepted.

New Training Management System

Page 5

2.0 ANALYSIS AND DESIGN


2.1

Description of problem

This section is about the actual state and the development process of CSC.
More than ten years ago, CSC had two training systems. There was short-term system and
long-term system. In the short-term system, the content of each short-term course was
taught in six weeks. To have a national certificate, there were two ways. Student chose
studying three short-term courses in the regulation time or registered to take a national
certificate exam without studying to have a national certificate. In the long-term program,
the total time to study is eighteen months. Firstly, it had only one program that was
programming program. Secondly, network program was opened. After that, CSC opened
graphical program. Then, that was web programming program. When student chose one
program, they needed to register whole of this program, not a part of the program.
About the training center, at that time, CSC was the main center. Besides, there were
some associate branches (about ten branches), mainly located in the South of Vietnam.
Each branch opened the long-term system or short-term system, or both of them. But
those branches just offered material facilities, CSC had responsibility to all things related
to training such as: assigning teacher, designing the study program and holding the
exams, etc.
About the scale, at that time, there were 8000 registrations per year for short-term system
and about 600 to 800 registrations per year for long-term system. According to a report,
the annual number of registrations had grown by 15% to 20%.
That meant we needed to have a complete management tool instead of using some
software such as Access or Excel, etc, in an independent way.
The Training Management System was built and deployed. It was used through LAN
and displayed on window forms. At that time, it was satisfied the needs such as it can
keep track of each student, it allowed student studying short-term system and long-term
system to reserve their study result in a fixed time.
New Training Management System

Page 6

The time has elapsed. The demand of society about IT has changed. VNU has changed
conditions to have a national certificate (Certificate A, B and C). The number of training
system and training program has increased. They have changed through many forms. For
example:
About the training system:
With the short-term system, now it doesnt have three courses, it only has two
courses with new content and training period. And the course also has two types:
crash course and normal course.
With the long-term system, now the courses are grouped to unit. Instead of
studying in sequence from the first course to the last course to have graduated
certificate, student can choose a unit to register. Each unit may be in order or not.
With the unit in order, student must conform to the order of the unit.
About the exam:
With the short-term system, there is no change with the normal course. To have a
national certificate, student has two times to take an exam: one for the first course,
another for the second course. With the crash course, student has one time to take
an exam for all courses.
With the long-term system, in the past, after each group of courses, there was only
one exam for each group. Now, there are many kinds of exam such as exam for
each course, exam for unit and graduation exam, etc.
About the associate branches:
Now they become more multiform. Some branches not only offer the material
facilities but also assign teacher the task of teaching so CSC just managers student,
designs the study program and holds the exams.

New Training Management System

Page 7

The number of associate branches increases from ten braches to fifty branches,
which are located everywhere in Vietnam hence the management is more
complicated than it in the previous.

This Training Management System is not suitable with the current needs so we need to
find a solution to change it in a flexible way. But it is not easy to all employees.
This is the reason why we need to propose a new analysis and design for the Training
Management System.
2.2

The current Training Management System

There are two main parts here. The first part is the introduction about the current system.
The second part is about the reason why the current system doesnt satisfy the demand
now and future.
2.2.1 Introduction

The current system has been built and exploited more than ten years. It is used to manage
the studys processes of students (from the time they register to a program to the time
they receive a certificate or a diploma). In this system, there are three subsystems such as
Management System (manages information about courses, classes), Office System
(manages information about students) and Certificate System (manages information about
certifications). The below figure is the general structure of it.

New Training Management System

Page 8

Figure 2. The current Training Management System

2.2.2 Reason why the current system is no longer meet the requirements

There are many things to explain the reason why the current system doesnt satisfy the
requirements:
The current system was analyzed and designed based on the classic method and
used relational database.
There is only one type of version for subjects so only the subjects can change
according to version.
Because it has no kind of unit (a group of subjects), it is very difficult to control.
The management of regulations of training system and training program are not
divided in a clear way.
The class doesnt have state thus it makes the registrar feel inconvenient when they
choose class for student to register.
It can not automatically close the class when the time to register end.

New Training Management System

Page 9

There is only one kind of student (student who studies at CSC). It doesnt manager
the student only enrolls to take the national certificate exam.
Taking exams and awarding certifications of national certification program for free
student are not computerized.
Student cannot determine route of study in an optional way.
More difficult to the registrar to know the number of students registering every
time and everywhere.
When student registers to study a program, he/she will have identification (ID)
number. So they can have more than one ID. => Difficult to manage students.
Information of teachers who mark the exam papers is not stored.
It is difficult to keep track of study history of a student.
Student cannot login to the system to register a class or to enroll an exam.
Type of reducing fee is not divided clearly.
It has not controlled the maximum number of student for each exam shift yet.
To rate a student is not easy.
Student cannot gather short-term certificates to have a long-term certificate.

Kinds of certificate are not divided.


2.3

Requirement description

After exploring the requirements, I divided them into three groups, basing on the function
and task of each group.
Group of requirements about training program and material facilities management:
In this group, there are many requirements about training program, study and exam
New Training Management System

Page 10

regulations for a training program, training system and its regulations, version for
subject and unit, unit, subject, course, room and class, etc.
Group of requirements about student management: This group including the
requirements about enrolling to a subject or a unit, study process of student, result
of study, exam, exam shift and exam registration, etc.
Group of requirements about certification and diploma management: A lot of
requirements about certification type, certification regulations, confirmation time,
issue time and certification are described in this group.
To see the detail of each requirement description, please go to the Appendix A
Requirement Description.
2.4

Result of analysis and design

This part has three main sub parts. Firstly, this is the reason why the new system is better
than the current system. The second and the third sub parts are class diagram of the
system and some sequence diagrams which are analysis and design based on the theories
of Object-Oriented Analysis and Design (OOAD) and design patterns, designed by using
Unified Modeling Language (UML), a tool to design application.
Because the new system needs to have the ability to enlarge, to reuse, to be maintain,
easy to repair errors and to be clearly and completely so OODA is chosen. Besides, there
are some problems appear in design process so some design patterns are applied to solve
them. UML2 is used to design because it is a formal language, concise, comprehensive,
scaleable, and standard.
2.4.1 Reason why the new system improves over the current system

Improvement of new system:

Russ Mileys and Kim Hamilton, Learning UML 2.0, chapter 1 , Oreilly, April 2006

New Training Management System

Page 11

The new system is analyzed and designed based on the theories of OOAD, and
design patterns. This will help the system to have a flexibility to enlarge and
update.
Classification of version is more clearly. There are two types of version (for
subjects and for units). This will help whole the program can change basing on
version for subject and version for unit.
There are three kinds of unit: specific unit, graduation unit and normal unit. The
units are classified basing on the kind. => It is easier for the employees to classify
and control units.
The management of regulations of training system and training program are
divided in a clear way. Both of them have their own regulations. Moreover, the
regulations of training program is divided into four group such as study regulation,
taking exam regulation, study again regulation and retaking exam regulation. =>
That helps the employees easy to manage the regulation when they apply for a
program.
Using State pattern for class LopHoc (class named Class) makes it automatically
change its state when changing the number of students, a deadline to register,
maximum students, minimum students...
There are two types of student: student who only takes the national certificate
exams (free student) and student who studies at CSC. => This system can manage
all students.

Taking exams and awarding certifications of national certification program for


free student are computerized.

Student can register to study and take short-term certificate exams. Then they can
gather them to have a long-term certificate (Technical diploma).

New Training Management System

Page 12

Student doesnt need to register whole of long-term program. They can choose a
unit or only a subject to study.
Student can determine route of study in an optional way.
This system can help the registrar easy to know the number of students registering
to a class every time and everywhere.
If that is the first time student registers to study, he/she will have identification
(ID) number. Another time they register, they use the same ID with the first time.
=> Each student only has one ID. => Easier to manage students.
Information of teachers who mark the exam papers is stored.
In the future, student can login to the system to register a class or to enroll an
exam.
Types of reducing fee are divided very clearly with different function to calculate
rate of each concrete reducing fee by using Strategy pattern. This also aids the
users easy to add a new type or update it.
The system can control the maximum number of students for each exam shift.
The exam subject has three subclasses. This helps the users easy to determine type
of an exam, and helps student knows which kind of exam they have to take at the
end of class or unit
With the function registration to take an exam, there also have many types of
taking exam such as: registration to take a national certificate exam, registration to
retake an exam (it has two sub types: according to subject and according to unit),
and automatically to enroll to take an exam for all students in class (it also has two
sub types like registration to retake an exams type). Because this function is very
complex with a lot of types so the Composite pattern is used here. In this pattern,

New Training Management System

Page 13

class automatically to enroll to take an exam for all students in class is composite
class.

To rate and to consider if a student have enough conditions to graduate or not are
easy.

Student can gather short-term certificates to have a long-term certificate (a


diploma).

Types of certificate are divided in a clear way with their standards.


2.4.2 Class Diagram

The class diagram3 describes the attributes and operations of a class and also the
constraints imposed on the system. The class diagrams are widely used in the modeling of
object oriented systems because they are the only UML diagrams which can be mapped
directly with object oriented languages.
I thought, I needed to use class diagram to analyze this system, because:
This system has complex data.
Object-oriented paradigm is based on the analysis of data.
Basing on the requirement description described in Appendix A, The Training
Management System is divided into three main systems:
Training

Program

and

Material

Facilities

Management

System

(HeThongQuanLyGiaoVu)
Student Management System (QuanLyHocVien): including two subsystems, there
are:

Study Management System (QuanLyHoc)

Examination Management System (QuanLyThi)

New Training Management System

Page 14

Certificate and Diploma Management System (QuanLyBangCapVaChungChi)


The below figure is the general model of the New Training Management System.

Figure 3. General model of New Training Management System

As the model, each system (including classes belong to it) has relationship with the
others. They can interact with the others, too.
In the first system, a class named unit of study based on training system and
training program (class HocPhanTheoHeVaNganh) calls to class named short-term
certificate type (class LoaiCCNganHan).
The second system calls to class HocPhanTheoHeVaNganh, class named class
(class LopHoc) and class named subject (class MonHoc).
The third system calls to the subclasses named registration to an exam (class
DangKyThi) and named registration to a unit of study (class DKTheoHP) of the
second system and class named training system(class HeDaoTao), class named

http://www.tutorialspoint.com/uml/uml_class_diagram.htm

New Training Management System

Page 15

training program (class NganhDaoTao) and class named branch (class CoSo) of
the first system.
2.4.2.1

Training Program and Material Facilities Management System

This system is separated into two main groups:


Training Program Management: This system is designed with a high flexibility of
the training programs:
In the CSC, there are many training program (class NganhDaoTao), such as Web,
Network, Graphics Design and Multimedia program, and each program has its own study
and examination regulations, so an interface named study and examination regulation
(interface QDHocVaThi) is given with four subclasses: class named study regulation
(class QDHoc), class named examination regulation (class QDThi), class named resuming
study regulation (class QDHocLai) and class named retaking exam regulation (class
QDThiLai).
There also have a lot of training system (class HeDaoTao) with their own regulations
(class QDRiengCuaHe).
This figure displays the training system and training program with their classification of
regulations.

New Training Management System

Page 16

Figure 4. Classification of regulations

Each training system and training program has one or more units of study called class
HocPhanTheoHeVaNganh.
Each unit of study can be a normal unit (class HocPhanThongThuong), a final unit (class
HocPhanTotNghiep) or a special unit (class HocPhanDacBiet). And it has one of two
types: independent unit or dependent unit. With independent unit, student can register
whenever they want to study whereas with dependent unit, student must study another
unit before register this unit.

Figure 5. Unit of study

New Training Management System

Page 17

Example: In this case, Unit A, Unit C and Unit E are independent units;
Unit B is dependent unit (student must study Unit A and Unit C before
register Unit B) and Unit D is dependent unit, too (student must study Unit
A before register Unit D).
Unit A

Unit C

Unit E
Unit B
Unit D

Each unit of study includes one or more subjects (class MonHoc).


One specialty in this system is class named version (class PhienBan). Class version has
two subclasses: version for subject (class PhienBanCapMon) and version for unit (class
PhienBanCapHP). We can apply the unit of study basing on the version for unit and
apply the subject basing on version for subject. Moreover, we can establish a certificate
which student can achieve after studying a unit relied on version for unit.

New Training Management System

Page 18

Figure 6. Two types of version

Example: In version September, 2006, when students register forth unit of


Web program, they can archive the Certificate of web programming with
ASP.Net but in version September, 2009, with forth unit of Web program,
they can archive the Certificate of Web programming with PHP.

Material Facilities Management


The CSC has a lot of branches (class CoSo) including many rooms for study (class
Phong).
From the beginning of the year (class named Calendar), a schedule is planned for whole
year including courses (class KhoaHoc).
Before the course starts, a lot of classes are created. Each class will have one subject and
will be taught at one branch of CSC. Besides, it is arranged a schedule (class
CTThoiKhoaBieu) with rooms based on date time of week.
Each class has one of three states; this is one of three subclasses: open state, delete state,
and close state (class MoLop, class HuyLop and class DongLop) of state class (class
New Training Management System

Page 19

TrangThai). => Using State pattern for class LopHoc makes it automatically changing its
state when the number of students, a deadline to register, maximum students and
minimum students... change.

Figure 7. State pattern for class LopHoc

The figure shows the class diagram of Training Program and Material Facilities
Management System.

Figure 8. Training Program and Material Facilities Management System

New Training Management System

Page 20

2.4.2.2

Student Management System

This system is divided into two subsystems:


Study Management System (QuanLyHoc)
Student (abstract class HocVien) is the main object of this system. Each student has one
type (class LoaiHocVien) such as student, and teacher... Class named student has two
subclasses: student just registers to take an exam (class HocVienChiDKThi) and student
registers study (class HocVienTheoHoc).

Figure 9. Two kinds of student

Dividing registration into two types (registration for a unit and registration for a subject)
helps it is suitable not only for current requirement (student can register to a unit or to a
subject) but also for future requirement (student can register a subject according to credit
regulations).

New Training Management System

Page 21

Figure 10.

Types of study registration

With each unit enrolled, it will be used to keep track of students study.
When registration (class DangKyHoc) to a unit (class DKTheoHP) or a subject (class
DKTheoMon class), student can be reduced fee (class GiamHocPhi) if their job is student
or teacher (class Giam_GVHS), they have studied at CSC (class Giam_DaTheoHoc), or
they register to study a class in the afternoon (class Giam_HocChieu)... Using Strategy
pattern for reducing fee will not only help the registrars quickly having real fee of each
study registration and updating the rate of one of the reducing fee types, but also help the
programmers easily putting a new subclass of reducing fee in need in future. This system
has an interface name reducing fee (classGiamHocPhi), which now having three
subclasses

such

as

class

Giam_GVHS,

class

Giam_DaTheoHoc

and

class

Giam_HocChieu.

New Training Management System

Page 22

Figure 11.

Types of reducing fee

When students register to a unit, they can study all classes of this unit.
When students register to a subject, they can study in one class having this subject.
Each class can have many registrations (See the figure named Types of Study
Registration).
This figure is the class diagram of Study Management System.

New Training Management System

Page 23

Figure 12.

Study Management System

Examination Management System (QuanLyThi)


Many exams (class KyThi) are organized per year. On each exam, there are a lot of exam
spells (class DotThi) including the information of exam shift (class CaThi), room (class
Phong), and teachers who are examiners and teachers as invigilators (class GiaoVien).
Exam subjects are classified clearly. Each exam subject (class MonThi) has three
subclasses: exam subject of national certificate (class MonThiCCQGTuDo), exam subject
based on subject (class MonThiTheoMonHoc) and exam subject at the end of the unit
(class MonThiCuoiHP).

New Training Management System

Page 24

Figure 13.

Subclasses of exam subject

Dividing the registration into many types (subclasses) helps the registration management
becoming clearly. When students study in a class, list of students registering an exam will
be created automatically after the class or the unit finish. Besides, students can register to
retake an exam or to take national certificate exam by themselves.
Exam registration (class DangKyThi) has three subclasses: registration to take national
certificate exam without studying (class DKThiCCQGTuDo), registration to retake an
exam (class DKThiLai), and registration to take an exam for all class in an automatic way
(class DKThiTuDongTheoLop).
Class DKThiLai itself has two subclasses: registration to retake an exam subject based on
study subject (class DKThiLaiMonThiTheoMonHoc) and registration to retaken an exam
subject at the end of the unit (class DKThiLaiMonThiTheoHP).
Class DKThiTuDongTheoLop also has two subclasses: registration to take an exam
subject basing on study subject for all class (class DKMonThiTheoMonHoc) and
registration to take an exam subject at the end of the unit (class DKMonThiCuoiHP) in an
automatic way.
=> Because exam registration function is very complex with a lot of types so the
Composite pattern is used here. In this pattern, the class which will automatically enroll
to take an exam for all students in class is called composite class.

New Training Management System

Page 25

This figure is the whole classes of Examination Management System.

Figure 14.

2.4.2.3

Examination Management System

Certificate and Diploma Management System

In this system, certificate type (class LoaiChungChi) is divided into three subclasses:
national certificate type (class LoaiCCABCTuDo), short-term certificate type (class
LoaiCCNganHan) and long-term certificate type (class LoaiCCDaiHan). Each certificate
type includes standards of certificate issue (class TieuChuanCapCC).

New Training Management System

Page 26

Figure 15.

Types of Certificate

There are many certificate confirmation times (class DotXetCC) related to training
system (class HeDaoTao), training program (class NganhDaoTao), exam (class KyThi)
and branch (class CoSo).
In each certificate confirmation time, there are one or more certificate issue times (class
DotCapCC) with a lot of certificates (class ChungChi).
Certificate is also subdivided into many concrete certificates such as national certificate
(class ChungChiABCTuDo), short-term major certificate (class ChungChiCDNganHan)
and diploma (class BangTotNghiep) (See the figure named Types of Certificate above).
The Singleton pattern is used for each certificate class because at this time we dont allow
changing the information on the certificate.

New Training Management System

Page 27

In the Student Management System, each student has enrolled to study one or more units
(class DKTheoHP). Each of them include list of exam registrations (with exams score).
With a unit which a student enrolls and studies, it can have a correlative certification.
Study a group of some units - according to regulation student will have a diploma.
With each national certificate exam registration, student can have a certificate if he/she
passes the exam.
When designing in this way, we can quickly statistic the number of certificates and
diploma which a student can have after they study one program.
This figure displays the Certificate and Diploma Management System.

Figure 16.

Certificate and Diploma Management System

2.4.3 Sequence Diagram

Sequence diagrams4 are used primarily to design, document and validate the architecture,
interfaces and logic of the system by describing the sequence of actions that need to be
4

http://www.sequencediagrameditor.com/uml/sequence-diagram.htm

New Training Management System

Page 28

performed to complete a task or scenario. UML sequence diagrams are useful design tools
because they provide a dynamic view of the system behavior which can be difficult to
extract from static diagrams or specifications.
In this part, sequence diagram is used to describe some complex scenarios such as
enrolling in a class or a unit and registration to a national certificate exam.
2.4.3.1

Enrolling in a class

This sequence diagram describes the process to enroll in a class.

Figure 17.

2.4.3.2

Enrolling in a class

Enrolling in a unit

This sequence diagram describes the process to enroll in a unit.

New Training Management System

Page 29

Figure 18.

2.4.3.3

Enrolling in a unit

Registration to a national certification exam

This sequence diagram describes the process register to a national certification exam.

Figure 19.

New Training Management System

Registration to a national certificate exam

Page 30

2.4.3.4

Create a unit based on training system and training program

This sequence diagram describes the process to create a unit based on training system and
training program.

Figure 20.

Create a unit based on training system and training program

New Training Management System

Page 31

3. TRAINING MANAGEMENT SYSTEM IMPLEMENTATION


This chapter is about implementation of the application. It is the second important work
of the internship. Here, I chose the method, built the main structure for the application,
and implemented some functions to test the effectiveness of the proposed solution.
In this chapter, there are four main parts. The first part is the structure of the system, the
second part introduces package on each part of the system, the third part is the result and
the last part says about advantages and disadvantages.

New Training Management System

Page 32

3.0 IMPLEMENTATION
For the implementation, a reasonable solution with new technology in order to have effect
of exploitation now and future (exploitation is scattered on many points, centralized
database or distributed database) must be chosen to the new system. And that is
distributed architecture, especially multi-tier architecture (n-tier architecture).
About the programming language, Java language5 (and its platform) is selected because it
is a simple, object-oriented, network-savvy, interpreted, robust, secure, architecture
neutral, portable, high-performance, multithreaded, dynamic language.
About database, MySQL6 is chosen because it is not only an extensible, open storage
database engine, offering multiple variations such as Berkeley DB, InnoDB, Heap and
MyISAM, but also is open-source like Java. The combination of an open-source
programming language and an open-source database will create a unity for the system.
3.1

Structure

This is the structure of the system. It is built base on the knowledge of distributed
architecture, named multi-tier architecture. It has user interface tier (client tier),
presentation logic tier (web tier), business logic tier (application tier) and data tier. Each
of them is deployed and maintained as an independent module and on separate platform.
Function of each tier:
User interface tier: managing the interactions between user and application
Presentation logic tier: defining what needs to display to the user interface and
how the request should be treated
Business logic tier: describing the functional algorithm, workflow and model,
interface of database
Data tier: including database servers where the information is stored and retrieved
5

http://java.sun.com/docs/overviews/java/java-overview-1.html

New Training Management System

Page 33

Figure 21.

Structure of the system

This system has three projects which can interact with each other. There are Dynamic
Web Project, Enterprise Application Project and Business Project (EJB project).
3.2

Packages

Each project listed above has one or more packages with a lot of classes inside. This part
is about the packages and their role in the system. It is divided into three parts: package of
Dynamic Web Project, Enterprise Application Project and Business Project.
3.2.1 Package of Dynamic Web Project

Dynamic Web Project is the implementation of presentation tier. It uses model-viewcontroller (MVC) concept with the web components such as Java Bean model, Java
Server Pages (JSP) view and Servlet controller. There are two main packages in this
project:

http://ezinearticles.com/?Advantages-and-Disadvantages-to-Using-MySQL-Vs-MS-SQL&id=1559158

New Training Management System

Page 34

Java Resources package (Servlet Controller package) defines of servlets which


used to control requests and responses and communicate with Business Project
(the business logic tier)
WebContent package defines of HTML pages and JSPs to display data and
response to web client request.
3.2.2 Package of Business Project

Business Project is the implementation of business logic tier using Java Enterprise
Edition (JEE) or Java Platform. This project includes five packages. There are:
businesslogic.model defines of model (including a lot of Entity Beans: tables
and entities) needing to have in the application.
businesslogic.DAO defines of database interface (including a lot of Session
Beans: interfaces and implementation classes).
businesslogic.interfaces defines of services (having a lot of Session Beans:
service interfaces).
businesslogic.services defines of services (having a lot of Session Beans: service
implementation classes).
contextService defines of context service class to remote service.
3.2.3 Package of Enterprise Application Project

An enterprise application7 in Workshop is the collection of all resources that are built
together and then deployed as a unit to an instance of WebLogic Server. Enterprise
application components can also be archived as a unit into an Enterprise ARchive (EAR)
file. Enterprise Application (EAR) project serves as the assembly point for all of the

http://download.oracle.com/docs/cd/E12840_01/wlw/docs103/guide/ideuserguide/projects/conApplicationsProjects.
html
New Training Management System

Page 35

projects in the application. It only has folder EarContent and JavaScript Resources
library. It doesnt have any package inside.
3.3

Result

The time to do the implementation of the application is a short time. After discussing with
the director, I implemented database and some functions of the first sub system (Training
Program and Material Facilities Management System) and haft of the second sub system
(Student Management System Study Management System part).
Those figures displayed below show the result when the application runs.

After login to the application, each person will have a permission to do their task.
For example, with the members having biggest permission, they will come to this
page:

Figure 22.

Page index.jsp

When choosing a group (For example: Group 1. Qun L Chng Trnh o To,
Group 2. Qun L C S Vt Cht, or Group 3. Qun L Hc Vin Hc ), they
will come to the page having all functions for this group:

New Training Management System

Page 36

Figure 23.

Page group1.jsp

Figure 24.

Page group2.jsp

Figure 25.

Page group3.jsp

When choosing a function, the page has this function will appear. For example
choosing study registration:

New Training Management System

Page 37

Figure 26.

Choose function study registration

With this function, firstly, a page to find a student will appear with two sub forms:
searching a student by ID and searching a student by full name and date of birth to check
if the student has studied at CSC or not. Basing on the information the student give,
registrar can type students ID or type the full name and date of birth to find him/her.

Figure 27.

Searching a student by full name and date of birth

If the system cannot find this student, which means he/she is new student, an insert new
students page will open to registrar add this student to the system.

New Training Management System

Page 38

Figure 28.

Insert a new student page

If the system can find the student, study registration page with four sub forms
(registration for a subject, registration for a short-term certificate, registration for a unit
with constraint and registration for a unit without constraint) will occur. Basing on
student registration, registrar will choose one of four forms.

New Training Management System

Page 39

Now, if registrar chooses registration for a unit with constraint, the system will check if
the student has studied compulsory units (units must study before registering this unit) or
not, if yes, this registration is success.

New Training Management System

Page 40

Figure 29.

Registration a unit

Now the classes opened for this unit page will open for student choose a class to study.
The operations to register to a unit on web are very simple but the implementation of this
function is quite complicated with many steps listed above.
Normally, to use a web application, we just go to this page through web browser
by typing its address. This application is just the test version so it is not published
and used on the Internet.
To know about the installation and steps to run the application on local network,
please go to the Appendix B Installation and steps to run the application.
3.4

Advantages and Disadvantages

In this part, those are some advantages and disadvantages I met when I did the internship.

New Training Management System

Page 41

3.4.1 Advantages

3.4.1.1

About working place

In CSC, I have a good place to work. It is not very large but it is very quite so I can
concentrate on the work. Because I am working here, I go to teach one day and do the
internship four days per week.
3.4.1.2

About the director and the staffs

Although the supervisor is also the director, this is the first time I have a chance to work
with her. I think she is very helpful and careful. She not only gave me the document
related to the current system, but also helped me to understand the requirements and the
current system. She met me many times to give some more new requirements, to make
suggestions and to correct the analysis and design until it was fully worked-out.
In this internship, I needed to meet many staffs to survey information, new requirements
and need-to-change requirements. They were willing to help me. They both explained the
requirements, the process of works and provided relational papers to me. I could ask them
whenever I had queries.
3.4.1.3

About knowledge

In IT Master Course, I have learned a lot of subjects. Its very useful to me. For example,
with Software Engineering and Project Management subject, I could make a suitable
schedule to work, choose model to make it, etc; with Advanced Software Architecture
subject, I could apply object-oriented analysis and design and design pattern theories to
the application; with Advanced Software Technologies and Application Servers (TLASA), I chose web services, distributed architecture (multi-tier architecture) and Java
language and Java platforms to deploy the system, etc.
I also had some kind professors such as Mr. Samir Hanna and Mr. Tran Thai Nam. They
were ready to help me when I sent the emails to ask them why those errors appeared in
the application how to correct them.
New Training Management System

Page 42

3.4.2 Disadvantages

3.4.2.1

About working place

Nothing
3.4.2.2

About the director and the staffs

In the second part of the internship (the implementation), I had met some difficult things,
but I couldnt ask the staffs for helping. Because the way I chose to do difference from
their current works, I didnt want them to waste their time. Sometimes, I spent a lot of
time to search on the Internet and researched new techniques.
3.4.2.3

About knowledge

The knowledge I have learned in Master Course was the useful and essential knowledge
for the internship, but it was not enough for me to solve all problems I met. For example,
in TLA-SA subject, we just have time to learn about single entity persistence and
mapping or to use very simple query language persistence but in the real system I must
work with multiple tables, entities and mapping, complex entity relationships and
complicated query language persistence; when I was in second work, some errors which I
never saw before appeared, I wasted time to find the reason and fix them, etc.
In general, this internship gave me an opportunity to learn more clearly one thing: the
advantages are the good things but the disadvantages are not the bad things because
when I met a problem or a new thing, I had a chance to find and research more and more
to make it done.

New Training Management System

Page 43

CONCLUSION AND FUTURE WORK


In the last part of this report, there are the conclusion of the internship and the future
work.
Conclusion
The main target of this internship is analysis and designs a new training management
system and implementation some functions of this application. This target is achieved by:
Analysis and design new training management system: This work is completed
with an analysis and design document.
Implementation some functions of this application: As the third chapter in this
report, there are three main sub systems in the application. In a limit time, I chose
and implemented database and some functions of the first sub system and haft of
the second sub system (Study Management System part).
This is the result of a hard, serious and careful working process. It is the starting point for
the test, the deployment and the exploitation of new training management system in the
future.
Future work
In the future, the first work is to choose one subsystem to test in the real environment. At
that time, the large data will be inputted to the system to test if this system is realizable or
not. For example, with the function study registration, time to register to a new course is
very short (just some days) whereas the number of registrations can increase to thousand
registrations. If we waste one or two minutes waiting the result of one registration, the
system is not realizable. Hence, we need to test the system to know its effect. If is not
good, we need to improve it. If it is good, the rest of this application will be implemented.
One desired result in the future is whole the system can be deployed and exploited.

New Training Management System

Page 44

Bibliography
There are the reference books used in the internship:
[1]

Russ Mileys and Kim Hamilton, Learning UML 2.0, Oreilly, April 2006

[2]

Michael Blaha and James Rumbaugh, Object-Oriented Modeling and Design

with UML, Second Edition, Prentice Hall - Pearson Education Inc., 2005
[3]

Steven John Metsker and William C. Wake, Design Patterns in Java, Addison-

Wesley, 2006

New Training Management System

Page 45

Appendix A Requirement Description


A.1

Group of requirements about training program and material facilities

management
A.1.1 Create a training program
CREATE A TRAINING PROGRAM

Main idea

Create a training program

Main actor

Manager or deputy manager of training


program management department

Description

Basing on the real demand of society and


learner, boards of managers will decide to
open a new training program. At that time,
a new training program will be created.

Another actor

None

Previous condition

Login the system

Post condition

A new training program is recorded.

Time

Before this training program is applied

Frequency

Few

Example: CSC has some training programs such as Programming, Web Technology,
Multimedia Graphics and Network.
A.1.2 Create study and exam regulations for a training program
CREATE STUDY AND EXAM REGULATIONS

Main idea

Create a study and exam regulations for a


training program

New Training Management System

Page 46

Main actor

Manager or deputy manager of specialized


department

Description

When a training program is created, it must


have study and exam regulations (such as
study regulations, restudy regulations,
taking exam regulations and retaking exam
regulation). So the staffs of specialized
department

will

discuss

to

make

regulations.
Another actor

Staff of specialized department

Previous condition

Login the system

Post condition

New regulations are saved.

Time

After training program is created

Frequency

Not much

Example: There are some regulations of multimedia graphics:


Study regulations:

Student must be in class on time.

Student only use computer for study purpose.

Student often read the notices at the notice-board.

Taking exam regulations:

To take an exam, student must participate 2/3 the number of periods.

When take the exam of the first unit, student must give two photos size 3x4
for the invigilator to be issued A certificate

Students only register final exam (graduation exam) after they pass all units
of this training program

New Training Management System

Page 47

Retaking exam regulations:

Student who doesnt pass or doesnt take an exam must retake this exam.

Student fail the final exam must retake it with students of next course.

A.1.3 Create a training system


CREATE A TRAINING SYSTEM

Main idea

Create a training system

Main actor

Manager or deputy manager of training


program management department

Description

Training system is created to satisfy the


demand of learners.

Another actor

None

Previous condition

Login the system

Post condition

A new training system is recorded.

Time

Before this training system is applied

Frequency

Few

Example: CSC has some training systems such as short time, six-month-technical,
eighteen-month-technical, intermediate-technical
A.1.4 Create regulations for a training system
CREATE REGULATIONS

Main idea

Create regulations for a training system

Main actor

Manager or deputy manager of specialized


department

New Training Management System

Page 48

Description

When a training system is created, it can


have some own regulations. So the staffs
of specialized department will discuss to
make regulations.

Another actor

Staff of specialized department

Previous condition

Login the system

Post condition

New regulations are saved.

Time

After training system is created

Frequency

Not much

Example: With the short-term system, one of regulations is student can only retake the
exam one time.
A.1.5 Create a version for subject and unit
CREATE A VERSION

Main idea

Create a version

Main actor

Manager or deputy manager of specialized


department

Description

Sometimes, a new version is built because


the old version is not suitable for the
current condition. A version can be a
version for subjects or for units.

Another actor

None

Previous condition

Login the system

Post condition

A new version is saved.

Time

Before the course which is applied start.

New Training Management System

Page 49

Frequency

Few

Example:
Subject version

With version 2006, subject named SQL Server used SQL Server 2000

With version 2009, subject named SQL Server used SQL Server 2003

Unit version

With version 2006, in Web Technology program and eighteen-monthsystem, the fourth unit had the subjects related to ASP.Net.

With version 2008, in Web Technology program and eighteen-monthsystem, the fourth unit had the subjects related to PHP and MySQL.

A.1.6 Create a subject


CREATE A SUBJECT

Main idea

Create a subject

Main actor

Manager or deputy manager of specialized


department

Description

A new subject often is built basing on the


real demand of the learners or society.
Each subject will have it own version at
the time it is created. One subject can
belong to a unit or not.

Another actor

Staffs of specialized department

Previous condition

Login the system

Post condition

A new subject is saved.

Time

Anytime in the year, before one course


starts.

New Training Management System

Page 50

Frequency

More than seven subjects per year

Example: The subject named Advanced Joomla was created from the beginning of the
year 2010.
A.1.7 Create an unit
CREATE AN UNIT

Main idea

Create an unit

Main actor

Manager or deputy manager of specialized


department

Description

One unit is created for long-term system (6


months, 18 months). It includes many
subjects. These subjects are arranged in the
unit. Each unit depends on training system,
training program, and version. Basing on
the version, it can have a correlative
certificate or not. It also has its type such
as normal unit, major unit or final unit.

Another actor

None

Previous condition

Login the system

Post condition

A new unit is recorded.

Time

Before the course which is applied start.

Frequency

Not much

Example: Create the third unit of Web Technical program and eighteen-month-system
with type is normal unit and correlative certificate is Certificate of PHP Programming
Technical.

New Training Management System

Page 51

A.1.8 Create a course


CREATE A COURSE

Main idea

Create a course

Main actor

Manager or deputy manager


of

training

program

management

department
Description

Create the course for each training system


at the branches. Start time base on the
schedule of each year.

Another actor

None

Previous condition

Login the system

Post condition

A new course is saved.

Time

Before the course start

Frequency

Seven or eight courses per year

Example: Create a new course with start time is 14th and 15th November, 2010.
A.1.9 Create a class
CREATE A CLASS

Main idea

Create a class

Main actor

Class-room manager

Description

Classes are opened after the course is


created. Each class has one subject. At one
time, it has one of four states such as: open
state, delete state, allow registering state,
and not allow registering.

New Training Management System

Page 52

Another actor

None

Previous condition

Login the system

Post condition

A new class is recorded.

Time

Before the course start.

Frequency

About 250 classes per course.

Example: Create a new class named Web programming with PHP and TheSQL in the
course which starts on 14th and 15th November, 2010.
3.1.10 Arrange room for class
ARRANGE ROOM FOR CLASS

Main idea

Create a schedule

Main actor

Class-room manager

Description

After having a class, class-room manager


need to arrange room for class, each detail
of a schedule include: class, room, day of
the week, start time and end time.
Note:

Each room has maximum capacity.


Some classes can be arranged in the
same room.
The schedule can change.
Another actor

None

Previous condition

Login the system

Post condition

A new schedule is recorded.

New Training Management System

Page 53

Time

Before the course start.

Frequency

About 250 schedules per course and about


30 rooms are use in the same period.

Example: Create a schedule for class named Web Design with details:
Room 32 on Tuesday and Thursday with start time is 17:45 and end time is 21:00
Room 31 on Sunday with start time is 13:30 and end time is 16:45
A.2

Group of requirements about student management

A.2.1 Enroll to a unit or a subject


ENROLL TO A UNIT OR A SUBJECT

Main idea

Create an enrollment to a subject or a unit

Main actor

Student manager

Description

Before the course begins, student will


enroll to a subject or a unit. At that time,
staffs who receive the enrollment will
instruct the student write an enrollment
note.
When enrollment, student must pay fee for
it.
Students are reduced fee when they are in
some cases such as: their job is student or
teacher

(showing

students

card

or

teachers card), or they are old student of


CSC
After that, they write the receipt and give it

New Training Management System

Page 54

to student. Then, they write the name of


the student into a class or a unit.
Note:

Before start day, students can get


90% fee back if they dont want to
study. After start day, students
cannot get fee back. They can only
reserve it for next course.
Students can also change the class if
a new class still has space. If fee of
new class is lower than the old
class, different fee will not be paid
back. If fee of new class is higher
than the old class, student must pay
more.
Student manger will add student to the
student management system.
With new students, firstly, create new and
input their information. Second, create
their enrollment.
With old students, find them in Student
Search Form then create their new
enrollment.
Note: Remember to choose the type of
reducing fee to have the real fee that
student paid.

New Training Management System

Page 55

Another actor

Enrollment staffs

Previous condition

Login the system

Post condition

A new student and his/her enrollment are


recorded.

Time

When having the schedule of the current


course and before the start day 3 weeks.

Frequency

About 200 enrollments per day on start day


of course and littler on other days.

Example:
One student register to a class named Web Design, with the schedule:

Room 32 on Tuesday and Thursday with start time is 17:45 and end time is
21:00

Room 31 on Sunday with start time is 13:30 and end time is 16:45

Fee of this class is 1.850.000 VND. He is a student so the real fee he pays
is 1.480.000 VND (reduced 20% of fee).

A.2.2 Monitor study process of student


MONITOR STUDY PROCESS OF STUDENT

Main idea

Monitor study process of student

Main actor

Student manager

Description

Monitor all the subjects that student


studied and is studying.

Another actor

None

Previous condition

Login the system

Post condition

The process of study is display.

New Training Management System

Page 56

Time

Every time

Frequency

Often

A.2.3 Reserve the results of study for student


RESERVE THE RESULTS OF STUDY

Main idea

Reserve the results of study for student

Main actor

Student manager

Description

On the process of study, student can


reserve the results of study when they
dont finish the program or the unit they
paid fee.
Time to reserve is no more than 2 courses.
In some special cases, the time can be
longer but no more than 2 years.

Another actor

None

Previous condition

Login the system

Post condition

Reserve is accepted.

Time

Every time

Frequency

20 cases per course

A.2.4 Create an exam


CREATE AN EXAM

Main idea

Create an exam

Main actor

Exam management staff

Description

With national certificate exam (without

New Training Management System

Page 57

study), the staff will create exam before it


start. When create this exam, the staff also
create the decision of it.
With another exam, it is made basing on
the course.
Another actor

None

Previous condition

Login the system

Post condition

Exam is saved.

Time

Basing on exam schedule of the year,


before the exam happens.

Frequency

Some exams per course

Example: Create a national certification exam on 17th October, 2010


A.2.5 Create an exam shift
CREATE AN EXAM SHIFT

Main idea

Create an exam shift

Main actor

Exam management staff

Description

An exam shift basing on an exam.


Each exam shift will have a room (One
room can have one or more exam shifts), a
shift (for example, can be shift from 8:00
AM to 10:00 AM, shift from 10:00 AM to
12:00 AM There are many rooms for
one shift and vise versa), one or more
invigilators, one or two examiners.

Another actor
New Training Management System

None
Page 58

Previous condition

Login the system

Post condition

Exam shift is saved.

Time

Before the exam happens.

Frequency

Many exam shifts of one exam

Example: Create an exam shift at room 1 (Branch: 227, Nguyen Van Cu street, dist 5,
HCMC.), shift from 8:00 AM to 10:00 AM on the national certificate exam 17th October,
2010.
A.2.5 Create a national certificate registration (without study)
CREATE A NATIONAL CERTIFICATE REGISTRATION

Main idea

Create a national certification registration

Main actor

Exam management staff

Description

After students register to take a national


certificate (A, B or C certificate), they will
know date time and shift but at that time
they dont know the exam shift.
Exam

management

staff

will

add

registrations to the system.


When deadline finishes, student cannot
register.
After deadline, all registration will be
divided into exam shifts.
Students will know the exam shift on the
day they take the exam.
Another actor

New Training Management System

None

Page 59

Previous condition

Login the system

Post condition

This registration is recorded.

Time

The nearest day is before the exam 3 days.

Frequency

??? More than 200 registration per time

Example: Create an exam shift at room 1 (Branch: 227, Nguyen Van Cu street, dist 5,
HCMC.), shift from 8:00 AM to 10:00 AM on the national certificate exam 17th October,
2010.
A.2.7 Create an exam registration (for student who study)
CREATE AN EXAM REGISTRATION

Main idea

Create an exam registration

Main actor

Exam management staff

Description

There are many kind of exam subject such


as exam subject basing on study subject
and exam subject just taking at the end of a
unit.
At the first time, with the students who
study

in

class,

the

system

will

automatically create the list of exam


registrations which are relied on class.
(One exam shift will created for this class)
When students fail an exam, they must
register to retake this exam subject and
must pay fee for it. And the exam
management staff will add this registration
to the system.

New Training Management System

Page 60

Note:
If students enroll to a short time
system of one program (just study
one or two units), they are only
permit to retake the exam one time.
If students enroll to a long time
system of one program, they are
permit to retake the exam as far as
they pass. But it must be in a period
allowed.
Another actor

None

Previous condition

Login the system

Post condition

This registration is recorded.

Time

The nearest day is before the exam 3 days.

Frequency

??? More than 300 registration per time

A.2.8 Input marks


INPUT MARKS

Main idea

Input marks

Main actor

Examiner, exam management staff

Description

Each exam shift will have two examiners


mark exam papers.
If it is the first time, after marking, they
input marks into the system.
If it is the second time, exam management

New Training Management System

Page 61

staff will input marks.


Another actor

None

Previous condition

Login the system

Post condition

Marks are saved.

Time

After examiner mark exam papers.

Frequency

More than 300 exam papers per time

A.3

Group of requirements about certification and diploma management

A.3.1 Create a certificate type


CREATE A CERTIFICATE TYPE

Main idea

Create a certificate type

Main actor

Staff of certificate management department

Description

Basing on the real demand of society and


learner, boards of managers will decide to
create a certificate type. At that time, a
new certificate will be added.

Another actor

None

Previous condition

Login the system

Post condition

A new certificate type is recorded.

Time

Before this certificate type is applied

Frequency

Not very often

Example: There are some certificate type such as national certificate type, short-term
certificate type and long-term certificate type

New Training Management System

Page 62

A.3.2 Create certificate regulations


CREATE STUDY AND EXAM REGULATIONS

Main idea

Create certificate regulations

Main actor

Staff of certificate management department

Description

When a certificate type is created, it will


have some regulations. So the staff of
certificate management department will
discuss to make regulations.

Another actor

None

Previous condition

Login the system

Post condition

New regulations are saved.

Time

After certificate type is created

Frequency

Not much

Example: There is one of some regulations of national certificate type:


To have C certificate, student must have B certificate
To pass the exam, the average mark of student must be >= 5

A.3.3 Create certificate confirmation time, certificate issue time and make the list of
students having enough conditions to have certificate
CREATE CERTIFICATE CONFIRMATION TIME, CERTIFICATE ISSUE TIME
AND MAKE THE LIST OF STUDENTS

Main idea

Create

certificate

confirmation

time,

certificate issue time and make the list of


students having enough conditions to have

New Training Management System

Page 63

certificate.
Main actor

Staff of certificate management department

Description

Each certificate confirmation time basing


on certification type and training system.
Moreover, it relies on an exam, a training
program and a branch.
After certificate confirmation time is
created, one certificate issue time will be
automatically recorded, it has the same
name with certificate confirmation time.
Then, list of students who can have
certificate is set up (students pass the exam
and

obtain

complete

satisfaction

of

certificate regulations).
Another actor

None

Previous condition

Login the system

Post condition

New certificate confirmation time and


certificate issue time and saved.
List of students who can have the
certificate is set up.

Time

After having marks of students.

Frequency

Many (after each exam)

A.3.4 Update certificate issue time and create certificate for student
UPDATE CERTIFICATE ISSUE TIME AND CREATE CERTIFICATE FOR
STUDENT

New Training Management System

Page 64

Main idea

Update a certificate issue time and create


certificate for student

Main actor

Staff of certificate management department

Description

Certificate issue time is automatically


created

when

certificate

confirmation

created.
The staff adds code of certificate decision
to this certificate issue time and prints the
list of students who have certificate with
some information such as full name, place
of birth, date of birth, exam day, and rank
to print certificate.
The certificates will automatically be
created and save to the system.
Another actor

None

Previous condition

Login the system

Post condition

Certificate issue time is updated.


List of students who have the certificate is
printed.
The certificates are saved.

Time

After having certificate issue time

Frequency

Many

A.3.5 Input certificate code number


INPUT CERTIFICATE CODE NUMBER

New Training Management System

Page 65

Main idea

Input

certificate

code

number

for

certificate
Main actor

Staff of certificate management department

Description

Each certificate created will have one


certificate code number.
So the staff will input this code number
after having certificate.

Another actor

None

Previous condition

Login the system

Post condition

Certificate code number is saved.

Time

After having certificate

Frequency

Many

A.3.6 Make a report about delivered certificates


MAKE A REPORT ABOUT DELIVERED CERTIFICATES

Main idea

Make report about delivered certificates to


report to National University

Main actor

Staff of certificate management department

Description

Report

list

of

students

taking

the

graduation exam of technical system


(eighteen-month-system).
Report list of students received certificate.
Another actor

None

Previous condition

Staff has list of student mentioned above.

Post condition

Report is made.

New Training Management System

Page 66

Time

The end of each quarter

Frequency

One time per quarter

New Training Management System

Page 67

Appendix B Installation and steps to run the application


B.1

Installation

This application is written by Java language and Java platform, so firstly we need to have
Eclipse or other software suitable such as Java NetBeans, etc. Here, I choose Eclipse.
Secondly, we install JBoss 4.0.4 or higher/ version EJB 3 and check if we use eclipse
with the web toolkit platform installed or not. Thirdly, we embed JBoss on Eclipse.
Fourthly, to store the database, we check if we have a database management system such
as MySQL or Oracle or not. If not, we need to install one. Here, I choose MySQL. Lastly,
we install the sql-gui-tools. Now we finish the installation.
B.2

Steps to run the application

To run this application, first, we need to have a workspace. Second, we import all the
projects into this workspace. Last, we add the Enterprise Application Project to the
server then start the server. Now we can run this application with the first page of the
website. Then, we can choose whatever functions we want.

New Training Management System

Page 68

You might also like