Professional Documents
Culture Documents
Michael Kebede
Mathias Abraham
Executive Summary
MattiMultiplex, established in 2006, is a cinema that prides itself on giving top of
the line accommodations when it comes to the quality of its services. The business is
setup as a hub of entertainment where movie fanatics of all ages come and enjoy
current films of all genres. Its surround sound system and extraordinary seat
accommodations are only some of its many facets that give customers an enthralling
experience.
Although this business excels in all aspects of its business. It falls short in matching
this level of excellence when it comes to giving customers a similar degree of
entertainment when they access its system online. Furthermore all customers looking to
buy tickets for any movie are forced to be physically present in the premises of the
cinema. All in all this business could be greatly benefited if it had an online system
where customers are able to fulfill their reservation needs and also enjoy entertaining
functionalities in which they can immerse themselves.
This project plans to do just that. It can be thought of in two broad categories. One
category providing an entertainment package to allow users to take part in an
interactive community of users who enjoy numerous functionalities such as participating
in discussions and polls: functionalities that allow them to rate movies and view any film
related headlines. The other category is setup to give customers functionalities with
which they can accomplish goals by making reservations on movies any day of the week.
TABLE OF CONTENTS
Part I............................................................................................................................................................6
Project Proposal..........................................................................................................................................6
1.1 Introduction.......................................................................................................................................7
1.2 Background........................................................................................................................................7
1.3 Statement of the problem.................................................................................................................8
1.4 Objective of the project.....................................................................................................................8
1.4.1 General Objective.......................................................................................................................8
1.4.2 Specific Objectives......................................................................................................................9
1.5 Scope & Limitation.............................................................................................................................9
1.5.1 Scope..........................................................................................................................................9
1.5.2 Limitations................................................................................................................................10
1.6 Methodology, Tools & Data collection techniques..........................................................................10
1.6.1 Methodology............................................................................................................................10
1.6.2 Data Collection Techniques......................................................................................................10
1.6.3 Tools.........................................................................................................................................11
1.7 Significance......................................................................................................................................11
1.8 Team Formation..............................................................................................................................12
1.9 Cost Estimation................................................................................................................................12
1.10 References.........................................................................................................................................14
Part 2.........................................................................................................................................................15
Requirement Analysis Document..............................................................................................................15
2.1 Introduction.....................................................................................................................................16
2.2 Purpose of the system.....................................................................................................................17
2.3 Scope of the Project.........................................................................................................................17
2.4 Objective and Success criteria of the project...................................................................................18
2.4.1 General Objective.....................................................................................................................18
2.4.2 Specific Objectives....................................................................................................................18
2.5 Current System................................................................................................................................19
2.6 Proposed System.............................................................................................................................24
2.6.1 Overview...................................................................................................................................24
2.6.2Functional Requirements...........................................................................................................25
2.6.3Non-Functional Requirements...................................................................................................28
2.7 Actors involved................................................................................................................................31
2.8 Scenarios.....................................................................................................................................32
2.9 Use Case Diagram............................................................................................................................53
2.10 Use Case Text Description.............................................................................................................58
2.10 Object Model.................................................................................................................................89
2.10.1 Data Dictionary.......................................................................................................................89
2.10.2 Class Diagram..........................................................................................................................90
2.11 Dynamic Models............................................................................................................................91
2.11.1 Sequence Diagram..................................................................................................................91
2.11.2 Activity Diagrams..................................................................................................................111
2.11.3 State Chart Diagram..............................................................................................................114
2.11.4 User Screen Shots.................................................................................................................115
Part 111...................................................................................................................................................117
System Design Document........................................................................................................................117
3.1 INTRODUCTION..................................................................................................................................118
3.2 PURPOSE OF THE SYSTEM.....................................................................................................................118
3.3 DESIGN GOALS...................................................................................................................................119
3.3.1 Performance Criteria..............................................................................................................119
3.3.2. Dependability Criteria............................................................................................................121
3.3.3 Maintenance Criteria..............................................................................................................122
3.3.4 End user Criteria.....................................................................................................................123
3.4 Current Software Architecture......................................................................................................123
3.5 Proposed Software Architecture....................................................................................................125
3.5.1 Overview.................................................................................................................................125
3.5.2 Subsystem Decomposition......................................................................................................126
3.5.3 Hardware/Software mapping.................................................................................................136
3.5.4 Persistent Data Management.................................................................................................138
3.5.5 Access Control & Security.......................................................................................................140
3.5.6 Global software Control..........................................................................................................141
3.5.7 Boundary Conditions..............................................................................................................141
Part IV Object Design Document.............................................................................................................143
4.1 Introduction...................................................................................................................................144
4.1.1 Object Design Tradeoffs..........................................................................................................144
4.1.2 Interface Documentation Guidelines......................................................................................145
4.2 Packages........................................................................................................................................147
4.3 Class Interface...............................................................................................................................149
PART I
PROJECT PROPOSAL
1.1 INTRODUCTION
An online Cinematic site where members not only receive services typical to those
offered by any cinema, but where users can log in participate in an online community
and be a part of a group of film fanatics has never been done before. If any cinema were
to take the next step in offering its customers an immersive entertainment experience
online it has the potential of expanding its customer base as well as double its stream of
revenue. Powerful new capabilities would be unleashed if any cinema were to enhance
its system from giving regular services that customers are accustomed to, to a system
where users can come, share ideas and interact on a number issues related to films. The
fact of the matter is the majority of the people here in Addis especially those in their
teen years spend a considerable amount of their free time in watching movies. Films
have become a source of conversation with which people can share opinions and forge
friendships. Great films spark the imagination of the viewer entertaining thoughts and
opposing views on a variety of topics. Whether it may be an intricately woven story
telling film or a big action-packed blockbuster; films of every genre have become an
integral part of the modern society these days.
This project plans to take advantage of this desire people have and create an outlet
where they can come and be a part of community of film fanatics whose thoughts and
views are welcomed and entertained. Moreover this system will give its users a range of
offers that will keep them coming back for more. This project contains all the
ingredients to provide the users an entertaining experience and the staff an efficient
way to accomplish their day to day tasks.
1.2 BACKGROUND
MattiMultiplex is one of Addis Ababa’s most popular cinemas. The company prides
itself on giving its customers the ultimate cinematic experience by showing Movies that
are current that resonate with people of all ages. MattiMultiplex has set itself apart
from the pack by giving its customers a full-fledged entertainment experience where
they enjoy a selection of a wide array of engaging movies of different genres. A trip to
this cinema for a typical teen is an experience long to be forgotten. With its high-tech
surround sound system and its showing of top of the line newly released blockbusters it
has proven to be more than just a place to go and watch movies rather a place where
one can escape reality and immerse themselves in a virtual world albeit for a couple of
hours. It has redefined the movie going experience in Addis Ababa setting high
standards not only with the films it shows, but also by the quality of service it offers
each and every customer.
Another problem that will be addressed is the seat reservation and ticket sales
service that the cinema provides. By allowing customers to buy tickets and reserve seats
online the current system will be improved a great fold.
1. 4. 2 S P E C I F I C O B J E C T I V E S
The specific objectives the project will meet in order to meet its goal are the
following
1. A thorough analysis of the current system. Includes
a. Analysis of its current functionalities and drawbacks
b. Requirement elicitation and analysis from all the major actors
2. Designing the inner workings of the proposed system
3. Implementation of the system
4. Testing how the system works under a variety of conditions
5. Preparing documentation with which actors can develop an understanding of
how to manipulate the various components of the system.
Thus the project will cover the ticket sales and reservation systems, but goes beyond
the typical aspects of these functionalities by giving customers the opportunity of
carrying out these transactions online. This goes a long way in ensuring the customers
convenience and gives them a feeling that they play an integral role for the functioning
of the business.
This project will also yield a community site. This site that is built with the intention of
providing users an immersive experience will include functions with which users can
communicate with each other, share ideas, vote on different issues and a range of other
alluring activities.
1. 6. 2 D A T A C O L L E C T I O N T E C H N I Q U E S
Questionnaire -> Since most of the people that will be using this system are
ordinary people, looking for entertainment a sample of the general public
must be taken and surveyed to provide feedback and input insight on the look
and feel of the system.
Interview -> The manager of the cinema can potentially provide new insight
and reveal further requirements that should be implemented.
Prototypes -> Prototyping can also be a vital tool to identify user preferences
and can have a major role on what the system will look like at completion.
1. 6. 3 T O O L S
Programming Tools
Programming Language
PHP + MySQL -> These two languages have proved to be a powerful tool for any
coder. Both are free and open source. They can run on any platform and web server.
They both have hundreds of forum sites with a community of developers offering their
assistance and experiences. This coupled with the fact that they are easy to learn and
use makes them ideal for a project with such a time constraint.
1.7 SIGNIFICANCE
The significance of this project can be expressed by these two major functionalities it
plans to provide.
1) Enhancing the reservation and ticket sales system by offering customers the
opportunity of carrying out these services online.
2) Providing customers with an opportunity where they can be a part of an
immersive community where they can share ideas on different films and provide
feedback of their experiences, vote on films they want to see. In general build a
community site that appeals to film goers by making every participant play a vital
role in enhancing the cinematic experience.
This system can play a vital role in the development of this company. By developing
such a system powerful ways in which revenue can be generated will be unleashed.
Integrating a cinema with an online entertainment experience is something that hasn’t
been done before and it something that will create a new found customer base for the
cinema and in the long hall transform it from just a cinematic business into a hub where
customers and film fanatics can come, share ideas and feel valued.
The team leader will coordinate the rest of the team members in order to succeed in
this project; he also has a responsibility to lead the project work flow, lead the group
discussions and make decisions on critical issues.
All of the team members will partake in every phase of the project. This way valuable
insight will be generated as all team members will be cooperating in undertaking
problems.
1. Fasil Alemayehu
2. Mathias Abraham (Leader)
3. Michael Kebede
1.9 COST ESTIMATION
Estimating the cost of a project is an essential phase of its development. The cost
should be feasible so that both the customer and developer of the will be benefited.
Since we are using PHP& MySQL which are free and open source licensing costs won’t
be an issue and also because Edna mall already has a domain name no amount of
money will be spent in obtaining one.
1.10 REFERENCES
Bernd Bruegge & Allen H. Dutoit “Object-Oriented Software Engineering:
Using UML, Patterns, and Java“ Prentice Hall, New Jersey
Tim Converse and Joyce Park with Clark Morgan “”PHP5 and MySQL Bible”
Wiley Publishing Inc., Indianapolis Indiana
www.w3c.net
AJAX And PHP - Building Responsive Web Applications (2006)
MattiMultiplex prides itself in providing the best cinematic experience in the country.
The following is an official statement made by the cinema in accordance to its services.
“MattiMultiplex, Ethiopia’s first 3 screen movie Theatre complex that will showcase
the latest and best of Hollywood, foreign, regional and local films.
The Digital Projection System from world renowned Christie complemented by the best
of Dolby Digital and THX (of Star Wars Fame) surround sound technology and latest
bucket seats with drink holders provides you with a gold class movie viewing
experience.
Our exclusive partnership with the leading movie distributors only means that our
customers who were denied the latest and the best will now get to enjoy their cinema,
KING SIZE!!! That’s not all … a movie experience is never complete without a visit to
concessions counter for your Flavored Popcorn, Nachos with jalapenos n cheese, Hot
Dogs, Soda, and the Fizz!!!
Thus the project will cover the ticket sales and reservation systems, but goes beyond
the typical aspects of these functionalities by giving customers the opportunity of
carrying out these transactions online. This goes a long way in ensuring the customers
convenience and gives them a feeling that they play an integral role for the functioning
of the business.
This project will also yield a community site. This site that is built with the intention of
providing users an immersive experience will include functions with which users can
communicate with each other, share ideas, vote on different issues and a range of other
alluring activities.
All in all, these functionalities are bound to provide an attractive and engaging
experience to any film enthusiast as well as make the job of the employees much more
efficient.
2. 4. 2 S P E C I F I C O B J E C T I V E S
The specific objectives the project will meet in order to meet its goal are the
following
1. A thorough analysis of the current system. Includes
a. Analysis of its current functionalities and drawbacks
b. Requirement elicitation and analysis from all the major actors
2. Designing the inner workings of the proposed system
3. Implementation of the system
4. Testing how the system works under a variety of conditions
5. Preparing documentation with which actors can develop an understanding
of how to manipulate the various components of the system.
Edna uses a desktop application, which automates the ticketing system, and a static
website. These two domains are completely separated
This application used for ticketing system is installed on 2 desktops: one per each
desk clerk. One clerk is assigned to an auditorium to control the reservation of seats and
ticket sales through the use of this application. When a customer arrives and wants a
ticket, the clerk will make them choose a seat on this application corresponding to the
one in the cinema. The application then locks the seat and marks it as reserved and
prints a ticket which is then forwarded to the customer. There is one server where the
database for pricing resides in. The other three client PCs are connected to the server in
order to successfully apply the ticketing system.
This site is a mere collection of pages showing movies currently showing, Movies
that are coming soon etc. It includes the following pages
Home - www.ednamall.net/index.html
Figure 2. 1 Current home page
The home page has two sections. The most recent film being shown will be
displayed on the left side of the page. On the right side of the page, i.e. the
News corner, information like new upcoming movies, new technologies
coming soon (like 3D movies) are displayed
Show Time- www.ednamall.net/show_time.html
Figure 2. 2Current Show Time page.
This page is used to show today’s movie schedule pertaining to all 3 auditoriums.
This page displays movies that are currently showing in each of three halls. If there are
no movies currently showing it will display recent movies that are new to the cinema.
This page displays information about imminent movies which will be shown in the
near future.
This page introduces and gives general information about Edna mall.
The first system is an online system which customers access to either carry out
reservations or participate in discussions and respond to a selection of choices.
The second system is a local intranet system catering to the needs of the employees.
Administrators and desk clerks will make use of this system to undertake their jobs. Only
employees of the business are able to access this system and as such it is not available
on the internet.
2. 6. 2F U N C T I O N A L R E Q U I R E M E N T S
Any system that deals with credit/money has to implement the best possible means
of handling credit transactions. When it comes to online reservation systems a number
of ways of accomplishing this goal come to mind. From credit card payment to bank
account transfers and even including “SIM card” like imbursement there are a range of
methods which customers can utilize in order to carry out these transactions. This
project however follows a different approach when it comes to money dealings.
Considered Approaches
Our first consideration was implementing an online credit card payment system.
Many projects follow this approach in handling money transactions as it is simpler to
implement and is considered by many as “The Obvious Choice”. But due to the fact that
credit card use in Ethiopia remains in its infancy, this type of functionality will ultimately
have a negative impact on the total number of customers using the system.
Chosen Approach
The method that was chosen for this project, despite having some drawbacks, is the
best possible means in which customers can carry out online seat reservation without
going through much hassle.
First off any customer that intends to reserve seats online needs to have an account
in this system. Before doing any kind of transaction the customer has to purchase a
reservation credit from the cinema. This reservation credit is not something imprinted
on a card or a sheet of paper; it doesn’t have a physical existence. This purchase is a
virtual one in that when customers pay a certain amount, the desk clerk makes use of a
functionality provided by the system to charge their accounts with the amount of paid.
In the process of obtaining this credit the customer will be asked to provide his
username by the desk clerk. The desk clerk will then receive cash from the customer and
charge his account with the amount paid.
For e.g. if a customer wants to be able to reserve one seat he will pay the desk clerk
at the cinema 25birr (Amount of one seat). The desk clerk will then make sure the
customer has an account in the system by his username and will make use of the credit
sale functionality to charge his account with 25birr. In due course this customer will be
able to reserve one seat any day of the week.
The only drawback this approach has is that the customer has to be physically
present at the cinema to obtain a reservation credit. But since the customer will be
present to watch a certain movie, all that is expected of him is to plan ahead and buy a
reservation credit during the times he comes to watch a movie.
Customer’s Activities
Customers will be able to register for online accounts
Customers will be able to reserve seats any day of the week as well as being
able to cancel these reservations
Customers will be able to create as well as participate on different discussion
topics
Customers will be able to rate movies
Customers will be able to vote on different issues
Customers will be able to view news releases, movie schedules as well as
updates on currently showing and upcoming movies
Customer’s will be able to purchase credit to enable them to reserve seats
online
Administrator’s Activities
Administrators will feed the time schedule and the viewing hall of films to be
shown to the system on a weekly basis
Administrators will post all movies that are showing so that users will be able
to rate them
Administrators will make votes available so that users can give their opinions.
Administrators will manage News releases shown to customers
Administrators will manage Forum categories
Administrator’s will be able to generate reports concerning reservation and
desk clerks activities
The desk clerk will charge the accounts of customers so that may be able to
reserve seats online
The desk clerk will carry out reservation confirmation activities.
System’s Activities
The system will keep track of the clerk’s activity as log information
The system will keep track of the customer’s reservation activities as log
information
2. 6. 3N O N -F U N C T I O N A L R E Q U I R E M E N T S
2.6.3.1 Documentation
During the completion of this project three different documents that are essential to
the functioning of the business will be delivered.
CODING DOCUMENTATION
There are a variety of reasons why the final implementation of this project may be
revised. Whether it may be to add additional components or to rectify errors and
exceptional cases, the final software may be revised and eventually modified. In order to
be able to do this any programmer should have an understanding of how the projects’
code works. Therefore a documentation outlining the code and modules coupled with
comments showing what each module performs should be a part of the final
deliverable.
MODELING DOCUMENTATION
A modeling documentation is also another deliverable that is necessary. A
documentation of the different UML models used along the advancement of the project
will prove to be of great use to other programmers and designers wanting to familiarize
themselves with this project for one reason or another.
Plus working and making headway on this project through the use of these UML
models will greatly improve the amount of work that will be done in this short period.
The hardware consideration mentioned above also has a high impact on how well the
system performs and as such will be done in the manner specified.
In this project we plan to minimize the amount of errors that could arise by following
safe coding practices. Typical error conditions such as buffer overflows, format string
problems and integer range errors can be avoided by simply enhancing the coding
practices we follow. But the main source of errors on many systems is the user. Users of
this system may be the causes of a variety of error conditions. Some users commit
errors because they are simply unaware of certain aspects of the system and others give
rise to error conditions intentionally just to see how the system would react. In any case
errors originating from users will be minimized by reducing the range of choices users
have in carrying out certain transactions and by giving feedback to the users of what
they are doing wrong.
Availability
The system will be available to all users 99% of the time. The only time that
availability will be compromised is if and when the site is undergoing modifications.
Modifiability
The coding standards we follow will make sure that the final implementation is easily
modifiable. This fact is ensured as the project follows the standards set by UML.
There is always the possibility of partial data loss on the server due to a variety of
circumstances. Whether it may be the malfunctioning of the disk or disk controller the
system should be able to recover from the data loss that arises. In other words a fault
tolerance scheme that keeps the system up and running regardless of any damage to
the disk storage should be put in place.
A fault tolerance scheme that is ideal for this system is a RAID-5 disk configuration
with a minimum of 3 disks. This ensures that in the case of one disk malfunction the
data on that disk will be recovered using the parity information stored on one disk and
actual data stored on the second disk.
Flexibility
The final software implementation of this project will be a flexible one. The software
will be built in such a way that most of the major functionalities can be accessed from
any interface.
In order to better protect from any hacking attacks measures will be taken in writing
the underlying code to minimize the chances of an intrusion. Some of the potent attacks
like SQL injection, hidden URLs and a range of other spells can be avoided just by
following safe coding practices. The fact that customers will be asked to login before
carrying out any transactions is another security measure that provides more protection
to the system. Firewalls and recently updated virus protection is also another major
protection measure that ensures that the users data is safe from prying eyes.
1) Customers ->The Customers of the business access the system online and carry
out various transactions.
2) Administrator ->The Administrator is in charge with all the site’s content
management aspects.
3) Global Administrator ->The Global Administrator is able to carry out all of the
Administrator's activities, but is also capable of managing the accounts of all the
employees
4) Desk Clerk #1 ->Makes use of this system to carry out reservation and ticket sales
transactions.
5) Desk Clerk #2->Makes use of the system to carry out credit sales and reservation
verification.
6) The System ->The System keeps track of keeping track of log information
concerning the activities of the desk clerks and the Customers.
2.8 SCENARIOS
Scenario is a concrete, focused, informal description of a single feature of the system
from the point of a single actor view. It is narrative description of what people do and
experience as they try to make use of computer systems and applications .
Entry Condition The customer activates the “Voting & Rating” functionality
Flow of Event 1) The system will direct the customer to the “Voting
&Rating” page.
2) If the customer has already given a rating to a movie it
will be displayed
3) If he hasn’t the rating topic will be displayed in such a
way that the customer may be able to cast a vote on it
4) The customer rates a movie from those available
5) The system stores the rating in the database
Exit Condition The system displays the rating given by the customer
Special Requirement The customer will not be able to submit ratings if there aren’t
any Rating topics available
Flow of Event 1) The system will direct the user to the Schedule page.
2) The customer will view the schedule of upcoming dates
Exit Condition The customer clicks a link to visit some other
functionality
Special Requirement None
Exit Condition The customer clicks a link to visit some other functionality
Special Requirement None.
Table 2.56 A Use Case Diagram for View Now Showing.
So both diagrams are made of same basic elements but in different form. In class
diagram elements are in abstract form to represent the blue print and in object diagram
the elements are in concrete form to represent the real world object.
2. 10. 1 D A T A D I C T I O N A R Y
Data dictionary is the description of the data flow. Here below we tried to show the
data flow for Online Cinematic Reservation and Community System.
2. 10. 2 C L A S S D I A G R A M
Class diagram helps to analyze the structure of the system. Class diagrams are the
backbone of almost every object-oriented method including UML. They describe the
static structure of a system. They are drawn by identifying objects in the system. Once
use cases have been consolidated, we start to identify in the system. Once use cases
have been organized, we start to identify the participating objects for each use case. The
participating objects correspond to the main concepts in our system. By examining each
use case we found participating objects correspond to the main concepts in our system.
We also use natural language analysis which is an intuitive set of heuristics for
identifying objects, attributes, and associations from a system specification.
Figure 2.12 A Class Diagram.
2. 11. 4 U S E R S C R E E N S H O T S
The user interface is the part of the system that users will always see, and interact
with. So having screen shots of the user interface in our documentation will allow our
users to see what it looks like and minor changes can be done according to their need.
This system is setup for the employees of the business so that they may be able to do
their jobs effectively. All the functionalities pertaining to those actors that fit into the
employee user domain will be deployed on this system. It encapsulates all the
components that are necessary for employees to do their daily jobs. This system will be
offline thereby preventing outside access. Therefore for all the employees to use this
system they have to be accessing it from a workstation connected to the intranet server
on a Local Area Network.
This system serves as a platform for all users to be a part of an online entertainment
experience. It encapsulates all the components necessary for customers to carry out
transactions and still captivate them with all the options made available to them. Such
functionalities that enable the customer to make reservations and participate in
discussions are included in this system. This system will also be deployed on the same
server machine as the intranet system but will be made available over the internet.
3. 3. 1 P E R F O R M A N C E C R I T E R I A
The performance criterion declares how the system performs on a variety of
scenarios. The performance is evaluated by the following standards.
RESPONSE TIME IS NOT A MAJOR ISSUE WHEN IT COMES TO INTRANET SYSTEMS. ACCESSING
RESOURCES LOCALLY DOES NOT TAKE UP MUCH BANDWIDTH. AS LONG AS THE MAIN SERVER IS IN
A STABLE STATE AND ALL THE CABLES WITHIN THE NETWORK ARE SOUND GOOD RESPONSE TIME
IS GUARANTEED FOR ALL THE EMPLOYEES IN THE SYSTEM.
Online System
In the case of the online system, response time is a major issue that makes or breaks
the usability factor of the system. Due to the emergence of various technologies
enhancing connection speeds of many computers, people in Ethiopia are raising the bar
as to what qualifies as a good response time. Therefore the online system that is
available for the customers to access has to meet the highest standards when it comes
to loading time. In order to meet this need the server machine should be in such a state
as to accept and respond to hundreds of requests at a time. In addition a decision will
be made on the amount of visual elements the site will incorporate. Developing a site
that is visually stunning that takes a long time to load is not practical. Therefore a
compromise is necessary when it comes to balancing efficiency and beauty. To ensure
this fact the following considerations will be met in implementing this system.
Considerations
3.3.1.2 Throughput
Intranet System
Throughput, just like response time, is not a major issue in the intranet system. The
number of users in the intranet is not more than a handful so implementing solutions to
enhance throughput for these users is infeasible.
Online System
Here however, the system will be responding to hundreds of users at a time and
hence the number of users the server machine can serve at a time can be drastically
improved by implementing solutions such as enhancing the memory and storage
capabilities of the server.
3.3.1.3 Memory
Both Systems
Since both systems will be residing on one central server the memory capacity of the
server will have equal effects on the two systems. Therefore the memory capability of
the server is a crucial factor in the smooth operation of the two systems and hence
should be of the highest degree. In order to achieve this, the server should slot in 16GB
of RAM and three 200GB fast SCSI hard disk drives (10,000 RPM or faster with caching).
3. 3. 2. D E P E N D A B I L I T Y C R I T E R I A
FOR THE SYSTEM TO BE DEPENDABLE IT HAS TO IMPLEMENT SAFEGUARDS AGAINST RANDOM
SYSTEM CRASHES AND PROVIDE SOLUTIONS TO VARIOUS SECURITY RISKS.
3.3.2.1 Robustness
Both Systems
Both systems will be coded to protect against a variety of error conditions. Whether
these errors may arise knowingly or unknowingly by the hand of the users any kind of
exception will be handled and if worst comes to worst and the program has to
terminate it will do so gracefully.
3.3.2.2 Availability
Intranet System
The intranet system will be available 24/7 just like the online system, but this is
simply because it resides on the same machine as the online system. In reality however
it will only be in use only during working hours of the business.
Online System
The system will be available to all users 99% of the time. The only time that
availability will be compromised is if and when the site is undergoing modifications.
There is always the possibility of partial data loss on the server due to a variety of
circumstances. Whether it may be the malfunctioning of the disk or disk controller the
system should be able to recover from the data loss that arises. In other words a fault
tolerance scheme that keeps the system up and running regardless of any damage to
the disk storage should be put in place.
A fault tolerance scheme that is ideal for this system is a RAID-5 disk configuration
with a minimum of 3 disks. This ensures that in the case of one disk malfunction the
data on that disk will be recovered using the parity information stored on one disk and
actual data stored on the second disk.
3.3.2.4 Security
Both Systems
In order to better protect from any hacking attacks like SQL injection, hidden URLs
and a range of other spells measures will be taken in writing the underlying code to
minimize the chances of an intrusion. Safe coding practices, firewalls and virus
protection are simple but effective means through which this goal can be met.
3. 3. 3 M A I N T E N A N C E C R I T E R I A
MAINTAINABILITY IS A MEASURE OF THE QUALITY OF ANY SOFTWARE. ANY IMPLEMENTATION
DEVELOPED WITH MAINTAINABILITY IN MIND THRIVES IN THE INEVITABLE EVENT THAT THE
CODE HAS TO BE MODIFIED. ESPECIALLY IN THE KIND OF BUSINESS WHERE THE OPERATING RULES
CHANGE ALL THE TIME IN ORDER TO REMAIN COMPETITIVE, AS THIS BUSINESS IS, WRITING CODE
THAT IS MAINTAINABLE IS NOT A LUXURY, BUT A NECESSITY.
3.3.3.1 Extensibility
Both Systems
MATTIMULTIPLEX CINEMA IS ONE OF THOSE BUSINESSES THAT CONSTANTLY ALTER THE WAY
IT OPERATES. TO ATTRACT NEW CUSTOMERS AND REMAIN COMPETITIVE ANY BUSINESS SELLING
ENTERTAINMENT AS ITS MAJOR PRODUCT IS SUBJECT TO CHANGES IN ITS BUSINESS RULES. AND
HENCE THESE CHANGES CONSEQUENTLY HAVE TO BE REFLECTED IN THE SOFTWARE. THEREFORE
THE SOFTWARE SHOULD BE EXTENSIBLE. I.E. THE INTRODUCTION OF NEW MODULES AND
COMPONENTS SHOULD BE SIMPLE. SINCE THIS PROJECT FOLLOWS THE DOCUMENTATION AND
MODELING PRACTICES OF UML, IT IS MUCH EASIER TO IDENTIFY WHERE A NEW MODULE IS TO BE
PLACED FOR IT TO HAVE AN OPTIMAL INTERACTION WITH OTHER ENTITIES OF THE SYSTEM.
3.3.3.2 Modifiability
Both Systems
The coding standards we follow will make sure that the final implementation is easily
modifiable. This fact is ensured as the project follows the standards set by UML.
3.3.3.3 Readability
THIS PROJECT WILL HAVE AS ITS DELIVERABLE, A
MODEL DOCUMENTATION
CODING DOCUMENTATION
USER MANUAL DOCUMENTATION
3. 3. 4 E N D USER CRITERIA
THE ULTIMATE GOAL OF THE PROJECT IS TO HELP USERS OF THE SYSTEM ACCOMPLISH TASKS
MUCH MORE EFFICIENTLY AND THEREBY ACCOMPLISH TASKS MUCH MORE EASILY.
3.3.4.1 Usability
Both Systems
No matter how many functionalities the systems support or how many components
they incorporate unless users are able to navigate through the systems and accomplish
tasks easily, the project will be more or less useless. Therefore the layouts of the design
and the means through which functionalities are accessed have to make the user feel at
home and comfortable. Furthermore the final systems have to attain a high degree of
flexibility.
3.3.4.2 Utility
IT IS A MEASURE OF HOW WELL THE SYSTEM SUPPORTS THE WORK OF THE USER. THIS GOAL CAN BE
MET BY PROVIDING VARIOUS LINKS TO USERS TO A VARIETY OF PAGES WHERE THE USER IS ABLE TO
ACHIEVE AN IN DEPTH UNDERSTANDING OF A CERTAIN MATTER.
The first is the system that handles the reservation and ticket sale transactions of
customers. There are two stands where customers are able to purchase tickets. The
clerk operating in the first stand carries out ticket sales for the two ground auditoriums
whereas the desk clerk operating in the second stand handles ticket sales for the third
auditorium. On both these stands there are desktop computers running systems that
handle these reservation and ticket printing transactions. The two systems access their
data from a central database server connected to them through a Local Area Network.
The second partition is the online website of the cinema. This website embodies the
client/server architecture where requests coming from online users are transferred to
the server machine which in turn processes and sends resources back to client.
Figure3.2 Current online architecture
One of these systems is the intranet system dedicated to serving the employees of
the business. By accessing resources over a Local Area Network employees will use this
system to carry out their day to day jobs.
The other system is the online system that is accessible to customers over the
internet. This system will also be deployed on its own dedicated server and will use the
services of the database server for access of permanent data.
Figure3.3 Proposed Software Architecture
3. 5. 2 S U B S Y S T E M D E C O M P O S I T I O N
A subsystem is simply a part of a system, and is used to decompose a complex system
into nearly independent parts. A system at one level of abstraction may be a subsystem
of a system at a higher level of abstraction. The complex consequences that would arise
when trying to implement a solution to one large system can be decreased by classifying
the system into manageable subsystems. These manageable subsystems are essentially
interactions between various objects in accomplishing an activity.
Most of the subsystems identified are common to both the systems (i.e. the online
system and the Intranet system) implemented for this project. Along the way
differences in subsystem implementation among these two systems will be pointed out.
Unique subsystems to one of the two systems will be shown as well.
Data Management Subsystem
This subsystem is responsible for connecting to the system database that stores
system data. It handles database connection services through its DBConnection class.
This subsystem is a crucial one as every subsystem of this project except the interface
subsystem makes use of it. Any subsystem looking for data access gains that privilege by
using the services offered by this subsystem.
3.5.2.2 User Authentication Subsystem
Before going in to the application and performing transactions every user must be
successfully verified. Verification is an essential part of the system the user has to go
through before gaining access to it. This authentication procedure is different for every
user domain in that the functionality available per each domain is unique. After a user
has been authenticated the components available to him is dependent on his level of
permission. Furthermore the authentication process is not just limited to the login
phase. This authentication has to be performed every time there is a page request. This
is to protect against a URL intrusion. This will safeguard against any user trying to access
any resource forbidden to him by typing the resources link directly as a URL. Therefore
user authentication is a crucial subsystem that plays a major role in the security of the
system.
These facts apply to the intranet system where there are four different users with
varying levels of permissions. Hence much emphasis on security will be taken during the
implementation of this subsystem.
When it comes to the online system, since the only user domain in contact with this
system is the customer little or no emphasis will be given in selecting site content after
authentication.
The implementation of this subsystem in the two systems is once again very different.
In the online system customers are able to create their own accounts. If everything
checks out the customer will have an account with which he can login to the system. In
the case of the intranet system however employees looking for an account first have to
contact the global administrator. This actor after filling the employees profile
information will make use of the systems “Manage Account” functionality to create an
account for the employee. Profile data customers fill when creating an account is also
different with the profile data employees are required to submit.
3.5.2.4 Forum Subsystem
This subsystem is a composition of all the functionalities that allow the user to be an
interactive member of any discussion forum. Such functionalities as creating discussion
topics and posts are components of this subsystem.
The implementation of this subsystem on both systems is much alike. Both customers
and Administrators (i.e. Users of both systems) are able to create discussions and post
their opinions on different matters. The only difference is the fact that the
implementation of the forum subsystem on the intranet contains the functionality
“Create Forum” while the online system doesn’t.
The interfaces available in both systems are completely different. The collections of
pages that make up both systems are distinct both in their layout and in the
components they encapsulate.
The implementation of this subsystem is exactly the same in both systems. Whether
it is Customers or the desk clerk, they are both able to access the schedule of every
movie available.
This subsystem much like the previous ones also has a different implementation on
the both systems. In the online system users are only allowed to retrieve movie data.
This is due to the fact that customers shouldn’t any control over any movies data. In the
intranet system however all functionalities pertaining to manipulating movie data are
included as it is the job of the administrators to deal with such operations.
Its implementation on both systems is once again very different. On the intranet
system Administrators will be able to access functionalities offered by this subsystem to
manage news data. On the online system however customers will be able to use this
subsystem only to retrieve News data.
For example; Customers (i.e. online users) will be able to vote on topics made
available by administrators of the system. This functionality is a purely interactive one.
But Administrators (i.e. Intranet users) have the capability of feeding vote topics to the
system, updating these topics and deleting them if they choose so.
3.5.2.13 Report Subsystem
This subsystem provides functionalities that allow the administrator to generate
different kinds of reports concerning the purchase and reservation activities of
employees and customers.
This subsystem is deployed only on the intranet system as the only user with the
privilege of generating reports is the administrator.
Interface Subsystem
Schedule subsystem
Schedule
Movie
News Subsystem
News
Reservation subsystem
Reservation
Forum Category
Discussion
Post
Credit
Voting subsystem
Vote
Rating
User Authentication
SubsystemAA
Authentication
LL
Account Subsystem
User
Customer Employee
Reservation_Log
DB_Configuration
Subsystem Relationships
Figure 3.16 a Diagram for subsystem Relationships.
3. 5. 3 H A R D W A R E /S O F T W A R E MAPPING
This section describes how subsystems are assigned to computers and the design of
the infrastructure for supporting communication between subsystems. This section is
nothing but a clarification of how the two systems map to the hardware equipment
utilized by the business. The following section shows the hardware specification of each
of the equipment needed to support the two systems.
Workstations’ Specification
In order for this project to be realized all the employees identified as actors must
have a workstation on their desks where the system would execute. Each workstation
should meet the following specification in order to yield maximum performance.
o Dual core 3.2 GHZ processor
o 2 GB RAM
o 80 GB Hard disk
o 17” monitor
o Windows XP Operating System or higher (Preferably Windows 7)
o Twisted Pair Fast Ethernet cards
The database server should be equipped with three 200GB fast SCSI hard disk drives
(10,000 RPM or faster with caching) since it is the primary data storing entity.
Devices and Cabling
o 1 “2950T” Switch
o 1 Router
o Straight-through UTP cables one per workstation
3. 5. 4 P E R S I S T E N T D A T A M A N A G E M E N T
Persistent data management describes the persistent data stored by the system and
the data management infrastructure required for it. Data is created during the
interaction of users with the system, and this data will be different based on the
operation performed by the user. The storage of data in an organized manner where
access to it is done efficiently is an essential matter for the commencement of the
system. This data that needs to be stored is very important for the information
exchange between classes or subsystems. The following diagram is an illustration of the
database diagram adopted for this project.
The users of this system have functionalities available to them whether they’re
logged in or not. Customers are able to access this system and carry out rudimentary
transactions such as viewing certain pages without being logged in. However for
customers to be able to access some of the more heavy weight aspects of the system
that allow them to complete more advanced transactions they have to be logged in
members.
Unlike users of the online system the users of this system have to be logged in to
make use of any of its functionalities. There are 4 different user domains making use of
this system all with different tasks to accomplish. And since these different user
domains don’t have any common functionalities which they’re all able to access there
can’t be any resources on this system that are made available for users that aren’t
logged in. And also because all these user domains have different tasks to carry out
functionalities will be made available to them according to their privilege.
3. 5. 7 B O U N D A R Y C O N D I T I O N S
Boundary conditions state how the system is started, initialized and shutdown. It also
depicts as to how the project deals with data corruption, software errors as well as
during a power outage. The boundary conditions stipulated are inherent to both
systems so in this section they will be referred to as one system.
The startup of this system will commence when the user types a link on his/her
browser to access some resource from the system. The server hosting the system upon
receiving this request will process it and pass it on to the system. The system will check
the availability of the resource and will send back an appropriate message. Users will
then login to the system after being authenticated and carry out a variety of
transactions.
System shutdown from the user’s perspective will proceed when the user logs out of
the system and clicks the close button on the browser window. A shutdown may also
occur from the server side where the two systems reside. Although it is an unlikely
event since both systems are expected to run 24/7, it will happen if and when code
maintenance is necessary. It may also happen in the case of an unexpected power
outage. Even though the building where the business resides is equipped with automatic
generators which will startup during a power outage it would be somewhat naïve as to
assume there won’t be any power outage in the lifetime of the business.
In order to safeguard against data loss caused by an unexpected power outage the
business is expected to implement UPS systems on some if not all of its machines. A UPS
system is mandatory on the server machines especially on the database server as all the
data is stored there and any unexpected power outage could potentially have terrible
effects unless proper safeguards are deployed.
Error conditions raised during the execution of the system will be handled as they
arise by throwing exceptions. Users will be notified in such cases through the use of
dialogs.
PART IV OBJECT DESIGN DOCUMENT
4.1 INTRODUCTION
In system design document we showed how the new system solution should be
implemented. Now in the object design phase we will further extend the requirement
analysis and system design model by adding type, signature and visibility information to
the identified classes so that there may be a better understanding of the classes and
subsystems identified in system design.
Object Design tradeoffs, Interface documentation guidelines, package and class
interfaces will be discussed in this section so as to give much deeper insight on the rules
and conventions followed in system development.
4. 1. 1 O B J E C T D E S I G N T R A D E O F F S
Design tradeoffs are inevitable phenomena when undertaking any project with such
complexity. The completion of one aspect of a system with great level of detail and
maximum performance may have a negative impact on another facet of the system. In
other words as we meet one goal of the project with a high level of sophistication we
may hurt the chances of another equally important goal from having that same level of
sophistication or even an adequate performance. This section depicts the various
features having characteristics with adverse effects on their performance and what has
been done to minimize these effects.
The biggest entity responsible for resolving this effect is the memory capacity.
Increasing the amount of memory present on the server will in turn increase the
amount of throughput and response time of the two systems. Therefore fitting a
Random Access Memory with a capacity to handle hundreds of requests at a time will
put this issue to rest.
Another entity that will go some way in resolving this issues it the nature of the cable
connecting the users to the server machine. Two cables will be connected to the server
machine one originating from the LAN and another from a router which is in turn
connected to the internet. These two cables will act as mediums in transmitting multiple
requests. This figure is much more magnified on the cable receiving requests from the
internet. Therefore in order to have good response times as well as a decent amount of
throughput fiber cables having a high transmission rate have to be installed.
4. 1. 2 I N T E R F A C E D O C U M E N T A T I O N G U I D E L I N E S
Rules and regulations should be followed when writing code in order for it get global
acceptance. In other words the code of the system should be easily understandable to
any novice developer wishing to get acquainted with how the system functions. By
going through the documentation and the code a developer should achieve ample
understanding on some of the functionalities. Furthermore a developer must be able to
recognize where to look for a given functionality and also where to put modification
code if he chooses to change how the system functions. Following these guidelines will
also help us in writing consistent code through in collaboration.
return $link;
}
The naming of functions and classes will be descriptive of their use
function feedNews($newsTopic,$body,$imagePath,$createdBy,
$createdAt)
{
}
Every part of the code will have proper indentation
function closeConnection(); {
mysql_close($link);//
}
Class names consisting of a single word will have their first letter capitalized
the rest being small
class Connection
{
Class names made up of more than one word will have the first letters of each
distinct word capitalized the rest being small.
class NewsClass
{
function __construct($Topic,$msg,$path,$createdAt,$user)
{
$this->newsTopic=$Topic;
$this->date=$createdAt;
$this->userName=$user;
$this->body=$msg;
$this->imagePath=$path;
}
}
4.2 PACKAGES
Packages describe the decomposition of subsystems into packages as well as the file
organization of the code implementing the subsystems. This section depicts each
package used in the implementation, their dependencies, and usage. We have identified
a total of 13 packages corresponding to all 13 subsystems with the same
correspondence with encapsulated classes. All the package descriptions outlined below
apply to both of the systems.
User Class
Figure 4.1 User Class
Customer Class
Employee Class
Schedule Class
Figure 4.4 Schedule class
Movie Class
Figure 4.5 Movie class
Reservation Class
Discussion Class
Figure 4.8 Discussion class
News Class
Figure 4.11 News class
Vote Class
Rating Class
Authentication Class
Reservation_Log Class
Db_configuration Class
o Reliability: The extent to which program can be expected to perform its intended
function with required precision.
o This might be measured in terms of:
Availability, the percentage of a particular time interval that a system is
usable;
Mean time between failures, the total service time divided by the number of
failures;
Failure on demand, the probability that a system will not be available at the
time required or the probability that a transaction will fail;
Support activity, the number of fault reports that are dealt with.