You are on page 1of 30

FPT University

University of Greenwich

Project Design Implementation and Evaluation

Evaluating and documenting the project


Supervisor: Pham Van Vung

Nguyen Phuong Thuan


GC00853
Contents
INTRODUCTION ...................................................................................................................................... 3
TASK1........................................................................................................................................................ 4
1.1 Requirements specification............................................................................................................. 4
Introduction........................................................................................................................................... 4
Project aim ............................................................................................................................................ 4
Use roles ................................................................................................................................................. 4
Functional Requirements ..................................................................................................................... 4
Success criteria ...................................................................................................................................... 5
Conclusions............................................................................................................................................ 5
1.2 Analysis ............................................................................................................................................ 5
1.3 Design............................................................................................................................................... 6
1.4 Implementation ............................................................................................................................. 12
1.5 Evaluation ...................................................................................................................................... 13
1.6 Future work ................................................................................................................................... 29
1.7 Conclusion ..................................................................................................................................... 29
TASK2...................................................................................................................................................... 30
2.1 My plan from the beginning:........................................................................................................ 30
2.2 Features added / removed ............................................................................................................ 30
INTRODUCTION
This report will re-evaluate the created product as well as design documentation and maintenance of the
program.
TASK1
1.1 Requirements specification

Introduction

This site allows users to view products, order or lease products online.
On the staff side. The administration system allows staff to perform product management, orders, and
categories such as adding, editing, deleting, searching, returning items, etc.

Project aim

This system aims:


- Home site: View product by category, add product to cart, check out, user login.
- Admin site: Manage Products, Orders, Customers.
- With Products: Staff can Create, Read, Update, Delete and Search products.
- With Orders: Staff can view Order detail, Delete orders and Confirm Order after customer return
products.
- With Customers: Staff can view Customer detail, Delete customers.

Use roles

The system has three roles: Guest, User and Staff.

Functional Requirements

On the Admin site:


- Management Products
- Management Categories
- Management Orders
- Management Users
All of the function in the management are: CREATE, READ, UPDATE and DELETE.

On the Customer site:


- View product detail.
- Hire product, Reverse product.
- Add product to cart
- Check out (Customer need login for Check out, all of the Guests Click Checkout will be redirecting
to Login page.
- Login, Log out.

Success criteria

- Build a friendly and easy-to-use website for users.


- Admin site: Manage your data easily.
- Application: Easy to upgrade as well as maintenance.
- Make sure the program is running correctly.

Conclusions

In summary, the required functions, such as the Manage product, the hire product, are the main functions
of the program. Priority must be given (do first).

1.2 Analysis

 Use-case Diagram:
The system has three roles: Guest, Customer and Staff (Admin).
Guest: Get access to product details, add product to cart.
Customer: Get access all of the function of a guest. In addition, the customers are allowed to hire products,
reserved for that product and checkout.
Admin: Can management products, categories, orders and customers in Admin site.
Customer and Admin can log in and log out.

1.3 Design

This section will provide a general overview of the application, the basic design of the system, how the
program operates. This section also covers the main functional design of the system.
 Entity Relationship Diagram (ERD)

The system has 6 tables.


The relationship of each table in the database:

Supplier –Product– Category: (One – Many – One)


Supplier table: id is Primary key (PK) so we can recognize different Supplier.
Product table: id is PK so we can recognize different Product.
Category table: id is PK to recognize different Category.
Relationship Supplier - Product: One to many. In the table Product, supplier_id is foreign key, one Supplier
can have many Product.
Relation Category – Product: One to many. In the table Product, category_id is foreign key, one Category
can have many Product.

Product – Order Detail – Order: (One – Many – One)


Product table: id is PK so we can recognize different Product.
Order Detail table: id is PK so we can recognize different Order Detail.
Order table: id is PK to recognize different Order.
Relationship Product – Order Detail: One to many. In the table Order Detail, product_id is foreign key, one
Product can have many Order Detail.
Relation Order – Order Detail: One to many. In the table Order Detail, order_id is foreign key, one Order
can have many Order Detail.

Customer – Order – Sale Staff: (One – Many – One)


Customer table: id is PK so we can recognize different Customer.
Order table: id is PK to recognize different Order.
Sale Staff table: id is PK so we can recognize different Sale Staff.
Relationship Customer – Order: One to many. In the table Order, customer_id is foreign key, one Customer
can have many Order.
Relation Sale Staff – Order: One to many. In the table Order Detail, salestaff_id is foreign key, one Sale
Staff can have many Order.

 Class Diagram
 Flowcharts

Login:
Create:

Update:

Delete:
Search:

Return Product:
1.4 Implementation

 Selected DBMS:
The system use MySQL to store data and management data. Because this DBMS is popular and
MySQL database has become the most popular open source database in the world because of its fast and
stable processing mechanism, high reliability and ease of use.
Some of the advantages of MySQL are instant availability, strong transaction support, reliable web and
data storage, robust data security, and more.

 Selected Programming language: PHP


PHP is a relatively popular language in the current web design. PHP is an open source language with a
huge community of users in the website design industry. It is also an object-oriented programming
language, rich library and security capabilities are also relatively safe.

 Selected Technologies: Web Service (RESTful API)


Web Service has many features:
+ Can be accessed by any application.
+ Does not depend on programming language.
+ Support for operations between heterogeneous components.
+ Easy maintenance and low cost development.

 Selected IDE: PHPStorm


PHPStorm is a IDE too strong for web development. It was developed by JetBrains.
This IDE is very easy to use for website development, comes with great add-ons, it makes coding easy and
saves a lot of time.
1.5 Evaluation

1.1.1 What is built?

*Customer Role
Homepage:
The system using bootstrap to build the interface of the website.

Product Detail:
Customer can see detail of each product before go to hire product.
Once you have selected the product you like, customers can add products to the basket then pay.
In this cart page, the website will show all of the product that customer was added to cart.

And if Customer want to order that products, they must be login and Proceed to Checkout.
And Place Order, It’s successfully order Product.

*Admin Roles
Login as admin account to access the admin side.
And after login as admin account, the Admin side with display like this:

Admin or staff can management all of the features in the admin side like create a new product, show a detail
product, update and delete each product in the system too easy, they also can search product by name or by
category of that product.
Each Product include three statuses: Unavailable mean product has been hired for customer, Available
mean product in stock and Reserved mean product has been reserved in a short time by customer before
customer go to store and hire product.
Management Product (Create, Read, Update, Delete product).
Create Product:

In the create product form, I was validated some type empty, data format… all of the data input from staff
to be friendly for staff.

Read Product:

This feature allows staff can see detail of each product in the system clearly.

Update Product:
Just like creating a product, the Update feature will show all of the current data of each product to be take
friendly for user.
Delete:
The staff can select exactly one product and delete the product and before product has been deleted, they
dialog confirm will be showing.

Search Product:
The staff can be find some category product or might exactly the product in the system.
Example: I input Sony to search box, all of the product will be showing.
Management Order (Confirmed orders are leased from customers).
After customer press “Place Order” in the cart view. The Order will be save to database and display in the
Order side of the Admin page.

An order has two statuses: Hiring mean the products are being rented and Returned mean the products are
being returned and staff was confirmed.
At Right side, staff can view detail order also confirm the order has hiring status.
After confirm, the hiring status will change from Hiring to Returned and Product status at index side will
change from Unavailable to Available.

Management Users (View User Detail and Delete user account)

The system allow admin and staff can view detail of each User and delete User. Staff cannot delete admin
account, just only can delete customer account.
1.1.2 Test cases

*Critical Review and Solution.

This application is built based on the model of distributed systems. The system can operate in the various
computer and network use to connect with each other. The system can be changed and upgraded.
This application is written in PHP and PHP applications use storm. Use REST web services with the
database. Representational State Transfer (sometimes also written as the ReST) is a style of architecture
used in the communication between computers (PCs and servers of the website) in the management of
resources on the internet.
The company has many stores across the country. They offer the products on the camera and lens. Because
they have many of the products and the number of stores. They wanted to unify their shop system to record
the purchase.
There are two main types of users
- The sales staff: they can manage products, customers and orders
- Customer: They can buy online, online product rental, reservations for a period of time after that to the
store to buy or hire the products they have reservations.

The weak point of the system: the system is written in PHP, a language a language not yet really tight on
security logic, did poorly. If the system raised the very hard to continue to use that language, especially
security problems, it should use the higher level languages such as java script to manipulate or C #.
In the future I will add more functionality for features such as system registered user accounts. directions
for application features, share social network product.

*Test plan
Normal scenario:
ABC company provide hiring cameras and lens services in the city. ABC Company wants to develop a
program that can help them to manage their job. Basically, they want to manage:
- Customer and staff
- Camera and Lens
- Customer can reserve cameras and lens
- Customer can hire cameras and lens based on reservation or at store
- Customer can return hired cameras and lens

*Testing Stage:
In this section, we are going to test some feature of admin and customer.
With admin role, we’re going to test some operations like Create, Read, Update and Delete product, confirm
order of the customer.
With customer role, we’re going to test some operations like add to cart, hire product, reserved product and
login.

Test case for the Admin role: Login

N Type of test Input Actual Result Expected Result Status


o case
Email: admin@admin.com
Password: admin Login successfully Login successfully
1 Normal case PASS

Validation Email: adminadmin.com


2 case Password: admin Login failed Login failed FAILED

3 Extreme Email: adminadmin.com


case Password: zxczxczxc Login failed Login failed PASS
Test case for the Admin role: Create a new product.
N Type of test Input Actual Result Expected Result Status
o case
Product name: Canon 200
Product status: 0 Insert successfully Insert successfully
4 Normal case Unit cost: 40 PASS
Category: Camera
Supplier: Canon

Product name: Canon 200


Product status: e
5 Validation Unit cost: 40 FAILED FAILED PASS
case Category: Camera
Supplier: Canon

Product name: (very


long!<$@$%%)
6 Extreme Product status: 0 FAILED FAILED FAILED
case Unit cost: 2 billion character
Category: Camera
Supplier: Canon

Test case for Admin role: Update a product.


N Type of test Input Actual Result Expected Result Status
o case
Product name: Nikon NK200
Product status: 1 Update Update
7 Normal case Unit cost: 40 Successfully and Successfully and PASS
Category: Camera display message display message
Supplier: Nikon

Product name: Update Failed and Update Failed and


8 Validation Product status: display message display message FAILED
case Unit cost: 40 error error
Category: Camera
Supplier: Nikon

Product name: 100 character


Product status: 0
9 Extreme Unit cost: 2 billion character Update Update PASS
case Category: Camera Successfully and Successfully and
Supplier: Canon display message display message
Testing for Customer: Add product to cart
N Type of test Input Actual Result Expected Result Status
o case
Product name: Nikon NK200
Product status: 1 Product has been Product has been
10 Normal case Unit cost: 40 Reserved or Reserved or PASS
Category: Camera Unavailable Unavailable
Supplier: Nikon

Product name: Nikon NK200


Product status: 0
11 Validation Unit cost: 40 Product was Product was added PASS
case Category: Camera added to your to your cart!
Supplier: Nikon cart!

Product name: Nikon NK200


Product status: 3 Product was
12 Extreme Unit cost: 40 added to your Product was added PASS
case Category: Camera cart! to your cart!
Supplier: Nikon
1.1.3 Test result evaluations

* Test result:
Test log ABC Company:

Test Type of test Description Date Executed Result


ID case by
1 Normal case Login 2017-12-4 Thuan PASSED

2 Validation case Login 2017-12-4 Thuan FAILED

3 Extreme case Login 2017-12-4 Thuan PASSED

4 Normal case Create a new product 2017-12-4 Thuan PASSED

5 Validation case Create a new product 2017-12-4 Thuan PASSED

6 Extreme case Create a new product 2017-12-4 Thuan FAILED

7 Normal case Update a product 2017-12-4 Thuan PASSED

8 Validation case Update a product 2017-12-4 Thuan FAILED

9 Extreme case Update a product 2017-12-4 Thuan PASSED

10 Normal case Add product to cart 2017-12-4 Thuan PASSED

11 Validation case Add product to cart 2017-12-4 Thuan PASSED

12 Extreme case Add product to cart 2017-12-4 Thuan PASSED

*Test summary and Evaluations:


In general, after doing the test of the system.
We come to the conclusion as follows: System operation is relatively good, the insert, update, delete, search,
active view functions. However, there are still some bugs left in INSERT (user entered incorrect data format
or entered wrong request).
Summary, we are implemented 12 test cases. Inside 9 test cases PASSED and 3 test cases FAILED (test
case 2, test case 6, test case 8).
In test case 2: Test case failed because user input incorrect data, email must be correct format like “@”
after email (ex: admin@admin.com).

In test case 6: Test case failed because the input data from the user is too long, cannot be saved in the
database. Conventional product name convention less than 255 characters.

In test case 8: Test case fail when user update a product because user leave blank field in the form so that
the system will showing the error and cannot press Update button.

1.1.4 Questionnaires and feedback

List of the questions:

1. Can you login as Admin successful?

2. Can you login as Customer successful?

3. Can you add product successful ?


4. The search function is working so well?

5. Can you order product successful?

6. Can you reserved product successful?


7. Do you think the application full fill all requirements?

Summarize: My software still has some bugs as well as poor functionality. The invoice management of
the customer is not really detailed. I will develop future applications to be user friendly and easy to use.

1.1.5 Peer feedback evaluation


The system works relatively well, although there are some functional limitations. Specifically, Customer
cannot hold the product by date range. Therefore, employees are very difficult to manage placeholder
products. Employees do not know when to place the product. The rest of the function works well.

1.6 Future work


The operating system is full of the main functions but not really good. Besides, there are still some missing
functions. In the future I will develop more features for the website such as: register customer, reserved
product by date range, search the product on homepage, ...

1.7 Conclusion
The project has been implemented very well. From the requirements of the user, learn from the
corresponding website to design ideas.
Through the project. We have learned a lot of interesting technologies, the advantages and disadvantages
of each type of technology that we use. From that experience to continue to carry out the next project.
TASK2
2.1 My plan from the beginning:

Total doing the project: 1 month.


During implementation and development, I did not change any process of the project. Stay up to the plan
and follow for the project to succeed.

2.2 Features added / removed

The system was added a function called Delete Order Detail. When staff delete order. All order in detail in
order will be deleting. This feature is very useful for staff.
It is very convenient for staff. Staffs do not have to delete each order detail then delete order.

You might also like