You are on page 1of 86

YuZong Cinema System

By

Loh Huang Zong

SCHOOL OF ARTS AND SCIENCE


TUNKU ABDUL RAHMAN COLLEGE
KUALA LUMPUR
ACADEMIC YEAR
2010/2011

Cinema System

YuZong Cinema System

By

Loh Huang Zong

Supervisor: Mr. Andrew Tan Khin Huat

A project report submitted to the School of Arts and Science


in partial fulfillment of the requirement for the
Bachelor of Science, Campbell University, U.S.A,
And
Advanced Diploma in Science.

Division of Computer Science


School of Arts and Science
Tunku Abdul Rahman College
Kuala Lumpur
2010/2011

ii | P a g e

Cinema System

Declaration
The project submitted herewith is a result of my own efforts in totality and in every
aspect of the project works. All information that has been obtained from other
sources had been fully acknowledged. I understand that any plagiarism, cheating or
collusion or any sorts constitutes a breach of College rules and regulations and would
be subjected to disciplinary actions.

__________________________
Students Name : Loh Huang Zong
Programme : AIT
iii | P a g e

Cinema System

Abstract
Our final year project, YuZong Cinema System, which consists of website and offline
application. For online application will be website which allow customer to check movie time
table, about our cinema, new release movie, and also allow member to reserve ticket. While
for offline application is mainly use by manager and also counter staff to maintain movie
information, schedule, ticket purchasing, and so on. Our purpose of develop this cinema
system and cinema website because it has bring benefits to both company and also the
consumer.

This project applied object-oriented programming with component based development. This
can both make development faster, and programs run faster. We are living in a world in
which every person is rushed and frantic in life, no people are willing to wait slow
responding system.

As a result, when we planning to develop this website and application, we have analyze and
think about the benefit of customer by the way the company also will get the benefit at the
same time.

iv | P a g e

Cinema System

Acknowledgement
We wish to express our sincere gratitude to project supervisor, Mr. Andrew Tan Khin Huat,
for his guidance, constant support and encouragement throughout the completion of this final
year project. We would also like to convey his heartfelt appreciation to Mr. Andrew Tan
Khin Huat for contributing his ideas and in-depth knowledge in the field.

A warm thank is extended to Mr. Andrew Tan Khin Huat for sharing his resources, opinions,
knowledge, experience and skills in programming and development methodology, so
generously. We would also like to personally thank our family, friends in TAR College and
fellow course-mates who have one way or another extended their assistance in completing
this project.

Last, but not least, we wishes to acknowledge the unwavering support shown by Mr. Andrew
Tan Khin Huat, and moderator, Mr Wong Yoke Seng.

v|Page

Cinema System

Table of Contents
Declaration.............................................................................................................................. iii
Abstract .................................................................................................................................... iv
Acknowledgement .................................................................................................................... v
1. System Planning ................................................................................................................ 1
1.1
1.2
1.3
1.4
1.5
1.6

Project Aims and Objectives................................................................................................. 2


Company Background .......................................................................................................... 2
Project Scope ........................................................................................................................ 3
Project Schedule ................................................................................................................... 7
Project Team and Module assigned ...................................................................................... 8
Outline of approach/Methodology Used ............................................................................... 8

2. Requirements Analysis ..................................................................................................... 9


2.1
2.2
2.3
2.4
2.5
2.6
2.7

System Requirement ........................................................................................................... 10


Functional Requirement ...................................................................................................... 10
NonFunctional Requirement .............................................................................................. 12
External Interface Requirement .......................................................................................... 13
Use Case Diagram .............................................................................................................. 14
Use Case Specification ....................................................................................................... 18
Activity Diagram ................................................................................................................ 24

3. System Design .................................................................................................................. 30


3.1
3.2
3.3
3.4
3.5
3.6

Sequence Diagram .............................................................................................................. 31


Collaboration Diagram ....................................................................................................... 37
Database Design ................................................................................................................. 43
Class Diagram ..................................................................................................................... 49
Deployment Diagram .......................................................................................................... 50
User Interface Design ......................................................................................................... 51

4. Programming ................................................................................................................... 59
4.1
4.2

Introduction......................................................................................................................... 60
Source Code and Descriptions ............................................................................................ 60

5. Software Testing .............................................................................................................. 64


5.1
5.2

Overview............................................................................................................................. 65
Testing ................................................................................................................................ 66

6. Conclusion ........................................................................................................................ 68
7. References ........................................................................................................................ 72
8. Appendices ....................................................................................................................... 73
9. User Guide ....................................................................................................................... 75

vi | P a g e

Cinema System

Chapter 1
System Planning

1|Page

Cinema System

System Planning
1.1 Project Aims and Objectives
Our purpose of develop this cinema system and website because it has bring benefits to both
company and also the consumer. The benefit for consumers is they can booking or reserve the
ticket early in the cinema website without having to purchase in cinema. Our motif is to
create a website that can attract the user to visit our website and in the same time they
enjoyed during checking for information in the website. Many cinema website is just for
reservation and checking movie time. Well, through this website, we can let the user to check
on this website when they free as a hobbies. Besides that, this website will also help those
companies increase the revenue.

As a result, when we planning to develop this website and application, we have analyze and
think about the benefit of customer by the way the company also will get the benefit at the
same time.

1.2 Company Background


This company operates the largest circuit with a total of 100 screens in 10 locations, all of
which are located in prime sites in major cities and towns throughout the country. More
screens mean more movies and more session times for customer to choose from. This
company offers numerous facilities and conveniences, such as generous seating gradients,
sophisticated digital sound and projection systems, central computerized ticketing system,
and facilities for the handicapped including special wheelchair lifts. Our company is the
market leader in cinema design and technology, and continues to bring the latest in moviegoing to the Malaysian public. We have an official website which provides online booking
and reservation for consumer.

2|Page

Cinema System

1.3 Project Scope


These are the module that will be included in our system. We have maintenance module,
transaction module, report module and setting module.

Member
Maintenance

Maintenance
Module
Staff
Maintenance

Hall
Maintenance

Member Type
Maintenance

Position
Maintenance

Schedule
Maintenance

Branch
Maintenance

Seat
Maintenance

Ticket
Maintenance

Movie
Maintenance

Ticket
Purchasing
Cinema
System

Transaction
Module

Hall Type
Maintenance

Booking
Handling
Box Office
Ranking

Report
Module

Setting
Module

Schedule
Report

Company
Setting
Connection
Setting

3|Page

Cinema System

Maintenance Module
Member Type Maintenance
In member type maintenance, the staffs allow to Add/Edit/Delete member type and also
member discount rate (e.g. gold member can get 10% discount or so on).
Member Maintenance
For member maintenance, the staffs can Add/Edit/Delete the member detail and able to set
member type based on the type that had been added in member type sub module.
Position Maintenance
The staffs can Add/Edit/Delete position with certain roles to perform the module. This can
help to reduce maintenance cost when a new department want set up and they do not need the
programmer to reprogram a new position for them.
Staff Maintenance
For staff maintenance, the staffs allow to change their own information if that is required.
Branch Maintenance
For branch maintenance, the staffs allow to Add/Edit/Delete the branch information. (Mostly
used by main corporation only)
Movie Maintenance
For movie maintenance, the staffs can Add/Edit/Delete the movie. When the movie is added,
edited or deleted, the official website also can see the changes. The movie having several
information such as name, description, movie status, director, cast, genre and so on.
Hall Type Maintenance
In hall type maintenance, the staffs allow to Add/Edit/Delete hall type and also charge for the
hall (e.g. gold hall got additional RM10 additional charge).
Hall Maintenance
For hall maintenance, the staffs can Add/Edit/Delete the hall detail and able to set hall type
based on the type that had been added in hall type sub module.

4|Page

Cinema System

Seat Maintenance
For seat maintenance, the staffs able to set the person for the seat for example 1 or 2, and also
can upload picture for the seat.
Schedule Maintenance
For schedule maintenance, the staffs able to select the date and also movie then set the
schedule on the available time.
Ticket Maintenance
For ticket maintenance, the staffs able to select the seat type, movie classification and hall
type that fit particulate ticket.

Transaction Module
Ticket Purchasing
This module will be performing by counter staff. The staff can select the seat which is request
by the customer. The seat selection can be done by 1-Click, which the staff can direct select
more than 1 seat without having to select the seat 1 by 1.
Booking Handling
This module is used to handle transaction which performs by customer through online. Its
allowed staffs to key in reference no or customer IC No to get the transaction details then
print the ticket.

Report Module
In this module, various reports will be produce by the system such as box office ranking
report and schedule report.
Box Office Ranking Report
Show the ranking of the movie by allowing staff to select the date range.
Schedule Report
Describe total member, total movie, total staff, total room and etc.

5|Page

Cinema System

Setting Module
Company Setting
In company setting, staffs allow to set the company detail for example company name, phone
no. and so on. Some detail will include in printed ticket.
Connection Setting
For connection setting, staffs allow to make changes on local connection and server
connection. This is useful when the server had been move and the address already different
with previous.

6|Page

Cinema System

1.4 Project Schedule


2010

2011

7|Page

Cinema System

1.5 Project Team and Module assigned


In this website development will be in charge by Choy Chern Yue and the offline system will
be in charge by Loh Huang Zong.

1.6 Outline of approach/Methodology Used


This project will use object-oriented approach. The reason of using:

Testability/Increased Quality
Automated testing can increase speed of testing and increase quality.

Maintainability
If designed correctly, any tier of the application can be replaced by another that implements
the correct interface(s), and the application will still work (can use multiple user interfaces,
can swap out data providers, etc.)

Reduces large problems to smaller, more manageable ones


The code can be reuse, if any problem occurs the programmer just need to solve the problem
having in class.

Fits the way the real world works


It is easy to map a real world problem to a solution in object-oriented code.

8|Page

Cinema System

Chapter 2
Requirements Analysis

9|Page

Cinema System

Requirements Analysis
2.1 System Requirement
Cinema System is designed by using visual studio 2008. We will use ASP.Net with C#
language to develop the cinema website and using VB to develop offline application.

2.2 Functional Requirement


Login Module
To access the system, user is required to login with their user name and password. Validation
will applied to check the user input, if wrong user name or password, the system will prompt
message to acknowledge the user.

Edit Profile
User can change their password, email and other related information when needed. To change
password, user are required to re-enter the password and enter new password and also
confirmation password.

Staff/User Registration
For back-end system, the related staff is allowed to add new staff or user. The user which
required registering in counter may have certain benefic compare to normal member which
register online. They may have special discount or other else.

Staff/User Maintenance
The related staff is allowed to maintain staff or user information, deletion is also allowed in
the system. The staff can search the staff or user by their ID, and also can list in list box to
provide staff choosing.

Ticket Purchasing
This function will allow the staff to choose available move which had list in system then
follow by date (default date is today), then follow by time then the system will display the
room with seat to provide staff selecting. The total price will display according to the total
ticket, ticket type and also time slot.
10 | P a g e

Cinema System

Movie Maintenance
Staff allowed adding, editing and deleting the movie. The staff can search the movie
according to movie category, movie id, and movie name. A list also provided for staff to easy
selecting.

Room & Seat Maintenance


Staff allowed to adding new room and seat. The status also can be setting for both room and
seat. Status Full for room mean all the seat in room already solved. Status Under
Maintenance, Reserved, and so on can be applied to seat in some situation.

Report
Can generate various kind of report, can help in survey and also company on decision
making. The report can only be view by high level staff.

Pricing
The price is according to room type, seat type and also date. The systems will automatic
calculate the total ticket price for customer.

11 | P a g e

Cinema System

2.3 Non-Functional Requirement


Security
This system must provide high degree of security to prevent unauthorized user to access the
system.

Efficiency
This system must be able to handle large amount of data and come out the desired output in
short amount of time.

Usability
This system function and interface must be user friendly. Consistent design is required and
interface must be cleanliness to avoid user confuse.

Reliability
This system will try minimizing keystroke by user. Several tools will provide in order to
reduce keystroke, for example, list box, check list, radio button, button, combo box and so on.
At the same time, we also adding error handling and provide error message for user if any
error occurs.

12 | P a g e

Cinema System

2.4 External Interface Requirement


Header

Menu

Content

Footer

Inside the header will put company logo or slogan. The menu will have collection of sub
menu which can open the related form in content. Last, footer will show small piece or
information such as staff name, date and time.
Menu
The menu used in the system is providing the user to change the related content in the form
when clicking it.

Button
The particular operation can be done by system when the button is clicked by user. The
button will labeled and possible to having icon beside the button to provide clearly function
for user.

Error Message
The error message will have several types in this system. Pop up error message when certain
button is clicked, tooltip message when data format is wrong for the input. This error
message is necessary to user; otherwise they will continue doing the mistake.

13 | P a g e

Cinema System

2.5 Use Case Diagram


Overview Use Case Diagram for offline cinema system

14 | P a g e

Cinema System

Detail Use Case Diagram for Staff Maintenance

Detail Use Case Diagram for Room & Seat Maintenance

15 | P a g e

Cinema System

Detail Use Case Diagram for Member Maintenance

Detail Use Case Diagram for Movie Maintenance

16 | P a g e

Cinema System

Detail Use Case Diagram for Pricing Maintenance

Detail Use Case Diagram for Ticket Purchasing

17 | P a g e

Cinema System

2.6 Use Case Specification


Use Case Description for Staff Maintenance
Use Case Name: Staff Maintenance
Brief Description: This use case allows administrator to add, edit, delete and controlling
staff accessibility.
Actor: Administrator
Main Flow:
Actor Action

System Response

1. Admin login into system.

2. Verify User ID and Password.

3. Click Staff Maintenance Button.

4. Display Staff Maintenance Page.

5. Input particular Staff ID.


6. Click on Search button.

7. Verify Staff ID and show particular

8. Click Edit button to edit.

staff detail in particular field.

10. Edit info.

9. Enable all textbox.

11. Click Save Button.


13. Click Add New button.

12. Verify all data and update database.

15. Key in new staff info.

14. Enable all blank textbox.

16. Click Save Button.

17. Verify all data and add to database.

18. Click Delete Button.

19. Particular member will be deleted.

20. Click Staff Accessibility Tab.

21. Open Staff Accessibility Tab.

22. Tick what staff able to perform in


check box.
23. Click Save Setting.

24. Update database.

Alternative Flows:
A-1 Step 2: Invalid User ID or Password will prompt error message.
A-2 Step 7: Staff ID does not exist will prompt error message.
A-3 Step 12: Any empty field haven key in will prompt error message.
A-4 Step 17: Invalid data format will prompt error message.

18 | P a g e

Cinema System

Use Case Description for Room & Seat Maintenance


Use Case Name: Room & Seat Maintenance
Brief Description: This use case allows administrator to view, add, edit, and delete room &
seat.
Actor: Administrator
Main Flow:
Actor Action

System Response

1. Admin login into system.

2. Verify User ID and Password.

3. Click Room & Seat Maintenance

4. Display Room & Seat Maintenance

Button.

Page.
6. Display all seat inside that particular

5. Search room.

room.

7. Click Edit button to edit.


8. Edit seat or room status.

10. Update database.

9. Click Save Button.

12. Show new room without any seat.

11. Click Add New button.


13. Key in room information.
14. Click to add new seat.

19. Verify all data and add to database.

18. Click Save Button.

21. Particular Seat will be deleted.

20. Click Seat and click Delete Button.

23. Particular Room will be deleted.

22. Click Delete Room Button.

25. Update database.

24. Click Save Setting.

Alternative Flows:
A-1 Step 2: Invalid User ID or Password will prompt error message.
A-3 Step 19: Any empty field haven key in will prompt error message.

19 | P a g e

Cinema System

Use Case Description for Member Maintenance


Use Case Name: Member Maintenance
Brief Description: This use case allows administrator to view, add, edit, delete and check
member transaction.
Actor: Administrator
Main Flow:
Actor Action

System Response

1. Admin login into system.

2. Verify User ID and Password.

3. Click Member Maintenance Button.

4. Display Member Maintenance Page.

5. Input particular Member ID.


6. Click on Search button.

7. Verify Member ID and show particular


member detail in particular field.

8. Click Edit button to edit.

9. Enable all textbox.

10. Edit info.


11. Click Save Button.

12. Verify all data and update database.

13. Click Add New button.

14. Enable all blank textbox.

15. Key in new member info.


16. Click Save Button.

17. Verify all data and add to database.

18. Click Delete Button.

19. Particular member will be deleted.

20. Click member transaction.

21. Open transaction page.

22. Check transaction.

Alternative Flows:
A-1 Step 2: Invalid User ID or Password will prompt error message.
A-2 Step 7: Member ID does not exist will prompt error message.
A-3 Step 12: Any empty field haven key in will prompt error message.
A-4 Step 17: Invalid data format will prompt error message.

20 | P a g e

Cinema System

Use Case Description for Movie Maintenance


Use Case Name: Movie Maintenance
Brief Description: This use case allows administrator to view, add, edit, delete and set movie
showing time.
Actor: Administrator
Main Flow:
Actor Action

System Response

1. Admin login into system.

2. Verify User ID and Password.

3. Click Movie Maintenance Button.

4. Display Movie Maintenance Page.

5. Input particular Movie ID.


6. Click on Search button.

7. Verify Movie ID and show particular


movie detail in particular field.

8. Click Edit button to edit.

9. Enable all textbox.

10. Edit info.


11. Click Save Button.

12. Verify all data and update database.

13. Click Add New button.

14. Enable all blank textbox.

15. Key in new movie info.


16. Click Save Button.

17. Verify all data and add to database.

18. Click Delete Button.

19. Particular movie will be deleted.

20. Click movie showing time.


21. Select showing date.
22. Click Save Button.

21. Update database.

Alternative Flows:
A-1 Step 2: Invalid User ID or Password will prompt error message.
A-2 Step 7: Movie ID does not exist will prompt error message.
A-3 Step 12: Any empty field haven key in will prompt error message.
A-4 Step 17: Invalid data format will prompt error message.

21 | P a g e

Cinema System

Use Case Description for Pricing Maintenance


Use Case Name: Pricing Maintenance
Brief Description: This use case allows administrator to maintain special day pricing,
maintain service charges & tax, and maintain ticket type pricing.
Actor: Administrator
Main Flow:
Actor Action

System Response

1. Admin login into system.

2. Verify User ID and Password.

3. Click Pricing Maintenance Button.

4. Display Pricing Maintenance Page.

5. Change day pricing.


6. Add new service charges or tax.
7. Edit ticket type pricing
8. Click Save Changes.

9. Verify all data and update database.

Alternative Flows:
A-1 Step 2: Invalid User ID or Password will prompt error message.
A-4 Step 9: Invalid data format will prompt error message.

22 | P a g e

Cinema System

Use Case Description for Ticket Purchasing


Use Case Name: Ticket Purchasing
Brief Description: This use case allows counter staff to check available movie, check date &
time schedule, choose ticket quantity & type, choose seat, and payment.
Actor: Counter Staff
Main Flow:
Actor Action

System Response

1. Counter Staff login into system.

2. Verify User ID and Password.

3. Click Ticket Purchasing Button.

4. Display Ticket Purchasing Page.

5. Click on available movie.

6. List all date and time available for


purchase.

7. Select date and time.

8. Prompt for ticket quantity & type.

9. Choose ticket quantity & type.

10. Display seat.

11. Select seat wanted.


12. Click Payment Button.

13. Validate data and Calculate total.

14. Key in customer total paid value.


15. Click Pay.

16. Validate data and Calculate Balance.


17. Print Ticket.

Alternative Flows:
A-1 Step 2: Invalid User ID or Password will prompt error message.
A-2 Step 13: Particular seat been booked by other people, error message will prompt out.
A-3 Step 16: Invalid data format will prompt error message.

23 | P a g e

Cinema System

2.7 Activity Diagram


Activity Diagram for Staff Maintenance

24 | P a g e

Cinema System

Activity Diagram for Room & Seat Maintenance

25 | P a g e

Cinema System

Activity Diagram for Member Maintenance

26 | P a g e

Cinema System

Activity Diagram for Movie Maintenance

27 | P a g e

Cinema System

Activity Diagram for Pricing Maintenance

28 | P a g e

Cinema System

Activity Diagram for Ticket Purchasing

29 | P a g e

Cinema System

Chapter 3
System Design

30 | P a g e

Cinema System

System Design
3.1 Sequence Diagram
Sequence Diagram for Staff Maintenance

31 | P a g e

Cinema System

Sequence Diagram for Room & Seat Maintenance

32 | P a g e

Cinema System

Sequence Diagram for Member Maintenance

33 | P a g e

Cinema System

Sequence Diagram for Movie Maintenance

34 | P a g e

Cinema System

Sequence Diagram for Pricing Maintenance

35 | P a g e

Cinema System

Sequence Diagram for Ticket Purchasing

36 | P a g e

Cinema System

3.2 Collaboration Diagram


Collaboration Diagram for Staff Maintenance

37 | P a g e

Cinema System

Collaboration Diagram for Room & Seat Maintenance

38 | P a g e

Cinema System

Collaboration Diagram for Member Maintenance

39 | P a g e

Cinema System

Collaboration Diagram for Movie Maintenance

40 | P a g e

Cinema System

Collaboration Diagram for Pricing Maintenance

41 | P a g e

Cinema System

Collaboration Diagram for Ticket Purchasing

42 | P a g e

Cinema System

3.3 Database Design


Table Name: Branch
Attributes

Data Type

PK

FK

NULL

BranchID

VARCHAR(10)

Name

VARCHAR(50)

NO

Address

VARCHAR(MAX)

NO

State

VARCHAR(20)

NO

ContactNo

VARCHAR(20)

NO

Description

VARCHAR(MAX)

YES

TotalHall

INT

YES

SeatingCapacity

INT

YES

SoundSystem

VARCHAR(50)

YES

Status

VARCHAR(20)

NO

CommencedDate

DATETIME

NO

Default Value

NO

Active

Table Name: Staff


Attributes

Data Type

PK

FK

NULL

Default Value

StaffID

VARCHAR(10)

NO

Name

VARCHAR(50)

NO

Address

VARCHAR(MAX)

NO

Email

VARCHAR(50)

NO

IC

VARCHAR(14)

NO

Phone

VARCHAR(20)

NO

Gender

VARCHAR(6)

NO

Position

VARCHAR(20)

NO

Accessibility

VARCHAR(MAX)

NO

UserName

VARCHAR(20)

NO

UserPassword

VARCHAR(20)

NO

Pa$$w0rD

Status

VARCHAR(20)

NO

Active

JoinDate

DATETIME

NO

43 | P a g e

Cinema System

Table Name: Member


Attributes

Data Type

PK

FK

NULL

MemberID

VARCHAR(10)

Name

VARCHAR(50)

NO

Address

VARCHAR(50)

NO

Email

VARCHAR(50)

NO

IC

VARCHAR(14)

NO

Phone

VARCHAR(20)

NO

Gender

VARCHAR(6)

NO

MemberType

VARCHAR(20)

NO

UserName

VARCHAR(20)

NO

UserPassword

VARCHAR(20)

NO

Status

VARCHAR(20)

NO

SecurityQuestion

VARCHAR(20)

NO

SecretAnswer

VARCHAR(50)

NO

VerifyCode

VARCHAR(10)

NO

RegisterDate

DATETIME

NO

Default Value

NO

Active

Table Name: MemberType


Attributes

Data Type

MemberType

VARCHAR(20)

Description

VARCHAR(50)

PK

FK

NULL
NO
NO

MemberDiscountRate DOUBLE

NO

Status

NO

VARCHAR(20)

Default Value

Active

44 | P a g e

Cinema System

Table Name: Movie


Attributes

Data Type

PK

FK

NULL

MovieID

VARCHAR(10)

MovieName

VARCHAR(50)

NO

Synopsis

TEXT

NO

Classification

VARCHAR(10)

NO

Language

VARCHAR(20)

NO

Duration

VARCHAR(20)

NO

Director

VARCHAR(20)

NO

Cast

TEXT

NO

Genre

VARCHAR(50)

NO

Status

VARCHAR(20)

NO

ReleaseDate

DATETIME

NO

Image_Binary

BLOG

YES

ScheduleColor

INT

NO

Default Value

NO

Table Name: Hall


Attributes

Data Type

PK

FK

NULL

HallNo

VARCHAR(2)

HallType

VARCHAR(20)

NO

Description

TEXT

YES

Status

VARCHAR(20)

NO

HallView

VARCHAR(10)

Default Value

NO

Active

NO

Table Name: HallType


Attributes

Data Type

PK

FK

NULL

HallType

VARCHAR(20)

Description

TEXT

YES

Charge

DOUBLE

NO

Status

VARCHAR(20)

NO

Default Value

NO

Active

45 | P a g e

Cinema System

Table Name: HallView


Attributes

Data Type

PK

FK

NULL

SeatNo

VARCHAR(10)

SeatRow

VARCHAR(10)

NO

SeatColumn

VARCHAR(10)

NO

Status1

VARCHAR(20)

YES

Status2

VARCHAR(20)

YES

Default Value

NO

Table Name: Position


Attributes

Data Type

PK

FK

NULL

Position

VARCHAR(20)

Description

VARCHAR(50)

YES

Accessibility

VARCHAR(MAX)

NO

Status

VARCHAR(20)

NO

Default Value

NO

Normal

Table Name: Schedule


Attributes

Data Type

PK

FK

NULL

Default Value

ScheduleID

VARCHAR(10)

NO

ShowingDate

DATETIME

NO

ShowingTime

DATETIME

NO

Duration

INT

NO

MovieID

VARCHAR(10)

NO

HallNo

VARCHAR(20)

NO

Status

VARCHAR(20)

NO

Active

Upload

VARCHAR(10)

NO

False

46 | P a g e

Cinema System

Table Name: Transaction


Attributes

Data Type

PK

FK

NULL

TransactionID

VARCHAR(10)

ScheduleID

VARCHAR(10)

NO

SeatNo

VARCHAR(10)

NO

Ticket

TEXT

NO

Price

TEXT

NO

AdditionalCharge

DOUBLE

NO

TotalAmount

DOUBLE

NO

CardHolder

VARCHAR(50)

YES

CardNo

VARCHAR(16)

YES

TransactionType

VARCHAR(50)

NO

TransactionDate

DATETIME

NO

TransactionTime

DATETIME

NO

Status

VARCHAR(20)

NO

StaffID

VARCHAR(10)

RefNo

VARCHAR(10)

MemberID

VARCHAR(10)

Default Value

NO

Active

YES
NO

YES

FK

NULL

Table Name: TicketSetting


Attributes

Data Type

PK

ScheduleID

VARCHAR(10)

NO

TicketType

VARCHAR(20)

NO

TicketPrice

DOUBLE

Default Value

NO

47 | P a g e

Cinema System

Table Name: Ticket


Attributes

Data Type

PK

FK

NULL

TicketType

VARCHAR(20)

Price

DOUBLE

NO

Description

TEXT

YES

Status

VARCHAR(20)

NO

Classification

VARCHAR(10)

NO

HallType

VARCHAR(10)

NO

SeatType

VARCHAR(20)

NO

FK

NULL

Default Value

NO

Active

Table Name: Seat


Attributes

Data Type

PK

SeatType

VARCHAR(20)

DisplayPic

BLOG

NO

DisplayColor

INT

NO

Person

INT

NO

Description

TEXT

YES

Status

VARCHAR(20)

NO

Default Value

NO

Active

48 | P a g e

Cinema System

3.4 Class Diagram

49 | P a g e

Cinema System

3.5 Deployment Diagram

50 | P a g e

Cinema System

3.6 User Interface Design

Login Screen

Edit Own Profile

51 | P a g e

Cinema System

Log Screen (At right hand side)

Movie Maintenance

52 | P a g e

Cinema System

Position Maintenance

Branch Maintenance

53 | P a g e

Cinema System

Seat Maintenance

Hall Maintenance

54 | P a g e

Cinema System

Schedule Maintenance

Ticket Setting

55 | P a g e

Cinema System

Ticket Purchasing (For counter use)

Seat Selection

56 | P a g e

Cinema System

Ticket Preview

Report

57 | P a g e

Cinema System

Connection Setting

58 | P a g e

Cinema System

Chapter 4
Programming

59 | P a g e

Cinema System

Programming
4.1 Introduction
This chapter is going to explain the coding which had been implementing in cinema system.
The programming language that I used to develop this system is VB.Net.

4.2 Source Code and Descriptions

Get Latest ID
Public Shared Function GetLastID() As String
Dim strSQL As String = "SELECT StaffID FROM Staff ORDER BY StaffID DESC;"
Dim id As String = String.Empty
Dim ds As DataSet = Nothing
Try
ds = GetDataSet(strSQL)
If ds.Tables(0).Rows.Count > 0 Then
id = ds.Tables(0).Rows(0)("StaffID")
Else
Throw New NotFoundException()
End If
Finally
If Not ds Is Nothing Then ds.Dispose()
End Try
Return id
End Function
The coding above is used to retrieve the latest staff id, and it will throw a custom exception
named NotFoundException if there is not data inside the staff table. This function is perform
for the purpose of generate new id for staff.

60 | P a g e

Cinema System

Generate New ID
Private Shared Function GetNewID() As String
Dim lastID As String
Dim newID As String = String.Empty
Try
lastID = StaffDA.GetLastID
newID = "S" & (Convert.ToInt16(lastID.Substring(1)) + 1).ToString("000000000")
Catch ex As NotFoundException
newID = "S000000001"
End Try
Return newID
End Function

The coding above is generate a new id for the new staff by using some calculation with the
latest staff id. If NotFoundException is fired, which mean there is no staff in database, then it
will return the first valid staff id S000000001.

Generate Random Number


Private Function GetNewRefNo() As String
Dim refNo As String = String.Empty
Dim availableNo As String = "1234567890"
Dim random As New Random()
For i As Integer = 0 To 9
refNo &= availableNo(random.Next(availableNo.Length))
Next
Return refNo
End Function

The coding above is random generate 10 digit for online reference purpose. The valid number
is from range 0-9.

61 | P a g e

Cinema System

Access XML Configure File


Configure File
<appSettings>
<add key="CompanyID" value="B000000001"/>
<add key="CompanyName" value="YuZong Cinema"/>
<add key="ContactNo" value="017-1245678"/>
<add key="Address" value="Gurney Plaza"/>
<add key="Description" value=""/>
</appSettings>

This is XML configure file which hold company information.

Coding to access configure file


Public Shared Property Value(ByVal key As String) As String
Get
Return AppSettings.Get(key)
End Get
Set(ByVal value As String)
UpdateAppConfig(key, value)
End Set
End Property
In order to access information under appSettings inside config file, the coding above can
simple retrieve the information by simply Imports
System.Configuration.ConfigurationManager, then create a property which allow
programmer easily call out the information in any form.

62 | P a g e

Cinema System

Change value inside configure file


Private Shared Sub UpdateAppConfig(ByVal key As String, ByVal value As String)
Dim xmlDoc As New XmlDocument()
xmlDoc.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile)
For Each xElement As XmlElement In xmlDoc.DocumentElement
If xElement.Name = "appSettings" Then
For Each xNode As XmlNode In xElement.ChildNodes
If Not xNode.Attributes Is Nothing Then
If xNode.Attributes(0).Value = key Then
xNode.Attributes(1).Value = value
End If
End If
Next
End If
Next
By using above code, it allow user to change the value inside configure file by simply
provide the key and new value to be changed.

63 | P a g e

Cinema System

Chapter 5
Software Testing

64 | P a g e

Cinema System

Software Testing
5.1 Overview
Conducting the software testing is the process of executing a system with the intent of finding
errors. There is not software that able to come with 100%, therefore, testing the system is
basically involves series of activities aimed at evaluating an attribute or capability of the
system and also determine that the system is usable in practice and meets its required results.
An implemented system is not unlike other physical where inputs are received and outputs
are produced, but the system can fail in many bizarre ways.

Software bugs will almost exist in implemented software module with moderate size. It is
because the complexity of software is generally intractable and also limitation of human
ability to manage complexity.

Regardless of the limitations, testing is an integral part of activities in software development.


It is broadly deployed in every phase in the software development cycle. One of the purposes
for system testing is improve quality of the system.

Performing the system testing able to estimate the system reliability, the reliability of system
software has important relations with any aspect of the software, including the structure and
amount of testing it has been subjected to.

65 | P a g e

Cinema System

5.2 Testing
No

Test Cases

Login

Test Data

Username: admin

Expected Result

Actual

Action/

Result

Remark

Logged in successful.

As Expected Pass

Username:

Textbox in red colour

As Expected Pass

Password:

with a tooltip Please

Password: admin

fill in the entire field.

Edit Profile

Username: abc

Popup message box,

Password: 1'or'1'='1

user or password

(SQL injection attack)

incorrect.

Old Password: admin

New Password textbox

New Password:

in red colour with a

Confirm Password: aa

tooltip Please fill in the

As Expected Pass

As Expected Pass

entire field.
Old Password: aa

Old Password textbox in

New Password: gg

red colour with a tooltip

Confirm Password: gg

Old Password Wrong.

Old Password: admin

Confirm Password

New Password: aa

textbox in red colour

Confirm Password: gg

with a tooltip New

As Expected Pass

As Expected Pass

password and confirm


password does not
same.

Old Password: admin

Popup message box,

New Password: aa

User info successfully

Confirm Password: aa

updated.

Seat

Seat Type: <Existing

Popup message box,

Maintenance

Seat Type>

Seat type already

As Expected Pass

As Expected Pass

exists.
Seat Type: Couple

Popup message box,

<New Seat Type>

New seat type

As Expected Pass

successfully added.

66 | P a g e

Cinema System

Delete Existing Seat

Popup message box,

Type

Data successfully

As Expected Pass

deleted.
Edit seat type to other

Popup message box,

existing seat type.

Seat type already

As Expected Pass

exists.
4

Schedule

Add New Schedule

Schedule will add to the

Maintenance

<Available Time

time bar.

As Expected Pass

Slot>
Add New Schedule

Schedule in red colour,

<Not Available Time

and not able to add into

Slot>

time bar.

Change schedule

A red warning icon will

status to inactive.

appear at top left of the

As Expected Pass

As Expected Pass

schedule. Particular
schedule will not
available for booking.
Delete Schedule

Popup message box,

As Expected Pass

Data successfully
deleted. Schedule will
be removed from the
time bar.

67 | P a g e

Cinema System

Chapter 6
Conclusion

68 | P a g e

Cinema System

Conclusion
6.1 Overview
In this project of YuZong Cinema System, it is basically done in successfully in which the
objectives of the system is clearly defined and understand. This system able to operate
throughout different of platform in which it could split into administration part and also
counter staff part.

Most of the tools that use to build YuZong Cinema System are Microsoft product, each of
these tools are available in Microsoft website. One of the major tools that use for developing
YuZong Cinema System is Microsoft Visual Studio 2008. An Integrated Development
Environment that support various development languages and contains a lot of build-in
feature that facilitate the development job.

In additional, this project would be has a full concept and more idea for practical wise for
next project in future. It just can going on more smooth since got the experience through the
development life cycle in this project. This project would become a good base for any future
project exploration.

6.2 Problem Encountered


There are some problems occurred in the development process. Since this is a group project,
team conflict cannot be avoided when idea are put into discussion. In most of the time, we
will conduct a brainstorming session to introduce new idea and evaluate the feasibility of
certain idea. Conflict happen when one member is in dispute with the idea of another team
member. Sometime one of the team member may loss motivation, this will affect the progress
of the entire project, so each of the team member have to take initiative to motivate another
team member. In order for this project to complete within the timeframe set previously, we
always help each other when another is facing some problem.

For system implementation, there could be problem of logical structure. In order to gather
more about knowledge and idea for the structure, research has been done through World
Wide Web. Besides that, several handbook of system development or programming has been
read and take it as references, so that it can assist us to complete the logic structure.
69 | P a g e

Cinema System

Sometimes the problem may unable to solve from resources found, the problem has been
solved by taking advice from the friends who has experiences of related problem.

6.3 Suggestion for future development


Understand the needs of end users are never end, users requirement and system requirements
is rapidly change and increased day by day. The system is considered complete and function
able, however, there are still lots of improvement that can be make for this system.

Enhancements can be made to improve the system to be more effective and reliable way. For
future enhancement, the system could add on the new feature such as custom setting for id
generator and date display format. With this feature, the administrator able to set the id
format for their own business rules, and date display format can fit to difference country
culture. Another enhancement can be make is, the report generation, more option can be
provided for example the report layout, the paper size and so on.

With the help of the above suggested enhancement on the system, the future improvement of
the system could be able to benefits both customers and also system users.

70 | P a g e

Cinema System

6.4 Personal Reflection


This final year project takes me about half year to complete, starting from documentation
until system testing. The problem faced during the development of the system is lack of logic
skills. Although vb.net has been teach during first year second semester, but the logic on how
object-oriented programming and three-tier design works is still very confusing, especially
three-tier design for system structure. To solve this problem, revision for the object-oriented
programming is done and several online research are carried out in order to recall back what
had been taught and improve the basic knowledge for login skills.

Furthermore, another problem faced is creating report. At first I plan to use crystal report, but
the problem is I dint learn how to using crystal report, so I switch to using print document to
replace crystal report.

Another problem faced during final year project is validating the input data. Most of the input
fields need validation to improve data integrity. Input fields such as name, IC number, email
address, and price need format validation. The unfamiliarity of validation code in vb.net had
causes some difficulties to validation those fields. Therefore, a lot of findings are done and I
found a useful method for validation which is regular expression. Finally all the input fields
are validated to make sure that all input data are in the required format.

Throughout this final year project, a lot of valuable experiences and lessons are gained. One
of the lessons is time management. This is important to make sure that all the required
document and deliverables can be submitted before deadlines.

71 | P a g e

Cinema System

Reference
Vuyiswa Maseko. 2007. Building an N-Tier Application in VB.NET, in 8 Steps. Viewed on
17 May 2010. Available from: <http://www.codeproject.com/KB/vb/NTier_Application_VB.aspx >

Ben. 2009. IDbTransaction Rollback Timeout. Viewed on 3 January 2011. Available from:
<http://stackoverflow.com/questions/1264949/idbtransaction-rollback-timeout>

Roland Deschain. 2010. Having fun with graphics: A VB.net Glasslabel control. Viewed on
18 January 2011. Available from: < http://www.expertsexchange.com/Programming/Languages/.NET/Visual_Basic.NET/A_3623-Having-fun-withgraphics-a-VB-net-GlassLabel-control.html>

Omar Amin Ibrahim. 2009. Windows Forms Controls: VB.Net Translucent Control Using
GDI+. Viewed on 18 January 2011. Available from: <http://www.codeproject.com/KB/GDIplus/TransparentControl.aspx>

Sandeep Raina. 2007. Visual Basic/ How to create a log file. Viewed on 12 December 2010.
Available from: < http://en.allexperts.com/q/Visual-Basic-1048/create-log-file.htm>

Jan Nijboer. 2008. Write Entries To a Log file. Viewed on 16 December 2010. Available
from: < http://www.freevbcode.com/ShowCode.asp?ID=2847>

72 | P a g e

Cinema System

Appendices

73 | P a g e

Cinema System

74 | P a g e

Cinema System

User Guide
First of all, click the Cinema System.exe.
Then it will prompt out a login box

Enter the user name admin and password


admin for administrator login.

The entire modules inside the cinema system are able to


perform by administrator.

75 | P a g e

Cinema System

First, setup company information and also


database connection.

1. Click the edit button to edit.


2. Click the save button to save.

1. Click the edit button to edit.


2. Click the save button to save.

76 | P a g e

Cinema System

Click the plus sign to add new hall


type, after key in the information
click the save button.
To delete the hall type click delete
button located at right hand side.
Note: Do the same to the seat type
and ticket type maintenance. (Same
layout)

Then follow by adding new


staff.
Toolbar at the top provide
add, edit, save and delete,
then follow by first page,
previous page, go to own
define page, next page and
last page.
Note: Do the same to movie
maintenance, branch
maintenance and Hall
maintenance. (Same layout)

Select the movie and also


schedule date, then choose the
time slot for that movie.

77 | P a g e

Cinema System

Ticket purchasing module


will be done on ticket
counter.

Step1: Select date.


3

Step2: Select time.

Step3: Select movie.


Step4: Select hall.
5

Step5: Choose ticket and


quantity.
Step6: Click Choose Seat
button.

Inside seat selection form,


user allows to select the
available seat.
1. Click ticket information
allow staff to see the ticket
information.
2. Check Show Seat No
checkbox to show the seat
number for each seat.
3. Uncheck Advance
Selection to allow staffs
select the seat 1 by 1.
4. Click Cancel to remove
the selected seat.
5. Click Payment once the
seat if finish selected.

78 | P a g e

Cinema System

Payment form will popup once staff complete the


seat selection and click payment button.
Step1: Key in the cash customer paid.
Step2: Click Payment button.
Step3: Print ticket.
1. Check Ticket Preview checkbox will display
ticket layout when click Print button.
2. Check Auto Printing checkbox will auto print
the ticket when the staff click Payment button.
1

Popup when the staff click Ticket


Information button.
This form show the information about
the movie, showing date, time and
ticket type that customer request.

79 | P a g e

Cinema System

This form is for the customer


who makes payment through
online. The system allows
customer to provide either
reference no or IC No in
order for staff to check the
transaction and print the
ticket.

This is the form which generates


box office ranking report based on
provided date range.
Staffs are allowed to select the
number for top view.

This is the form which generates


schedule report based on provided
date range.

80 | P a g e

You might also like