Date post: | 17-Feb-2016 |
Category: |
Documents |
Upload: | satyam-bansal |
View: | 219 times |
Download: | 1 times |
INTERNSHIP’S 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
New Training Management System Page i
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 doesn’t 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 object-
oriented 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 ii
TABLE OF CONTENTS
Page #
Abstract .............................................................................................................................................. i Acknowledgements............................................................................................................................. v
1.0 INTRODUCTION...................................................................................................................... 2 1.1 Pôles Universitaires Français (PUF)...................................................................................... 2 1.2 Computer Science Centre (CSC)........................................................................................... 2 1.3 Internship Information.......................................................................................................... 3
1.3.1 Supervisor ....................................................................................................................................... 3 1.3.2 Internship position .......................................................................................................................... 3 1.3.3 Job description and motivation ........................................................................................................ 3
2.0 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 Package of Dynamic Web Project .................................................................................................. 34 3.2.2 Package of Business Project........................................................................................................... 35 3.2.3 Package of Enterprise Application Project ..................................................................................... 35
3.3 Result................................................................................................................................... 36 3.4 Advantages and Disadvantages ........................................................................................... 41
3.4.1 Advantages.................................................................................................................................... 42 3.4.2 Disadvantages ............................................................................................................................... 43
CONCLUSION AND FUTURE WORK........................................................................................ 44 Conclusion........................................................................................................................................ 44 Future work ..................................................................................................................................... 44 Bibliography .................................................................................................................................... 45 Appendix A – Requirement Description.......................................................................................... 46
New Training Management System Page iii
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 iv
TABLE OF FIGURES
Figure 1. PUF at HCMC National University and Hanoi National University ........... 2 Figure 2. The current Training Management System ................................................. 9 Figure 3. General model of New Training Management System.............................. 15 Figure 4. Classification of regulations ..................................................................... 17 Figure 5. Unit of study ............................................................................................ 17 Figure 6. Two types of version ................................................................................ 19 Figure 7. State pattern for class LopHoc.................................................................. 20 Figure 8. Training Program and Material Facilities Management System ................ 20 Figure 9. Two kinds of student ................................................................................ 21 Figure 10. Types of study registration ....................................................................... 22 Figure 11. Types of reducing fee............................................................................... 23 Figure 12. Study Management System....................................................................... 24 Figure 13. Subclasses of exam subject....................................................................... 25 Figure 14. Examination Management System............................................................ 26 Figure 15. Types of Certificate.................................................................................. 27 Figure 16. Certificate and Diploma Management System .......................................... 28 Figure 17. Enrolling in a class ................................................................................... 29 Figure 18. Enrolling in a unit .................................................................................... 30 Figure 19. Registration to a national certificate exam................................................ 30 Figure 20. Create a unit based on training system and training program .................... 31 Figure 21. Structure of the system............................................................................. 34 Figure 22. Page index.jsp .......................................................................................... 36 Figure 23. Page group1.jsp........................................................................................ 37 Figure 24. Page group2.jsp........................................................................................ 37 Figure 25. Page group3.jsp........................................................................................ 37 Figure 26. Choose function study registration ........................................................... 38 Figure 27. Searching a student by full name and date of birth.................................... 38 Figure 28. Insert a new student page ......................................................................... 39 Figure 29. Registration a unit .................................................................................... 41
New Training Management System Page v
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 Pôles Universitaires
Français (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
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 Page 2
1.0 INTRODUCTION
1.1 Pôles Universitaires Français (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
1 www.puf.edu.vn
New Training Management System Page 3
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 study’s 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 doesn’t satisfy the current study and examination
regulations. Because of this reason, the requirements written below are posed.
New Training Management System Page 4
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 5
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 6
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 7
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 doesn’t 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 8
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 doesn’t 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 study’s 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 9
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 doesn’t 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 doesn’t 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 10
There is only one kind of student (student who studies at CSC). It doesn’t 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 11
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:
2 Russ Mileys and Kim Hamilton, “Learning UML 2.0”, chapter 1 , Oreilly, April 2006
New Training Management System Page 12
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 13
Student doesn’t 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 exam’s 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 14
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 15
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
3 http://www.tutorialspoint.com/uml/uml_class_diagram.htm
New Training Management System Page 16
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 17
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 18
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).
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.
Unit A
Unit B
Unit C
Unit D
Unit E
New Training Management System Page 19
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 20
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 21
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 22
Figure 10. Types of study registration
With each unit enrolled, it will be used to keep track of student’s 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 23
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 24
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 25
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 26
This figure is the whole classes of Examination Management System.
Figure 14. Examination Management System
2.4.2.3 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 27
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 don’t allow
changing the information on the certificate.
New Training Management System Page 28
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 exam’s 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 29
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. Enrolling in a class
2.4.3.2 Enrolling in a unit
This sequence diagram describes the process to enroll in a unit.
New Training Management System Page 30
Figure 18. Enrolling in a unit
2.4.3.3 Registration to a national certification exam
This sequence diagram describes the process register to a national certification exam.
Figure 19. Registration to a national certificate exam
New Training Management System Page 31
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 32
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 33
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 34
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-view-
controller (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:
6 http://ezinearticles.com/?Advantages-and-Disadvantages-to-Using-MySQL-Vs-MS-SQL&id=1559158
New Training Management System Page 35
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
7 http://download.oracle.com/docs/cd/E12840_01/wlw/docs103/guide/ideuserguide/projects/conApplicationsProjects.html
New Training Management System Page 36
projects in the application. It only has folder EarContent and JavaScript Resources
library. It doesn’t 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. Quản Lý Chương Trình Đào Tạo,
Group 2. Quản Lý Cơ Sở Vật Chất, or Group 3. Quản Lý Học Viên – Học ), they
will come to the page having all functions for this group:
New Training Management System Page 37
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 38
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 student’s 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
student’s page will open to registrar add this student to the system.
New Training Management System Page 39
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 40
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 41
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 42
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. It’s 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 (TLA-
SA), 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 43
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 couldn’t ask the staffs for helping. Because the way I chose to do difference from
their current works, I didn’t 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 44
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 45
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 46
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 47
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 48
…
Retaking exam regulations:
Student who doesn’t pass or doesn’t 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 49
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 50
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-month-
system, the fourth unit had the subjects related to ASP.Net.
With version 2008, in Web Technology program and eighteen-month-
system, 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 51
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 52
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 53
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 54
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 student’s card or
teacher’s card), or they are old student of
CSC…
After that, they write the receipt and give it
New Training Management System Page 55
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 don’t 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 56
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 57
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
don’t 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 58
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 None
New Training Management System Page 59
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 don’t 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 None
New Training Management System Page 60
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 a 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 61
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 62
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 63
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 64
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 65
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 66
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 67
Time The end of each quarter
Frequency One time per quarter
New Training Management System Page 68
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.