object oriented development with java documentation jj^^

Upload: jing-jie-leim

Post on 02-Jun-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    1/51

    JJ event management system [Year]

    1

    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

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    2/51

    JJ event management system [Year]

    2

    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

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    3/51

    JJ event management system [Year]

    3

    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

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    4/51

    JJ event management system [Year]

    4

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

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    5/51

    JJ event management system [Year]

    5

    Diagram

    Use Case Diagram

    (Jacobson, 2003)

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    6/51

    JJ event management system [Year]

    6

    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 systemActors: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.

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    7/51

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    8/51

    JJ event management system [Year]

    8

    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.

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    9/51

    JJ event management system [Year]

    9

    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.

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    10/51

    JJ event management system [Year]

    10

    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.

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    11/51

    JJ event management system [Year]

    11

    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.

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    12/51

    JJ event management system [Year]

    12

    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.

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    13/51

    JJ event management system [Year]

    13

    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.

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    14/51

    JJ event management system [Year]

    14

    Class Diagram

    +searchEvent()

    +s : string

    +input1 : string

    +endOfFile : bool

    sendInvitation+generatePDF()

    -randomInt

    -line

    -input1

    -eventNameA

    -filename

    SelfRegister +sendEmail()

    interface

    eventInterface

    +generatePDF()

    +randomInt : int

    -fname : string

    -s : string

    -input1 : string

    -eventNameA : string

    RegisterStudent

    +getEType() : string

    +getEFee() : string

    +getEName() : string

    +getEDate() : string

    +getEVenue() : string

    +getProgramme() : string

    +getExternalEntity() : string

    +setEType()

    +setEName()

    +setEDate()

    +setEFee()

    +setEVenue()

    +setProgramme()

    +setExternalEntity()+deleteEvent() : bool

    -programme : string

    -externalEntity : string-eventType : string

    -eventName : string

    -eventDate : string

    -venue : string

    -eventFee : string

    event

    +getUsername()

    +getPassword()

    +getUserType()

    +getName()

    +getName()

    +getStudentID()

    +getEducationLvl()

    +getStudentEmail()

    +setUsername()

    +setPassword()

    +setUserType()

    +setName()

    +setStudentName()

    +setStudentID()

    +setEducationLvl()

    +setStudentEmail()

    -username : string

    -password : string

    -userType : string

    -name : string

    -studentName : string

    -studentID : string

    -educationLvl : string

    -studentEmail : string

    User

    +AddProgramme()

    #newProgramme : string

    #programme1 : string

    #studentEmail1 : string

    Add Programme

    +addStudent()

    #newStudent : string

    #studentName : string

    #studentID : string

    #educationLvl : string

    #studentEmail : string

    AddStudent

    +AddUser()

    #name

    #userType

    #username

    #password

    #newUser

    AddUser

    +approveEvent()

    +notApproveEvent()

    #Edata : string

    +eventNameA

    +eventTypeA

    +eventDateA+VenueA

    +eventFeeA

    ApproveEvent

    +generatePDF()

    +generatePDF2()

    +generatePDF3()

    -endOfFile : bool

    -s : string

    -eventNameA : string

    -input : string

    -input1 : string

    -vari : string

    -rate : string

    -rate1 : string

    -rate2 : string

    GenerateReport

    +searchEvent()

    +randomInt : int

    +line : string

    +eventNameA : string

    GenerateEventBrochure

    +searchEvent()

    +updateEvent()

    +deleteEvent()

    +endOfFile : bool

    +str : string

    +a : string

    +eventNameA : string

    +eventTypeA : string

    +eventDateA : string

    +VenueA : string

    +eventFeeA : string

    +option : int

    UpdateEvent

    +addEvent()

    +endOfFile : bool

    +i : int

    +c : char

    -Edata : string

    EventDetails

    +login()

    -access

    -endOfFile

    Login

    +AddProgramme()

    +ApproveEvent()+AddUser()

    +GenerateReport()

    AGL

    +AddProgramme()

    +ApproveEvent()

    +AddStudent()

    +AddUser()

    +GenerateReport()

    HOS

    +ViewEvent()

    Lecturer +eventDetail()

    +SendInvitation()

    +updateEvent()

    +RegisterStudent()

    +SetReminder()

    PC

    +ViewEvent()

    +SelfRegister()

    Student

    -End3

    1

    -End4

    *

    -End3

    1

    -End4

    *

    -End3

    1

    -End4

    *

    -End3

    1

    -End4

    *

    -End3

    1

    -End4

    *

    -End31

    -End4*

    -End31

    -End4*

    -End3

    1

    -End4

    *

    -End3

    1

    -End4

    *-End31 -End4*

    -End3

    1

    -End4

    *

    -End11

    -End2

    *

    -End1

    1

    -End2*

    -End11

    -End2*

    -End1

    1

    -End2 *

    -End1

    1

    -End2*

    -End1

    1

    -End2*

    Figure 1class diagram

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    15/51

    JJ event management system [Year]

    15

    Activity Diagram

    Login

    Figure 2Login

    Create New Programme

    Figure 3 Create new programme

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    16/51

    JJ event management system [Year]

    16

    Manage roles of staff

    Figure 4 Manage roles of staff

    Produce Report

    Figure 5Produce Report

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    17/51

    JJ event management system [Year]

    17

    Approve Event

    Figure 6 Approve Event

    SentInvitation

    Figure 7Send Invitation

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    18/51

    JJ event management system [Year]

    18

    Add Event

    Figure 8Add event

    Update Event

    Figure 9Update event

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    19/51

    JJ event management system [Year]

    19

    Delete Event

    Figure 10Remove Event

    Coordinate event schedule

    Figure 11 Coordinate event schedule

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    20/51

    JJ event management system [Year]

    20

    Register Student

    Figure 12Register Student

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    21/51

    JJ event management system [Year]

    21

    View event by schedule

    Figure 13View event by schedule

    Self-register

    Figure 14Self Register

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    22/51

    JJ event management system [Year]

    22

    Download brochure

    Figure 15Download Event Brochure

    Set Reminder

    Figure 16Set Reminder

    (felici, 2009) (ibm, 2000)

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    23/51

    JJ event management system [Year]

    23

    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.

    Figure 17 Class inherit Javax.swing.Jframe methods

    In this class, it is use as a lecturer main

    menu. It allows the lecturer to perform

    his/her roles in the system.

    Figure 18 Example of class named event

    All the details of the event are saved in

    this class. There are a lots get and set

    function in this class, which are used tosave 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.

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    24/51

    JJ event management system [Year]

    24

    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.

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    25/51

    JJ event management system [Year]

    25

    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)

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    26/51

    JJ event management system [Year]

    26

    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)

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    27/51

    JJ event management system [Year]

    27

    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

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    28/51

    JJ event management system [Year]

    28

    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)

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    29/51

    JJ event management system [Year]

    29

    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

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    30/51

    JJ event management system [Year]

    30

    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

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    31/51

    JJ event management system [Year]

    31

    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)

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    32/51

    JJ event management system [Year]

    32

    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.

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    33/51

    JJ event management system [Year]

    33

    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 iscompleted, 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)

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    34/51

    JJ event management system [Year]

    34

    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.

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    35/51

    JJ event management system [Year]

    35

    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

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    36/51

    JJ event management system [Year]

    36

    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

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    37/51

    JJ event management system [Year]

    37

    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)

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    38/51

    JJ event management system [Year]

    38

    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.

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    39/51

    JJ event management system [Year]

    39

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

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    40/51

    JJ event management system [Year]

    40

    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.

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    41/51

    JJ event management system [Year]

    41

    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.

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    42/51

    JJ event management system [Year]

    42

    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

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    43/51

    JJ event management system [Year]

    43

    Figure 56Event exception report

    Figure 57Event summary report

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    44/51

    JJ event management system [Year]

    44

    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

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    45/51

    JJ event management system [Year]

    45

    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.

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    46/51

    JJ event management system [Year]

    46

    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.

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    47/51

    JJ event management system [Year]

    47

    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.

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    48/51

    JJ event management system [Year]

    48

    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.

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    49/51

    JJ event management system [Year]

    49

    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.

  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    50/51

    JJ event management system [Year]

    50

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

    http://c/Users/leim/Desktop/(point,%202014)http://c/Users/leim/Desktop/(point,%202014)http://c/Users/leim/Desktop/(point,%202014)http://c/Users/leim/Desktop/www.inf.ed.ac.uk/teaching/courses/seoc/2009_2010/notes/10_notes.pdfhttp://c/Users/leim/Desktop/www.inf.ed.ac.uk/teaching/courses/seoc/2009_2010/notes/10_notes.pdfhttp://www.ibm.com/developerworks/rational/library/4697.htmlhttp://www.ibm.com/developerworks/rational/library/4697.htmlhttp://pic.dhe.ibm.com/infocenter/adiehelp/v5r1m1/index.jsp?topic=%2Fcom.sun.api.doc%2Fjavax%2Fswing%2FJFrame.htmlhttp://pic.dhe.ibm.com/infocenter/adiehelp/v5r1m1/index.jsp?topic=%2Fcom.sun.api.doc%2Fjavax%2Fswing%2FJFrame.htmlhttp://pic.dhe.ibm.com/infocenter/adiehelp/v5r1m1/index.jsp?topic=%2Fcom.sun.api.doc%2Fjavax%2Fswing%2FJFrame.htmlhttp://java.about.com/od/workingwithobjects/a/constructor_2.htmhttp://java.about.com/od/workingwithobjects/a/constructor_2.htmhttp://www.tutorialspoint.com/java/java_encapsulation.htmhttp://www.tutorialspoint.com/java/java_encapsulation.htmhttp://docs.oracle.com/javase/7/docs/api/java/io/FileOutputStream.htmlhttp://docs.oracle.com/javase/7/docs/api/java/io/FileOutputStream.htmlhttp://docs.oracle.com/javase/tutorial/java/concepts/interface.htmlhttp://docs.oracle.com/javase/tutorial/java/concepts/interface.htmlhttp://www.tutorialspoint.com/javamail_api/javamail_api_send_email_with_attachment.htmhttp://www.tutorialspoint.com/javamail_api/javamail_api_send_email_with_attachment.htmhttp://www.tutorialspoint.com/java/java_object_classes.htmhttp://www.tutorialspoint.com/java/java_object_classes.htmhttp://www.tutorialspoint.com/java/java_object_classes.htmhttp://www.tutorialspoint.com/javamail_api/javamail_api_send_email_with_attachment.htmhttp://docs.oracle.com/javase/tutorial/java/concepts/interface.htmlhttp://docs.oracle.com/javase/7/docs/api/java/io/FileOutputStream.htmlhttp://www.tutorialspoint.com/java/java_encapsulation.htmhttp://java.about.com/od/workingwithobjects/a/constructor_2.htmhttp://pic.dhe.ibm.com/infocenter/adiehelp/v5r1m1/index.jsp?topic=%2Fcom.sun.api.doc%2Fjavax%2Fswing%2FJFrame.htmlhttp://pic.dhe.ibm.com/infocenter/adiehelp/v5r1m1/index.jsp?topic=%2Fcom.sun.api.doc%2Fjavax%2Fswing%2FJFrame.htmlhttp://www.ibm.com/developerworks/rational/library/4697.htmlhttp://c/Users/leim/Desktop/www.inf.ed.ac.uk/teaching/courses/seoc/2009_2010/notes/10_notes.pdfhttp://c/Users/leim/Desktop/(point,%202014)
  • 8/10/2019 Object Oriented Development with Java Documentation JJ ^

    51/51

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

    http://www.tutorialspoint.com/java/io/printwriter_print_string.htmhttp://www.tutorialspoint.com/java/io/printwriter_print_string.htmhttp://www.tutorialspoint.com/java/io/dataoutputstream_writeutf.htmhttp://www.tutorialspoint.com/java/io/dataoutputstream_writeutf.htmhttp://www.tutorialspoint.com/java/io/dataoutputstream_writeutf.htmhttp://www.tutorialspoint.com/java/io/printwriter_print_string.htm