Documente Academic
Documente Profesional
Documente Cultură
B
S
T
R
A
C
T
V
a
ri
o
u
s
d
o
c
TABLE OF CONTENT
Project
proposal.2
Methodology and Development
plan.14
Requirements
documentation.19
Design
document.26
Testing
document.48
User
manual.
51
Customer sign
off.61
1 | Page
PROJECT PROPOSAL
Group
information..
.3
Project
introduction
3
Background and
purpose4
Aims and
objectives4
Identify
requirements5
Risk
management
.7
Schedule
.10
Feasibility
.10
2 | Page
Group Information
Surname & Student
Name
Email Address
number
Ramaano Mukovhe
(group leader)
201470828
Ramaanomukovhe6@gmail.com
Phiri Nomcebo
201499939
cebophiri@gmail.com
Gumedze Happy
201492517
201492517@student.uj.ac.za
Maseko Charles
201173528
masekocharuzu@gmail.com
Makhari Lesley
201422213
201422213@student.uj.ac.za
Koza Thuto
201472842
201424603@student.uj.ac.za
Kubeka Aphelele
201471063
Aphelele.kubeka@gmail.com
3 | Page
when there is too much traffic websites tend to process applications for
orders slowly, this could easily make a customer option for other online
shopping environments. It also needs to be reliable to increase to customer
trust; there must never be a situation where the website is offline or
unavailable to users because that could annoy and possibly make them stop
using the website.
The main objective of this project is to positively influence the businesses
bottom line by the means of increasing revenue streams and escalating
customer satisfaction. The store will digitize its systems to introduce remote
access and maintenance via the site, to keep track of inventory and
customer buying habits. This will aid in the stock taking and management
process, it will save time and increase efficiency in the work place.
A group of web developers and stakeholders meet three times a week to
establish and discuss plans and purposes including a detailed business
case. We as web developers have established a time schedule to keep track
of all milestones. Most critical objectives will be covered in the requirements
documents.
Requirements
Requirements will be divided into 3 categories namely functional, nonfunctional and technical. And also the non-functional are categorized in 2
groups external and internal non-functional.
FUNCTIONAL
Registration feature of the user
Login user feature
Administrative access
Accept customer order
User logout feature
EXTERIOR NON FUNCTIONAL
Usability
Reliability
correctness
5 | Page
INTERIOR NON-FUNCTIONAL
Efficiency
Style/Elegance
Reusability
Durability
Appearance
Structure
Database
Appearance
Configuration
Availability
Environment
Safety
Portability
Security
Flexibility
Privacy
Testability
Scalability
Maintainability
Stability
Supportability
Integrity
Manufacturability
Usefulness
Operability
Delightfulness
Understandability
Operability
Documentation
Performance
Capacity
Supportability
Adaptability
6 | Page
Cost-Effectiveness
TECHNICAL REQUIREMENTS
Domain name
Web hosting
Web pages
1.
Risk Management
Results measurement
Graphic Design - The graphic design cost will depend on the features
which will be included in the requirements document. Templates can also
be provided for the bookstore to choose and have an option of pricing or
cost.
Web stream setup Web stream modules are used to create and develop
new modules for a sites content which will also depend on the
requirements document issued by the small movie store.
Domain Name The small movie store will need to purchase a domain
name or web address which will be able to allow customers to locate the
movie stores products and services online.
The sites monthly costs includes hosting ups and daily backups, 25
email accounts at your domain or web address, a hosting and email
management console and web traffic statistics. Maintenance of the web
page will be priced according to the request made to the administrators
of that site.
2.
7 | Page
Risk Assessment
All the risks posed by the solution scope of the website are able to be bared
by the movie store company because the site it is a cost-effective tool that
is highly capable of increasing revenue for the movie store. The
functionality of the site will be developed using proper standards which
prevent high risks such as security
3.
Risk Control
4.
Project Risk
Below is the Preliminary Risk Analysis Worksheet resulting the risk item with
its risk level and score:
Risk Item
Availability of resources
The shortage of resources could affect the
profit of the movie store. For example:
older equipment may run slower than
newer equipment, which
will require more maintenance for it to
work with the newer equipment
Reliability of resources
It can be very costly if you ignore any of
the stakeholders (such as the sponsor of
the project) expectations and it can hugely
impact the project negatively like delay in
deliveries.
Legal issues
A movie store, just like any other
businesses have insurance to protect it
8 | Page
Risk Level
High
Risk level
score
Low
Medium
Low
High
Medium
Medium
Low
High
Medium
High
Low
Competitor activity
Choosing to go virtual may have a positive
and a negative impact within a movie
store. It increases the profit which is a
good thing, but also increases competition.
Change in technology
High
Medium
Medium
Low
High
Medium
High
Medium
Low
High
Medium
Low
Vandalism
hard drives being destroyed, or logos
being defaced
High
Medium
Medium
Low
Service Failure
system comes down for hours because of
the lack of network
High
High
Medium
Low
Human Error
incorrect code
High
Medium
9 | Page
Medium
Low
Natural Disasters
floods destroying the hardware resources
High
High
Medium
Low
Theft
someone internal or external, stealing the
ideas of how our website is going to be
High
Low
Medium
Low
Schedule
Task
Create Login System
Create update system
create search system
create database
fully functioning website
Start Date
Duration
02-Oct
06-Oct
11-Oct
26-Oct
30-Oct
3
4
14
3
1
Weaknesses
too little time to finish product
little experience on an online store
Threats
there are already existing online
video rental platforms that people
know and love
competition from rivals
customers not warming up to the
things
new website
Requirements/Criteria
Comparisons/Overview of Alternatives of Blockbuster
Movies and other online movie stores
Possible Alternatives
1. Mergers Sending the movies from the physical store to a well-established
organization such as PicknPay, it already has its own customer base so you
are guaranteed a certain amount of sales, because the youd have access to
a larger market
Advantage - more customers without the marketing madness.
Disadvantage Blockbuster movies would have to pay PicknPay a certain
percentage for selling their movies in there store.
2. Promotions Hiring marketing companies to try and market the existing
brick and motor shop, using adverts and campaigns.
Advantage it would make Blockbuster Movies more popular in society and
turn the brand into a household name.
Disadvantage does not guarantee the increase in sales.
12 | P a g e
Total
R160 000
R1 500 000
R750 000
R165
00
635
Operational
Market
Increased quality
of products and
services because
of the new
functions of the
new website.
Reduction in
production time,
because
processes will be
easier to do.
Competitive
advantage will
increase because
there are a lot of
other similar
shops online
Greater market
share because of
the websites
ability to reach a
large number of
customers.
12hrs
80%
Conclusion
In conclusion Blockbuster Movies is a digital rental platform online that provides
the best quality movies for customers that are interested. The better the quality of
the movie and the longer the movie is; the more expensive it will be. Blockbuster
Movies will also generate revenue through the pop up adds that other established
companies will ask to add as the Blockbuster Movies becomes more and more
popular. More revenue will be taken by a certain percentage from PayPal, of every
registration they get through Blockbuster Movies. The website needs to be up and
running by the 31st of October. Possible alternatives are mergers and hosting a
series of promotions.
Methodology
15
Development
plan17
Gantt
chart
18
15 | P a g e
METHODOLOGY
We have chosen agile methodology, it is a fast, flexible and versatile
method in development where developers work in sprints to accomplish
goals in short time frames, spanning 12 weeks.
We have chosen this methodology because while there is still a roadmap of
developments and implementations that is mapped out along a continuum,
they are separated into short buckets so that tasks can be updated,
changed or prioritized on the fly. Testing is less rigorous because each
release is small allowing you to control most of the variables. In fact, agile
developers grew out of the waterfall method after developers recognized
that its processes werent effective in a constantly evolving landscape like
an e-commerce site.
Since e-commerce is in an evolving landscape, this means that new
developments can be capitalized quickly .Business needs change all the
time, especially in e-commerce, whatever the reason for change agile
developers gives merchants the ability to change, alter and shift
development plans with much more flexibility and ease than the waterfall
methodology.
Agile approach is good for many reasons. but agile development does
require certain things that can be also be a disadvantage.
Here is a list of my potential disadvantages:
1) Active user involvement and close collaboration is needed throughout
the whole development cycle. These is very
2) In case of some software deliverables, especially the large ones, it is
difficult to assess the effort required at the beginning of the software
development life cycle.
3) There is lack of emphasis on necessary designing and documentation.
4) The project can easily get taken off track if the customer
representative is not clear what final outcome that they want.
5) Only senior programmers are capable of taking the kind of decisions
required during the development process. Hence it has no place for
newbie programmers, unless combined with experienced resources.
16 | P a g e
17 | P a g e
Activity
description
Person
responsible
Durati
on
Start
date
Create login,
customer
registration and
access feature
Maseko Charles
and
Makhari Lesley
3days
02/10/2016 05/10/20
16
Update movie,
customer, genre
and user
information
Search, add and
buy products from
the store
4days
06/10/2016 10/10/20
16
Phiri Nomcebo,
Kubeka Aphelele
14days
11/10/2016 25/10/20
16
Creating a
database
Ramaano Mukovhe
3days
26/10/2016 29/10/20
16
Completing the
whole website
Maseko Charles,
Phiri Nomcebo,
Ramaano
Mukovhe,
Gumedze Happy,
Kubeka Aphelele
Koza Thuto,
And Makhari
Lesley
1day
30/10/2016 31/10/20
16
18 | P a g e
End
date
GANTT CHART
Create an Ecommerce
Site
Task
Create Login System
Create update system
create search system
create database
fully functioning website
Start Date
Duration
02-Oct
06-Oct
11-Oct
26-Oct
30-Oct
3
4
14
3
1
Gantt Chart
2-Oct
7-Oct
12-Oct
22-Oct
1-Nov
17-Oct
27-Oct
6-Nov
Axis Title
Duration
Start Date
Axis Title
19 | P a g e
20 | P a g e
REQUIREMENTS DOCUMENTATION
Functional
requirements
20
Non-Functional
requirements...21
Technical
requirements..
25
21 | P a g e
Functional requirements
1. Registratio
n Feature
of User
*This feature
enable user to
register online
and become an
official customer
of Blockbuster
Video.
2. Login user
feature
*This feature
allow user to
enter their
username and
password to
access the web
pages
3. Administrat
ive Access
*The system
22 | P a g e
input
Proces output
s
The database is
required to save
information
provided by the
user.
Password and
Username the
user used to
register their
account.
If the information
provided by the
account holder is
correct or found in
the database then
the user will be
logged and able to
shop from
Blockbuster Movies,
but if the information
provided by the user
is not stored in the
database the web
will give a user a
chance to enter the
details again
After processing
details of the
employee of
verifying the
Administrator
and employee
valid user
name and
Administrator
login should
be
authenticated
4. Accept
Customer
order
*This feature
allow customer to
order whatever
items they need
online, if they are
available at
Blockbuster Video
5 User Logout
feature
This feature
insures that the
user can close all
tabs on the site
through logging
out on the site for
security purposes
password are
required for
the login
details for
primary and
secondary
access in the
database that
is made
available on
the site.
by the stored
database
which has the
actual account
of the
administrator
and the
employee.
account, the
employee will be
able to modify
products on the
site and the
administrator will
modify all
documented
information about
the user and
customers.
input
process output
Non-Functional Requirement
23 | P a g e
Explanation
Usability
Reliability
Correctness
Durability
Appearance
Availability
Safety
24 | P a g e
Security
Privacy
Scalability
Stability
Integrity
Usefulness
Delightfulness
Operability
Performance
Capacity
Supportability
Adaptability
Cost-Effectiveness
25 | P a g e
them
Explanations
Efficiency
Style/Elegance
Reusability
Structure
Database
Configuration
Environment
Portability
26 | P a g e
Flexibility
Testability
Maintainability
Supportability
Manufacturability
Operability
Understandability
Documentation
Technical Requirements
Technical Requirements
Explanations
Domain name
Web hosting
27 | P a g e
Web pages
DESIGN DOCUMENT
Introduction
.27
Architectural Goals and
Constraints...28
Interfaces
...28
Logical
view
37
Size and
performance.
...47
28 | P a g e
Quality
47
Introduction
1.1 Purpose
This document provides a complete overview of the system, using
several
different architectural views to illustrate different parts of the
systems It is intended to capture and show the important design decisions
that have been made on the system.
1.2 Scope
29 | P a g e
The aims are to create a website that is quick, easy to use and has a lot of options
for customers to choose from. It needs to be scalable; the website should easily
adapt to any changes, even an increase in traffic. Sometimes when there is too
much traffic websites tend to process applications for orders slowly, this could
easily make a customer option for other online shopping environments. It also
needs to be reliable to increase to customer trust; there must never be a situation
where the website is offline or unavailable to users because that could annoy and
possibly make them stop using the website.
The main objective of this project is to positively influence the businesses bottom
line by the means of increasing revenue streams and escalating customer
satisfaction. The store will digitize its systems to introduce remote access and
maintenance via the site, to keep track of inventory and customer buying habits.
This will aid in the stock taking and management process, it will save time and
increase efficiency in the work place.
A group of web developers and stakeholders meet three times a week to establish
and discuss plans and purposes including a detailed business case. We as web
developers have established a time schedule to keep track of all milestones. Most
critical objectives will be covered in the requirements documents.
1.3 Definitions,
Acronyms, and Abbreviations
This is a
comprehensive
list of all terms
used in
document.
this
User A person who can interact with the software it can be an employee or
end user
(customer).
Client The
Blockbuster movie store.
Movie Inventory The detailed list of movies
in stock.
Database (DB)
An organized (structured) body of related information.
Sales
The
overall money transaction during a specified
time
interval.
TransactionThe exchange of goods or services
for legal tender.
1.4 References
None.
1.5 Overview
In the following sections, we outline the webstore in higher detail. We will start with
defining the key features that will be implemented next, we will discuss the
constraints that will be imposed upon the webstore and the quality ranges, in other
words, the robustness, fault tolerance and usability of the web store in the
precedence and priority section we will comment on the most important
functionalities of the webstore.
We giving a clear discussion on all other webstore requirements. Such as
performance requirements, platform requirements and environmental
30 | P a g e
The web store will run on a dedicated platform (PHPmyAdmin) with access to
be SQL database.
The web store receives input from the customers.
The web store products output from the database to the customers.
The database save all information that is provided.
All transactions are performed in real time
interfaces
3.1 User Interfaces
31 | P a g e
Brief Description
In this use case the system records a transaction into the transaction database.
Actors
Website, Transactions Database
Basic Flow of Events:
1. This use case begins with the system receiving input from the website of
a new sale.
2. The system creates a new entry in the database.
3. The system records the date, time, transaction ID, name of customer,
number of items and purchase amount into the database.
4. End of use case.
Alternate Flow of Events:
#1 The system receives notification of a transaction - refund
1. This use case begins when the system receives input from the website of
a refund.
2. The system creates a new entry in the database.
3. The system records the date, time, transaction ID, name of customer,
number of items and purchase amount to the database.
4. The system sets a flag to record that the transaction was a refund.
5. End of use case.
3.3.3 Updated Customer Info
Brief Description
The purpose of this use case is for the system to update the customer information
based on the input from the website.
Actors
Website, customer info Database.
Basic Flow of Events:
1. This use case begins with the system receiving input from the website.
2. The system receives the customer name, telephone number, address and
searches the customer database for the given customer.
3. The system does not find the customer.
33 | P a g e
4. The system creates a new entry and records the customer details into
the database.
5. This use case ends.
Alternate Flow of Events:
#1 The system does not find a customer in the customer database adds
a new entry. This use case begins with the system receiving input from
the website.
1. This use case begins with the system receiving input from the website.
2. The system receives the customer name, telephone number and address.
The system searches the customer database by name and finds a match.
Other details for that customer are different.
3. The system sends a prompt to the website system to determine if the
customers details have changed.
4. The website returns no; a new entry is added into the customer info
database.
5. This use case ends.
Alternate Flow of Events:
#2 The system finds a match for a customer by name, but other details
are different. Customer responds verifies information. The system
updates the customer info.
1. This use case begins with the system receiving input from the website.
2. The system receives the customer name, telephone number and address.
The system searches the customer database by name and finds a match.
Other details for that customer are different.
3. The system sends a prompt to the website system to determine if the
customers details have changed.
4. If the website returns yes, then the details are updated
5. The use case ends.
Alternate Flow of Events:
#3 The system finds a match for a customer by name, but other details
are different. Customer is unable to verify the information. New entry is
added to the database.
1. This use case begins with the system receiving input from the website.
2. The system receives the customer name, telephone number and address.
The system searches the customer database by name and finds a match.
Other details for that customer are different.
3. The system sends a prompt to the website system to determine if the
customers details have changed.
4. The website returns no; a new entry is added into the customer info
database.
5. This use case ends.
3.3.4 Update Quantity
34 | P a g e
Brief Description
The purpose of this use case is for the system to increase or decrease the
number of movies in the movie database.
Actors
Website, movie Database.
Basic Flow of Events
1. This use case begins with the system receiving input from the website.
2. The system receives the barcode of the movie sold and a code for refund
or sale.
3. The system searches the movie database (by barcode) for the sold
movie.
4. If the code indicates that the movie was sold; it decrements the movie
quantity. If the code indicates a refund, it will increment the movie count
by one.
5. End of use case.
Alternate Flow of Events:
#1 Attempts to decrease the number of movie, when quantity is zero.
1. This use case begins with the system receiving input from the website.
2. The system receives the barcode of the movie sold and a code for refund
or sale.
3. The system searches the movie database for the specified movie.
4. The quantity field is decremented and the movie count becomes -1.
5. The system then prompts staff that the quantity is below 0.
6. This use case ends.
3.3.5 Delete Movie/Category
Brief Description
This use- case describes the process by which the system deletes a movie record
in the database. It also describes the process if a manager wants to delete a
category of movie.
Actors
Managers, Employees
Basic Flow of Events: Delete movie
1. The use case begins when a manager or employee utilizes the search
function.
2. The employee or manager employs the search with any of the search
choices listed by the system.
3. The employee or manager activates the search if they selected a search
choice.
4. The system locates and highlights the desired movie.
5. The employee or manager deletes the movie by clicking delete on the
system menu.
6. The system displays a message to the employee or manager to confirm
the deletion transaction
7. The use case ends.
35 | P a g e
5. The use case generates and returns the list from the found, movies using
list results use case.
6. The use case ends.
Alternative Flow of Events:
#1 Search for movie/s did not find specific movie/s.
This flow of events describes the process of making changes to previous selection.
It follows the basic flow of events up to step three (3).
1. The use case begins when an actor requests for a search of movies.
2. The use case prompts the user for a search parameter;
i.
Search by barcode.
ii.
Search by movie name.
iii.
Search by director
iv.
Search by publisher
3. The use case prompts the user for appropriate information based on the
choice of method
4. The use case attempts to process the provided information.
5. The use case displays an appropriate message indicating the provided
information is incorrect and what information is required to continue with the
search.
6. The use case restarts the process from steps three; - The use case can
restart from step one if the user wishes to change the search parameter.
7. The use case ends.
3.3.8 Login
Brief Description
This use case describes the process of verifying identity to access a certain
feature. In this case, it is being used to limit access of managing Blockbuster movie
prices to only managers
Actors
Managers, Employees.
Dependencies
Add movie, delete movie, Update quantity, Update price, Sales/Refund, Request
sales report, Request report (pretty much everything that request you to login
beforehand)
Basic Flow of Events: Login, No error
1. This use case begins when an actor attempts to manage movie prices.
2. The use case prompts the user for a login and password information.
3. The use case process this information after the user presses enter.
4. The use case gives access to the movie store prices
5. The use case ends.
Alternate Flow of Events
#1 Login, incorrect password/username
The flow of events describes the process of making changes to previous selection.
It follows the basic flow of events up to step three (3)
39 | P a g e
1.
2.
3.
4.
5.
This use case begins when an actor attempts to manage movie prices.
The use case prompts the user for a login and password information.
The use case process this information after the user presses enter.
The use case attempts to verify the provided login information is correct.
The use case displays an appropriate message indicating the provided
information is incorrect and how many attempts left.
6. The use case restarts the process from step one if the number of attempts
left is not zero.
7. The use case locks access to this feature if number of tries left is zero.
8. The use case ends.
3.3.9 Low/Over/Out of stock Alert
Brief Description
This use case describes the how alerts are handled when movie store items are in
a low stock, out of stock and over stock alert state.
Actors
Movie store system.
Dependencies
Reports.
Basic Flow of Events: Low/Over/Out of stock Alert occurs
1. The use case begins automatically at the end of the day when the movie
store system checks the movie database searching for three alert types
which are low stock, out of stock, or overstock movies
2. For each low/out of/over stock movie found the system writes into the report
the movie information such as movie name, alert type and quantity.
3. The system creates an alert message that will be seen on next manager
login that the report has new alerts.
4. The use case ends.
Alternative Flow of Events:
#1 Low/Over/Out of Stock alert does not occur.
1. The use case begins automatically at the end of the day when the movie
store system checks the movie database searching for three alert types
which are low stock, out of stock, or overstock movies
2. No alerts are found within the movie database.
3. The system writes into the report that no alerts were found.
4. The use case ends.
Logical
4.1
40 | P a g e
Overview
View
Figure
4.2 Architecturally
Significant
Design
Packages
4.2.1 Manager UI
Brief
Description
Boundary
interface
with
the
Manager
UI
for
a
manager
system.
provides
an
to
interact
Methods
41 | P a g e
Acces Retur
s
n
Public Void
Name
Description
viewMovies()
This
user
Public
Void
manageMovies()
Public
Void
manageCustomerI
nfo()
method
is
the
interface
that comes
up
when
a
manager
needs
to
view
movies.
This
method
is
the
user
interface
that comes
up
when
a
manager
needs
to
manage
movies.
This
method
is
the
user
interface
that comes
up
when
a
manager
needs
to
manage
a
customer
information
Public
Void
downloadReport()
This
user
method
is
the
interface
that comes
up
when
a
manager
needs
to
request
a
report
to
be
downloaded.
4.2.2 Login UI
Brief
Description
Login
every
user
UI
to
provides
log
in
an
to
interface
for
the
system.
Methods
4.2.5
Acce
ss
Retur
n
Name
Description
Privat
e
Void
submit()
This
the
Privat
e
Void
chooseUserType()
This
Public
Void
openEmployeeUI()
Public
Void
openCustomerUI()
Public
Void
openManagerUI()
Create
Report
42 | P a g e
method
login
verifies
information
method
is
to
determine
type of
user
to
login
This
method
is
user
interface
that
up
when
employee
needs
login
This
method
is
user
interface
that
up
when
customer
needs
login
This
method
is
user
interface
that
up
when
manager
needs
login
used
what
needs
the
comes
an
to
the
comes
a
to
the
comes
a
to
Brief
Description
Control
This class
reports on
specified
Attributes
Type
Acce Name
ss
generates
basis.
automatic
Description
MovieLi
st
Privat
e
OutOfStockList
List
of
are
Movies
out
of
which
stock
MovieLi
st
Privat
e
LowStockList
List
of
are
Movies
which
over stocked
MovieLi
st
Privat
e
OverStockList
List
of
are
Movies
which
low
stocked
File
Privat
e
ReportFile
A
file
which
contains
all
the
alerts
that is
used
to
send
over to
IO
Name
Description
checkMovieInvent
ory()
Checks
Methods
Acce
ss
Privat
e
Retur
n
void
out
over
is
Privat
e
43 | P a g e
Void
insertMovieAlert()
each
movie
for
low
stock,
of
stock,
or
stock
alerts.
If
a
movie
in
an
alert state
checkMovieInventory()
calls
insertMovieAlert().
Inserts
a
movie
into
one of
three
lists
:
Low-stock movies,
Out-of
Stock
movies
and Over-Stocked
movies.
4.2.7
Brief
Sales
Database
Description
Entity
necessary
Class
attributes
movie store
that
and
contains
methods
all
associated
with
sales.
Attributes
Type
sales
Acces
s
Public
Name
Description
salesArray
the
array
contains
all
of
type
Retur
n
Void
Name
Description
sort()
inherits
parent
'database'
the
off
fields
associated
type
'sale'
that
records
sales
Metho
ds
Access
Public
from
class
but
focuses
sort based
any of
the
with
4.2.8 Sale
Brief
Description
Entity
-
information
transaction
Attributes
44 | P a g e
Class
associated
that
with
stores
all
a
movie store
of
Type
Name
Description
float
Acces
s
Private
Amount
String
Private
Datatime
String
Private
Customer
name
contains
the
of
the
contains
the
time
of
when
transaction
took
contains
the
last
name
customer
who
the
purchase
total amount
purchase
date and
the
place
first and
of
a
made
Methods
Acces Retur
s
n
Public Void
Public
Void
Privat
e
void
Name
Description
getCustomerName This
method
gets the
()
purchasing
customers name
in
the
sale
transaction
from
web
store
getAmount()
This
method
gets the
total
amount
charged
in
that transaction
from
web store
recordDateTime()
This
method
records
the
date and time of
the
transaction
from
the
system
timer
4.2.9 Database
Brief
Description
Entity
-
The generic
databases.
Contains
all
that every
database
class
attributes
shares
for
and
or
all
methods
inherits.
Attributes
Type
Acces
s
Intege Public
r
45 | P a g e
Name
Max
Description
size
An
that
integer
stores
number
within
database.
value
the
current
of
entries
the
Intege Public
r
Min
string
Default
Public
size
type
An
integer
value
that
stores
the
minimum
number
of
entries
possible
within
the
database(normally set
to
0,
but
any number
of
0
denotes
default
database
entries
that
are
not
counted).
sort A
string
value
that
stores
the
current
sort type that the
database
is
sorted
by.
Methods
46 | P a g e
Public
Void
Delete()
Public
Void
Search()
Public
void
Sort()
Description
A
void method
that
takes
in
an
entry
and
inserts
it
into
the
database
in
the
appropriate
index
based
on
the
current
default
sort type.
A
void method
that
takes
in
a
value
and
deletes
the
appropriate
entry
with
that
value
based
on
the
current
default
sort type.
An
integer
method
that
returns
the
index
of
the
entry
that
contains
the
string
value
given
as
a
parameter based
on
the
current
default
sort type.
A
void method
that
performs
a
Quick
Sort
based
on
the
parameter
given,
which
is
the
sort type
performed.
function
the
default
to
the
type
that
was just
The Sort ()
then sets
sort type
of
sort
performed.
4.2.10 Movie
Database
Brief
Description
Entity
a
type
-
A
database
Movie.
Type
Acces
s
Public
class
for
that stores
the
creation
values
of
of
Attributes
movie
Name
Description
movieArray
The
that
of
actual
array
contains
values
type Movie.
Methods
Brief
Acce
ss
Return
Name
Description
Public
void
sort()
Inherits
from
the
superclass
Database.
Only
allows
for
the
array
to
be
sorted
based on
the
appropriate
field types
that
Movies
can have.
5.2. Movie
11
Description
Entity -
pertinent
A
class
information
for
storing
all
the
contained
within
each
unique
movie.
Attributes
Type
String
47 | P a g e
Acces
s
Private
Name
Description
Title
The
movie
full
title
(constant).
of
the
Strin
g
Private
Director
The
movie
director
(constant).
of
the
String
Private
Publisher
Float
Private
Price
Int
Private
Quantity
The
publisher
of
the
movie (constant).
The
current
price
of
the
movie
(variable).
The
current
number
of
this movie
in
stock
(variable).
4.2.12 Login
Brief
Description
Control
interface
for
This class
users
to
system.
provides
log
in
a
to
user
the
Attributes
Type
Name
Description
String
Acces
s
Private
userName
String
Private
Password
String
Private
userType
This
login
user
This
login
user
This
type
attribute
name
is
of
the
the
attribute
password
is
of
the
the
attribute
of
the
is
user
the
Methods
48 | P a g e
Acces Retur
s
n
Public void
Name
Description
getUserType()
Public
void
openLoginUI()
This
method
gets the
type
of
user from
user
through
a
user
interface
window
This
method
opens
the
appropriate
loginUI
Public
void
getUserName()
This
method
user
login
through
the
UI
gets the
name
login
Public
void
getUserPassword()
This
user
the
method
password
login
gets the
through
UI
4.2.13 Login
Database
Brief Description
Entity This class stores all username and passwords for users that have access to
the system.
Attributes
Type
String
Acces
s
Public
Name
Description
logInArray
An
array
of
information
required
login
for
Methods
Acce
ss
Return
Name
Description
Public
void
Sort()
This
method
can sort
all
the
usernames and
passwords
in
specific
parameters
such
as
Type,
Last
name,
privilege,
4.2. Customer
14
Brief Description
Control This class provides functionality to the
system to store
customer information in the database.
Attributes
Type
Acces Name
Description
s
String Private Name
This
attribute
is
the
customer
's
name
String Private EmailAddress
This
attribute
is
the
customer's
Email address
string Private phonenumber
This
attribute
is
the
customer
's
phone
number
49 | P a g e
Methods
Acce
ss
Retur
n
Name
Description
Public
Void
getName()
Public
Void
getEmailAddress()
This
method
gets the
name of
the
customer
This
method
gets the
customers
email
address
Public
Void
getPhoneNumber(
)
This
method
gets
customers
phone
the
number
4.2.15
Customer
Database
Brief Description
Entity This class stores all the information from each customer.
Attributes
Type
Name
string
Acces
s
Public
Acce
ss
Retur
n
Name
Description
Public
Void
Sort()
This
method
can sort
all
the
username
and
password
in
specific
parameters
such
as
Type,
Last
name,
privilege,
Public
Void
getCustomer()
This
new
Public
Void
updateCustomer()
customerArray
Description
This
all
array
holds
the
customer
information.
Methods
50 | P a g e
method
gets a
customers information
and stores
it
in
the
customer
database
This
method
updates
an
existing
customers
information
Size
and Performance
Quality
To maintain
the highest degree of system integrity our system
will ensure that all information transactions are saved. Backup of all
databases will occur on a daily
basis.
During minimum activity hours. The system will allow the
administrator to download pdf report and transaction history for a
specified time.
51 | P a g e
TESTING DOCUMENT
Problem
scenario.49
Test
1
.49
Test
2
.50
Test
3
.50
52 | P a g e
Problem Scenario
We are going to be testing each requirement for the module store to make sure
that we have a fully functioning website at the end of the day.
We will be testing the following requirements:
Login as a customer
Register as a new customer
Verification of account through email
Login as an employee
Update movie information
Update customer information
Update genre information
Update user information
Provide search box for product information
Add to shopping cart
Buy from shopping cart
Updating of the transaction table
Logout
We will be using the following types testing methods:
1. UNIT TESTING the testing of a single module, checking for code errors and
execution errors, and if there were any things duplicated.
2. INTERGRATIN TESTING the testing of two modules that are linked/related to
each other to see if they work together properly.
3. SYSTEM TESTING the testing of the complete system, to see whether it
works as you expected it.
53 | P a g e
TEST 1
Requirements
Login as a customer
Register as a new
customer
Verification of account
Login as an employee
Provide access levels for
employees
Update movie
information
Update user information
Provide search box for
product information
Add movie to shopping
cart
Buy movie from
shopping cart
Update of the
transaction table
Logout
fail
fail
Pass/Fail
Integration testing
Unit testing
Integration testing
fail
fail
fail
System testing
pass
System testing
Unit testing
pass
pass
Unit testing
inconclusive
Integration testing
fail
System testing
fail
Unit testing
fail
Test 2
Requirements
Login as a customer
Register as a new
customer
Verification of account
Login as an employee
Provide access levels for
employees
Update movie
information
Update user information
Provide search box for
product information
Add movie to shopping
cart
Buy movie from
54 | P a g e
Pass
Pass
Pass/Fail
Integration testing
Load testing
Integrated testing
Fail
Pass
Fail
System testing
Pass
System testing
System testing
Pass
Pass
System testing
Fail
System testing
Fail
shopping cart
Update of the
transaction table
Logout
System testing
Pass
Unit testing
Pass
Test 3
Requirements
Login as a customer
Register as a new
customer
Verification of account
Login as an employee
Provide access levels for
employees
Update movie
information
Update user information
Provide search box for
product information
Add movie to shopping
cart
Buy movie from
shopping cart
Update of the
transaction table
Logout
55 | P a g e
Pass/Fail
Pass
Pass
Integration testing
Load testing
Integrated testing
Pass
Pass
Pass
System testing
Pass
System testing
System testing
Pass
Pass
System testing
Pass
System testing
Pass
System testing
Pass
Unit testing
Pass
blockbuster video
WEBPAGE DOCUMENTATIONS
USER MANUAL
56 | P a g e
Table of contents
Purpose of this
document
.53
Icons used in this
manual
... 53
Presentation of the
solution.
53
a. Brief description
b. Project players
Connecting to the
website
.54
c. Address
d. Authentication
Blueprint of the
website
. 54
e. Login page
f. Create account/Registration
g. Home page
h. Navigation Bar
i. Categories and dropdown menus
j. Contact us
k. My account
l. Cart
m.
Logout
57 | P a g e
Additional contact
information
60
58 | P a g e
59 | P a g e
THUTO KOZA
APHELELE KUBEKA
* MUKOVHE RAMAANO
* CHARLES MASEKO
HAPPY GUMEDZE
NOMCEBO PHIRI
* LESLEY MAKHARI
b) Authentication
Before gaining access to the website, you need to provide information that
can be used to identify you to sign in. This information is called your login
credentials and it is maintained in our database. This information will be
needed every time you access the website. For the Blockbuster Video
website, login credentials consist of an email address and password.
Blueprint of website
a. Login Page
The login page is part of the authentication process where youll provide
information that can be used to identify you. Fill in the empty fields to
successfully login in and proceed to the home page.
60 | P a g e
61 | P a g e
After clicking on the link, you will be directed to a webpage that will
request all your information that will be used to build your profile, this
page looks like this:
After filling in all the empty fields click on the create account button to
proceed.
62 | P a g e
c. Home Page
The home page consists of a header, a navigation bar and a product banner.
The product banner is the area on the webpage where the different products
are displayed.
d. Navigation Bar
The navigation bar can be used to access different the webpages of the
website and to conduct other activities such as viewing categorized
products, items in the cart and so on. This is what the navigation bar
looks like:
63 | P a g e
f. Contact us
If you have a comment or complaint about the website and you wish to
alert us about it then you need to click on the contact us button on the
navigation-bar. You will then be directed to a webpage where youll have
to attach your details to the feedback you wish to send to us. Heres
what the page looks like:
64 | P a g e
g. My account
If you wish to manage your account by means of deleting it or updating
certain information, then you need to click on the your account button
which is also resides on the navigation-bar. Heres what the page looks
like:
h. Cart
After browsing and selecting all the products you wish to purchase, you
can click on the cart button located on the top right hand side of the
navigation bar.
65 | P a g e
Once youve opened this webpage youll be able to view and remove any
unwanted items in your cart. After doing so, you can then click on the
green checkout button to pay the items that you wish to purchase.
Afterwards you should get a message telling you that you have
purchased your chosen items.
i. Logout
Once youve purchased your items and wish to exit the website then you
need to logout. To do so, you need to click on the Your Account button
located on the right-hand side of the navigation-bar. Underneath all the
account information, a logout link, which is highlighted in yellow below,
should be visibly clear, click on it to logout.
66 | P a g e
Additional information
If there are any queries that you would like us to attend to then please
contact our help desk at:
Tel: 0168829367
Cell: 0836359291
Video
Mukovhe
67 | P a g e
Completion Date: 02
November 2016
Project Duration: 1 Month
Sponsor: Blockbuster
management
Project Goal: To create an e-commerce / webpage for blockbuster
movie store to attract more customers.
Project Deliverables:
1. Planning document outlining from a technical perspective your project.
2. Fully functional project.
Date:
3 November 2016
Remarks:
68 | P a g e