+ 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àngXem lịch
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 được Internet
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
Đăng ký tài khoảnCho 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àngXem lịch sử mua hàng
Cho phép thêm vào giỏ hàngCho 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ácnhau để 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ệuhiệu quả Artisan giúp tạo các tệp MVC cơ bản và quản lý tàinguyê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 appkhi 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ác sả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ẩm cầ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ếm
sả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
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ụcsản phẩm,loại sản phẩm, giá cả, khuyêến mãi, sồếượl ng,ả nh ểhi nh ịt,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ênCá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ính
Hà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 2.Form đăng ký hiển thị
ký ngay để đăng ký thành viên 5.Thông báo kết quả đăng ký
3.Khách nhập thông tin cá nhân vào form 6.Cập nhật khách hàng vừa đăng ký vào
4.Khách nhấn nút đăng ký
7.Kết thúc
Các sự kiện phụ
5.Quá trình nhập thông tin không chính xác5.1 Hệ thống thông báo nhập thông tin khôngchính xác
Trang 107 Nhấn đồng ý để nhập lại thông tin , Hủy để tin
kết thúc
3.3.2.2 Đặc tả UC Đăng Nhập thành viên
Ca sử dụng Đăng nhập thành viênCác tác nhân : Khách hàng
Đ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ốngCác sự kiện chính
Hành động của hệ thống2.Form đăng nhập xuất hiện4.Kiểm tra thông tin đăng nhập
5 Thông báo đăng nhập thành công
Hành động của 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ụcCá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ậ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 danh mục hiển thị
Các sự kiện chínhHành động của tác nhân
1 Chọn quản lý danh mục trên trang chủ quản trị
3 Chọn chức năng
5.Chọn kiểu tác động: thêm, sửa, xóa, đổi trạng thái
danh mục hiển thị
Các sự kiện phụHành động của tác nhân
Hành động của hệ thống2.Hiện các mục chức năng củaquản lý danh mục
4.Hiển thị giao diện chức năng quản lý danh mục
6.Hiển thị kết quả, trả về danh sáchdanh mục đã được cập nhật
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ệ
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ẩmCá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ínhHành động của tác nhân
1 Chọn quản lý loại sản phẩm trên trang chủ quản trị
4.Hiển thị giao diện chức năng quản lý loại sản phẩm
6.Hiển thị kết quả, trả về danh sách danh mục đã được cập nhật
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ẩmCá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ínhHành động của tác nhân
1 Chọn quản lý sản phẩm trên trang chủ quản trị
4.Hiển thị giao diện chức năng quản lý sản phẩm
6.Hiển thị kết quả, trả về danh sách danh mục đã được cập nhật
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ẩmCá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ẩmCá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 15Mô tả : Use Case cho phép khách hàng tìm kiếm sản phẩm
Các sự kiện chínhHành động của tác nhân
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
5.Ch ọn s ản ph ẩm câồn tm kiêếm
3.3.7 Use Case quản lý giỏ hàng
Hành động của hệ thống
2.Hi nể th formị nh pậ t ừkhóa câồn tm kiêếm
4.Tr ảvêồ giao diệ n danh sách sản phẩm chứa từ khóa
6.Hiể n thị giao diệ n chi têết ủc a sản phẩm
3.3.7.1 Đặc tả Use Case quản lý giỏ hàng
Ca sử dụng Quản lý giỏ hàngCá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 16Các sự kiện chính
1 Thêm sản phẩm vào giỏ hàng 2 Cập nhật sản phẩm có trong giỏ
3 Chọn xem giỏ hàng tại biểu tượng giỏ trên header của hàng
5 Thực hiện thao tác : xóa sản phẩm không cần thiết 4 Hiển thị giao diện giỏ hànghoặc update số lượng sản phẩm 6 Hiển thị giao diện giỏ hàng đã
được cập nhật và tổng tiền cầnthanh toán khi nhận hàng
3.3.7 Use Case đặt hàng
3.3.7.1 Đặc tả Use Case đặt hàng
Ca sử dụng Đặt hàngCác tác nhân : Khách hàngĐiều kiện trước : Đã đăng nhập, đã thêm ít nhâết mộ t ảs n phẩ m trong giỏ hàng
Điều kiện sau: Khách hàng đặt hàng thành công và nhận được email về đơn hàng
Mô tả : Use Case cho phép khách hàng đặt hàng
Các sự kiện chính
Trang 171 Chọn tiến hành thanh toán trong giỏ hàng 2 Chuyển sang trang đặt hàng
3 Người dùng nhập địa chỉ giao hàng và chọn phương 5 Thông báo đặt hàng thành côngthứ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
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 địnhcủa email hoặc số lượng ký tự mật khẩu, Controller sẽ trả về thông báo sai về giao diệ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ực hiện kiểmtra 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ực hiện kiểmtra việc nhập thông tin có đúng quy định hay không Nếu sai sẽ gửi lại thông báo tới giaodiệ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ệnnhậ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