+ Phía khách hàng thành viên: Có đầy đủ chức năng của khách hàng vãng lai, ngoài ra còn có Đăng nhập tài khoản đăng ký tại website hoặc bằng facebook Cập nhật thông tin khách hàng X
Trang 1ĐẠI HỌC ĐÀ NẴNGKHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
ĐỒ ÁN:
ĐỀ TÀI: XÂY DỰNG WEBSITE BÁN GIÀY
Sinh viên thực hiện : TRỊNH QUANG TIN
HỒ VĂN TRUNG
Giáo viên hướng dẫn: TH.SĨ TRẦN VĂN SƠN
Đà nẵng, ngày…, tháng…, năm 2019
Trang 2CHƯƠNG 1: ĐẶT VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI PHÁP 1.1 Lời nói đầu
Xã hội ngày càng phát triển, công nghệ ngày càng hiện đại và đã được áp dụng vàonhiều lĩnh vực như kinh tế, chính trị, xã hội và đời sống của con người.Một trong nhữngcông nghệ tiêu biểu trong việc phát triển công nghệ mà phải kể đến đó là ứng dụng côngnghệ thông tin trong các lĩnh vực của cuộc sống.Nhờ có công nghệ thông tin mà nó đãgiúp nâng cao chất lượng công việc, tiết kiệm thời gian và chi phí vận hành Ngoài ra,công nghệ thông tin là nơi duy trì và tạo ra các mối quan hệ giữa con người
1.2 Nhu cầu thực tế.
Đối với các cửa hàng bán giày nhỏ việc xây dựng hoặc thuê mặt bằng đầu tư luôn bịgiới hạn bởi địa lý, vì vậy chỉ tiếp cận được các khách hàng địa phương.Website bán giàykhông chỉ giới hạn một vùng địa lý nhất định mà bất cứ đâu miễn nơi đó vào đượcInternet
1.3 Mục đích chọn đề tài
Nhận thức được tầm quan trọng của website bán giày đối với nhu cầu khách hàng mọi địa phương.Hình thức mua sắm này phù hợp với con người thời đại mới vì tiết kiệm được nhiều công sức lẫn thời gian cho khách hàng Khách hàng có thể thoải mái tham khảo về thông tin sản phẩm bất cứ lúc nào có thời gian không cần phải tới tại cửa hàng
mà vẫn mua được giày chất lượng cũng như cập nhật được các thông tin khuyễn mãi của cửa hàng
1.4 Nội dung đề tài
Website gồồm ba tác nhân đó là : Người qu n lý, khách hàng thành viên và ảkhách hàng vãng lai
+ Khách hàng vãng lai
Đăng ký tài khoản
Cho phép xem thông tin sản phẩm(giá cả, hình ảnh,mô tả,nội dung )
Tìm kiếm sản phẩm theo tên sản phẩm
Trang 3+ Phía khách hàng thành viên: Có đầy đủ chức năng của khách hàng vãng lai, ngoài ra còn có
Đăng nhập tài khoản đăng ký tại website hoặc bằng facebook
Cập nhật thông tin khách hàng
Xem lịch sử mua hàng
Cho phép thêm vào giỏ hàng
Cho phép tiến hành thanh toán
Được ghi chú khi tiến hành thanh toán
Sau khi nhập địa chỉ giao hàng có thể nhận gmail về thông tin mua hàng với tài khoản đã đăng ký tại website
Cho phép đặt đơn hàng+Phía quản trị:
Quản lý danh mục ( thêm, sửa, xóa,hiển thị)
Quản lý sản phẩm ( thêm, sửa, xóa, hiển thị)
Quản lý thành viên (sửa,xóa)
1.5 Bố cục đồ án
-Chương 1: Đặt vấn đề và định hướng giải pháp
- Chương 2: Cơ sở lý thuyết
-Chương 3: Phân tích chức năng
-Chương 4: Thiết kế hệ thống
-Chương 5: Kết quả cài đặt
-Chương 6 : Kết luận và định hướng phát triển
Trang 4CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Framework Laravel
2.1.1 Khái niệm
Laravel là một PHP framework mã nguồn mở và miễn phí, được phát triển bởi Taylor Otwell và nhắm vào mục tiêu hỗ trợ phát triển các ứng dụng web theo kiếm trúc model-view-controller (MVC) Những tính năng nổi bật của Laravel bao gồm cú pháp dễ hiểu – rõ ràng , một hệ thống đóng gói modular và quản lý gói phụ thuộc, nhiều cách khác nhau để truy cập vào các cơ sở dữ liệu quan hệ, nhiều tiện ích khác nhau hỗ trợ việc triển khai vào bảo trì ứng dụng
2.1 Mô hình MVC
-Mô hình MVC là một kiến trúc thiết kế của một phần mềm công nghê thông tin, trong đó có cả PHP Khi một phần mềm sử dụng mô hình này thì nó sẽ phải chia ra thành
ba phần chính Model-View-Controller (MVC) với 3 nhiệm vụ khác nhau:
–Model: là thành phần chứa tất cả các phương thức xử lý, truy xuất database, đối tượng
mô tả dữ liệu như các Class, hàm xử lý…
–View: Là phần đảm nhận việc hiển thị thông tin, tương tác với người dùng Hoặc chúng
ta có thể hiểu nôm na đó là phần giao diện của ứng dụng
–Controller: Controller là phần xử lý và điều hướng các hành động của client, từ đó đưa
ra các xử lý với database nếu có Hay nói các khác thì Controller là cầu nối giữa View
và Model.
Trang 5Chúng ta có thể thấy mô hình hoạt động của MVC thông qua hình trên:
- Người dùng thực hiện gửi yêu cầu tới controller
- Controller sẽ thực hiện tương tác với model
- Model sẽ xử lý để lấy các dữ liệu
- Dữ liệu sẽ được model gửi trả về Controller
- Controller sẽ đổ dữ liệu ra view hiển thị cho người dùng
2.1.3 Ưu nhược điểm của Laravel
về coding style, methods và classes
Công cụ dòng lệnh Artisan giúp quản lý hệ thống cơ sở dữliệu hiệu quả Artisan giúp tạo các tệp MVC cơ bản và quản
lý tài nguyên, bao gồm cả các cấu hình tương ứng của chúng
Gói và nguồn lực sẵn có
Reverse Routing: Đây là một tính năng rất hữu ích trongframwork, có thể tạo liên kết đến các route được đặt tên Vìvậy, khi tạo các liên kết, chỉ cần sử dụng tên của bộ địnhtuyến, framework sẽ tự động chèn URL chính xác Nếu cần
Trang 6thay đổi các route trong tương lai, những thay đổi sẽ tự độngđược thực hiện ở mọi nơi.
-Nhược điểm:
Không hỗ trợ tính năng thanh toán
Thiếu sự liên tục giữa các phiên bản: Không có chuyển đổi liền mạch từ Laravel 4 sang 5 Nếu cố cập nhật code, có thể
sẽ phá vỡ ứng dụng
Một số nâng cấp có thể có vấn đề
Việc tải lại toàn trang có thể hơi nặng trong các mobile app khi so sánh với các website Trong những trường hợp như vậy, các nhà phát triển web có xu hướng chỉ sử dụng framework như backend JSON API
CHƯƠNG 3: PHÂN TÍCH CHỨC NĂNG
3.1 Phía khách hàng thành viên
3.1.1 Chức năng Đăng ký – Đăng nhập
- Khi truy cập vào địa chỉ website, trên thanh menu khách hàng kích vào
TÀI KHOẢN để đăng nhập hoặc đăng ký
3.1.2 Chức năng xem chi tiết sản phẩm
- Khi truy cập vào địa chỉ của website, người dùng có thể trực tiếp chọn cácsản phẩm trên trang chủ
- Cũng có thể thực hiện việc tìm kiếm để xem thông tin chi tiết của sản phẩmcần tìm hiểu
3.1.3 Chức năng Quản lý giỏ hàng
- Người dùng có thể lựa chọn sản phẩm trực tiếp trên trang chủ hoặc tìm kiếmsản phẩm theo mong muốn sau đó kích vào Thêm vào giỏ hàng
Trang 7- Người dùng có thể xóa sản phẩm không mong muốn trong giỏ hoặc cập nhật
số lượng sản phẩm trong giỏ hàng
- Trỏ vào tên khách hàng đã đăng ký trên thanh menu và kích vào xem lịch
sử mua hàng, khách hang có thể xem lịch sử mua giày của mình trênwebsite
3.2 Phía quản trị viên
3.2.1 Chức năng quản lý danh mục
- Admin có thể thêm, sửa, xóa danh mục sản phẩm
- Cập nhật trạng thái hiển thị hoặc không hiển thị
3.2.1 Chức năng quản lý loại sản phẩm nằm trong danh mục sản phẩm
- Admin có thể thêm, sửa, xóa loại sản phẩm
- Cập nhật trạng thái hiển thị hoặc không hiển thị
Trang 83.2.2 Chức năng quản lý sản phẩm
- Admin có th thêm, s a, xóa s n ph m.ể ử ả ẩ
- V i mồỗi s n ph m có th c p nh tớ ả ẩ ể ậ ậ : tên, mồ t , thồng tn, danh m c s nả ụ ả
ph m,lo i s n ph m, giá c , khuyêến mãi, sồế lẩ ạ ả ẩ ả ượng, nh hi n th , l a ch nả ể ị ự ọ
s n ph m là s n ph m n i b t cho t ng s n ph m.ả ẩ ả ẩ ổ ậ ừ ả ẩ
- C p nh t tr ng thái đ l a ch n hi n th s n ph m.ậ ậ ạ ể ự ọ ể ị ả ẩ
- Tìm kiêếm s n ph m theo tên ho c theo danh m c s n ph mả ẩ ặ ụ ả ẩ
3.3 Biểu đồ Use Case
3.3.1 Use Case tổng quát
Trang 93.3.2 Use Case Đăng ký – Đăng nhập
3.3.2.1 Đặc tả UC Đăng Ký thành viên
Ca sử dụng : Đăng ký thành viên
Các tác nhân : Khách chưa đăng ký
Điều kiện trước :
Điều kiện sau: Khách hàng đăng ký thành công
Mô tả : Cho phép khách xem website đăng ký làm thành viên
Các sự kiện chínhHành động của tác nhân Hành động của hệ thống
1.Khách hàng chọn mục Tài khoản -> Đăng
ký ngay để đăng ký thành viên
3.Khách nhập thông tin cá nhân vào form
Các sự kiện phụ
5.Quá trình nhập thông tin không chính xác 5.1 Hệ thống thông báo nhập thông tin khôngchính xác
5.2 Hệ thông yêu cầu khách nhập lại thông
Trang 107 Nhấn đồng ý để nhập lại thông tin , Hủy để
Điều kiện trước : Khách hàng chưa đăng nhập vào hệ thống
Điều kiện sau: Khách hàng có thể sử dụng các chức năng của hệthống cung cấp cho thành viên của website
Mô tả : Cho phép khách hàng đăng nhập vào hệ thống
5 Thông báo đăng nhập không thành công và yêu cầu đăng nhập lại hoặc kết thúc
Trang 113.3.2 Use Case quản lý danh mục
3.3.2.1 Đặc tả Use Case quản lý danh mục
Ca sử dụng Quản lý danh mục
Các tác nhân : Admin
Điều kiện trước : Admin đã đăng nhập hệ thống
Điều kiện sau: Các thông tin về danh mục sản phẩm được cập nhậttrong cơ sở dữ liệu
Mô tả : Use Case cho phép xem, thêm, sửa, xóa, đổi trạng thái danh mục hiển thị
Các sự kiện chính
1 Chọn quản lý danh mục trên trang chủ quản trị
6 Thông báo lỗi khi thực hiện tác động không hợp lệ
Trang 123.3.3 Use Case quản lý loại sản phẩm
3.3.3.1 Đặc tả Use Case quản lý loại sản phẩm
Ca sử dụng Quản lý loại sản phẩm
Các tác nhân : Admin
Điều kiện trước : Admin đã đăng nhập hệ thống
Điều kiện sau: Các thông tin về loại sản phẩm được cập nhật trong cơ
sở dữ liệu
Mô tả : Use Case cho phép xem, thêm, sửa, xóa, đổi trạng thái loại sản phẩm hiển thị
Các sự kiện chính
1 Chọn quản lý loại sản phẩm trên trang chủ quản trị
Trang 13Hành động của tác nhân Hành động của hệ thống
6 Thông báo lỗi khi thực hiện tác động không hợp lệ
3.3.4 Use Case quản lý sản phẩm
3.3.2.1 Đặc tả Use Case quản lý sản phẩm
Ca sử dụng Quản lý sản phẩm
Các tác nhân : Admin
Điều kiện trước : Admin đã đăng nhập hệ thống
Điều kiện sau: Các thông tin về sản phẩm được cập nhật trong cơ sở dữliệu
Mô tả : Use Case cho phép xem, thêm, sửa, xóa, đổi trạng thái sản phẩm hiển thị
Các sự kiện chính
1 Chọn quản lý sản phẩm trên trang chủ quản trị
Trang 146 Thông báo lỗi khi thực hiện tác động không hợp lệ
3.3.5 Use Case xem chi tiết sản phẩm
3.3.2.1 Đặc tả Use Case xem chi tiết sản phẩm
Ca sử dụng Xem chi tiết sản phẩm
Các tác nhân : Khách hàng
Điều kiện trước :
Điều kiện sau: Khách hàng có thể xem chi tiết sản phẩm
Mô tả : Use Case cho phép người dùng xem chi tiết sản phẩm
Các sự kiện chính
1 Chọn sản phẩm 2.Hiện thị giao diện chi tiết sản
phẩm
3.3.6 Use Case tìm kiếm sản phẩm
3.3.2.1 Đặc tả Use Case tìm kiếm sản phẩm
Ca sử dụng tìm kiếm sản phẩm
Các tác nhân : Khách hàng
Điều kiện trước :
Điều kiện sau: Khách hàng tìm kiếm được sản phẩm cần xem
Trang 15 Mô tả : Use Case cho phép khách hàng tìm kiếm sản phẩm
Các sự kiện chính
1 Ch n bi u tọ ể ượng search trên header
3 Điêồn t khóa câồn tm kiêếm s n ph mừ ả ẩ
3.3.7 Use Case quản lý giỏ hàng
3.3.7.1 Đặc tả Use Case quản lý giỏ hàng
Ca sử dụng Quản lý giỏ hàng
Các tác nhân : Khách hàng
Điều kiện trước : Khách hàng đã đăng nhập
Điều kiện sau: Các sản phẩm cần mua được cập nhật
Mô tả : Use Case cho phép người dùng thêm sản phẩm vào giỏ hàng, hiển thị giỏ hàng, xóa sản phẩm không cần thiết và điều chỉnh số lượng sản phẩm để thực hiện thanh toán
Trang 16 Các sự kiện chính
1 Thêm sản phẩm vào giỏ hàng
3 Chọn xem giỏ hàng tại biểu tượng giỏ trên header của
5 Thực hiện thao tác : xóa sản phẩm không cần thiết
hoặc update số lượng sản phẩm
2 Cập nhật sản phẩm có trong giỏ hàng
4 Hiển thị giao diện giỏ hàng
6 Hiển thị giao diện giỏ hàng đã được cập nhật và tổng tiền cần thanh toán khi nhận hàng
Trang 171 Chọn tiến hành thanh toán trong giỏ hàng
3 Người dùng nhập địa chỉ giao hàng và chọn phương
thức vận chuyển.Nếu muốn, có thể thêm ghi chú
4 Chọn tiến hành đặt hàng
2 Chuyển sang trang đặt hàng
5 Thông báo đặt hàng thành công
Các sự kiện phụ
5 Thông báo lỗi khi thiếu địa chỉ hoặc phương thức vận chuyển
3.4 Biểu đồ lớp ( Class Diagram)
(Trung làm )
3.5 Biểu đồ tuần tự ( Sequence Diagram) ( sáng mai làm)
3.5.1 Chức năng đăng nhập
Trang 18Khách hàng sẽ điền thông tin vào giao diện đăng nhập Form sẽ gửi thông tin tớiController điều khiển để thực hiện việc kiểm tra Nếu thông tin gửi tới là sai mẫu quyđịnh của email hoặc số lượng ký tự mật khẩu, Controller sẽ trả về thông báo sai về giaodiện để tác nhân nhập lại thông tin Nếu đúng, Controller sẽ gửi yêu cầu tới Model thựchiện kiểm tra cơ sở dữ liệu sau đó trả kết quả trở lại.
3.5.2 Chức năng đăng ký
Trang 19Người dùng thực hiện điền thông tin đăng ký vào form đăng ký trên giao diệnđăng ký Sau đó form này sẽ thực hiện gửi thông tin tới Controller điều khiển để thựchiện kiểm tra việc nhập thông tin có đúng quy định hay không Nếu sai sẽ gửi lại thôngbáo tới giao diện để người dùng nhập lại Nếu đúng, Controller sẽ gửi thông tin tới Model
để thực hiện nhập dữ liệu rồi trả về kết quả
3.5.3 Chức năng quản lý thông tin
3.5.4 Chức năng xem chi tiết sản phẩm
Trang 20Người dùng thực hiện chọn sản phẩm trên giao diện trang chủ hoặc giao diện tìmkiếm… Sau đó giao diện sẽ thực hiển gửi yêu cầu xem tới Controller điều khiển.Controller xử lý gửi yêu cầu tới Model để lấy thông tin từ cơ sở sử liệu cần thiết trả vềController Controller sẽ thực hiện chuyển giao diện tới chi tiết sản phẩm và hiển thị kếtquả tới người sử dụng
3.5.5 Chức năng quản lý giỏ hàng
3.4.6 Chức năng tạo đơn hàng