Video Rental Store Database Information Technology Essay
Development of a Video Rental Store database application for JJ Video Library to facilitate efficient data storage and retrieval.
Background to the Project
JJ Video Library is a store which rents out videos to its members. It was established in 2006. It is located in Kimara, Kinondoni district of Dar es Salaam. The store’s success is due to the good service it provides to its members and the wide and varied stock of videos available for rent. The store is having difficulties in managing the increasing amount of data used and generated. It can’t cope with its own success. It now offers a larger selection of videos to a growing number of members, which means that the level of service it provides is falling. A system that will speed up the way they work, i.e. something to automate a lot of the day-to-day tasks that seem to take forever to complete is needed.
The aim of this project is to develop a database application that will help solve the increasing problems of data management.
Objectives
The main objectives for the system are as follows:
3.1) Technical
To produce an overall requirements specification for the system.
To design and develop the system by adapting the waterfall model.
3.2) Personal
To gain programming experience in PHP and MySQL.
To produce a system that will meet the need of the store.
To improve my understanding in organizing and carrying out a software development project.
3.3) Academic
To meet the academic requirements of the B.Sc. ICTM final year Project.
Justification
4.1) Reasons for choosing this project
The primary reason for choosing this particular project is to solve the business need of JJ Video Library, which is detailed in section 5.1. Without a real-time database application, it is extremely difficult to manage the growing size of the data being stored.
In the new system the following manual functions will be automated:
Check in and out
Find customer & show details.
Show customer’s current rentals.
Return a video on time.
Return a video late & pay fine.
Return late video without paying.
Paying outstanding fines.
Locate video details to check out.
Check a video out.
Search
Search for a movie.
List genres.
Add title
Add the new title to the database.
Find the ID of the film we just added.
Create copies of the film.
Find existing artist.
Connect the artist with the film.
Get genres.
Sign up
Add new customer details.
Get ID of new customer.
List all debtors
Show list of customers with unpaid fines.
A secondary reason for choosing this project is to broaden my knowledge in both the areas of PHP scripting and database application development. I am greatly interested in both areas and see this project as a way for me to investigate how both these areas can be combined to create robust database applications.
4.2) How this project draws from other course subjects
During this project I will use many skills I have acquired during my coursework, the table below summaries this:
Code
Course Subject
Techniques/Knowledge to be used
ICT 106
Introduction to Information Technology.
Document and presentation preparation techniques.
ICT 110
Fundamentals of Computer Networks.
Appliation deployment techniques and protocols.
ICT 209
Global Networks.
ICT 116
Management Information Systems.
Salient components of Information Systems and how they couple with functional areas of a business.
ICT 211
Information Technology and Business Computing.
ICT 208
Database Concepts and Design.
Relational database design techniques.
ICT 214
Computer Programming.
Programming constructs.
COM 200
Business Communication Skills.
Report writing techniques.
PUB 220
Research Methods.
Research techniques.
ICT 313
Database Management and Administration.
This subject has not been covered yet, so this project will serve as an early investigation of subject.
ICT 314
Information Technology and Society.
This subject has not been covered yet, so this project will serve as an early investigation of the subject.
ICT 315
Software Engineering.
This subject has not been covered yet, so this project will serve as an early investigation of the subject.
ICT 316
Systems Analysis and Design.
This subject has not been covered yet, so this project will serve as an early investigation of the subject.
ICT 317
IT Project Management.
This subject has not been covered yet, so this project will serve as an early investigation of the subject.
4.3) What are the expect gains from doing this project
The development work will give me the opportunity to gain handy practice in a programming language. The project will give me a chance to put to use many of the techniques and concepts which I have learnt in my coursework. Database development methods and the application of formal systems development model to mention a few.
Furthermore, upon the completion of the project, JJ Video Library store will have a powerful tool which they can use to store and retrieve information more efficiently.
The development work will serve as the means for meeting the requirements of the B.Sc. ICTM project component. The project will enable me to improve my software development ability by developing a considerably sized software application, thus allowing me to gain valuable experience in:
planning and organizing project work
problem-solving
systems analysis
systems design
programming and testing
4.4) Video rental industry background study
The movie rental industry has changed drastically over the years. Previously, movie fans could only rent movies at their local movie renting store, but the birth of new technologies and movie distribution methods has changed the way the movie rental industry operates. Today, there are three major ways for movie buffs to obtain their movies: the traditional movie rental store, online movie rental services, or no-return movie rental services.
While the movie rental industry is rapidly changing, movie rental stores are still very financially successful. Movie rental stores make their money through a number of different methods including membership fees, rental fees, late fees, and movie purchases. Because online movie rental services are both cheap and convenient, they are quickly becoming a strong competitor within the movie rental industry.
Both options are ideal for movie rental enthusiasts who enjoy renting movies regularly but don’t want to be bothered with returning the movies.
One of the leaders in no-return movie rentals, Flexplay, offers superior quality and convenience over other no-return movie rental companies.
Scope & System Requirements
5.1) Scope
The scope of the system will be limited to the core business functions (Connolly & Begg, 2004: 132) of JJ Video Library, namely:
To maintain (enter, update, and delete) data on videos
To maintain (enter, update, and delete) data on members
To maintain (enter, update, and delete) data on video rentals
To maintain (enter, update, and delete) data on staff
To perform searches on videos.
To perform searches on video rentals.
To perform searches on members.
To report on videos.
To report on members.
To report on video rentals.
5.2) System Requirements
Usage of the database application will be restricted to two groups of users, namely the supervisor who will have unrestricted access to the system and the other staff members who will have limited access to the system.
To effectively meet the needs of JJ Video Library the functionalities listed below need to be delivered. Due to the time constraints the project will only deliver the contents of this specification.
The system will provide the following functionality:
Log in
Connect to MySQL database: username & password.
Locate user in employees table.
Log out
Terminate MySQL database connection.
Check in and out
Find customer & show details.
Show customer’s current rentals.
Return a video on time.
Return a video late & pay fine.
Return late video without paying.
Paying outstanding fines.
Locate video details to check out.
Check a video out.
Search
Search for a movie.
List genres.
Add title
Add the new title to the database.
Find the ID of the film we just added.
Create copies of the film.
Find existing artist.
Connect the artist with the film.
Get genres.
Sign up
Add new customer details.
Get ID of new customer.
Create a user account
Add a new user.
Grant privileges to user.
Remove a user account
Get the username of the user.
Remove the user from database.
Revoke user’s privileges.
Get user ID.
List all debtors
Show list of customers with unpaid fines.
Deliverables
6.1) Development Approach
For this project I plan on using the Waterfall systems development life cycle model and an object oriented development approach using UML diagramming tools to model the system’s architecture.
The waterfall model (Pressman, 2005: 79) will allow for a systematic, sequential approach to software development that will begin with customer-specification of requirements and will progress through planning, modeling, construction, and deployment, culminating in on-going support of the completed software. The figure below shows the proposed model.
Waterfall Systems Development Model
(Pressman, 2005: 79)
Another reason for choosing the waterfall model (Pressman, 2005: 79) was because the requirements for the project are fixed and work is to proceed to completion in a linear manner. And if there is any change in the requirements the model will provide for feedback loops (iteration).
6.2) Artefacts
The following parts of the project life cycle are part of this document. These include project initiation, project feasibility and requirements analysis. A high-level design document will be the next deliverable. After that for each stage the following deliverables will be produced at the listed phases:
Detailed Design
Requirements Specification
User Interface Design
Database Design
Entity Relationship Diagram
Data Dictionary
Functional Design
Use Case Diagram
Class Diagram
Sequence Diagram
Deployment Diagram
Build
Working Application
Test
Test Plan & Test Cases for:
Acceptance Testing – To get a small sample of user opinions.
Performance Testing – To test the speed of the system under load, in a live environment.
Implementation
User Guide
Additional deliverables required for the B.Sc. ICTM project component that will be produced include:
Final Project Report.
Formal Oral Presentation
Timing
7.1) Major Milestones
Appendix A gives a detailed breakdown of the hours I have at my disposal to work on the project. I am convinced that I will be able to deliver within the target dates.
ID
Milestone
Hours
Start Date
Target Date
PID
Project Plan/Requirements Analysis
75
18 January 2011
31 January 2011
HLD
High-level Design Document
75
01 February 2011
14 February 2011
Development Phases
DP1
Core System/Database structure
35
15 February 2011
21 February 2011
DP2
Login_logout
17
22 February 2011
24 February 2011
DP3
Check_in_out
18
25 February 2011
28 February 2011
DP4
Search
35
01 March 2011
07 March 2011
DP5
Add_title
35
08 March 2011
14 March 2011
DP6
Sign_up
35
15 March 2011
21 March 2011
DP7
Create_user_account
35
22 March 2011
28 March 2011
DP8
Remove_user_account
35
29 March 2011
04 April 2011
DP9
List_debtors
35
05 April 2011
11 April 2011
FPR
Final Project Report
105
12 April 2011
02 May 2011
Total
535
18 January 2011
June 2011
Additional Information
8.1) Project Organisation
The project will be conducted entirely by myself.
The project supervisor will be Mr. Almasi Maguya.
8.2) Resources:
The following tools will be put to use during this project:
Tool
Description
Apache 2.2.17
Web Server.
PHP 5.3.3
Scripting Language.
Star UML 5.0
UML Diagramming Tool.
Komodo Edit 6.0.3
Text Editor.
Microsoft Project 2003
Project Management Software.
MySQL Workbench 5.2.31
Database Design Tool.
MySQL 5.5.8
Relational Database Management System.
Adobe Photoshop CS4 Extended
Graphics Editing Tool.
OpenOffice.org 3.2.1
Office Suite.
Order Now