• No results found

Master of Software Engineering ( ) Place: Computer Science Centre University of Science VNU - HCMC

N/A
N/A
Protected

Academic year: 2021

Share "Master of Software Engineering ( ) Place: Computer Science Centre University of Science VNU - HCMC"

Copied!
74
0
0

Loading.... (view fulltext now)

Full text

(1)

I

NTERNSHIP’S

R

EPORT

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

(2)

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.

(3)

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

(4)

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

(5)

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

(6)

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.

(7)

1. INTRODUCTION

This report is about the internship, worked at CSC from June 15th, 2010 to December 15 th

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

(8)

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

(9)

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.

(10)

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.

(11)

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.

(12)

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

(13)

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.

(14)

 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.

(15)

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.

(16)

 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 notstored.

 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.

(17)

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

(18)

 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).

(19)

 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,

(20)

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)

(21)

 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

(22)

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.

(23)

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.

(24)

 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

(25)

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

(26)

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.

(27)

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).

(28)

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.

(29)

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).

(30)

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).

(31)

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.

(32)

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).

(33)

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.

(34)

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

(35)

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

(36)

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.

(37)

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.

(38)

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.

(39)

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

(40)

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:

(41)

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

(42)

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:

(43)

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:

(44)

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.

(45)

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.

(46)

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.

(47)

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

(48)

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.

(49)

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.

(50)

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.

(51)

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,

(52)

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

(53)

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

(54)

 …

 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

(55)

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.

(56)

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.

(57)

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”.

(58)

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.

(59)

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

(60)

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…

(61)

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.

(62)

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

(63)

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

(64)

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.

(65)

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.

(66)

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.

References

Related documents