Video Library Management System Project Report
Video Library Management System Project Report
The candidate confirms that the work submitted is their own and the appropriate credit has
been given where reference has been made to the work of others.
I understand that failure to attribute material which is obtained from another source may be
considered as plagiarism.
(Signature of student)____________________________
I
Mount Video Library Information System
SUMMARY
The aim of this project was to develop an information system that would help the user manage his
business. The system needs to include normal technical features such as the facilitation of DVD
Rentals/Returns, business features such as the calculation of sales figures and customer-oriented
features such as the calculation of the average customer rating for a movie. The system produced
needs to overcome current problems such as a poor user interface, lack of a structure and ineffective
time consuming processes.
Background reading identified Java and MySQL to be the most appropriate technologies to use to
implement the system. Research into the different methodologies to help me manage the project
showed that the Prototyping methodology was the most appropriate model to follow.
This report steps through all of the development process; from the initial analysis, through the design
and implementation to the evaluation of how successful the prototype was seen to be.
II
Mount Video Library Information System
ACKNOWLEDGEMENTS
First and foremost I would like to thank God who gave me the knowledge, understanding and help to
get me through this project.
I would also like to thank my family for all the support they have gave me; especially my mum who
has always been there for me, and my brother and sister in law who were up on the last night proof
reading my work.
I also want to thank two of my cousins. Firstly, my 5 year old cousin Aresha, who came over for two
weeks and was a breath of fresh air during the stresses of Uni. Secondly, my other cousin Seema, who
was always there to serve as a distraction (For some reason she thinks she was a welcomed one).
I am especially grateful for everyone who has helped me during the project; Pat Hill for her support
and guidance, Martyn Clark for his constructive feedback of the mid term report, the owner and
employee at Mount Video Centre and finally D.A Bam for his evaluation.
Thanks must also be given to all my friends who I would not have got through university without,
especially DB, MJ, ALF, and PS. We’ve had a fair few laughs in our three years.
III
Mount Video Library Information System
CONTENTS
CHAPTER 1 : INTRODUCTION.............................................................................................. 1
1.1 Problem Definition ........................................................................................................... 1
1.2 Project Aim....................................................................................................................... 1
1.3 Project Objectives............................................................................................................. 2
1.4 Minimum Requirements................................................................................................... 2
1.5 Extended Requirements.................................................................................................... 2
1.6 Deliverables ...................................................................................................................... 3
1.7 Project Scheduling............................................................................................................ 3
1.8 Relevance to Degree Programme ..................................................................................... 3
CHAPTER 2: BACKGROUND RESEARCH........................................................................... 4
2.1 Introduction ...................................................................................................................... 4
2.2 Existing Solutions............................................................................................................. 4
2.3 Information Systems Development Methodology............................................................ 5
2.3.1 The Need for a methodology..................................................................................... 5
2.3.2 The Waterfall Model ................................................................................................. 5
2.3.3 Prototyping ................................................................................................................ 6
2.3.4 Rapid Application Development (RAD) ................................................................... 6
2.3.5 Chosen Methodology.......................................................................................... 7
2.4 Usability ........................................................................................................................... 7
2.4.1 The Need for Usability .............................................................................................. 7
2.4.2 Nielsen’s Usability Dimensions ................................................................................ 7
2.5 Human-Computer Interaction (HCI) ................................................................................ 8
2.6 Technologies..................................................................................................................... 8
2.6.1 Dimensions of Technologies ..................................................................................... 8
2.6.2 Application Technologies.......................................................................................... 8
2.6.3 Database Technologies ............................................................................................ 10
2.6.4 Data Import Technologies ....................................................................................... 11
CHAPTER 3 : SYSTEMS ANALYSIS ................................................................................... 13
3.1 Introduction .................................................................................................................... 13
3.2 Why do Systems fail? ..................................................................................................... 13
3.3 Requirements Gathering Technique ............................................................................... 13
3.3.1 Sampling.................................................................................................................. 13
3.3.1.1 Introduction .......................................................................................................... 13
3.3.1.2 Method of Appliance ............................................................................................ 14
3.3.2 Questionnaires ......................................................................................................... 14
3.3.2.1 Introduction .......................................................................................................... 14
3.3.2.2 Method of Appliance ............................................................................................ 14
3.3.3 Interviews ................................................................................................................ 14
3.3.3.1 Introduction .......................................................................................................... 14
3.3.3.2 Method of Appliance ............................................................................................ 15
3.3.4 Research .................................................................................................................. 15
3.3.4.1 Introduction .......................................................................................................... 15
IV
Mount Video Library Information System
V
Mount Video Library Information System
REFERENCES ......................................................................................................................... 51
VI
Mount Video Library Information System
CHAPTER 1 : INTRODUCTION
1.1 Problem Definition
Information management is a major issue for businesses nowadays and the use of an information
system can contribute significantly to the achievement of a business’ goals. Small organisations tend
to lack the finances to acquire an information system tailored to their needs.
Mount Video Centre is a video library shop situated in Batley, West Yorkshire. They have been open
for about three years and are a small business that tends to have a local clientele. They have recently
expanded by moving to a slightly larger location. Originally the owner lacked the necessary
resources/finances to have a fully developed information system and so would note down all
information regarding Asian or English video/DVD rentals on paper. As this started getting untidy, he
purchased a computer and would instead note down the same information on an excel spreadsheet.
Now he feels that as he is expanding and will be hiring staff, it will be in his best interests to have a
suitable computerised desktop system, to assist in running the business. The current spreadsheet
system is seen as unprofessional, has no proper structure to it, and is unproductive. He would like the
new system to be efficient and easy to use as he has a basic level of computer literacy.
The owner has specified the application to specifically be desktop-based instead of on the internet. He
feels that the majority of his clientele have very limited internet experience which would make it
impractical for them to use the internet and he is also worried it would have an impact on his profits.
He currently has no internet connection and has made it clear that he doesn’t want the system to be
based online.
There are a number of different off-the-shelf desktop systems available for purchase such as Video
Forecasting and SoftStore. These systems have a variety of complexity and functionality issues as
discussed in section 2.2.
1
Mount Video Library Information System
The minimum requirements for this project and new proposed information system to be developed
must have the ability to do the following:
• Manage video/DVD stock control (add, view, and edit video/DVDs)
• Manage customer information (add, view and edit customers)
• Store and process details of a member renting and returning a video (or DVD)
• Calculate Movie Rating based on customer reviews
Further work that can be carried out on the system, time allowing will include:
• To be able to reserve a video if out of stock
• Search for movies starring a certain actor
• Calculate sales figures in terms of most popular movies/genres being sold
• Separate logins for separate employees
• Manage the sales of DVD’s/audio cassettes
• Find out what video rentals have gone past their due date (i.e. overdue movies)
• Import the users current videos into the system
• Easy to use and navigate
• A printed user guide for a non-technical person
• Administration
2
Mount Video Library Information System
1.6 Deliverables
As can be seen, each phase has been divided up into a number of tasks that need to be completed in the
fixed time period. The January exams have been taken into account as well as other courseworks and
the majority of the report is to be written during the Easter holidays.
3
Mount Video Library Information System
• Video Forecasting [2] provide a POS solution that allows video stores to run and monitor their
business. The system provides functionality similar to the users needs. It allows the rental and
returns of a DVD and calculates stock. It also possesses a good user interface (as can also be
seen in Appendix B) for the owner to interact with. The problem the owner faces with this
system is the lack of business management functionality. The system doesn’t possess the
ability to calculate video popularity or calculate sales figures for video genres. Another
problem with this product is that it costs about £450, which is increased by a further £150 if
4
Mount Video Library Information System
the user ever acquires a second computer and intends to install the system on that computer as
well. This price is outside of the budget of the owner especially as it doesn’t fully fulfil his
requirements, making it inappropriate for purchase.
The advantage of using this model is that the user is involved before and after the implementation by
gathering requirements and testing the system. Also there is a greater degree of control because each
stage in the development is divided into evident manageable tasks.
The disadvantage is that real projects phases tend to overlap and iterations are inevitable because of
inadequacies in the requirements analysis which may become more evident during the design or
implementation. Because the waterfall method is sequential with a ‘no going back’ strategy, it is
difficult to change technology or requirements once the systems engineering is under way.
The model can be manipulated to overcome its drawbacks by becoming an iterative process with
feedback. It allows the prospect of returning to any previous stage to review work, and would
therefore accommodate any changes in user requirements. The drawback of using this is that it can
become costly, if for example a deficiency is found in the requirements analysis whilst implementing
the system, then iterating back to analysis could mean a majority of the design process has to be
redone.
5
Mount Video Library Information System
2.3.3 Prototyping
The main stages to this methodology are to perform an initial analysis, define the
objectives, specify and construct the prototype, and then evaluate it and recommend changes. The last
three steps are repeated until the objectives have been achieved. Bennett et al [5] describe a prototype
as a “partially complete system that is built quickly to explore some aspect of the system requirements
and that is not intended as the final working system”. The methodology addresses user dissatisfaction
that they only get to see the system after implementation, by which it is too late to make any changes.
There are two main types of prototype; throw-away and evolutionary.
The Prototyping methodology is beneficial as it constantly involves the input of the user (more so than
the waterfall method) so any misunderstandings between the developer and user can be identified and
any missed requirements can be recognised quickly. The feasibility and usefulness of the system can
also be tested as sometimes there can be a conflict between the user and developer as to how feasible a
system is. This reduces the chances of a project failing.
The drawback of using this type of methodology is that because it is iterative and requires significant
user involvement, the prototype can become difficult to manage and control and there is a danger of
constantly going round in circles implementing it due to minor changes that need to be made. In
addition, a problem can occur when managing expectations as developing a prototype can take a short
time whilst it takes much longer developing a fully functioning application.
6
Mount Video Library Information System
2.4 Usability
1. Learnability – the user can rapidly start getting work done. Processes such as rental of videos
and adding new members should be simple and quick to learn
2. Efficiency – once the user has learned the system, a high level of productivity is possible
3. Memorability – a casual user should be able to return to the system without having to learn
everything all over again
4. Errors – Few errors should be made and it should be easy recovering from errors. Validation
needs to be included such as the telephone number not exceeding 11 characters.
5. Satisfaction – users are subjectively satisfied and they like the system
7
Mount Video Library Information System
HCI is one of the extended requirements as the user needs to be able to interact with the
system without having any problems. As the user is non technical, it is important that this issue is
addressed. The most popular method of evaluating HCI is to use Shneiderman’s rules for interface
design. This can be manipulated to provide three main areas to help design the system and ensure an
effective user interface. They are:-
1. Navigation – the system should allow easy navigation between the different functionality.
2. Data Entry - the system reduces unnecessary inputs and risk of error as well as speeds up data
entry.
3. Consistency - consistent sequences of actions should be required in similar situations as well
as identical terminology used in prompts, menus etc.
2.6 Technologies
2.6.2.1 Java
Java is more than just a programming language; it is also a platform. It is one of the
most popular object oriented languages as it has features for GUI-building and the program written is
executable on multiple operating systems. Java includes functionality to ensure it can be connected to
a database for data retrieval/update purposes. Wigglesworth et al state that “any java program can use
a relational database” [10].
The main advantage of using Java is that it is object oriented which provides greater
flexibility and modularity; therefore programs are easier to read and write. Java also includes
8
Mount Video Library Information System
functionality such as automatic garbage collection which makes it more efficient to code in than other
languages such as C/C++. The portability of Java ensures that it can run on any platform without
having to be recompiled which makes it advantageous if the owner ever wants to use the application
on a different operating system such as Linux. Java programs are also reliable and secure as they do
not support pointers, which eliminate the possibility of overwriting memory and corrupting data.
The disadvantage of using Java is that because it runs on a virtual machine (VM), it runs
somewhat slower compared to other programming languages, but recent versions of VM use dynamic
compilation which decreases the time to compile and run.
2.6.2.2 C#
C# is intended to be more of a modern object oriented programming language,
developed by Microsoft as part of their .NET initiative and syntax is similar to Java as it is also based
on C++. It also provides strong support for software engineering principles such as type checking,
database connection, arrays and detection of variables that have not been initialised.
The advantages of using C# are similar to Java as it also provides functionality such as
automatic garbage collection, flexibility, reliability and security [11]. An additional advantage it has is
that C#.NET is implemented by Microsoft and therefore works much better on a Microsoft Windows
platform because of its compatibility. This also becomes a disadvantage of using C# as it would not be
possible for the owner to ever switch operating systems as the application would not run on it.
9
Mount Video Library Information System
2.6.2.4 Conclusion
After evaluating the above technologies, Java was selected as the most suitable
technology to use to implement the functionality and GUI of the application. It can be used efficiently
with the prototyping methodology. As the methodology used is evolutionary, the owner will get to
review the system after the implementation stage, so if there are any changes in user requirements,
these can be implemented easily as Java provides great flexibility and reusability of code. It is also
portable as it can be run on different operating systems whilst C# and VB are Windows platform
specific. This means that the user would not have any problems if he ever chooses to switch platforms.
I also think that Java is the most appropriate programming language to use as I have
previous experience in this although C# has similar syntax and would not be difficult to learn due to
both of them being an object oriented language based on C++.
10
Mount Video Library Information System
2.6.3.3 MySQL
MySQL is an open source database management system that allows a number of
programming languages (including Java) to access it. It can work on many different platforms
including Windows, Linux and Mac. Using MySQL would be advantageous as it has a good technical
support (has forums and mailing lists), is free, and provides security through user authorisation and
access privileges. The disadvantage is that it is more difficult to import data from a MS Excel
spreadsheet.
2.6.3.4 Conclusion
After evaluating the above three database technologies, MySQL was decided as
best technology to use as the underlying database to Java. MS SQL server was first discounted as the
owner would need to purchase it and it is out of his budget. There is also no need to purchase it as
MySQL provides similar functionality for this project at no cost to the business. MySQL is more
appropriate than Ms Access as it has an additional layer of security. In MS Access, data is stored in a
local machine which could allow a foreigner to steal data by copying it onto disk. This means that
personal information for a member that is the owner’s responsibility can be stolen.
MySQL is also the preferred database technology as it is platform independent,
which would allow the owner to be able to use the system if he switches operating systems.
11
Mount Video Library Information System
2.6.4.3 Conclusion
After evaluating the previous technologies mentioned, it would be best to make use of
the HSSF functionality within POI to import the customer/DVD data from the spreadsheet to the
intended system. This is because it will be customised to the specific data and there are no additional
costs associated with this. There does not appear to be a necessity to purchase a piece of software
which will most likely be only used twice (i.e. once for the customer data and once for the DVD/video
data). The reason for this is that the user will only need to import the data when he initially receives
the system and has no data in the database.
12
Mount Video Library Information System
3.3.1 Sampling
3.3.1.1 Introduction
This approach refers to the collection of blank and completed documents
during the course of interviews or observation sessions. They are useful in investigating the
13
Mount Video Library Information System
information that is processed within the current system. This will then help determine information
flow processes within the proposed system.
3.3.2 Questionnaires
3.3.2.1 Introduction
This technique will “allow analysts to study attitudes, beliefs, behaviour and
characteristics of several key people in the organisation who may be affected by the current and
proposed systems (Kendall and Kendall [16]). Questionnaires consist of open ended, multiple choice
or closed questions and the use of it depends on the nature of gathering the requirements.
Questionnaires are an economical way of gathering data from a large number of people but a good
questionnaire can be difficult to construct.
3.3.3 Interviews
3.3.3.1 Introduction
Interviewing is probably the most widely used fact finding techniques known
to analysts. It involves a structured meeting between an analyst and interviewee that can involve a set
of fixed questions or the interview can be designed to cover a certain number of topics with open
ended questions used. The information from interviews tends to be of high quality as the analyst can
be responsive to answers and can probe in greater depth on certain topics of interest. Interviews can be
setup quickly and can be used as part of user feedback at the end of each stage of the waterfall method
to gain information. The only potential problem is that it can be time consuming and costly for the
interviewee.
14
Mount Video Library Information System
3.3.4 Research
3.3.4.1 Introduction
This involves reading up on the background of the company and is most
practical when the analyst has a limited understanding of the organisation. The types of documents
suitable for background reading are company reports, existing systems documentation and policies.
3.3.5 Observation
3.3.5.1 Introduction
This involves watching people carry out their day to day work in a natural
setting. It helps to see the flow of information from start to finish as well as the normal aspect of the
job carried out by employees. Using observation as a technique can surface information that was not
known during the interviewing stage. The advantage of using observation is that the analyst is
provided with first hand experience of the way the current system operates but a potential drawback is
that some people behave differently when they know they are being watched.
15
Mount Video Library Information System
As described in the interview (see Appendix D), the current system can best be described as a
predominantly ‘computer-spreadsheet centred’ system. As the owner explained during the interview,
at present he has “one spreadsheet file that has details of all the customers and another spreadsheet file
with details of all the videos and then a third with video rental details”. He collects the member details
via a membership form which needs to be filled in and signed. Then there needs to be a verification of
name (with a picture) and address when becoming a member, such as a passport. The DVD/video
information he inputs into the spreadsheet is based on details provided on the DVD cover as well as a
specially assigned ID. Whenever a customer wants to rent out a video or DVD, he notes down the
unique ID/name of the DVD, the membership number/name of the customer and the return date which
is then entered into the Video Rental details spreadsheet. Then when a customer returns the DVD, he
looks up the code for it in ‘Video Rentals’ and deletes that row in the system so that shows that the
videos been returned. If the movie is returned late, then there is an additional penalty for the customer.
The owner charges £2/3 per day per DVD and charges a further £2/3 per day for overdue movies. This
whole process covers the main business aspect of renting a video within the organisation.
The current system has no functionality to process movie related queries or calculate sales figures. If
the owner is asked about any types of ratings for a particular movie, then his answer is based solely on
16
Mount Video Library Information System
recollection of other customer opinions. If he is queried about movies in stock that include a certain
character, then again his answer is based solely on memory.
Using the System Modelling technique, Appendix D includes activity diagrams (to show transition
between activities).
17
Mount Video Library Information System
3.5.1 Technical
This section focuses on the question “Does current technology support the proposed
system?” (Avgerou and Cornford [18]). It deals with technology issues such as hardware, software and
security. It is important that the chosen technology met the requirements of the user and the technical
decisions took into account any restrictions to the development.
In this project, Java and MySQL was selected as the technology to apply in implementing the system.
The proposed system is feasible as the database can cope with the storage requirements when holding
the video/member/rental details whilst the application can manage a number of different daily
transactions passing through the system (as data). This is important as it will ensure that any querying
or modifications to the database will be done efficiently via the graphical user interface of the java
application, therefore preventing problems for the user. Both technologies are viewed as being
compatible with each other and possess the ability to function across different platforms. The owner
currently does not have Java or MySQL (i.e. software) installed on his system but will have no
problems in having it installed on his computer as both can be downloaded at no cost. His PC (i.e.
hardware) was bought fairly recently and therefore there will be no need to purchase a different
machine which again results in no additional costs.
Another technical issue is regarding the security of the system. Even though security is not as a big
issue as the system is offline, there is still a threat where an individual can gain physical access to the
system. It is important that there is a good security measure in place to prevent access to customer
details as an individual could access personal customer information, thereby compromising the
organisation. Security can be achieved by a password login into the system as well as using the
password protection functionality within MySQL.
18
Mount Video Library Information System
3.5.2 Economical
This section concentrates on “whether a proposed information system is financially
affordable and if it is going to lead to economic benefits” [17]. Heathcote [19] states that “if the
benefits do not outweigh the costs, then it is not worth going ahead with”.
In this instance, a cost-benefit analysis was used to investigate the costs of the proposed system.
Software costs such as the use of Java and MySQL are virtually nothing as both are open source. The
analyst designing, developing and testing the system will not be charging any fees as the proposed
system is part of his final year project. He will also train the staff for free and will develop the system
using Eclipse as a framework which will not require any additional development costs. These minimal
costs will be extremely beneficial to the user as he will gain a system that efficiently rent outs a video,
searches for DVD’s etc without the need for any paperwork to be done.
3.5.3 Legal
This section involves the consideration of “externally imposed requirements or
conditions that an information system must meet” [17]. This is crucial as the system should not be
developed if it is not legally feasible, even though the system may be technologically and
economically feasible.
The implementation of the proposed system will pose no legal implications. The Data Protection Act
protecting the privacy of individuals will be maintained by Mount Video Centre. This will include the
use of a log in for employees to ensure individuals are not able to view other individual records. The
software to be installed will be legally feasible as it will be open source and therefore available to
anyone.
3.5.4 Organisational
This refers to how Mount Video Centre will need to adapt to the proposed information
system. It will cover any changes in the structure, procedures and decision making processes.
The proposed system needed to be built from scratch and tailored to the requirements of the owner,
which would help eliminate the current problems faced by the owner. If the organisation was unable to
manage the change that the proposed system would bring, then this would result in the information
system not being effectively utilised. The planned information system would efficiently computerise
the whole video rental system and transform the current work practice into a computer oriented
19
Mount Video Library Information System
structure. As the owner currently has a computer desktop, there are no problems expected in adapting
to the new system as long as training is provided. The procedure around the video rental would simply
change from a basic excel spreadsheet into a more advanced system. As the owner currently only has
one employee, there will be no need for any decision making or structural processes to alter.
20
Mount Video Library Information System
• Import the users current videos into the system (further discussed in section 3.6.3)
• A printed user guide for a non-technical person
21
Mount Video Library Information System
OF PROTOTYPE 1
4.1 Introduction
After having gathered the user requirements for the intended system, this chapter will
concentrate on the design and implementation of the prototype. As the evolutionary Prototyping
methodology is being employed, there will be two iterations; the first will satisfy the minimum
requirements (this chapter) whilst the second will fulfil the extended requirements (chapter 5).
4.2.1 Normalisation
The main purpose of normalisation is that it “effectively produces a set of data
groupings, which are known to be free of problems as well as providing a flexible and robust basis for
data design” Skidmore & Eva [21]. The database needs to be normalised to ensure data consistency,
which is done by removing data redundancy. Once this occurs, data will be more reliable and easier to
access. There are five normal forms of normalised data but Robinson and Prior [22] state that
“normalising data to the Third Normal Form is regarded to be sufficient” for an Information System.
In the Third Normal Form, the database will incorporate the First and Second Normal Form and
therefore be free of any non-trivial or functional dependencies. The initial schema is as shown below:-
Customer (CustomerID, Firstname, Surname, Address, Town, Postcode, HomePhone,
Mobilephone, DOB, Contactfullname)
DVD (DVDID, Name, Genre1, Genre2, Actor1, Actor2, Actor3, Type, Certificate,
Stock, TotalStock, Nationality, AdditionalInfo, Price, NumberofReviews,
TotalRating)
Rental (RentalID, CustomerID, DVDID, DateRented, DateDue, Paid)
HistoryRental (HistoryRentalID, CustomerID, DVDID, DateRented, DateReturned,
AmountPaid)
Login (LoginName, LoginPassword)
(KEY : Primary key = Underlined, Foreign key = Italic )
22
Mount Video Library Information System
The Rental (and HistoryRental) table make use of two foreign keys; CustomerID and DVDID. Each
time a rental takes place, there will need to be a customer that will be taking out the rental who will be
referenced to his/her details via the Customer table. This means the CustomerID foreign key needs to
be placed in the Rental table. For each rental, there must also be a DVD that the customer is renting
out which is referenced to the DVD table via the DVDID foreign key. Foreign keys have therefore
been used to link the three tables together and enforce referential integrity.
Each attribute of the tables within the database schema need to have a data type assigned to it. The
CustomerID has specifically been set of type VARCHAR. This is because the owner currently has
membership cards with a six digit code, which are not in sequential order, thereby making it
ineffective to use AutoNumber as the data type.
23
Mount Video Library Information System
1 1
made
Customer makes
1
M M
Adds
Past Rental Rating to Rental
M M
M
Login
involved DVD involves
1 1
As can be seen above, there are five different entities, each of which are associated with another via a
relationship apart from Login. The Customer table is related to the Rental table as a 1:M relationship
because a single customer can make multiple rentals. The DVD table is related to the Rental table as a
1:M relationship because one DVD can be rented out multiple times. The same applies to the 1:M
relationships made between the Customer/DVD tables and the Past Rental table. The Customer table is
linked to the DVD table via a 1:M relationship as a customer can rate as many DVD’s as he wants to.
24
Mount Video Library Information System
Dix et al [23] recommend that the interface is designed so that it “relies on recognition rather than
recall”. By having easier methods of data entry, such as combo boxes, tick boxes, and default values,
the owner doesn’t have to rely as much on recollecting what specific information needs to go in there,
and can instead be more confident that the data entered (i.e. selected) is correct.
4.3.2 Navigation
Shneiderman [24] states that an effective navigation system “allows users to perform
tasks in the same sequence and manner across similar conditions”, so for example, the process for
adding a new customer would be similar to when adding a new DVD (i.e. fill in relevant information
and click on the ‘Add’ button).
Research has found that difficulties with the navigation can result in users becoming “frustrated with
it’s use” Shneiderman [24], which can then lead to a limited use of the application. The intended
Video Library Management application is a type of information system that will function optimally
when it is used for all transactions; therefore it is imperative that it is easy for the user to navigate
around the system.
In order to meet this design rule, the system will be designed so that after login, the user will arrive at
the main menu, which will contain all the buttons that will represent the different functionality that
will be available to the user at that point. Shneiderman [24] recommends that “complex sequences
should be avoided”, so therefore it would be best to structure the navigation system hierarchically.
25
Mount Video Library Information System
This would mean that there would only be one way of navigating to certain functionality, thereby
removing the option of the owner making an incorrect navigational choice. The use of a “Return to
Main Menu” button at each screen would help the owner return to the main menu if he accidentally
proceeds into an incorrect screen.
4.3.3 Consistency
Shneiderman [24] advises that an effective GUI will “Strive for Consistency”. This is
gained through using a consistent sequence of actions in similar situations as well as identical
terminology used in prompts, menus etc. This then helps users to learn the application and apply what
they know across different parts of that application. An example of this would be that fields that are
highlighted compulsory when adding a new customer are highlighted in the exact same way when
adding a new DVD.
There also needs to be a consistency within the layout of similar functionality. The layout of the
system will be designed around a form-fill interface [16]. This layout represents an onscreen form
which is set up to show what information needs to be put into the system and where. The reason for
this choice is that the interface needs to be easy to learn and quick to use as an interview with the
owner revealed that he does not consider himself to be technically advanced. Kendall & Kendall [16]
support this type of layout as they feel it is “ideal for inexperienced users” as “no special skills are
required”.
4.3.4 Usability
Nielsen’s usability dimensions (as mentioned in section 2.4) can help identify aspects of the
system that can enhance usability, thus increase the probability of the application being employed
fully rather than partially. The system needs to be designed so that it is easy to use, has a high
productivity and produces relatively few errors.
Usability can be achieved by making the complexity of the system seem as simple as possible to the
user. This can partly be done by validation as it will reduce the possibility of an error popping up,
especially when data is being entered manually. There needs to be validation checks such as character
lengths and the data entry within compulsory fields. An example would be the ‘Membership Number’
which must have data entered into it or else when the owner attempts to add a new customer, he will
receive an error message. The error message must therefore be informative, so it helps the owner
pinpoint the source of the error and correct it.
26
Mount Video Library Information System
There will also need to be an initial ‘Main Menu’ page which will allow a user to navigate to the
specific functionality he would like to use by clicking on a button. The system is required to be as
simple as possible as the owner lacks computer skills; hence any difficulties can contribute to a limited
use of the application. There is also a need for validation to prevent user errors. Appendix E includes a
brief description and a diagram of the functionality that will be available to satisfy the requirements as
above. Please note Appendix E includes the design for prototypes 1 and 2.
27
Mount Video Library Information System
if(isInt(membershipnumber) == true){
//displays an error and returns false if not an int
errorString += " The Membership Number has not been entered as
numbers.\n"; }
3. All empty white space is removed e.g. between WF12 0SF in a postcode. The following code
does this:-
private String removeSpaces(String what) {
StringTokenizer tok = new StringTokenizer(what, " ");
String tmp = "";
while (tok.hasMoreTokens()) {
tmp = tmp + tok.nextToken(); }
return tmp; }
4. The membership ID does not already exist in the database. This is done by querying the
database first for that ID and only adding the member if no results is returned.
For editing or deleting members, the user enters the membership number and clicks on ‘Search’. This
updates all the fields with details of that member, or else provides a “Membership Number
<Membership ID> does not exist” error message. The member details can be updated by altering the
field and clicking on ‘Update Details’ or the member can be deleted by clicking on ‘Delete Member’.
This will bring up the following confirmation to prevent any accidental deletions of members.
28
Mount Video Library Information System
This makes it easier and quicker to input data. Also, errors are prevented as the user is restricted to
selecting only valid options (e.g. U, PG, 12A, 15 or 18).
Need manual
data entry
Automatically
updated fields
29
Mount Video Library Information System
The Return functionality works by entering the DVD ID which updates a table of people who have
rented out that specific DVD. The corresponding row from the table which includes the customer
name can then be highlighted to be marked as returned. The user can then optionally add the
customer’s opinion of the movie as a rating out of 10 and click on ‘Return DVD’. This will then make
three checks;
1. Was the rental price originally paid? If no, then a message will pop up informing the owner
that the rental amount of £2/3 is owed.
2. Has the DVD been returned after its due date? If yes, it will calculate the number of days it
was overdue, then whether the rental price is £2 or £3 and multiply the two figures together
and inform the owner of the amount owed due to number of days overdue. For example, 3
days overdue on a £3 rental per day DVD would result in a £9 fee expected.
3. Do both of the conditions as above apply? i.e. rental amount not paid and the DVD was
handed in late. If yes, then the amount expected is informed via a pop up message.
The implementation does also stock take when renting (i.e. deduct 1 from current stock) or returning a
movie (i.e. add 1 to current stock).
30
Mount Video Library Information System
2. Selecting the DVD Name from a combo box list – this is made easier as the list has been
sorted alphabetically. This can especially be used, for example, if the owner is asked by a
member for a rating based on a movie, for which he does not have the DVD in front of
him and therefore does not know the DVD number.
Both functionalities result in a pop up box (as shown below) giving the average rating for a DVD and
how many people have rated it. If there are no ratings, a message comes up to confirm this.
31
Mount Video Library Information System
32
Mount Video Library Information System
OF PROTOTYPE 2
5.1 Introduction
During the second stage of the evolutionary prototyping methodology, the system was
enhanced to include the extended requirements and incorporate the additional features requested by the
user. This chapter will first describe how the implementation of the database and application was
modified to integrate the requested additional functionality. This will then be followed by the design,
implementation and testing of the extended requirements. Annotated screenshots of the full system as
well as snippets of code can be found in Appendix F.
The updated part of the database schema (highlighted in red) is as show below:-
Customer (CustomerID, Firstname, Surname, Address, Town, Postcode, HomePhone,
Mobilephone, DOB, Contactfullname, ContactDOB, Locked)
Rental (RentalID, CustomerID, DVDID, RenterName, DateRented, DateDue, Paid)
33
Mount Video Library Information System
The age is then verified against the certificate. A prompt is presented if the user is too young:-
• Name of Renter – By entering the Customer ID and clicking on “Verify”, the user can now choose
the name of the renter (i.e. member/contact) from a drop down box. As shown below, this will
help validate the Customer ID input.
• DVD ID – By entering the DVD ID and clicking on “Verify”, the title of the DVD will be
presented on the screen. The user can then match the title to the DVD cover to confirm the correct
input, thereby making this a form of validation.
34
Mount Video Library Information System
35
Mount Video Library Information System
SQL results showed that it is best to then create a table and retrieve the data from the SQL results and
input it into the table. The overdue rentals are then displayed in a table using the code below:-
model = (DefaultTableModel) table.getModel();
model.setColumnIdentifiers(tableColumnsName);
java.sql.ResultSetMetaData rsmd = results.getMetaData();
int colNo = rsmd.getColumnCount();
while(results.next()){
Object[] objects = new Object[colNo];
for(int i=0;i<colNo;i++){
objects[i]=results.getObject(i+1); }
model.addRow(objects); }
table.setModel(model);
As stated in section 2.5.4, the implementation would make use of POI and HSSF. This functionality
therefore required extensive research on HSSF. The code was then implemented so that it reads each
cell from each row within the worksheet and this information is then stored in an Array List. The code
below shows this implementation:-
POIFSFileSystem fs1 = new POIFSFileSystem(new FileInputStream(WorkBook));
HSSFWorkbook wb1 = new HSSFWorkbook(fs1); //Gets the workbook
HSSFSheet sheet1 = wb1.getSheet("Customer"); //Gets the Worksheet
Iterator rows1 = sheet1.rowIterator();
while( rows1.hasNext() ) {
HSSFRow row1 = (HSSFRow) rows1.next(); //Gets the Row number
Iterator cells1 = row1.cellIterator();
list2 = new ArrayList();
while( cells1.hasNext() ) {
HSSFCell cell1 = (HSSFCell) cells1.next(); //Gets the Cell number
cell1.getCellType();
if (counter2 > 0) { //An int represents 0, a String represents a 1
if (cell1.getCellType() == 1) {
HSSFRichTextString CellString1 = cell1.getRichStringCellValue();
cellstr1 = CellString1.toString();
list2.add(cellstr1);}
else if (cell1.getCellType() == 0) {
int cellInt1 = (int) cell1.getNumericCellValue();
newCellString1 = Integer.toString(cellInt1);
list2.add(newCellString1); } } }
36
Mount Video Library Information System
The data is then retrieved from the Array List and input into the corresponding fields within the
database table. The completion of the transaction is marked via a confirmation message. Validation is
included to check the membership ID does not already exist.
Both result in a JList being updated according to the results of the criteria.
As the Actor/Actress combo box is based on the Actor1, Actor2, and Actor3 fields within the DVD
table, the system must retrieve data from all of them. The following query does this:-
“SELECT DISTINCT Actor1 FROM DVD UNION SELECT DISTINCT Actor2 FROM DVD UNION
SELECT DISTINCT Actor3 FROM DVD ORDER BY Actor1”
37
Mount Video Library Information System
The implementation for this functionality primarily relies on the effective manipulation of SQL
queries to perform all the calculations, especially in regards to dates and revenue generated, which
required extensive research. The following SQL code is an example, it calculates the most popular
movies that have been rented out in the past week:-
"SELECT DVD.Name, DVD.TotalStock, Count(HistoryRental.DVDID), Sum(HistoryRental.AmountPaid)
FROM HistoryRental INNER JOIN DVD ON HistoryRental.DVDID = DVD.DVDID WHERE DateReturned <
CURDATE() AND DateReturned > (DATE_SUB(CURDATE(), INTERVAL 1 WEEK)) GROUP BY
DVD.Name"
5.5.6 Administration
This functionality takes into account some of the changes that could potentially occur in the
future. It includes the opportunity for a new user to be added as well as the rental price to be altered.
The user can also change his password by entering it twice (both of which are encrypted with *). This
ensures both passwords are identical before updating the database.
The system has been set so that there are two different rental prices; one is low whilst the other is high.
A rental price change from £2 to £3 (which could come about as the company gets bigger) will
automatically update all the corresponding DVD/Videos, which will mean that the user will not need
to manually complete this. The following query retrieves the prices:-
SELECT DISTINCT Price FROM DVD GROUP BY Price
This has been incorporated into the Customer class so that the new rental price is given for the radio
buttons i.e.
38
Mount Video Library Information System
• Search Actor – the user would sometimes prefer if he could manually enter the name of an actor
when searching for it rather than having to look through a large list within a combo box.
• Tool tips – Sometimes it is not very clear what the functionality of a button actually is.
39
Mount Video Library Information System
CHAPTER 6 : EVALUATION
6.1 Introduction
This chapter evaluates the system to determine if it has been a success or not. It first discusses
the success of the application in comparison to the requirements specified by the user. It then
considers the usability aspect of the system and finally performs an assessment against alternative
solutions.
The methodology followed during the project was evolutionary prototyping. This was an
alteration from the original methodology selected as that was the Waterfall Model with iterative
feedback. It was originally felt that the Waterfall Model would sufficiently allow the full project to be
completed with any user requested alterations to be made after the user testing stage. As the project
proceeded into the end of the analysis stage, it was decided that it would be best to utilise the
prototyping methodology. This was because the owner indicated that he would be available for
interviews more frequently and the developer realised that it was best to involve the owner as much as
possible, rather than near the end. This meant that it would be easier to adjust the system to include
40
Mount Video Library Information System
any requirements that were additionally requested by the user midway through the implementation
rather than after completing it.
The alteration in methodology was proved to be justified as there were numerous changes made to the
system and they were completed because of the flexibility provided. There were still some issues
regarding the use of this methodology as there was a waiting period for the evaluation of the prototype
by the user. Another issue was the addition of new user requirements which resulted in changes having
to be made to the system and the database.
41
Mount Video Library Information System
this in parallel to his current system for 10 days and produce a diary of the problems he faced. The
evaluation forms (Appendix H) were used to gather user opinions and document the dairy comments.
The users were asked to give a score of 1-5, with 1 representing very good and 5 representing poor.
The following is a summary of their responses for the user requirements.
42
Mount Video Library Information System
The owner felt this would be very beneficial as it would prevent him losing any money during rental
transactions. The employee was also satisfied with this functionality but felt the process of the member
having to wait around as the user enters the DVD ID and selects a row from the table is unnecessary.
He would have preferred it if the member could simply drop off the DVD and leave. In response to
this concern, it is not possible for the system to handle this unless the business process is altered and
each single DVD (instead of movie) can be uniquely identified. The employee further commented that
the process for a member returning multiple DVD’s was repetitive. This was not implemented as the
developer was not aware of the problem. Unfortunately the user was also unaware as the User
Acceptance Testing performed after both iterations did not involve the use of the system in a ‘real
world’ situation but instead with test data. With this in mind, the developer will be incorporating this
feature into the system after the completion of the project. This will allow the user to search via the
Customer ID rather than just DVD ID.
43
Mount Video Library Information System
User Login
This user requirement was deemed as a success up to a certain extent. The main functionality of it has
been completed in respect to the need for a valid username and password to gain entry into the
application, which provides a security feature. The user feels that it would have been better if there
were user levels which meant that the owner would be able to gain access to certain functionality
which the employee would not be able to. This was not implemented due to it being lower priority as
there is only one employee working there at the moment. The developer intends to add this
functionality after the project has been completed.
44
Mount Video Library Information System
served if there was also a figure informing the owner as to the number of times an individual has tried
and failed to rent the specific movie because it was out of stock.
45
Mount Video Library Information System
Learnability
This was deemed as very successful as all the users felt that the system can be learnt within a day or
two with the appropriate training. The users commented that the simple procedures implemented and
the assistance provided for the input of data was essential in ensuring that it was not difficult to learn.
The employee and owner of the company were especially complimentary of how easy it is to rent out a
DVD to a customer, as all it requires is the Customer ID and the DVD ID. They also liked the system
being aligned with the business. The only concern was the confusion when learning how to “Add a
Rating” of a movie manually. This was because there were two options of selecting a movie (i.e. via a
combo box or by entering the DVD ID) and it became a bit confusing as only one was allowed to be
used when adding a rating.
Efficiency
This was also deemed to be successful as the users were able to perform their tasks more efficiently
that what the current system allows.
The most common processes within the company are the rental and return of a DVD or Video.
Therefore the time taken to perform these tasks will need to be measured and compared to the current
system. Also, as the business is customer-oriented, it has also been considered appropriate to measure
the time taken to view the average rating for a movie and to obtain a list of movies according to
specific criteria. The results of these are as shown below:-
It took the users a shorter time (compared to the current system) to rent out a DVD using the
prototype, as only the Customer and DVD ID were needed to be input, whilst the current system needs
manual entry of the renter name, DVD name and whether the rental has been paid or not.
For the return of a DVD, the current system processes it quicker as it only requires the users to find the
relevant row from the Rental worksheet and delete it. The users still feel though that the prototype is
46
Mount Video Library Information System
much more productive as it allows the recording of a customer based rating as well as an automatic
calculation of money owed.
The successfulness of the average rating and a list of criteria based movies being produced were
judged on the customer response of the question “Do you feel it took too long to complete your
requests”. All five people replied “No” to the answer. The major criticism directed for the efficiency
of the system was regarding the Return of multiple DVD’s by a single member. This required the
return process to be repeated for each of the DVD’s that was being returned.
Errors
This was also deemed to be very successful as the users received informative confirmation/error
messages. Confirmation messages such as when a new member was added to the system were
provided to prevent the user in repeating the same action. Error messages such as when a compulsory
field had been missed out were also provided informing the user of the exact field. All three users
commented on how clear the messages were. They also stated that it was difficult to make errors
because of the internal validation of the system. The main criticism was that it was sometimes a bit
difficult to recover from errors. An example given by the owner was for the ‘Member Lock’
functionality. To recover from accidentally locking a member would require the user to return back to
the customer screen, search for that specific member and then manually unlock his account.
User Satisfaction
This questions how pleasant it is to use the prototype. The overall opinion from all three users was that
the system was easy to use. They also consider the prototype to have helped them a great deal in
performing all the day to day tasks as well as other tasks in an efficient and effective manner.
Data Entry
This was an important part of the GUI of the system as the data input needed to be condensed as much
as possible, thereby making the process as simple as possible. The users commented that this was done
successfully especially as there is only a need to manually enter the Customer ID and the DVD ID
when undertaking the rental transaction as the system does the rest. The use of combo boxes, radio
buttons and default values ensured validation as well as increased efficiency. The only concern the
user had was the “Search by Movie Name” for the Customer Rating section. This was because it made
use of a combo box but as there are a large number of movies, there would be a need for significant
scrolling through the list. The user felt this was rectified up to a certain extent with it being in
alphabetical order and the option to “Search by DVD ID”.
47
Mount Video Library Information System
Navigation
This was also deemed to be successful according to the users as they felt they had no problems in
navigating through the main menu and returning back to it from the functionality screens. The main
problem as highlighted by the external user was that there was no connection between different
functionalities. So for example, it was not possible for a user to view the average customer rating for a
movie and then automatically go to the Rental screen with the details for that movie having already
been filled. He would instead need to navigate back to the main menu first.
Consistency
The users felt that this had been successfully completed up to a certain extent. The owner mentioned
that he got confused with the use of Member in some instances and the user of Customer in others.
Otherwise he felt date formats, buttons, labels etc were consistent throughout the system.
48
Mount Video Library Information System
49
Mount Video Library Information System
CHAPTER 7 : CONCLUSION
The aim of this project was to produce a video library management information system for Mount
Video Centre. The system needed to include normal technical features such as the facilitation of DVD
Rentals/Returns and business features such as the calculation of sales figures. As the company is
solely customer oriented, it was best to also include additional features such as the calculation of the
average rating for DVD’s. The system produced needed to overcome current problems such as a poor
user interface, lack of a structure and ineffective time consuming processes. The Owner originally
made it clear that he lacks computer skills, so there needed to be extensive functionality within the
system, which was easy to use at the same time. This meant that there needed to be a clear focus on the
HCI and usability aspects of the system.
The evaluation of the solution highlighted that the system had been implemented successfully and
accepted according to the user requirements. The users were extremely satisfied with the usability as it
allowed them to effectively utilise the functional requirements. The owner commented that he was
more than happy in deploying the system on to the machine at Mount Video Centre. He said that he
has full confidence that the system can fulfil its potential and in the process, help increase customer
satisfaction, which should then lead to an increase in revenue and profits.
The evaluation did also bring up some concerns, which mainly concentrated around the duplication of
movies and the lack of user access levels. A comparison against other similar products showed that the
system effectively made use of the different functionality, but it could still not match up to the superior
looking GUI’s that are available at the moment. However, this would be a perfect example of an area
that can be enhanced in the future to make the system even more satisfactory to the user. In
conclusion, only time will tell on how successful the system actually is as it is utilised on a full time
basis at Mount Video Centre.
50
Mount Video Library Information System
REFERENCES
51
Mount Video Library Information System
[20] Maciaszek, A.L., (2005) Requirements Analysis and System Design, 2nd Edition, Pearson
Education
[21] Skidmore, Steve and Eva, Malcolm (2004) Introducing Systems Development, Palgrave
Macmillan
[22] Robinson, B. and Prior M., (1995) Systems Analysis Techniques, International Thompson
Computer Press
[23] A Dix, J.F., G Abowd, R Beale, (2004), Human Computer Interaction, 3rd edition, Prentice
Hall
[24] Shneiderman, Ben, Plaisant, Catherine. (2005) Designing the user interface: Strategies for
effective Human-Computer Interaction, 4th edition (International edition)
52
Mount Video Library Information System
I think I have learnt more from this Final Year Project than I have in the previous two years of
university and my industrial placement put together. Although it has been very stressful, I have had a
lot of fun during the project. The main reason I originally picked a software engineering project was
because I felt my programming skills were poor. I had previously been part of a software engineering
group project in SE24 on an Estate Agent but I didn’t program one single bit of code during it. I
volunteered and was assigned the more comfortable task of the systems analysis which was basically
focusing on the UML aspect. After my placement, I feel I matured a lot and this year would be my last
opportunity to improve on my weakness.
During the project, I think I have been through a lot of highs and lows. I started off on the high of a
new project that would challenge me. After the mid project report, I felt that I was a bit on a low after
the negative feedback I received (rightly so). I think that really gave me the kick-start I needed and
from then on I have not looked back. I have easily spent well over the recommended 400 hours and
done everything that I could possibly do. I have got to the stage where I have managed my project well
and feel that I am a competent programmer. I think I possess the ability to go into a software
engineering job and do well.
After having completed the project, I would give the following advice to future students:
• Don’t plan to university deadlines – one of the main mistakes I made was planning and
writing up my project around some of the other FYP deadlines. For example, I gave myself 7-
8 weeks for background research as the deadline was 8th Dec. In hindsight, that was excessive.
I should have given myself a maximum of 4 weeks and by the time of the deadline; I would
have been on my analysis or at the beginning stage of my design.
• Take proper breaks – the last thing you want to do is suffer from burn out halfway through
your project and therefore completely lose the motivation to do anymore. I took a break during
the wedding preparations (Mid – End of Dec) and was then refreshed enough to literally put in
110% which enabled me to complete the design and implementation of the system. In the
Easter holidays I could then have another little break and then follow that up with the rest of
the write up
53
Mount Video Library Information System
• Schedule – Allow time for exams and coursework. In the final year, there will be a number of
times where the pressure will be on for handing in a coursework and getting final year project
done. You need to make sure that you have time for this. I would personally plan your
schedule so that you have one spare week somewhere in the middle of the project and one
spare week near the end. This will come in extremely handy if you fall behind with the
workload, and yes that does happen. Sometimes you cannot control external circumstances.
For example, my brother got married in December and I was the one that planned most of it. I
didn’t take this into account and I had to make up a lot of ground to catch up with my work.
• Choose a project you will enjoy – I am sure that by now you know what subjects interest you
and what you would want to do whenever you get a job. If you like it, go for that type of
project. There’s no such thing as an easy project so if you think one of the boring projects
might be easier, you’re mistaken.
54
Mount Video Library Information System
APPENDIX B - Schedule
55
Mount Video Library Information System
Methodologies
Technologies
Requirements Gathering
Feasibility Study
Iteration 1 Implementation
Iteration 1 Testing
User Requested
Enhancements
Iteration 2 Implementation
Iteration 2 Testing
System Trial
User Evaluation
56
Mount Video Library Information System
1. SoftStore
Cluttered
information
Redundant
information
57
Mount Video Library Information System
58
Mount Video Library Information System
Appendix D – Analysis
1) Membership Form:
MEMBERSHIP FORM
Membership No : ____________________
____________________________________
____________________________________
____________________________________
____________________________________
Signature : ____________________________________
59
Mount Video Library Information System
2) Membership Card:
60
Mount Video Library Information System
3) Interview Transcripts
The relevant sections of the transcript from the interview with the owner have been provided in
this section.
Interview 1
The following is a transcript from the first interview with the owner of Mount Video Centre. It
was conducted on 18th October 2006:
61
Mount Video Library Information System
Khayam: Yeh no problem. If I think of anything, I’ll let you know, shall I? Just so I confirm if it
will even be useful to you
Nasar: Yeh, yeh, definitely
Khayam: So can you think of any other types of features you would like to have in the system?
Nasar: Well I wouldn’t mind separate logins for different employees, which would be a handy
feature especially for the future. I’d like the system to let me know if any video rentals have gone
by their past date just so I can charge the customer the extra amount. Maybe I could be told the
exact amount that I need to charge extra or the number of days it has gone past its due date?!
Khayam: So your thinking along the lines of logging into the system and finding out all the
overdue videos?
Nasar: Yeh exactly that. It’s not a compulsory thing but it would be good to have that feature
available to me.
Khayam: I’ll do my best.
Nasar: Thanks.
Interview 2
The following is a transcript from the second interview with the owner of Mount Video Centre.
This interview also took place with the employee present so he could have an input. It was
conducted on 19th December 2006:
Khayam: I wanted to discuss with you the requirements of the proposed system in a bit more
detail especially as you have had a while to figure out what extra functionality you might need.
Nasar: Yeh I have thought of a couple of other things.
Khayam: First I just wanted to go through the current system you use. I understand that your first
system was simply noting down everything on paper but you computerised your processed. Why
did you do this?
Nasar: Well it was messy, I had papers all over the place and I was losing out on money
whenever I lost the papers. Especially as I started out at the time, it was the last thing I wanted so
I thought it would be best to put that information onto a computer. At least it can’t get lost on
there and I do still know a bit about computers, even though it is very limited.
Khayam: So how does the computerised process work?
Nasar: It’s right in front of you as you can see. The system is just as basic as the paper based one
but slightly more efficient. I’ve got one spreadsheet file that has details of all the customers and
62
Mount Video Library Information System
another spreadsheet file with details of all the videos and then a third with video rental details.
Whenever a customer rents out a DVD, I note down its unique ID and the name of the DVD. I
then note down the membership number of the customer as well as his name. All of this info goes
into the ‘Video Rentals’ spreadsheet file. Then when a customer returns the DVD, I look up the
code for it in ‘Video Rentals’ and delete that row in the system so that shows that the videos been
returned. The system includes a due date and if it is returned after that, I ask for £2/3 for every
day. So if it’s 2 days overdue, I will charge £4/6 from the customer depending on the movie.
Khayam: And when do you charge that money?
Nasar: My policy is to take it before the rental. If that occurs, then I mark the rental as ‘PAID’ in
my spreadsheet file or else it is changed to ‘UNPAID’. There is the occasion where people insist
on renting the DVD but don’t have cash on them or they only have debit card, and as I don’t use a
card reader yet, I let them off and let them pay when they return the DVD.
Khayam: What bout the customer information or the video rentals information?
Nasar: What do you mean?
Khayam: How do you collect that?
Nasar: Oh right, yes I get you now. For the customers, I have a membership form which they
need to fill out and they need some form of verification such as a license and a utility bill for
proof of who they are. I give them a membership card and put that membership number on the
membership form. The customer then needs to sign it and that is stored away as paper based. I
input all of that information into the ‘Customers’ spreadsheet. The video rentals information is
simple as well. Whenever I get a new video through, I just put the name of the movie and the
number of stock into the ‘Videos’ spreadsheet.
Khayam: What kind of problems do you get with this system then?
Nasar: A variety of problems to be honest. It looks extremely unprofessional using just a basic
spreadsheet file instead of some type of proper system. It’s also error prone as well and any
mistakes can cost me money. The structure is really basic and the functionality is really poor i.e.
it only handles video rentals and stores some customer and DVD information. Don’t get me
wrong, the system was ok when the business was relatively small but as I’m starting to expand a
bit more, I’d want a system that is professional and aesthetically pleasing. The main problem I
would have to say with the system is its efficiency.
Khayam: Could you just clarify a bit more on the efficiency part.
Nasar: Well it’s just not efficient at all, for example, it will take me quite a while to find a movie
or a rental within the spreadsheet file and I have sometimes noticed a customer get a bit impatient
especially if they are in a hurry.
63
Mount Video Library Information System
Khayam: Oh I get you, I see what you mean. What about the proposed system? We had a talk
about this a couple of months ago and made a provisional list of requirements. Anything you
want to add to that as you’ve had a fair bit of time to think about it?
Nasar: Yep I thought of a few things which would give the system that extra something if you
have the time to do it. Sorry but I can’t remember what we mentioned last time though.
Khayam: Yeh I expected that so I wrote down the list of requirements you made when I last came
over. So far I have got an easy to use system, it needs to handle the video rentals in terms of
rental and return, it needs to be able to store the customer and DVD information, some kind of
movie rating as well based on other customer’s opinions, separate logins for separate customers
and finally some kind of notification of overdue videos. How’s that sound?
Nasar: Yep sounds good so far
Khayam: So what else have you thought of?
Nasar: Well I was thinking it would be quite good if a customer can reserve a video if it’s out of
stock
Khayam: Yeh that was going to be one of my suggestions as well. I have been thinking about
what functionality you might need and from what I can tell, it might be good for you to have
some kind of search function as well. I was thinking along the lines of a search for specific
DVD’s you might have in stock. I also noticed a customer ask you for the movies you have in
stock starring Mel Gibson and you had to try to remember that so I was thinking I could
incorporate that somehow.
Nasar: Yeh definitely! That would be great
Khayam: I was also thinking that in terms of business functionality, I could try to have some
functionality within the system to generate some type of sales figures for you.
Nasar: What do you mean exactly?
Khayam: Well maybe something like the most popular movie taken out or what genre of movies
are the most popular within your customers to help you decide on future stock. It’d be a type of
functionality in the business sense rather than the technological sense if you get me?
Nasar: Yep I know what you mean, I didn’t know that would be possible but if you can do that, it
would be extremely helpful to me.
Khayam: Is there anything else you can think of that would help me in creating the proposed
system?
Nasar: No, not really, I think I mentioned everything and you’ve seen the rest. I’ve got your
contact number so I’ll definitely contact you if I do think of anything.
64
Mount Video Library Information System
Khayam: Yep no problem, I’ll do the same as well if I think of anything. I’ll try to keep you
updated on how the system is going, any updates, what you would like, and specific stuff like
that, so can I still assume that you’ve still got the time for the interviews?
Nasar: Yeh don’t worry about that. I do have a bit of time during work so just give me a ring
before and feel free to pop in.
Khayam: Ok great, Thanks
65
Mount Video Library Information System
4) Activity Diagrams
1. DVD Rental
MEMBER COMPANY SYSTEM
Start
DVD chosen
Membership card
bought ?
No Yes
Fail To Complete
Member ID
entered
DVD ID Notes
Payment paid or
not noted
End
66
Mount Video Library Information System
2. DVD Return
Start
DVD Returned
Paid already?
No
Make Payment
for Rental Yes
Yes
Overdue?
Yes
No
Make Payment
for Rental
End End
67
Mount Video Library Information System
Appendix E – Design
The following diagrams describe the general design of the intended system for the minimum
requirements to be met.
1) Customer/DVD Form
There are three main functionalities that are to be included within both forms. The owner needs to
be able to add new members/DVDs, edit current member/DVD details and delete current
members/DVDs. Both forms will utilise an online form interface which is easy to interpret and
can act as a method of data entry to the underlying database. As each member’s details are
different, the Customer class will include a limited facilitation of data entry, whilst the DVD class
will make used of combo boxes or radio buttons (EG – Certificate option between U, PG, 12A, 15
and 18) because DVD’s share similar attributes.
i.e. Customer
Customer Tab DVD Tab or DVD
Title
Buttons
Input Form – This includes text fields where data can be input or displayed. Information such as
Name/Address (Customer), and Genre/Certificate (DVD screen) would be included here. This
form will also include combo boxes and radio buttons for validation and ease of use purposes.
Search Form – This will consist of a text field where the user can search for a customer (or
DVD) by entering the membership number (or DVD Number).
Buttons – This will consist of buttons such as “Add new Customer” or “Delete Movie”
68
Mount Video Library Information System
2) Video/DVD Rental
This needs to be aligned with the current business process. When renting a DVD, the customer
provides their membership card and the DVD has a label on the back providing the DVD number.
Therefore both ID’s will need to be input and validated that they do exist in the database. As the
rental is set as a standard of one day, the date rented should be set as today and the date due
should be set as tomorrow. The system must internally deal with stock control by deducting 1
from the current stock total.
Rental Return
Title
Input Form
Includes details
such as
Customer ID
and DVD ID
Buttons
3) Video/DVD Return
The DVD is returned by inputting the DVD ID and marking it as returned. The user can briefly
ask an opinion for the DVD from the customer which will be recorded in to the system. The
system must again internally deal with stock control by adding 1 to the current stock total.
Rental Return
Title
Input Form
69
Mount Video Library Information System
4) Customer Rating
The user should be able to view the average customer rating and the number of ratings for any
movie by either entering the DVD ID or by selecting a movie from a list. The customer rating
given is based on the reviews supplied by members when they return the movies
Title
Search by
Input Form 1 Input Form 2 Search by selecting
DVD ID
DVD name from
combo box
Buttons
The resulting information (i.e. average customer rating) will appear as a pop up window. It will
inform the user of the number of people who have reviewed the DVD and its average rating.
The following diagrams describe the general design of the intended system for the extended
requirements to be met.
1) User Login
This has been incorporated for security reasons and will only allow a user access to the system
with a valid username and password, thereby preserving member information.
Company Logo
Username
Password
Buttons
70
Mount Video Library Information System
Title
Button
Title
Import DVD
Buttons
Import Members
Information is
imported by entering
the filename
71
Mount Video Library Information System
a) Inputting the name of a certain main actor that stars in that movie. The movie can be
found by selecting the name of the actor from the combo box and then clicking on search.
b) Customising their search. The movie can be found by stating the genre, Main
Actor/Actress, whether it’s a DVD or Video, and it’s origin (i.e. English/Indian).
Both methods will result in a list of all movies according to the criteria. This functionality will be
useful to the user especially when he has a member who is unsure of what movie they want to see
but have some type of criteria. For example, the member might want to watch a Sylvester
Stallone movie and may want to know what movies the user has in stock which stars that certain
actor.
Title
72
Mount Video Library Information System
Title
Confirm Date
Dates Button
Origin Revenue
73
Mount Video Library Information System
5) Administration
The owner will most likely need to change certain aspects of the system in the future. The
most likely will involve the rental price (as the company gets bigger, he may decide to charge
more) and the introduction of new employees (which will mean more users). The system needs to
handle new users, or changing passwords.
Title
User Details
Confirm
Buttons
Title
74
Mount Video Library Information System
Appendix F – Implementation
Database
As can be seen, the majority of the fields are VARCHAR. This includes the CustomerID because
the owner currently has membership cards with a six digit code, which are not in sequential order,
thereby making it ineffective for using AutoNumber as the data type. The Locked field is also set
as “No” as default, and the table allows null values for non compulsory fields.
• DVD
The DVDID is again set as of type VARCHAR. This is because an alteration of the data types to
AutoNumber would mean that the owner would have to completely alter his current business
process of uniquely identifying customers/DVD’s. For example, he would have to change the
labels of all of his DVD’s in his shop, which would be tedious and time consuming.
75
Mount Video Library Information System
• Rental
The RentalID has been set as AutoNumber as it can be aligned with the current business
process and the system will automatically create a unique ID for it everytime.
• HistoryRental
• Login
76
Mount Video Library Information System
This section describes the general design of the intended system for the minimum requirements
(as well as changes made to the system after the first iteration of user evaluation) to be met. It
includes screenshots, snippets of code and detailed explanation on how the system works.
1) Customer
This was the first class constructed. Adding, editing and deleting customer data in the system is
fundamental. The screenshot below shows the user interface for this class.
Uses
TitledBorder
Makes use of
JButtons
77
Mount Video Library Information System
As can be seen, the Customer GUI uses a JTabbedPane, which was constructed using the
following code:-
Tabs1 = new JTabbedPane();
Tabs1.add(" Customer ",panel);
The background colour has been set using the following code:-
Green = new Color( 0xf0f8ff)
panel.setBackground(aliceblue);
The Search Member has a border placed around it to separate it from the rest. This was done
using the following code:-
title = BorderFactory.createTitledBorder(blackline, "Search Member");
panel1.setBorder((Border) title);
The GUI then makes use of 3 JPanels, a number of JTextFields, JLabels and JButtons to create
the interface shown.
The ‘Add Customer’ functionality requires the user to input the details into the form interface.
Compulsory fields have been marked with a * (as can be seen as a note for the user near the
bottom of the screenshot). The data is then validated by:-
• Number of characters
if (membershipnumber.length() > 6 || membershipnumber.length() <
6 ) {
//display an error and return false
JOptionPane.showMessageDialog(null, "Error: The Membership
Number is not 6 digits long");
return false ; }
else return true ;
• Compulsory Fields
if (firstname.equals("")) {
errorString += " The First Name field must be filled in.\n";}
Once the details have been entered correctly (i.e. they pass validation checks such as the contact
number length is 11 integers long), a confirmation message pops up which includes the
opportunity for the user to print off these details:-
78
Mount Video Library Information System
This then saves a file names Customer.html to the desktop which looks like this:-
This gives the user the opportunity to view the details and confirm it with the user as well as be
able to print it off, which can then be signed and stored away. The following code partly shows
the construction of the html file.
public void HTMLWriter(){
getCustomerInfo();
PrintWriter out;
try {
out = new PrintWriter(new BufferedWriter(
new FileWriter("Customer.html")), true);
out.println("<html>");
out.println("<head>");
out.println("<title>");
out.println("Customer Details");
out.println("</title>");
out.println("</head>");
out.println("<H1><u><b>");
out.println("Customer Details");
out.println("</u></b></H1>");
out.println("<body bgcolor='CCFFFF'>");
if (homephone != ""){
out.print ("<pre><b>Contact Number : </b> " + homephone + "
(home)</pre>"); }
} catch (IOException e) {
e.printStackTrace(); }
JOptionPane.showMessageDialog(null, "Customer details can now be viewed
as Customer.html"); }
The code takes into account if non compulsory fields have been provided or not, via an ‘if’
statement. The user is also given a message to confirm that he can now view the file.
79
Mount Video Library Information System
The ‘Update Details’ and ‘Delete Customer’ functionalities both work by first searching for the
customer. This is done by entering the Customer ID and clicking on Search as can be seen
below:-
This will automatically update the fields on the left side with information for that Customer ID. If
the member does not exist, the following error message will come up:-
The user can then update /delete the customer details. The “Delete Customer” specifically queries
to confirm that is what the user wants to do before deleting, as can be seen below:-
The “Main Menu” button has been provided for the user to be able to return to the main screen so
he can go to a different functionality. This has been placed outside of the tab to make it more
clearly for the user if he gets stuck at any place.
80
Mount Video Library Information System
2) DVD/Video
This was the second class constructed. Adding, editing and deleting DVD data in the system is
also fundamental. The screenshot below shows the user interface for this class.
The functionality within this class operates in the same way the Customer class does. It validates
data input more efficiently by using combo boxes and radio buttons.
• Example code of radio buttons:
TypeDVD = new JRadioButton("DVD", false);
TypeVideo = new JRadioButton("Video", false);
grp1 = new ButtonGroup();
grp1.add(TypeDVD);
grp1.add(TypeVideo);
81
Mount Video Library Information System
1) Customer ID
verified.
Member/Contact
name appears in
combo box
2) DVD ID verified.
DVD
Name/Amount Due
automatically
updated
3) Default
dates
4) Confirmation 5) Click on Rent out DVD
if Amount Due button. This checks renter
was paid age against the certificate
and does the stocktaking.
Step 1) Enter the Customer ID as can be seen form the membership card and click on “Verify”.
This will then update the combo box so that the user has the option of selecting the member or the
member’s contact as the renter. The following query brings back the two member names:-
SELECT Firstname, Surname, Contactfullname FROM Customer WHERE
CustomerID = CustomerID
82
Mount Video Library Information System
Step 2) Enter the DVD ID as can be seen on the back of the DVD cover and click on “Verify”.
This will then automatically update the DVD Name field and the Amount Due. The following
query is used to do this:
SELECT Name, Price FROM DVD WHERE DVDID = DVDID
Step 3) The dates for each rental have been set as today (Date Rented) and tomorrow (Date Due)
as default. This is because the standard loan is only one day. The user does have the option to
alter this.
Step 4) Select Yes or No depending on whether the renter has paid for the movie or not.
Step 5) After clicking on the Rent out DVD button, the system does two steps:-
• Check Age of Renter - compared to the certificate rating. The coding for this can be
seen in section 5.3.2.
• Stocktaking – deducts 1 away from the current stock. The following code shows this:-
StockNumber = StockNumber -1 ;
db.submitInsertQuery("UPDATE DVD SET Stock= StockNumber + "' WHERE
DVDID = " + DVDID); //Updates Stock number in DVD table
3) Table updated
with rentals based
on criteria
4) Optionally add
customer’s
personal rating of 5) Click on Return DVD
DVD button. This adds the
customer rating and updates
the stocktaking.
83
Mount Video Library Information System
Step 1) The DVD is returned to the owner who enters the DVD ID and confirms the name of the
DVD (for validation purposes)
Step 2) The rental table is searched for all rentals matching that DVD ID.
Step 3) The result is presented in a JTable. The following code updates the table (based on the
SQL query results returned):-
java.sql.ResultSetMetaData rsmd = results1.getMetaData();
int colNo = rsmd.getColumnCount();
while(results1.next()) {
Object[] objects = new Object[colNo];
for(int i=0;i<colNo;i++){
objects[i]=results1.getObject(i+1); }
model.addRow(objects);}
A row can then be selected form the table corresponding to the member who rented out the DVD.
Step 4) A rating between 1 and 10 can be added by the owner, which will be based on the
member’s review of the DVD.
Step 5) After clicking on the ‘Return DVD’ button, the system does three steps:-
• Checks today’s date and the date it was rented. If today’s date is more than one day after
the day it was rented, it will then calculate the rental per day for that DVD (i.e. £2 or £3)
and multiply it by the days it is overdue. It will then check whether the rental for the
DVD was originally paid. If one or both of the two conditions are satisfied as above, the
user will receive an information message informing him that £x is owed (as shown):-
84
Mount Video Library Information System
overduecounter ++; }
Priceresults = results2.getString("Price");
y = Integer.parseInt(Priceresults);
AmountPaid = y;
• Removes that rental from the Rental table and puts the relevant information into the
HistoryRental table. This signifies that this is a past rental.
• Adds 1 to the stock taking
1) Enter DVD
Number check 1) Search for
Movie name is DVD from the
correct and then combo box and
view user rating then view user
rating
2) Add Personal
Rating for a
movie by
selecting a score
from 1-10 from
the combo box
85
Mount Video Library Information System
Step 1) The user can view the average rating by confirming the DVD Name by either inputting
the DVD ID or selecting it from a combo box
The system calculates the average rating using the following SQL query:-
SELECT NumberofReviews, TotalRating, FROM DVD WHERE DVDID = DVDID
The TotalRating is then divided by the NumberofReviews to get a value for the average rating. IT
displays the results as an information message:-
The Rating system also generates a message as shown below if the movie has not been rated yet:-
Step 2) The “Add Rating” only works properly if one of the two searches from step 1 yielded
results. The procedure includes the retrieval of the TotalRating and NumberofReviews values and
adding the rating and 1. This must also take into account DVD’s which currently do not have a
rating, as the rating for that DVD will no longer be an update, but instead an insert query.
5) Main Menu
Allows
navigation to
different
functionality
Images to make it
more aesthetically
pleasing
86
Mount Video Library Information System
This section describes the general design of the intended system for the extended requirements to
be met. It again includes screenshots, snippets of code and detailed explanation on how the
system works.
6) User Login
This class is the initial screen to enter the system. The correct username and password must be
supplied. The screenshot below shows the user interface for this class.
Exit application
The system has been implemented so that it first queries the Login table to see if the username
entered does actually exist. If the username is found, it then retrieves the password and checks to
see if it matches the password entered by the user.
For security reasons, the password is displayed as * so that no-one can see what the user typed to
login to the system. The following code is used to do this:-
Password2 = new JPasswordField();
87
Mount Video Library Information System
This functionality displays information regarding overdue rentals as can be seen from the
screenshot below.
Information on
Overdue Rentals
Locks customer
account for
selected member
The information above is retrieved from the MySQL database using the following query:-
SELECT Rental.RentorName, Customer.Address, Customer.Homephone,
Customer.mobilephone, DVD.Name, Rental.DateDue Rental From Rental INNER
JOIN Customer ON Customer.CustomerID = Rental.CustomerID INNER JOIN DVD
ON DVD.DVDID = Rental.DVDID WHERE Rental.DateDue < CURDATE()"
The information provided in the table is sufficient for the owner to be able to contact the member
and inform them of an overdue DVD name, when it was due and who rented it.
The owner can highlight a renter and lock their account so that they are no longer able to rent out
any DVD’s. This will then remove that rental from the table and update the Customer database
table by setting the ‘Locked’ field as Yes.
88
Mount Video Library Information System
This functionality allows the user to import the Member and DVD details he currently has stored
in his current system (i.e. MS Excel workbook) into the intended application.
Import DVD
details
Import Customer
details
The user can search for the Excel workbook from which he would like to import the Customer or
DVD data by clicking on the corresponding “Browse” button. This will bring up the following
screen:-
89
Mount Video Library Information System
This means the user can browse through the different directories to locate the MS Excel
workbook.
if (result == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
String s = file.getAbsolutePath();
if (DVDCust.equals("DVD")){
ImportDVD2.setText(s); }
else if (DVDCust.equals("Customer")) {
ImportCustomer2.setText(s); } } }
After clicking on the “Import” button, the system will look into the specific worksheet (i.e.
Customer or DVD). It will then read each row one by one (ignoring the front row which consists
of titles) and enter the data from each cell into the Customer (or DVD) database table.
The completion of the import function is displayed by a confirmation message. The system also
validates the data by ensuring that the CustomerID (or DVDID) does not already exist in the
system. If that is the case, then an error message would turn up.
90
Mount Video Library Information System
9) Search by Actor
This functionality helps a member in deciding what DVD to rent according to a specific actor that
comes in it.
Text Editable
Combo box with
List of movies
a list of all the
starring actor
actors that come
selected will be
in a movie that
updated in this
the has for rentals
JList.
The following SQL query retrieves the movies that the actor comes in:-
SELECT Name FROM DVD WHERE Actor1 = ActorComboTextName OR Actor2
= ActorComboTextName OR Actor3 = ActorComboTextName
91
Mount Video Library Information System
This functionality helps a member in deciding what DVD to rent according to specific criteria.
List of movies
that fulfil the
criteria
This works in a similar way to ‘Search by Actor’. The user selects specific criteria that are
relevant to what the user would like, which then brings up a list of movies according to the
criteria selected.
92
Mount Video Library Information System
This business functionality will help the user calculate total revenue generated in a certain period
as well as what areas most of this revenue has come from.
Dates used
to calculate
sales figures
All calculations are calculated using data from the HistoryRental table. The following
code/queries are used to calculate the relevant figures:-
• Total Revenue
SELECT AmountPaid FROM HistoryRental WHERE DateReturned < DateTo AND
DateReturned > DateFrom //Get Amount Paid values
SELECT count(*) FROM HistoryRental WHERE DateReturned < DateTo AND
DateReturned > DateFrom //Get Number of rows within table that
have been returned between two dates mentioned
TotalFigures = 0;
for (int i=0; i< NoOfRows; i++){ //For every row (NoOfRows = Count)
int TotalFigures1 = 0;
TotalFigures1 = results.getInt("AmountPaid"); //Get Amount Paid
results.next();
//Add to running tally
TotalFigures = TotalFigures + TotalFigures1;}
//Running tally gives Total Revenue
93
Mount Video Library Information System
• Best Movies
SELECT DVD.Name, DVD.TotalStock, Count(HistoryRental.DVDID),
Sum(HistoryRental.AmountPaid) FROM HistoryRental INNER JOIN DVD ON
HistoryRental.DVDID = DVD.DVDNumber WHERE DateReturned < DateTo AND
DateReturned > DateFrom + GROUP BY DVD.Name
• Best Genres
SELECT DVD.Genre1, Count(HistoryRental.DVDID),
Sum(HistoryRental.AmountPaid) FROM HistoryRental INNER JOIN DVD ON
HistoryRental.DVDID = DVD.DVDNumber WHERE DateReturned < DateTo AND
DateReturned > DateFrom GROUP BY DVD.Genre1
The following date functions are used to calculate the past Week/Month/Year:-
• Past Week
(DATE_SUB(CURDATE(), INTERVAL 1 WEEK))
• Past Month
(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
• Past Year
(DATE_SUB(CURDATE(), INTERVAL 1 YEAR))
The functionality works by either entering two valid dates and clicking on “Confirm Dates” or
clicking on one of the Pre defined dates such as Past Week, Past Month, or Past Year. This then
updates all of the information within the form with relevant figures.
12) Administration
This functionality allows the system to partly evolve as time goes on. It allows new users to be
added, password to change and the rental price to change.
When clicking on “Administration” from the “Main Menu”, the user has a choice of whether he
wants to change user details or change rental prices:-
94
Mount Video Library Information System
Small popup
window
Add a new user
i.e. employee
Change current
Password is re- user details such
entered for as a password
validation purposes
Small popup
window
Enter new
rental prices
(low and high)
An error message as shown occurs if both rental prices have not been input. If the user only wants
to change one of the rental prices, he can just re-enter the current rental price
95
Mount Video Library Information System
If both rental prices have been input, the rental price will change at the DVD screen:-
The following code in the DVD class (where the Rental price radio button is created) makes the
alteration from £2/£3 to £3/£4:-
96
Mount Video Library Information System
Appendix G – Testing
Unit Testing
Login
Main Menu
Customer
97
Mount Video Library Information System
DVD
98
Mount Video Library Information System
Rental
99
Mount Video Library Information System
Details’
10 Rent out a DVD with the Information added to the Yes N/A
Paid as ‘No’. This will be Rental table.
checked later in the Confirmation message
Rental tests given
Return
100
Mount Video Library Information System
Overdue
101
Mount Video Library Information System
102
Mount Video Library Information System
criteria
5 Miss out one of the fields Movie updated in list Yes N/A
and search according to the criteria
Administration
103
Mount Video Library Information System
104
Mount Video Library Information System
Appendix H – Evaluation
User Requirements
This evaluation involved two different types of users to help gain different perspectives
of the application. The first user was the owner of Mount Video Centre, and the second
was an employee. The following evaluation form was filled out by both users. They were
asked to score and comment on each function with a rating of 1 – 5.
Score Key
1 = Very Good
2 = Good
3 = OK / No Comment
4 = Not good
5 = Poor
Owner
105
Mount Video Library Information System
106
Mount Video Library Information System
Employee
107
Mount Video Library Information System
Usability/HCI
This evaluation involved three different types of users to help gain different perspectives
of the application. The first user was the owner of Mount Video Centre, the second was
an employee and the third was a person (D.A. Bam) unconnected to the project. The
following evaluation form was filled out by al three users. They were asked to score and
comment on the usability/HCI with a rating of 1 – 5.
Score Key
1 = Agree
2 = Partly Agree
3 = Neutral
4 = Partly Disagree
5 = Disagree
Owner
108
Mount Video Library Information System
109
Mount Video Library Information System
Employee
110
Mount Video Library Information System
111
Mount Video Library Information System
112