Sunteți pe pagina 1din 51

JJ event management system [Year]

Object Oriented Development with Java (CT038-3-2)


CE00382-2
Individual Assignment
Student Name

Leim Jing Jie (TP025470)

Intake Code

UC2F1310IT(NC)

Hand-in Date

18 July 2014

Lecturer

Mr. Lee Kim Keong

JJ event management system [Year]


Table of Contents
Introduction .................................................................................................................................................. 4
Diagram ........................................................................................................................................................ 5
Use Case Diagram..................................................................................................................................... 5
Use case specification ........................................................................................................................... 6
Class Diagram ......................................................................................................................................... 14
Activity Diagram .................................................................................................................................... 15
Login .................................................................................................................................................... 15
Create New Programme ..................................................................................................................... 15
Manage roles of staff .......................................................................................................................... 16
Produce Report ................................................................................................................................... 16
Approve Event..................................................................................................................................... 17
Sent Invitation ..................................................................................................................................... 17
Add Event ............................................................................................................................................ 18
Update Event ...................................................................................................................................... 18
Delete Event ........................................................................................................................................ 19
Coordinate event schedule ................................................................................................................. 19
Register Student.................................................................................................................................. 20
View event by schedule ...................................................................................................................... 21
Self-register ......................................................................................................................................... 21
Download brochure ............................................................................................................................ 22
Set Reminder....................................................................................................................................... 22
Object Oriented Programming Concept ...................................................................................................... 23
Class ........................................................................................................................................................ 23
Object ...................................................................................................................................................... 24
Constructor.............................................................................................................................................. 25
Polymorphism ......................................................................................................................................... 26
Encapsulation .......................................................................................................................................... 27
Inheritance............................................................................................................................................... 28
Interface .................................................................................................................................................. 29
Additional Features ..................................................................................................................................... 30

JJ event management system [Year]


Reading with binary file.......................................................................................................................... 30
Writing with binary file .......................................................................................................................... 31
Reading with txt file................................................................................................................................ 32
Writing with txt file ................................................................................................................................ 33
Background ............................................................................................................................................. 34
Validation purpose .................................................................................................................................. 34
Writing file to PDF ................................................................................................................................. 35
Send Email with attachment ................................................................................................................... 36
Sample Output ............................................................................................................................................ 38
Assumption Made ....................................................................................................................................... 48
Conclusion .................................................................................................................................................. 49
Reference .................................................................................................................................................... 50

JJ event management system [Year]


Introduction
The event management system is developed for the Universitys faculty or department to ease
their task on organizing the events. Event is held constantly to enable the participated students to
gain knowledge and skills from the event. There are different kinds of event held by the
university, such as debates, competition, soft-skill, IT professional tanning, et cetera.
There are 5 types of end users for this event management system, which Head of School (HOS),
Academic Group Leader (AGL), Program Coordinator (PC), Lecturer (L) and Students (STU).
Each of the users is having different roles and accessibility in this system.
Login system is used to differentiate each user. The end users are required to login in order to
use the system. Once login successfully, they will be directed to respective main menu. In this
system, PC can manage the event, while approval of event is done by the HOS and AGL. Once
the email is approved, PC can send invitation to the filtered group of people to join the event. If
student is interested to the event, they can register themselves to the event or call PC to register
their name to the event.
Once registration process is end, email notification of the event and attachment of receipt for
joining the event is send to the student. Lastly, the AGL and HOS can create reports for every
event created in this system for academic planning purpose

JJ event management system [Year]


Diagram
Use Case Diagram

(Jacobson, 2003)

JJ event management system [Year]


Use case specification

1. Use case: Login


Brief description: Only authorized user are allowed to use the system
Actors: Head of school and Academic group leader, Program coordinator, Lecturer and
Student
Main flow:
a. Login page will be displayed.
b. Actor are required to enter their username and password
c. The system will verifies the user data in the user login information from the database.
Alternative flow:
a. Wrong password is entered.
b. Login information is not entered.
c. If the user forgets the login password, they need to inform the administrator to change
the password.
Post conditions: Login successfully.
2. Use case: Create new program
Brief description: AGL and HOS are allowed to create programme in the system
Actors: Academic group leader and Head of school
Main flow:
a. The actors main menu will be displayed.
b. The actors are required to click create programme button.
c. The actors are required to enter all the information required for creating a new
programme.
Alternative flow:
a. Wrong information of programme is entered.
b. Programme is not saved into the database.
Post conditions: Adding new program successfully.

JJ event management system [Year]


3. Use case: Manage role of staff
Brief description: HOS and AGL are allowed to manage the roles of staff to become a
programme coordinator or administrator.
Actor: Head of School and Programme Coordinator
Main flow:
a. Manage roles of staff page is displayed.
b. Staffs name are listed in the combo box.
c. Actors can assign the staff to become a programme coordinator or administrator by
selecting the name and provide them the login information.
d. Once add button is clicked, process I done.
Alternative flow:
a. There are no staffs in the database.
b. Wrong login information is entered.
c. Fail to save the information to the database.
Post conditions: Successfully manage the roles of staff.
4. Use case: Generate report
Brief description: Allow HOS and AGL to generate event report
Actors: Head of school and Academic group leader
Main flow:
a. Generate report page is displayed.
b. The actors are required to search for the event to generate reports. There are 3 kinds
of reports can be generated by the system, which are event summary report, event
details report and event exception report.
c. The actors can enter extra information of the reports.
d. Actors successfully save the reports and print the report out.
Alternative flow:
a. Event is not found by the actors.
b. The event information that displayed in the text field is invalid.

JJ event management system [Year]


Post conditions: Successfully generate the report.
5. Use case: Approve event
Brief description: Only HOS and AGL are allowed to approve the event created by the
programme coordinator.
Actors: Head of school and Academic group leader
Main flow:
a. Approve event page is displayed.
b. All the events created by the programme coordinator are listed in the combo box.
c. The actors can select the event and choose to approve or not approve the event.
Alternative flow:
a. There is no event in the database.
b. Fail to retrieve event information from the database.
c. The event information displayed in the text field is incorrect.
Post conditions: Successfully approve and not approve the event.
6. Use case: Add new event
Brief description: Programme coordinator can add new event in the system
Actors: Program coordinator
Main flow:
a. Add event page is displayed.
b. Programme coordinator is required to select which kind of programme and which
kind of event type from the combo box.
c. Programme coordinator is required to fill in the event information.
Alternative flow:
a. Wrong information is entered.
b. Event information is not stored in the database.
Post conditions: Successfully add event to the database.

JJ event management system [Year]


7. Use case: update event
Brief description: Programme Coordinator can search and update event information
Actors: Program coordinator
Main flow:
a. Update event page is shown.
b. Actors search the event by entering the event name.
c. Event information is listed in the text field.
d. Actor is required to click edit button before update event information.
e. Actor edits the incorrect information of event and click update.
Alternative flow:
a. Invalid event name is entered.
b. Wrong event information is displayed
c. Fail to update the event information.
Post conditions: Successfully update event.
8. Use case: Delete event
Brief description: Programme Coordinator can search and delete event information
Actors: Program coordinator
Main flow:
f. Update event page is shown.
g. Actors search the event by entering the event name.
h. Event information is listed in the text field.
i. Actor is required to click edit button before delete event information.
j. Actor edits the incorrect information of event and click update.
Alternative flow:
d. Invalid event name is entered.
e. Wrong event information is displayed
f. Fail to delete the event information.

JJ event management system [Year]


Post conditions: Successfully delete event.
9. Use case: Send invitation
Brief description: Programme coordinator is allowed to send invitation to the filtered
group of students and staff.
Actors: Program coordinator
Preconditions: Approval of event is required before invitation of event can be sent.
Main flow:
a. Send invitation page is displayed.
b. Programme Coordinator is required to select which group of people is invited.
c. After that, list of that group of people is generated in the combo box.
d. Actor is required to choose which people are invited and select event.
Alternative flow:
a. Fail to retrieve list of invited people and event information from the database.
b. Fail to send email due to SMTP protocol is not set up, wrong port numbers is used or
invalid email has been entered.
c. Fail to send email due to no internet connection.
Post conditions: Successfully send invitation.
10. Use case: Set event reminder
Brief description: Programme coordinator can set reminder before an event began.
Actors: Program coordinator
Main flow:
a. Set event reminder page is displayed.
b. Actor is required to search event by event name.
c. Actor is required to set reminder time.
d. Actor click set reminder button.
Alternative flow:
a. Fail to retrieve information from event database.

10

JJ event management system [Year]


b. Event is over.
Post conditions: Successfully set reminder for event.
11. Use case: Coordinate event schedule
Brief description: Programme coordinator can set venue for the event.
Actors: Program coordinator
Main flow:
a. Programme coordinator entered the event venue, date and time.
b. Programme coordinator set event venue.
Alternative flow:
a. Fail to save the venue in the database.
b. No venue available
Post conditions: Successfully set the event venue.
12. Use case: Register student
Brief description: Programme coordinator is allowed to register student to an event.
Actors: Program coordinator
Main flow:
a. Actor is required to enter the student information.
b. Actor can search for event information by using event name.
c. Actor can collect payment and change payment status while the student registers to
event.
d. Actor can generate receipt.
e. Actor will attach the receipt and send to the student.
Alternative flow:
a) Fail to retrieve list of invited people and event information from the database.
b) Fail to send email due to SMTP protocol is not set up, wrong port numbers is used or
invalid email has been entered.
c) Fail to send email due to no internet connection.

11

JJ event management system [Year]


d) Fail to print the information of students and event to the receipt in the pdf and txt file.
e) Fail to attach the receipt to the email.
Post conditions: Successfully send the email with information of students and event to
the student.
13. Use case: Self register
Brief description: Student is allowed to register them to the event.
Actors: Student
Main flow:
a. Self-register page is displayed.
b. Actor is required to enter the student information.
c. Actor can search for event information by using event name.
d. Actor can collect payment and change payment status while the student registers to
event.
e. Actor can generate receipt.
f. Actor will attach the receipt and send to the student.
Alternative flow:
f) Fail to retrieve list of invited people and event information from the database.
g) Fail to send email due to SMTP protocol is not set up, wrong port numbers is used or
invalid email has been entered.
h) Fail to send email due to no internet connection.
i) Fail to print the information of students and event to the receipt in the pdf and txt file.
j) Fail to attach the receipt to the email.
Post conditions: Successfully register to the event by themselves...
14. Use case: View event details
Brief description: Student and lecturer are allowed to view the event that is coming soon.
Actors: Student and Lecturer
Main flow:
a. View event page is displayed.

12

JJ event management system [Year]


b. Actors can click next button and previous button to view event details. choose to view
details of an event
c. Student and lecturer search event by key in event ID to view its details
Alternative flow:
a. Fail to retrieve event details in the database.
b. All events have past.
Post conditions: Successfully view event details.
15. Use case: Download event brochures
Brief description: Lecturer is allowed to view the event information and download the
brochure via email.
Actors: Lecturer
Main flow:
a. Get event brochure page is displayed.
b. Actors are required to search for the event that they are interested with.
c. Event details are displayed in the text field.
d. Actors are required to enter their email address.
e. Actors can generate the event brochure and send the event brochure to their email.
f. Actors can download event brochure attachment via their email.
Alternative flow:
g. Fail to generate the event brochure.
h. Fail to retrieve event data.
i. Fail to send email to the lecturer with brochure attachment.
Post conditions: Successfully download event brochure.

13

JJ event management system [Year]


Class Diagram

Login

RegisterStudent

-End4

-access
-endOfFile
*
+login()

Add Programme

#newProgramme : string
#programme1 : string
#studentEmail1 : string
+AddProgramme()
-End3

-End4
1
-End3

User

1
AddStudent
-username : string
#newStudent : string
* -password : string
#studentName : string
-userType : string
#studentID : string
1 -name : string
#educationLvl : string
#studentEmail : string -End4 -studentName : string
-studentID : string
-End3
+addStudent()
-educationLvl : string
-studentEmail : string
AddUser
+getUsername()
#name
*1 +getPassword()
#userType
+getUserType()
#username
+getName()
#password
-End3
-End4+getName()
#newUser
+getStudentID()
+getEducationLvl()
+AddUser()
+getStudentEmail()
+setUsername()
+setPassword()
+setUserType()
+setName()
+setStudentName()
+setStudentID()
+setEducationLvl()
+setStudentEmail()

+randomInt : int
-fname : string
-s : string
-input1 : string
-eventNameA : string
+generatePDF()
-End4
*

-End4

-End4
-End3

1
-End3
event

-End3
1
1

-programme : string
-externalEntity : string
-eventType : string
-eventName : string
-eventDate : string
-venue : string
-eventFee : string
+getEType() : string
+getEFee() : string
+getEName() : string
+getEDate() : string
+getEVenue() : string
+getProgramme() : string
+getExternalEntity() : string
+setEType()
+setEName()
+setEDate()
+setEFee()
+setEVenue()
+setProgramme()
+setExternalEntity()
1
1
+deleteEvent()
: bool

SelfRegister
*
-randomInt
-line
-input1
-eventNameA
-filename
+generatePDF()

interface
eventInterface
+sendEmail()

sendInvitation
+s : string
+input1 : string
+endOfFile : bool
+searchEvent()

GenerateEventBrochure

-End4
-End3

+randomInt : int
+line : string
+eventNameA : string
+searchEvent()

ApproveEvent
*
1 #Edata : string
+eventNameA
+eventTypeA
+eventDateA
+VenueA
*
-End2
+eventFeeA
+approveEvent()
-End4
-End3-End1
1*
-End3 -End3
*
+notApproveEvent()*
*
-End2
PC
-End1
EventDetails
-End2
GenerateReport
1 -End1
-End4
UpdateEvent
-End4
+endOfFile : bool
Lecturer
+eventDetail()
-endOfFile : bool
+i : int
1
+endOfFile : bool
+SendInvitation()
-s : string
*
+c : char
+str : string
+updateEvent()
-eventNameA : string
+ViewEvent()
1
-Edata : string
+a : string
+RegisterStudent()
-input : string
1
+eventNameA : string
+addEvent()
+SetReminder()
-input1 : string
+eventTypeA : string
*
-End2
-vari : string
*
-End2
+eventDateA : string
-rate : string
-End1
+VenueA : string
HOS
-rate1 : string
+eventFeeA : string
-End2
*
-rate2 : string
AGL
Student
+option : int
+generatePDF()
+AddProgramme()
+searchEvent()
+generatePDF2()
+ApproveEvent()
+updateEvent()
+AddProgramme()
+ViewEvent()
+generatePDF3()
+AddStudent()
+deleteEvent()
+ApproveEvent()
+SelfRegister()
+AddUser()
+AddUser()
+GenerateReport()
+GenerateReport()
1
-End1 -End1
1

Figure 1class diagram

14

JJ event management system [Year]

Activity Diagram
Login

Figure 2Login

Create New Programme

Figure 3 Create new programme

15

JJ event management system [Year]


Manage roles of staff

Figure 4 Manage roles of staff

Produce Report

Figure 5Produce Report

16

JJ event management system [Year]


Approve Event

Figure 6 Approve Event

Sent Invitation

Figure 7Send Invitation

17

JJ event management system [Year]


Add Event

Figure 8Add event

Update Event

Figure 9Update event

18

JJ event management system [Year]


Delete Event

Figure 10Remove Event

Coordinate event schedule

Figure 11 Coordinate event schedule

19

JJ event management system [Year]


Register Student

Figure 12Register Student

20

JJ event management system [Year]


View event by schedule

Figure 13View event by schedule

Self-register

Figure 14Self Register

21

JJ event management system [Year]


Download brochure

Figure 15Download Event Brochure

Set Reminder

Figure 16Set Reminder

(felici, 2009) (ibm, 2000)

22

JJ event management system [Year]


Object Oriented Programming Concept
Class
Class is a blueprint that created by the programmer, which containing variable and methods.
Variable is used to define data field while methods is used to defined behaviors of the system.
In this class, it is use as a lecturer main
Figure 17 Class inherit Javax.swing.Jframe methods

menu. It allows the lecturer to perform


his/her roles in the system.
All the details of the event are saved in

Figure 18 Example of class named event

this class. There are a lots get and set


function in this class, which are used to
save or retrieve the details of the event
to/from other class.

While developing this system, 2 types of access specifiers have been use in the classes. For
private data member, it is only accessible by the members of the same class. It makes the private
data more secure. For example, all the login username and password are private.

Figure 19 access specifiers

For the rest of the function and data are using public access specifiers. The reason of setting
public is provide flexibility to the programmer. You can call add, update, delete and search event
methods easily from anywhere.

23

JJ event management system [Year]


Object
Object has variables and methods. Object is an instance of a class. An object is created by using
the keywords of new. For example, every single event in the system is having different variable,
such as event type, event name, and date and event venue and has different methods such as add,
delete, update and search. (tutorialspoint, 2014)

Figure 20 Object call Constructor of event

In the code above, an object of event class which named as eventObj is created. Its passing
the event variable to the event class constructor, which will be processed and save into the
private data field.

Figure 21 Object used to call the class and display the GUI of the class

Heres another example of usage of object. An object of HOS class which named as a is
created. That object will be used to display the HOS (which is head of school main menu page)
form.

24

JJ event management system [Year]


Constructor
Constructor can be created using the same name of the class. It cannot have any return value and
it can have any numbers of parameters. Constructor is useful in developing this system. The
parameter of the constructor can be used to set the value of the private field, such as event or
login information. Moreover, memory will be allocated to constructor first when the execution of
the system. It provides lots benefits for me while developing this system. (java, 2014)

Figure 22Constructor

In the diagram above shows the process of reading the event information from txt file to the
combo box. If this portion of code is not put in the constructor, but put inside a methods call
readComboBox function, the combo box will remain empty until that method is called. (SINGH,
2010)

25

JJ event management system [Year]


Polymorphism
Polymorphism is capability of an object to do different kinds of things. There are 2 types of
polymorphism in java, which are method overloading and method overriding. Method ridding
happens when a base class and a child class having same method name. The child class method
will override the parent class method. Method overload happen when 2 or more same name
methods or constructor is used in the same class, provided that the parameters or argument list
are different. Polymorphism is used in this assignment.

Figure 23 Methods overloading

To use the polymorphism technique (method overloading) as shown as image above, you are
required to use an object to call this constructor. Moreover, it must use the same data types and
same numbers of arguments to determine which version of overloaded constructor I actually
called. (SINGH, 2010)

26

JJ event management system [Year]


Encapsulation
Encapsulation is the process of making the fields in a class to become private and providing the
access to the field using the public methods in the same class. The entire field that declared as
private is not accessible by anyone outside the class. Therefore, encapsulation can help on data
hiding and make the data more secured. Moreover, by implementing encapsulation, it provides
flexibility on changing the new requirement of a system. The programmer can edit the 1 part of
code, without affecting other part of code. (java, 2014)

Figure 24 Private Field

Figure 25 Private Field accessible by public method

27

JJ event management system [Year]


Inheritance
In inheritance, IS-A relationship between super class and sub class is defined. All the similar or
common functions or variable in put inside a super class. All the distinct or specialized function
or variable is put in the sub class.
The keyword of extends is used to inherit some functions or variable from the parent class. By
using inheritance, it helps code reusability.

Figure 26Inheritance

Figure 27Function from parent class

Figure 28 No inherit from parent class

In the diagram above, the login class is inherit the javax.swing.JFrame class. The child class is
inherit some methods of the parent class like getContentPane () and setDefaultCloseOperation.
(IBM, 2013) If the login class does not inherit from the javax.swing.JFrame class, the sub class
cannot use those methods shown above. Coding on both methods have to be typed again in the
sub class, which make the code redundant. Moreover, it allows the child class inherits methods
of the parent class to use the graphical user interface component like label, text field, frame, et
cetera while developing the system. (RajKumar Buyya, S Thamarai Selvi, Xingchen Chu, 2009)

28

JJ event management system [Year]


Interface
Interface is a group of abstract methods. A class can inherit 1 or more interfaces using the
keywords of implements. It will inherit the abstract methods of the interface. By using
interfaces, it allows several classes can share a standard set of methods and constants. Java does
not support multiple class inheritance. Interface can be used to solve this problem; a class cans
implement more than one interface at a time.
(oracle, 2014)
The diagram below showing the interface used while developing the system. In this system, we
are required to send event invitation and email to students. This is a standard set of methods
which might be used by several classes.

Figure 29 Interface

29

JJ event management system [Year]


Additional Features
Reading with binary file

Figure 30 Read from Event txt using binary methods

The code above shows the process of reading the binary file data from even txt file. The code
will read the file from the beginning until the end of the file. If the object of event is found, it
will read every single details of the event. The event name will be populated into the combo box
as shown in the image below.

Figure 31 Result of reading

30

JJ event management system [Year]


Writing with binary file

Figure 32 Array used to save the user information

Figure 33 write the array into the txt file

In order write data to a binary file, the keywords of FileOutPutStream have to be used. (User.txt)
represent the path of the file where the data to be saved and the (true) represent the file open option.
(Oracle, 2014)
Array will be used to save every single data of the user, which are user type, user name and password.
After that, writeUTF will encode the data as UTF-8 and write it into the file.
(tutorialspoint, 2014)

31

JJ event management system [Year]


Reading with txt file

Figure 34 Read with txt file

To read from a txt file, first you have to open the file. Moreover, a scanner is needed to read a
file. The scanner will capture the data from the text field and search it one by one in the txt file.
If the event data is found in the txt file, all the event data will be saved into array.

32

JJ event management system [Year]


Writing with txt file

Figure 35Write to txt file

PrintWrite.print methods have been use to print the string to the approve event file. There are 4
text fields in the GUI, get methods is used to get the value of the data and pass it to the variable.
After that, the print writer will print the information of event into the file. Once the process is
completed, the file have to be closed and a message box is appeared to notify user the event has
been approved. Exceptions handling also have been use in the code above. If the file does not
found, and there is no try catch coding in the class, the system will crash.
(tutorialspoint, 2014)

33

JJ event management system [Year]


Background

Figure 36 Login

I have put several backgrounds in the system interface. In order to put a background, I have to
use a label. The image above shows the result of putting image at the icon of the label.
Validation purpose

The code above is used in a text field which allows the user to enter numbers only. If user tries to
enter anything other than number, it will not show in the text field.

34

JJ event management system [Year]


Writing file to PDF

Figure 37Import for pdf

A jar named itext is needed to include in the project and the programmer should import the thing
shown above in order to write the content of text field into the pdf file.
Below shows the code needed to write things into a PDF file format. Firstly, a pdf file of certain
size is created. After that, the programmers are required to name the pdf file. Next, open the file
and write all the content in a places call paragraph. Once all the paragraph is added into the pdf
file, the process of writing is completed; the user is required to close the file.

Figure 38Code for generating PDF file

35

JJ event management system [Year]


Send Email with attachment

Figure 39 Java API Email

Figure 40 Email SMTP protocol

In order to successfully send an email with words or attachments, the activation jar and mail jar are a must
to be included in the class path to make this process to be success. After that, you are now able to use the
java API by importing it in the top of the class. To send an email, simple mail transfer protocol (SMTP) is
needed. You are required to enable this protocol, set the host, set the port, enter sender email ID and
password and enter valid recipient email. (point, 2014)

Figure 41Email Bodypart

Figure 42Email Bodypart2

36

JJ event management system [Year]


After that, set the subject for the email and append all the information of the event into the email
BodyPart. Other than write email content in the body part, you also can attach files in the
BodyPart. MultiPart allows you put more than 1 part in 1 email. (Crank, 2014)

37

JJ event management system [Year]


Sample Output

Figure 43Login page


There are 5 types of users in the system, which are Head of School, Academic Group Leader,
Programme Coordinator, Lecturer, and the Students. The entire user will be directed to their
respective main menu if valid username and password is inserted in the login page.

Figure 44 Main menu

By clicking logout button in every page of the system, the user will be log off from the system and will be
directed back to login page.

Both of the users are having same roles in the system. In this page, it allows them to create a
new programme and manage the role of the staff by assigning the lecturer to become a
programme coordinator or an administrator. Moreover, all the event approval can be done on this
page also. In additional, the user can produce 3 kinds of reports in the system, which is event
summary report, event detail report and also event exception report.

38

JJ event management system [Year]

Figure 45 main menu of Programme Coordinator

The page above is the main menu of programme coordinator. It allowed the user to create event.
If there is any error in the information, the user can update it by clicking the mange event button.
If the event is created wrongly, the user can also remove the event data in that page. Moreover,
once the event is approved, the user can send invitation to filtered group of students and staffs.
This user can also register student to the event.

Figure 46 main menu Of Lecturer

In lecturer main menu, lecturer can read the details of the events and download the event
brochure to encourage more students on participating on the events of the school.

39

JJ event management system [Year]

Figure 47main menu of student

The student can register themselves into the event that organized by the school. Once they have
completed registration process, the system will send an email which attach with receipt to the
student. Moreover, the student can read deeper details of the event in their main menu.

Figure 48 Success add programme

Figure 49 Add Programme

In this page, the HOS / AGL can add program for the system. If successfully add the programme
information into database, a message box will be pop up.

40

JJ event management system [Year]

Figure 50 Add student

Figure 51 Add student result

In this page, the HOS and AGL can add student. The information will be useful while inviting student to
event based on the education level. Moreover, the email will be used to send invitation to the student.

Figure 52 Manage roles

Figure53 Manage roles of user result

In this page, the Hos and AGL can assign the roles of staffs to become a HOS, AGL, lecturer or admin.

41

JJ event management system [Year]

Figure 54 Approve event

In this page, all events added by the programme coordinator will be approved or not approved by the
HOS and AGL.

Figure 55event details report

42

JJ event management system [Year]

Figure 56Event exception report

Figure 57Event summary report

43

JJ event management system [Year]


HOS and AGL can create 3 type of report. Once the user search the event, will be displayed to
the text field below. The users can then fill in the event extra details, reason of rejected and other
extra details of the event in the space provided.

Figure 58 Get event brochure

Figure 59 result of get event brochure

In this page, lecturer can enter their preferable event and get the brochure by entering their email.
The event brochure will be generated and sent to the lecturer email so that the lecturer can use
that brochure to promote to his /her students.

Figure 60Register student

In this page, the programme coordinator can register student to the event. If an event fee is
required for the student to join the event, the programme coordinator will collect the fees from

44

JJ event management system [Year]


the student and click paid button once the student paid the event fees. After entering all the
required data, a receipt file in PDF format and txt format will be send to the student. If there is
any error in the information, the students can edit the receipt information and send back for the
programme coordinator for editing purpose.

Figure 61 self-register

In this page, student can register themselves to the event on their own.

Figure 62 Send invitation

Figure 63 Send invitation result

In this page, programme coordinator can select group of person they wanted to select, after that,
select the person of that group they the user want to send invitation to. Once send button is
clicked, the email invitation is send to the person via email.

45

JJ event management system [Year]

Figure 64 update event

In this page, the user can manage the event details, such as update or delete the event.

Figure 65 Reade details of event by schedule

Figure 66 Next event

In this page, it will show all the events which are coming soon. All events that happening now
and before will not displayed. Next button can be clicked and the event details of next event will
be displayed.

46

JJ event management system [Year]

Figure 67 Add event details

Figure 68 Success Add event

In this page, the programme coordinator can add new event for the event management system.

47

JJ event management system [Year]


Assumption Made
1. Assume that the process of adding user and login information (username and password)
as the process of assigning staffs to become administrator or programme coordinator.
2. Assume that communication with scheduler is not done in the system. The programme
coordinator is informed by the scheduler about the venue availability based on email,
face-to-face communication.

3. All the attendance of the participants, feedback and rating towards the event that has over
is collected in paper form. This data is then being referred by the Head of school or
academic group leader while generating the report.

4. Event invitation is send to filtered group of students and staffs. I assume that the user is
required to select education group and display the participants of that group. Only 1
invitation can be sent at once to prevent error while sending information and prevent
spamming to all email. I assume some students are not invited or blacklisted on attending
the event.

5. Only events that are coming up soon are displayed in viewEvent page. Reminder of event
can be displayed in viewEvent page also. User can view what event is happening soon on
which date.

48

JJ event management system [Year]


Conclusion
To implement this event management system with object oriented concept in java is quite hard
because lots functionality is required in this system. Use case diagram, class diagram and activity
diagram is used in providing the overview of this system. By doing this assignment, I have
deeper knowledge of how java work. I have learnt how to create graphical user interface for a
system, I success to send email via the system I developed and print all the information of my
event into txt or event pdf file. Moreover, I have known how importance is the object oriented
concept in system development. For example, inheritance helps on code reuse, polymorphism
protect the data from being access by others, et cetera.

49

JJ event management system [Year]


Reference
Crank, J., 2014. send email with attachment using javamail API. [Online] (1) Available at: (point, 2014)
[Accessed 13 July 2014].
felici, m., 2009. Activity Diagram. [Online] School of informatics (1) Available at:
www.inf.ed.ac.uk/teaching/courses/seoc/2009_2010/notes/10_notes.pdf [Accessed 13 July 2014].
ibm, 2000. UML Activity Diagrams: Detailing User Interface Navigation. [Online] (1) Available at:
http://www.ibm.com/developerworks/rational/library/4697.html [Accessed 13 July 2014].
IBM, 2013. JFrame. [Online] (1) Available at:
http://pic.dhe.ibm.com/infocenter/adiehelp/v5r1m1/index.jsp?topic=%2Fcom.sun.api.doc%2Fjavax%2Fs
wing%2FJFrame.html [Accessed 2 July 2014].
Jacobson, I., 2003. Use case modeling. 1st ed. Boston: Peason Education.
java, 2014. constructor. [Online] (1) Available at:
http://java.about.com/od/workingwithobjects/a/constructor_2.htm [Accessed 3 July 2014].
java, t.p., 2014. java encapsulation. [Online] (1) Available at:
http://www.tutorialspoint.com/java/java_encapsulation.htm [Accessed 2 July 2014].
Oracle, 2014. fileOutputStream. [Online] (1) Available at:
http://docs.oracle.com/javase/7/docs/api/java/io/FileOutputStream.html [Accessed 3 July 2014].
oracle, 2014. interface. [Online] (1) Available at:
http://docs.oracle.com/javase/tutorial/java/concepts/interface.html [Accessed 2 July 20147].
point, t., 2014. javamail api send email with attachment. [Online] (1) Available at:
http://www.tutorialspoint.com/javamail_api/javamail_api_send_email_with_attachment.htm [Accessed
13 July 2014].
RajKumar Buyya, S Thamarai Selvi, Xingchen Chu, 2009. Object-oriented Programming with Java:
Essentials and Applications. 1st ed. New Delhi: Tata McGraw.
tutorialspoint, 2014. java object classes. [Online] (1) Available at:
http://www.tutorialspoint.com/java/java_object_classes.htm [Accessed 3 July 2014].

50

JJ event management system [Year]


tutorialspoint, 2014. print writer print string. [Online] (1) Available at:
http://www.tutorialspoint.com/java/io/printwriter_print_string.htm [Accessed 3 July 2014].
tutorialspoint, 2014. writeUTF. [Online] (1) Available at:
http://www.tutorialspoint.com/java/io/dataoutputstream_writeutf.htm [Accessed 3 July 2014].

51

S-ar putea să vă placă și