2.2 Phân tích thiết kê hệ thống Tóm tắt hoạt động của hệ thống mà dự án sẽ được ứng dụng: - Là một Website chuyên bán các sản phẩm về máy tính, các linh kiện phụ tùng máy tính …cho các
Trang 1MỤC LỤC
MỤC LỤC 1
LỜI MỞ ĐẦU 2
LỜI CAM ĐOAN 3
DANH MỤC BẢNG BIỂU 4
DANH MỤC HÌNH ẢNH 5
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 7
1.1 Ngôn ngữ PHP 7
1.2 Framework Laravel 7
1.2.1 Cấu trúc Laravel 9
1.2.2 Các thành phần cơ bản trong Laravel 10
1.3 Tổng quan về UML 12
1.4 Hệ quản trị MySQL 13
CHƯƠNG 2: KHẢO SÁT, PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 15
2.1 Khảo sát hiên trạng và tìm hiểu nhu cầu 15
2.2 Phân tích thiết kê hệ thống 15
2.3 Phân tích thiết kế hệ thống website 17
2.3.1 Phân tích và yêu cầu 17
2.3.2 Các yêu cầu đối với bài toán 17
2.3.3 Biểu đồ Usecase 21
2.3.4 Biểu đồ trình tự 26
2.3.5 Biểu đồ lớp 42
2.3.6 Biểu đồ triển khai 43
2.3.7 Chi tiết cơ sở dữ liệu 44
CHƯƠNG 3: THIẾT KẾ GIAO DIỆN CHƯƠNG TRÌNH 48
3.1 Giao diện người dùng 48
3.2 Giao diện quản lý 52
KẾT LUẬN 56
TÀI LIỆU THAM KHẢO 57
NHẬN XÉT CỦA GIÁO VIÊN 58
Trang 2LỜI MỞ ĐẦU
Trong những năm gần đây, với sự phát triển vượt trội của khoa học kỹ thuật đặc biệt
là công nghệ thông tin, với những ứng dụng của công nghệ thông tin vào các lĩnh vực đã góp phần to lớn cho sự nghiệp phát triển của con người
Trong các lĩnh vực đó thì lĩnh vực quản lý thực sự giúp ích được rất nhiều cho con người, việc áp dụng quản lý mua bán bằng máy tính thay cho quản lý mua bán bằng thủ công ở các doanh nghiệp, công ty, cá nhân là rất cần thiết Do đó, việc quản lý mua hàng qua mạng là không thể thiếu đối với mọi doanh nghiệp
So với kinh doanh bán hàng truyền thống thì thương mại điện tử chi phí thấp hơn, hiệu quả cao hơn Lợi thế của Internet nên việc truyền tải thông tin về sản phẩm nhanh chóng thuận tiện Kết hợp với bộ phần giao hàng tận nơi, nhận sản phảm rồi mới trả tiền, thông qua các dịch vụ chuyển phát càng tăng thêm thuận lợi để loại hình thương mại này phát triển
Vì vậy, dựa vào tình hình thực tế cùng với những gợi ý của cô giáo Thạc sĩ Dương
Thị Mai Thương, em đã chọn đề tài:“ Xây dựng hệ thống quản lý bán hàng trực tuyến cho công ty máy tính Ngọc Cường” làm đề tài đồ án cho mình
Chương trình sử dụng ngôn ngữ chuẩn về xử lý dữ liệu như PHP, HTML, JAVASCRIPT, CSS và hệ quản trị cơ sở dữ liệu MYSQL
Em xin gửi lời cảm ơn đến cô Dương Thị Mai Thương, là giảng viên đã trực tiếp hướng dẫn em trong đồ án này Cảm ơn cô đã tạo cho em những điều kiện thuận lợi nhất để em có thể hoàn thành tốt đề tài Bên cạnh những kết quả khiêm tốn mà em đạt được, chắc chắn không tránh khỏi những thiếu sót và hạn chế trong nội dung báo cáo và chương trình Kính mong nhận được những ý kiến đóng góp của thầy cô để em
có thể hoàn thiện hơn
Em xin chân thành cảm ơn thầy cô
Thái Nguyên, ngày 4 tháng 5 năm 2017
Sinh viên
Ngô Xuân Tài
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan số liệu và kết quả nghiên cứu trong đồ án này là trung thực và chưa
hề được sử dụng để bảo vệ một học vị nào Mọi sự giúp đỡ cho việc thực hiện đồ án này đã được cảm ơn, ghi chú tại phần tài liệu tham khảo và các thông tin trích dẫn trong đồ án đã được ghi rõ nguồn gốc rõ ràng, được phép công bố
Thái Nguyên, ngày 4 tháng 5 năm 2017
Sinh viên
Ngô Xuân Tài
Trang 4DANH MỤC BẢNG BIỂU
Bảng 2.1: Danh sách Usecase 22
Bảng 2.2: Chuyên mục 44
Bảng 2.3: Danh mục 45
Bảng 2.4: Hãng sản xuất 45
Bảng 2.5: Sản phẩm 46
Bảng 2.6: Tin tức 46
Bảng 2.7: Users 47
Bảng 2.8: Đơn hàng 47
Trang 5DANH MỤC HÌNH ẢNH
Hình 2.1: Biểu đồ usecase tổng quát 21
Hình 2.2: Biểu đồ usecase chuyên mục 22
Hình 2.3 : Biểu đồ usecase danh mục 23
Hình 2.4: Biểu đồ usecase sản phẩm 23
Hình 2.5: Biểu đồ usecase đơn hàng 24
Hình 2.6: Biểu đồ usecase tin tức 24
Hình 2.7: Biểu đồ usecase quản lý thống kê 25
Hình 2.8: Biểu đồ usecase người quản trị 25
Hình 2.9: Biểu đồ trình tự đăng nhập 26
Hình 2.10: Biểu đồ trình tự đăng xuất 27
Hình 2.11: Biểu đồ trình tự tìm kiếm 27
Hình 2.12: Biểu đồ trình tự cho sản phẩm vào giỏ hàng 28
Hình 2.13: Biểu đồ trình tự cập nhật giỏ hàng 29
Hình 2.14: Biểu đồ trình tự đặt hàng 30
Hình 2.15: Biểu đồ trình tự quản lý xem chuyên mục 31
Hình 2.16: Biểu đồ trình tự quản lý thêm chuyên mục 31
Hình 2.17: Biểu đồ trình tự quản lý sửa chuyên mục 32
Hình 2.18: Biểu đồ trình tự quản lý xóa chuyên mục 33
Hình 2.19: Biểu đồ trình tự quản lý xem danh mục 33
Hình 2.20: Biểu đồ trình tự quản lý thêm danh mục 34
Hình 2.21: Biểu đồ trình tự quản lý sửa danh mục 35
Hình 2.22: Biểu đồ trình tự quản lý xóa danh mục 36
Hình 2.23: Biểu đồ trình tự quản lý xem sản phẩm 36
Hình 2.24: Biểu đồ trình tự quản lý thêm sản phẩm 37
Hình 2.25: Biểu đồ trình tự quản lý sửa sản phẩm 38
Hình 2.26: Biểu đồ trình tự quản lý xóa sản phẩm 39
Hình 2.27: Biểu đồ trình tự quản lý xem đơn hàng 39
Hình 2.28: Biểu đồ trình tự quản lý sửa đơn hàng 40
Hình 2.29: Biểu đồ trình tự quản lý xóa đơn hàng 40
Trang 6Hình 2.30: Biểu đồ trình tự quản lý xem thống kê báo cáo 41
Hình 2.31: Biểu đồ lớp 42
Hình 2.32: Biểu đồ triển khai tổng quát 43
Hình 2.33: Biểu đồ triển khai thanh toán 44
Hình 3.1: Trang chủ 48
Hình 3.2: Giỏ hàng 49
Hình 3.3: Thanh toán 49
Hình 3.4: Cổng thanh toán Paypal 50
Hình 3.5: Thanh toán thành công 51
Hình 3.6: Danh sách tin nhắn 51
Hình 3.7: Giao diện nhắn tin 52
Hình 3.8: Đăng nhập 52
Hình 3.9: Danh sách chuyên mục 53
Hình 3.10: Thêm chuyên mục 53
Hình 3.11: Sửa chuyên mục 54
Hình 3.12: Danh sách đơn hàng 54
Hình 3.13: Danh sách sản phẩm 55
Hình 3.14: Thống kê, báo cáo 55
Trang 7CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Ngôn ngữ PHP
PHP là chữ viết tắt của “Personal Home Page” do Rasmus Lerdorf tạo ra năm
1994 Vì tính hữu dụng của nó và khả năng phát triển, PHP bắt đầu được sử dụng
trong môi trường chuyên nghiệp và nó trở thành ”Hypertext Preprocessor”
Thực chất PHP là ngôn ngữ kịch bản nhúng trong HTML, nói một cách đơn giản
đó là một trang HTML có nhúng mã PHP và nó có thể được đặt rải rác trong HTML PHP là một ngôn ngữ lập trình được kết nối chặt chẽ với máy chủ, là một công nghệ phía máy chủ (Server-Side) và không phụ thuộc vào môi trường (cross-platform) Đây
là hai yếu tố rất quan trọng, thứ nhất khi nói công nghệ phía máy chủ tức là nói đến mọi thứ trong PHP đều xảy ra trên máy chủ, thứ hai, chính vì tính chất không phụ thuộc môi trường cho phép PHP chạy trên hầu hết trên các hệ điều hành như Windows, Unixvà nhiều biến thể của nó
Đặc biệt các mã kịch bản PHP viết trên máy chủ này sẽ làm việc bình thường trên máy chủ khác mà không cần phải chỉnh sửa hoặc chỉnh sửa rất ít
Khi một trang Web muốn được dùng ngôn ngữ PHP thì phải đáp ứng được tất cả các quá trình xử lý thông tin trong trang Web đó, sau đó đưa ra kết quả ngôn ngữ HTML
1.2 Framework Laravel
Laravel là một bộ mã nguồn PHP Framework hoàn toàn miễn phí, được thiết
kế và xây dựng theo chuẩn mô hình MVC Laravel được phát hành theo giấy phép MIT, với mã nguồn của nó được lưu trữ trên GitHub Phiên bản đầu tiên được phát hành ngày 22 tháng 1 năm 2012 bởi Taylor Otwell và phiên bản mới nhất hiện này là Laravel 5 phát hành tháng 1 năm 2015
Theo thống kê đánh giá của một cuộc khảo sát các PHP Framework phổ biến
2013, thì Laravel đứng thứ hạng cao, sau đó là Zendframework, Symfony, Yii Framework, CodeIgniter… Đây là một Framework khá mới mẻ và dễ tiếp cận, được rất nhiều lập trình viên ưa thích và sử dụng
Trước hết, sự tinh tế của Laravel nằm ở chỗ bắt kịp được xu hướng công nghệ
mà điểm nhấn ở đây là các tính năng mới trong các phiên bản PHP 5.3 trở lên Điều đó được thể hiện qua khái niệm namespace, composer, closure và rất nhiều những tiêu chuẩn trong design pattern được áp dụng trên nền tảng framework này Đồng thời, với
Trang 8cách hướng dẫn đơn giản và dễ tiếp cận giống với Codeigniter Framework đã khiến người dùng thích ngay từ lần đầu tiếp xúc
Laravel là một kết hợp tinh hoa từ các Framework khác, nó cung cấp một bộ công cụ mạnh mẽ và một kiến trúc ứng dụng kết hợp nhiều tính năng tốt nhất của CodeIgniter, Yii, ASP.NET MVC, Ruby on Rails, Sinatra
Các điểm nhấn đặc sắc của Laravel
Laravel là một PHP Framework Nó giảm bớt các tác vụ thường gặp của các trang web như authentication, routing, sessions, và caching Nó ra đời vào tháng 04/2011, có lẽ là khá mới mẻ, nhưng cũng chính vì ra đời muộn màng như thế đã buộc
nó phải học hỏi cái hay từ các PHP Framework đàn anh đi trước Không những là các PHP Framework, nó còn học cái hay từ Ruby on Rails, ASP.NET MVC, và Sinatra
Tham khảo Best PHP Frameworks 2014 frameworks-2014/, ta thấy Laravel đang được cộng đồng đánh giá cao
http://www.sitepoint.com/best-php-Các tính năng nổi trội của Laravel có thể kể đến
- RESTful routing: Sử dụng Closures để hỗ trợ việc trả lời các requests
- Blade templating (tượng tự Razor View Engine): giúp chúng ta tạo ra các mẫu cho các view và có thể kế thừa dễ dàng
- Eloquent ORM: đây là một ORM tuyệt vời với khả năng migration data và làm việc tốt với MySQL, Postgres, SQL Server và SQLite
- Đáp ứng nhiều loại ứng dụng, từ ứng dụng dành cho Enterprise, hay ứng dụng
hỗ trợ RESTful, hoặc là ứng dụng web đơn giản
- Laravel được xây dựng trên một số thành phần của Symphony, và ai lập trình PHP cũng biết rằng Symphony là một MVC Framework tuyệt vời, và Laravel là một Framework tuyệt vời hơn khi kế thừa từ Symphony
- Sử dụng Composer để quản lý các gói của bên thứ ba, tượng tự như Nuget Package mà chúng ta thường sử dụng trên Visual Studio
- Red, Green, Refactor: đây là các bước khi áp dụng TDD, nghĩa là Laravel hỗ trợ TDD và Unit Test với PHPUnit và một IoC Container để bạn có thể áp dụng Dependency Injection và viết Unit Test dễ dàng cho ứng dụng của bạn
Trang 9Composer
- Nếu có một thư viện quá tuyệt vời muốn tích hợp vào dự án Khi mã nguồn update hay thư viện update thì ta phải chạy theo nghiên cứu và update lại chúng Compose là tài nguyên, thư viện trung gian quản lý việc tịch hợp thư viện, giải quyết vấn đề quản lý tài nguyên
- Composer là bộ thư viện xây dựng dựa trên Json Nhiệm vụ quản lý các thư viện thứ 3 từ bên ngoài Laravel sử dụng Composer để quản lý phụ thuộc của
nó Vì vậy, trước khi sử dụng Laravel, bạn sẽ cần phải chắc chắn rằng bạn đã cài đặt trên máy Composer của bạn
Cài đặt Laravel thông qua Composer
- Tạo 1 project Laravel bằng Composer trong terminal của bạn:
composer create-project laravel/laravel your-project-name “5.0.0” prefer-dist
1.2.1 Cấu trúc Laravel
Các cấu trúc chính
app: Chứa các thư mục, các tập tin php, thư viện, models
Console: Chứa các tập tin định nghĩa các câu lệnh trên artisan
Excerption: Chứa các tập tin quản lý, điều hướng lỗi
Http
Controllers : Chứa các controllers của project
Middleware: Chứa các tập tin lọc và ngăn chặn các requests
Kernel.php: Cấu hình, định nghĩa Middleware
Providers: Chứ các providers thực hiện việc binding vào service container
User.php: Là model User mà Laravel tự địn sẵn cho chúng ta
bootstrap:Chứa tập tin điều hướng hệ thống
config: Chứa mọi tập tin cấu hình của Laravel
database: Chứa các thư mục tập tin vềdatabase
migrations: Chứa các tập tin định nghĩa,khởi tạo và sửa bảng
seeds: Chứa các tập tin định nghĩa dữ liệu insert(thêm) vào trong database
factories: Chứa các tập tin định nghĩa các cột bảng dữ liệu để tạo ra các dữ
liệu ảo
public: Chứa các tập tin css, js, image
Trang 10 index.php: Đây là tệp tin root của Laraver
resources: Chứa các views, ngôn ngữ(language) của project
routes: Chứa các tập tin định nghĩa các router, xử lý điều hướng
storage: Chứa các tập tin hệ thống cache, session,
tests: Chứa các testcase
vendor: Chứa các thư viện của composer
.env: Là tập tin cấu hình chính của laravel như key app,database
.env.example: Tệp tin cấu hình mẫu của laraver
composer.json: tập tin của composer
composer.lock: tập tin của composer
package.js: Tập tin cấu hình của nodejs (chứa các package cần dùng cho
projects)
gulpfile.js: Là tập tin gulp builder
phpunit.xml: Là tập tin xml của phpunit dùng để testing project
server.php: Là tập tin để artisan trỏ đến tạo server
artisan: Tập tin thực thi lệnh của Laravel
1.2.2 Các thành phần cơ bản trong Laravel
Routing
Route trong Larvel cũng như các framework khác đều có chức năng là định ra các dạng resquest, định sẵn và cũng có các action do chúng ta định nghĩa cho nó Laravel là một framework hỗ trợ chúng ta rất đa dạng về route, và cũng rất dễ sử dụng Nó gồm có các loại như sau:
Route::get nhận resquest với phương thức GET
Route::post nhận resquest với phương thức POST
Route::put nhận resquest với phương thức PUT
Route::delete nhận resquest với phương thức DELETE
Route::match kết hợp nhiều phương phức như POST,GET,PUT,
Route::any nhận tất cả các phương thức
Route::group tạo ra các nhóm route
Route::controller gọi đến controller tương ứng mà chúng ta tự định
Route::resource sử dụng với resource controller
Trang 11Controller
Sau khi route nhận được request thì sẽ chuyển hướng request đến cho controller và giao cho controller này xử lý Controller sẽ gọi tới Model để tương tác với cơ sở dữ liệu (database) và đưa dữ liệu tới View và View sẽ nhận dữ liệu và chuyển thành những đoạn mã HTML rồi gửi về cho Client
Tất cả controller trong laravel được chứa trong thư mục app/Http/controllers
và việc tạo tên file, đặt tên controller cũng phải tuân theo nguyên tắc của nó như sau: Trong laravel có một lớp xử lý Controller chính của nó, do đó các Controller tạo mới phải kế thừa controller này Tên controller phải trùng với tên file
Có hai cách tạo controller:
- Tạo trực tiếp trong thư mục App/Http/controllers:
Class <Tên controller> extends Controller{
//Action }
- Tạo bằng câu lệnh artisan, trỏ đến thư mục gốc chứa project laravel, sau đó dùng cmd nhập câu lệnh:
php artisan make:controller controller nameController
Views
View Trong Laravel thì bắt buộc phải được nằm trong thư mục resources/views
và phải có đuôi là php hoặc blade.php
Khi sử dụng kết hợp với angularjs thì không được dùng blade template
Gọi view trong route:
Gọi view trong controller:
public function index(){
Trang 12Giới thiệu về UML
UML là ngôn ngữ chuẩn để viết kế hoạch chi tiết phần mềm Nó phù hợp cho việc mô hình hóa các hệ thống như hệ thông tin doanh nghiệp, các ứng dụng phân tán trên nền Web, hệ thông nhúng thời gian thực… Các khung nhìn của ngôn ngữ được quan sát từ góc độ phát triển và triển khai hệ thống, nó không khó hiểu và dễ sử dụng UML là ngôn ngữ mô hình được cả con người và máy sử dụng Nhớ lại rằng phương pháp là cách cấu trúc rõ ràng suy nghĩ và hành động của ai đó
UML là ngôn ngữ và nó chỉ là một phần của tiến trình phát triển phần mềm,
độc lập với tiến trình Tuy nhiên UML rất phù hợp với các tiến trình hướng trường hợp
sử dụng (Use case – UC), lấy kiến trúc làm trung tâm, tương tác tăng dần
UML là ngôn ngữ đặc tả
Đặc tả là mô tả rõ ràng những điểm mấu chốt của vấn đề UML cho phép mô tả
mô hình chính xác, không nhập nhằng và hoàn thiện UML hướng tới đặc tả thiết kế, phân tích và quyết dịnh cái đặt trong quá trình phát triển và triển khai hệ thống phần mềm
UML là ngôn ngữ để xây dựng
UML là không phải là ngôn ngữ lập trình trực quan, nhưng mô hình của nó có thể kết nối trực tiếp tới các ngôn ngữ lập trình khác nhau Có nghĩa rằng có thể ánh xạ
mô hình trong UML tới các ngôn ngữ lập trình khác nhau như Java, C++ hay các bảng CSDL quan hệ, CSDL hướng đối tượng
Trang 13UML là ngôn ngữ tài liệu
UML hướng tới làm tài liệu kiến trúc hệ thống và các chi tiết của nó UML cho khả năng biểu diễn yêu cầu, thử nghiệm, mô hình hóa các hoạt động lập kế hoạch
và quản lý sản phẩm UML cho biết giới hạn của hệ thống và các chức năng chính của
nó thông qua UC và tác nhân
Trong UML, các UC được mô tả bằng biểu đồ logic
Biểu diễn cấu trúc tĩnh của hệ thống nhờ biểu đồ lớp
Mô hình hóa các hành vi đối tượng bằng biểu đồ chuyển trạng thái
Phản ảnh kiến trúc cài đặt vật lý bằng biểu đồ thành phần và biểu đồ triển khai
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl
Một số đặc điểm của MySQL:
- MySQL là một phần mềm quản trị CSDL dạng server-based (gần tương đương với SQL Server của Microsoft)
- MySQL quản lý dữ liệu thông qua các CSDL, mỗi CSDL có thể có nhiều bảng quan hệ chứa dữ liệu
Trang 14- MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể được quản lý một hoặc nhiều CSDL khác nhau, mỗi người dùng có một tên truy cập (user name) và mật khẩu tương ứng để truy xuất đến CSDL
Trang 15CHƯƠNG 2: KHẢO SÁT, PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
2.1 Khảo sát hiên trạng và tìm hiểu nhu cầu
Hiện tại công ty đang sử dụng cơ chế quảng cáo, hợp đồng trưng bày, đặt hàng trực tiếp tại trung tâm do các nhân viên bán hàng trực tiếp đảm nhận Trong trường hợp trên khách hàng đều nhận hàng và thanh toán trực tiếp bằng tiền mặt tại nơi giao hàng Và trong hoá đơn nhân viên cần điền đầy đủ thông tin cá nhân và số lượng mặt hàng cần mua Kế toán phải chuẩn bị hoá đơn thanh toán, nhập một số dữ liệu liên quan như ngày, giờ, tên khách hàng, mã số mặt hàng, số lượng mua, các hợp đồng trưng bày sản phẩm, tổng số các hoá đơn vào trong sổ kinh doanh
Dựa vào những ràng buộc cụ thể của hệ thống hiện hành chúng ta có thể đề nghị một hệ thống khác tiên tiến hơn, tiết kiệm được thời gian
So với kinh doanh bán hàng truyền thống thì thương mại điện tử chi phí thấp hơn, hiệu quả cao hơn Lợi thế của Internet nên việc truyền tải thông tin về sản phẩm nhanh chóng thuận tiện Kết hợp với bộ phần giao hàng tận nơi, nhận sản phảm rồi mới trả tiền, thông qua các dịch vụ chuyển phát càng tăng thêm thuận lợi để loại hình thương mại này phát triển
Vì vậy, dựa vào tình hình thực tế công ty cần xây dựng một hệ thống website quản
lý bán hàng trực tuyến
2.2 Phân tích thiết kê hệ thống
Tóm tắt hoạt động của hệ thống mà dự án sẽ được ứng dụng:
- Là một Website chuyên bán các sản phẩm về máy tính, các linh kiện phụ tùng máy tính …cho các cá nhân và doanh nghiệp
- Là một Website động, các thông tin được cập nhật theo định kỳ
- Người dùng truy cập vào Website có thể xem, tìm kiếm, mua hoặc đặt hàng sản phẩm
- Các sản phẩm được sắp xếp hợp lý, vì vậy người dùng sẽ có cái nhìn tổng quan
về tất cả các sản phẩm hiện có
- Người dùng có thể xem chi tiết từng sản phẩm
- Khi đã chọn được món hàng vừa ý thì người dùng click vào nút cho vào giỏ hàng hoặc chọn biểu tượng giỏ hàng để sản phẩm được cập nhật trong giỏ hàng
Trang 16- Người dùng vẫn có thể quay trở lại trang sản phẩm để xem và chọn tiếp, các sản phẩm đã chọn sẽ được lưu vào trong giỏ hàng
- Khách hàng cũng có thể bỏ đi những sản phẩm không vừa ý đã có trong giỏ hàng
- Nếu đã quyết định mua các sản phẩm trong giỏ hàng thì người dùng click vào mục thanh toán để hoàn tất việc mua hàng, hoặc cũng có thể huỷ mua hàng
- Đơn giá của các món hàng sẽ có trong giỏ hàng
- Người dùng sẽ chọn các hình thức vận chuyển, thanh toán hàng do hệ thống đã định
Thông tin đầu vào của hệ thống:
- Thông tin chi tiết về sản phẩm
- Tin tức doanh nghiệp muốn triển khai
- Thông tin giới thiệu về doanh nghiệp
- Thông tin chi tiết về người mua, người nhận phương thức giao hàng, phương
thức thanh toán
Thông tin đầu ra của hệ thông:
- Giới thiệu sản phẩm, tin tức trên website
- Thông tin doanh nghiệp
- Tình trạng đơn hàng
Phân tích Usecase
- Yêu cầu người dùng
Giao diện dễ nhìn, trực quan, thẩm mỹ cao
Các chuyên mục, menu lựa chọn rõ ràng, dễ thao tác
Hiển thị đầy đủ các thuộc tính của sản phẩm dịch vụ
Hình ảnh rõ nét, phản ánh trung thực đối tượng được nói tới
Đặt mua hàng và thanh toán trực tuyến
- Yêu cầu người quản lý
Bao gồm cả những yêu cầu của người dùng thì hệ thống cần đảm bảo các yêu cầu của người người quản lý như:
Quản lý và sửa đổi dữ liệu dễ dàng và an toàn và bảo mật
Cho phép cập nhật hàng vào CSDL
Trang 17 Hiển thị danh sách các dịch vụ theo từng loại
Quản lý đơn hàng, thống kê theo tháng
2.3 Phân tích thiết kế hệ thống website
2.3.1 Phân tích và yêu cầu
Chương trình cho phép công ty thực hiện một số vấn đề sau:
- Quản lý các sản phẩm: thêm, sửa, xóa, cập nhật các sản phẩm mới
- Quản lý các danh mục: thêm, sửa, xóa, cập nhật các loại danh mục mới
- Quản lý các chuyên mục: thêm, sửa, xóa, cập nhật các loại chuyên mục mới
- Quản lý các quyền đăng nhập vào hệ thống với quyền: Quản trị
- Quản lý đơn hàng: thêm, sửa, xóa đơn hàng
- Xem thống kê báo cáo theo tháng
- Chương trình cho phép khách hàng xem tin tức của công ty
- Xem các loại sản phẩm mà mình quan tâm, tham khảo giá, xem các thông tin
về sản phẩm
- Đặt hàng sản phẩm và thanh toán sản phẩm
- Trực tiếp liên hệ với công ty
2.3.2 Các yêu cầu đối với bài toán
Với một bài toán giới thiệu sản phẩm trên mạng thì hoạt động của nó bao gồm:
- Hoạt động của khách hàng:
Khi truy cập vào website, đối tượng này đã có quyền tìm kiếm sản phẩm, xem các sản phẩm hàng hóa, thông tin của hàng hóa, được chọn sản phẩm để cho vào giỏ hàng, được thanh toán giỏ hàng và phản hồi về sản phẩm
Chức năng tìm kiếm sản phẩm
Input: Nhập tên hoặc mã sản phẩm, hoặc nhà sản xuất
Process: Lấy thông tin sản phẩm từ CSDL theo các trường tìm kiếm
Output: Hiện thị các sản phẩm thỏa mãn theo yêu cầu tìm kiếm
Chức năng xem thông tin sản phẩm
Description: Cho phép xem chi tiết thông tin của sản phẩm
Input: Chọn sản phẩm cần xem
Process: Lấy thông tin sản phẩm từ CSDL thông qua ID sản phẩm
Trang 18 Output: Hiện các chi tiết về thông tin sản phẩm
Chức năng xem tin tức
Description: Cho phép xem tin tức của công ty
Input: Chọn tin tức cần xem
Process: Lấy thông tin sản phẩm từ CSDL thông qua ID tin tức
Output: Hiện tin tức của công ty
Chức năng cho vào giỏ hàng
Description: Cho cho sản phẩm muốn mua vào giỏ hàng
Input: Click button cho vào giỏ hàng
Process: Khỏi tạo biến session gán ID của sản phẩm được chọn
Output: Giỏ hàng sẽ tự động cập nhật số sản phẩm đã có trong giỏ
Chức năng xem giỏ hàng
Description: Cho phép xem chi tiết giỏ hàng
Input: Click chọn vào giỏ hàng
Process: Lấy thông tin các sản phẩm từ CSDL thông qua ID sản phẩm ID này được lấy từ các biến session
Output: Hiển thị thông tin về tên sản phẩm, ảnh, đơn giá, số lượng, giá tiền, tổng tiền của các sản phẩm
Chức năng thanh toán
Description: Cho phép khách hàng thanh toán phẩm đã cho trong giỏ hàng
Input: Sau khi xem giỏ hàng, khách hàng có nhu cầu thanh toán thì click vào nút thanh toán và điền thông tin cần thiết theo yêu cầu để người quản trị và nhân viên xác nhận, giao hàng đến đúng địa chỉ
Process: Lưu thông tin khách hàng, thông tin hóa đơn đặt hàng vào trường trong cơ sở dữ liệu
Output: Đưa ra thông báo đơn đặt hàng đã được lập thành công hoặc không thành công
Trang 19- Hoạt động của nhà quản lí:
Các chức năng quản lý Sản phẩm
Chức năng thêm sản phẩm:
Description: Thêm sản phẩm mới
Input: Nhập vào những thông tin của sản phẩm mới
Process: Kiểm tra xem những trường nào bị trùng trong CSDL, không được để trống, không đúng định dạng Nếu tất cả phù hợp thì thêm vào bảng
Output: Đi đến trang hiển thị sản phẩm
Chức năng sửa thông tin sản phẩm:
Description: Thay đổi thông tin của sản phẩm đã có trong CSDL
Input: Nhập thông tin mới cho sản phẩm
Process: Kiểm tra xem những trường nào bị trùng trong CSDL, không được để trống, không đúng định dạng Cập nhật thông tin mới cho sản phẩm
Output: Quay trở lại trang hiển thị sản phẩm
Chức năng xoá sản phẩm:
Description: Xóa sản phẩm
Input: Chọn sản phẩm cần xoá
Process: Xoá trong CSDL
Output: Quay trở lại trang hiển thị sản phẩm
Các chức năng quản lý Danh mục
Chức năng thêm danh mục:
Description: Thêm danh mục mới
Input: Nhập vào tên danh mục mới
Process: Kiểm tra xem những trường nào bị trùng trong CSDL, không được để trống, không đúng định dạng Nếu tất cả phù hợp thì thêm vào bảng
Output: Đi đến trang hiển thị danh mục
Chức năng sửa danh mục:
Trang 20 Description: Thay đổi tên loại đã có trong CSDL
Input: Nhập tên mới cho loại
Process: Kiểm tra xem những trường nào bị trùng trong CSDL, không được để trống, không đúng định dạng Cập nhật tên mới cho danh mục
Output: Quay trở lại trang hiển thị danh mục
Chức năng xoá danh mục:
Description: Xóa danh mục
Input: Chọn danh mục cần xoá
Process: Xoá trong CSDL
Output: Quay trở lại trang hiển thị danh mục
Các Chức Năng Đối Với Hóa Đơn Đặt Hàng
Chức năng xem thông tin chi tiết các đơn đặt hàng (đang chờ được xử lý, đang xử lý, đã hoàn thành,hoặc hoá đơn bị huỷ bỏ)
Description: Xem chi tiết đơn đặt hàng có trong CSDL
Input: Chọn tên hoá đơn hoặc tên khách hàng của hoá đơn đó
Process: Lấy toàn bộ thông tin chi tiết của đơn đặt hàng có trong CSDL
Output: Hiển thị chi tiết thông tin trong đơn đặt hàng
Chức năng chuyển các đơn đặt hàng chưa thanh toán thành hóa đơn đã thanh toán:
Description: Sau khi khách hàng xác nhận đặt hàng, hoá đơn sẽ được lưu vào trong CSDL Nhân viên gọi điện cho khách hàng để xác nhận thông tin Nếu đúng hoá đơn sẽ được chuyển sang bộ phận giao hàng, sau khi thực hiện giao dịch thành công hoá đơn được hoàn tất, trong quá trình xử lý hoá đơn khách hàng có thể chuyển trạng thái hoá đơn đặt hàng đó
Input: Chọn những hoá đơn cần xử lý
Process: Xứ lý thay đổi của hoá đơn
Output: Load lại danh sách hoá đơn để xem lại sự thay đổi của hoá
đơn
Trang 212.3.3 Biểu đồ Usecase
Biểu đồ Usecase tổng quát
Biểu đồ cho cái nhìn tổng quát về hệ thống bao gồm đầy đủ các chức năng mà
hệ thống cung cấp Quản trị viên sẽ quản lý các chức năng cung cấp đến cho khách hàng các dịch vụ của mình
Hình 2.1: Biểu đồ usecase tổng quát
Trang 22Danh sách các Usecase
1 Quản lý hệ thống Dùng để quản lý việc admin đăng nhập hay đăng
6 Quản lý đơn hàng Dùng để quản lý đơn hàng khách hàng đã đặt
7 Quản lý tin tức Dùng để quản lý các tin tức của công ty
8 Quản lý người
quản trị
Dùng để quản lý người quản trị
Bảng 2.1: Danh sách Usecase
Biểu đồ Usecase chức năng quản lý chuyên mục
Hình 2.2: Biểu đồ usecase chuyên mục
Trang 23Biểu đồ Usecase chức năng quản lý danh mục
Hình 2.3 : Biểu đồ usecase danh mục
Biểu đồ Usecase chức năng quản lý sản phẩm
Hình 2.4: Biểu đồ usecase sản phẩm
Trang 24Biểu đồ Usecase chức năng quản lý đơn hàng
Hình 2.5: Biểu đồ usecase đơn hàng
Biểu đồ Usecase chức năng quản lý tin tức
Hình 2.6: Biểu đồ usecase tin tức
Trang 25Biểu đồ Usecase chức năng quản lý thống kê
Hình 2.7: Biểu đồ usecase quản lý thống kê
Biểu đồ Usecase chức năng quản lý người quản trị
Hình 2.8: Biểu đồ usecase người quản trị
Đặc tả 1 số Usecase chính
- Đặc tả usecase quản lý chuyên mục
Mục đích: Usecase này cho phép người dùng quản lý chuyên mục
Tác nhân: Quản trị viên
Tiền điều kiền: Người quản trị phải thực hiện đăng nhập hệ thống trước đó
và được hệ thống xác thực có đủ quyền để thực hiện usecase này
Luồng sự kiện chính: Người dùng thực hiện chọn chức năng: Thêm, Sửa hoặc xóa
Trang 262.3.4 Biểu đồ trình tự
Đăng nhập
Hình 2.9: Biểu đồ trình tự đăng nhập
Trang 27Đăng xuất
Hình 2.10: Biểu đồ trình tự đăng xuất
Tìm kiếm
Hình 2.11: Biểu đồ trình tự tìm kiếm
Trang 28Cho sản phẩm vào giỏ hàng
Hình 2.12: Biểu đồ trình tự cho sản phẩm vào giỏ hàng
Trang 29Cập nhật giỏ hàng
Hình 2.13: Biểu đồ trình tự cập nhật giỏ hàng