Biểu đồ Usecase chức năng đăng nhập Hình 2.4 Biểu đồ Usecase phân rã chức năng tra cứu giày Hình 2.5 Biểu đồ Usecase phân rã chức năng đặt mua Hình 2.6 Biểu đồ Usecase phân rã chức năng
Trang 1TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG
Lê Thanh Liêm
Vũ Đức DuyCao Lê Nhật MinhLớp: DH11C13
Tên học phần: Phát triển ứng dụng trên nền WebGiảng viên hướng dẫn: Vũ Văn Huân
Hà Nội - 2023
Trang 3MỤC LỤC
DANH MỤC HÌNH 4
DANH MỤC BẢNG 6
LỜI CẢM ƠN 7
CHƯƠNG 1: TỔNG QUAN BÁO CÁO 8
1.1 Giới thiệu dự án 8
1.2 Mục đích và mục tiêu báo cáo 8
1.2.1 Mục đích báo cáo 8
1.2.2 Mục tiêu báo cáo 8
1.3 Lĩnh vực 8
1.4 Yếu tố công nghệ 8
1.5 Xác định các yêu cầu chức năng của hệ thống 8
1.6 Cơ sở lý thuyết 9
1.6.1 Ngôn ng lập trình PHP 9ữ 1.6.2 HTML, CSS và JavaScript 16
1.6.3 Môi trường phát triển ứng dụ 17ng 1.6.4 Thanh toán điệ ử VNPAY 18n t 1.7 Mô hình xây dựng dự án 19
1.7.1 Mô hình xoắn ốc là gì ? 19
1.7.2 Khi nào nên sử dụng mô hình xoắn ốc 21
1.7.3 Ưu điểm 21
1.7.4 Nhược điểm 21
1.7.5 Kết luận 22
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ 22
2.1 Xác định usecase của các tác nhân 22
2.1.1 Đăng kí 22
2.1.2 Đăng nhập 22
2.1.3 Đơn hàng 22
2.1.4 Quản lý giỏ hàng 22
2.1.5 Tìm kiếm giày theo tên, giá 23
Trang 42.1.6 Quản lý danh mục 23
2.1.7 Quản lý sản phẩm giày 23
2.1.8 Quản lý tài khoản 23
2.2 Xác định các tác nhân 23
2.2.1 Khách hàng, người truy cập website 23
2.2.2 Người Quản trị 23
2.3 Xác định các trường hợp sử dụng (use-case) 23
2.3.1 Khách hàng 23
2.3.2 Người quản trị 23
2.4 Biểu đồ Usecasse tổng quát 24
2.4.1 Đăng kí 25
2.4.2 Đăng nhập 25
2.4.3 Tra cứu sản phẩm giày 26
2.4.4 Đặt hàng (thanh toán) 27
2.4.5 Quản lý danh mục 27
2.4.6 Quản lý sản phẩm 28
2.4.7 Quản lý đơn đặt hàng 29
2.4.8 Quản lý thông tin tài khoản quản trị 30
2.5 Biểu đồ hoạt động 31
2.5.1 Biểu đồ hoạt động chức năng đăng kí 31
2.5.2 Biểu đồ hoạt động chức năng đăng nhập 33
2.5.3 Biểu đồ hoạt động chức năng tìm kiếm sản phẩm 35
2.5.4 Biểu đồ hoạt động chức năng đặt hàng 37
2.5.5 Biểu đồ hoạt động chức năng quản lý danh mục 39
2.5.6 Biểu đồ hoạt động chức năng đặt hàng (thanh toán) 41
2.5.8 Biểu đồ hoạt động chức năng quản lý tài khoản quản trị 43
2.6 Giao diện người dùng 45
2.6.1 Giao diện đăng nhập 45
2.6.2 Giao diện trang chủ 45
2.6.3 Giao diện sản phẩm 46
Trang 52.6.4 Giao diện sản phẩm chi tiết 46
2.6.5 Giao diện giỏ hàng và đặt hàng 47
2.7 Giao diện quản lý 47
2.7.1 Giao diện quản lí đơn hàng 48
2.7.2 Giao diện quản lí danh mục 48
2.7.3 Giao diện quản lí sản phẩm 49
2.7.2 Giao diện quản lí thành viên 49
CHƯƠNG 3: ĐÁNH GIÁ 50
3.1 Những điểm đạt được 50
3.1.1 Về website: 50
3.1.2 Về kinh nghiệm làm việc: 50
3.2 Hạn chế 50
KẾT LUẬN 50
TÀI LIỆU THAM KHẢO 51
DANH MỤC HÌNH
Hình 2.1 Biểu đồ Usecase tổng quát
Hình 2.2 Sơ đồ phân rã chức năng đăng ký
Hình 2.3 Biểu đồ Usecase chức năng đăng nhập
Hình 2.4 Biểu đồ Usecase phân rã chức năng tra cứu giày
Hình 2.5 Biểu đồ Usecase phân rã chức năng đặt mua
Hình 2.6 Biểu đồ Usecase phân rã chức năng quản lý danh mục
Hình 2.7 Biểu đồ Usecase phân rã chức năng quản lý sản phẩm
Hình 2.8 Biểu đồ Usecase phân rã chức năng quản lý đơn hàng
Hình 2.9 Biểu đồ Usecase phân rã chức năng quản lý tài khoản quản trị viên
Hình 2.10 Biểu đồ hoạt dộng chức năng đăng kí
Hình 2.11 Biểu đồ tuần tự chức năng đăng kí
Trang 6Hình 2.12 Biểu đồ hoạt dộng chức năng đăng nhập
Hình 2.13 Biểu đồ tuần tự chức năng đăng nhập
Hình 2.14 Biểu đồ hoạt dộng chức năng tìm kiếm sản phẩmHình 2.15 Biểu đồ tuần tự chức năng tìm kiếm sản phẩmHình 2.16 Biểu đồ hoạt động chức năng quản lý đơn đặt hàngHình 2.17 Biểu đồ tuần tự chức năng quản lý đơn đặt hàngHình 2.18 Biểu đồ hoạt động chức năng quản lý danh mụcHình 2.19 Biểu đồ tuần tự chức năng quản lý danh mụcHình 2.20 Biểu đồ hoạt động chức năng đặt hàng
Hình 2.21 Biểu đồ tuần tự chức năng đặt hàng
Hình 2.22 Biểu đồ hoạt động chức năng quản lý tài khoản quản trịHình 2.23 Biểu đồ tuần tự chức năng quản lý tài khoản quản trịHình 2.24 Giao diện đăng nhập và đăng ký
Hình 2.25 Giao diện trang chủ
Hình 2.26 Giao diện trang sản phẩm
Hình 2.27 Giao diện trang sản phẩm chi tiết
Hình 2.28 Giao diện trang đặt hàng
Hình 2.29 Giao diện quản lí đơn hàng
Hình 2.30 Giao diện quản lí danh mục
Hình 2.31 Giao diện quản lí sản phẩm
Hình 2.32 Giao diện quản lí thành viên
Trang 7DANH MỤC BẢNG
Bảng 1: Mô tả usecase đăng kí
Bảng 2: Mô tả usecase đăng nhập
Bảng 3 : Mô tả usecase tra cứu đầu sách
Bảng 4: Mô tả usecase quản lý đặt mua
Bảng 5: Mô tả usecase quản lý danh mục
Bảng 6 : Mô tả usecase quản lý sản phẩm giày
Bảng 7 : Mô tả usecase quản lý đơn hàng
Bảng 8 Mô tả usecase quản lý tài khoản quản trị viên
Trang 8LỜI CẢM ƠN
Để hoàn thành được báo cáo kết thúc môn học này, trước hết em xin gửi lời cảm
ơn chân thành nhất đến Cán bộ Giảng viên Khoa Công nghệ Thông tin, Đồng thời em xingửi lời cảm ơn đặc biệt về sự chỉ dạy, hướng dẫn tận tình của Giảng viên Dương Thị Thuý
đã luôn tận tình hướng dẫn, giúp đỡ trong suốt thời gian thực hiện báo cáo kết thúc môn.Nhóm em cũng xin gửi lời cảm ơn tới Khoa Công nghệ Thông tin – Trường ĐạiTài Nguyên và Môi Trường đã luôn quan tâm và tạo điều kiện giúp em hoàn thành báocáo kết thúc môn này Ngoài ra, nhóm em xin cảm ơn những người bạn đã giúp đỡ và traođổi thêm nhiều thông tin về đề tài trong quá trình thực hiện đề tài này
Do kiến thức còn hạn chế, bài báo cáo của em không tránh khỏi những sai sót.Rấtmong nhận được những lời góp ý từ quý Thầy cô để báo cáo kết thúc môn học củaemđược hoàn thiện và giúp em có thêm những kinh nghiệm quý báu
Cuối cùng, em xin kính chúc các thầy cô giảng viên trường Đại học Tài Nguyên vàMôi Trường nói chung, các thầy cô khoa công nghệ thông tin nói riêng dồi dào sức khỏe
và thành công trong sự nghiệp cao quý
Trang 9CHƯƠNG 1: TỔNG QUAN BÁO CÁO
1.1 Giới thiệu dự án
Ứng dụng công nghệ thông tin trong việc quản lí bán hàng dường như không còn
xa lạ với các doanh nghiệp, công ty hiện nay Lợi ích mà các chương trình phần mềmquản lí bán hàng đem lại khiến ta không thể không thừa nhận tính hiệu quả của nó Hiệnnay, việc bán hàng online đang rất phổ biến Các doanh nghiệp và công ty lớn, nhỏ đều rótvốn đầu tư vào thị trường online
Do đó dự án xây dựng và phát triển một chương trình hoàn chỉnh ứng dụng những
kỹ thuật và công nghệ mới nhất để giúp cho việc quảng bá sản phẩm củadoanh nghiệpđược mọi người biết đến rộng rãi trên toàn quốc Để quản lý việc bán hàng online mộtcách hiệu quả và nâng cao Chính vì thế chúng em đã chọn đề tài “Xây dựng hệ thốngquản lý bán giày online”
1.2 Mục đích và mục tiêu báo cáo
1.2.1 Mục đích báo cáo
Dùng công nghệ PHP, MYSQL để xây dựng lên hệ thống website bán giày onlinethuận tiện cho việc mua bán online và tiết kiệm thời gian hơn
1.2.2 Mục tiêu báo cáo
⁻ Đáp ứng được tiêu chuẩn của một website
⁻ Cấu trúc khoa học, chặt chẽ, rõ ràng, dễ dàng điều hướng, khai thác, chỉnh sửa
⁻ Thân thiện với người sử dụng
⁻ Tương thích với các trình duyệt web khác nhau, nội dung được tối ưu, tốcđộtải/nạp trang web nhanh
⁻ Phần mềm Visual studio code
⁻ Website sẽ chạy được trên các trình duyệt web
Trang 101.5 Xác định các yêu cầu chức năng của hệ thống
⁻ Chức năng đăng nhập,đăng xuất
⁻ Chức năng tìm kiếm giày
⁻ Chức năng quản lý danh mục
⁻ Chức năng quản lý đơn đặt hàng
⁻ Chức năng tài khoản quản trị viên
ứng d ng vi t cho máy ch , mã ngu n mở, m c tiêu chính c a ngôn ngụ ế ủ ồ ụ ủ ữ
là cho phép các nhà phát tri n viể ết ra các trang web động m t cách nhanhộchóng Nó r t phù hấ ợp để phát tri n web và có thể ể dễ dàng nhúng vào các trangHTML Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nh gọn, cúỏ pháp gi ng C và Java, dố ễ học và th i gian xây d ng s n phờ ự ả ẩm tương đốingắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn
ng lữ ập trình web phổ ến nh t thbi ấ ế ớgi i
1.6.1.2 Lịch sử hình thành và phát triển
PHP được phát triển từ một sản phẩm có tên là PHP/FI do RasmusLerdorf tạo ra năm 1994, ban đầu được xem như là mộ ập con đơn giảt t n của các mãkịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ôngtrên m ng ạ Vào tháng 11 năm 1997, PHP/FI 2.0 được chính thức công bố, saumột th i gian khá dài chờ ỉ được công bố dướ ại d ng các bản beta Nhưng khônglâu sau đó, nó đã được thay th bởi các bế ản alpha đầu tiên của PHP 3.0 phiên– bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với các phiên bản PHP
mà chúng ta được biết ngày nay
PHP 3.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thời gian 9tháng được cộng đồng kiểm nghiệm PHP 3.0 đã được Andi Gutmans và ZeevSuraski t o ra sau khi vi t l i hoàn toàn b mã nguạ ế ạ ộ ồn trước đó Lý do chính
mà họ đã tạo ra phiên b n này là do hả ọ nhận th y PHP/FI 2.0 h t s c y uấ ế ứ ếkém trong vi c phát tri n các ng dệ ể ứ ụng thương mại điện t mà hử ọ đang xúctiến trong m t d án cộ ự ủa trường đạ ọi h c M t trong nh ng s c m nh l n nh tộ ữ ứ ạ ớ ấ
của PHP 3.0 là các tính năng mở ộng m nh mr ạ ẽ ủa nó Ngoài khả năng cungccấp cho người dùng cuối một cơ sở ạ h tầng chặt ch dùng cho nhiẽ ều cơ sở ữd
liệu, giao th c và API khác ứ nhau, các tính năng mở ộng c a PHP 3.0 r ủ đã thu hút
rất nhiều nhà phát tri n tham gia và đề xuất các mô đun mở r ng mới.ể ộ
Tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3.0 ra đời, phiên bản PHP 4.0chính thức được công b Ngoài tố ốc độ xử lý được c i thi n r t nhi u, PHP 4.0ả ệ ấ ề
Trang 11đem đến các tính năng c ủ h yếu khác gồm có s h tr nhiều máy chự ỗ ợ ủ Web hơn,
hỗ ợ tr phiên làm việc HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách x lýử thông tin ngườ ử dụi s ng nh p vào b o mậ ả ật hơn và cung cấp m t vài các c uộ ấtrúc ngôn ngữ mới V i PHP 4, s nhà phát tri n dùng PHP ớ ố ể đã lên đến hàngtrăm nghìn và hàng ệu site đã công bố cài đặtri t PHP, chiếm khoảng 20% s tênố miền trên m ng Internet.ạ
Sau s thành công cự ủa PHP 4.0, ngày 13 tháng 7 năm 2004 PHP 5.0 chính
thức ra m t sau m t th i gian khá dài tung ra các b n ki m tra thắ ộ ờ ả ể ử bao
gồm Beta, RC Mặc dù coi đây là phiên bản s n xuả ất đầu tiên nhưng PHP 5.0 vẫncòn m t sộ ố lỗi trong đó đáng kể là l i xác thỗ ực HTTP Ngày 14 tháng 7 năm 2005,PHP 5.1 Beta 3 được PHP Team công bố đánh dấu s chín muồi mới của PHPự với s có m t c a PDO, m t nự ặ ủ ộ ỗ lực trong vi c t o ra m t hệ ạ ộ ệ thống API nh tấquán trong vi c truy cệ ập cơ sở dữ liệu và th c hi n các câu truy v n Ngoàiự ệ ấ
ra, trong PHP 5.1, các nhà phát tri n PHP ti p t c có nh ng c i ti n trongể ế ụ ữ ả ế
nhân Zend Engine 2, nâng c p ấ mô đun PCRE lên bản PCRE 5.0 cùng nhữngtính năng và cải tiến mới trong SOAP, streams và SPL
Hiện nay phiên b n ti p theo cả ế ủa PHP đang được phát tri n, Phiên b nể ảPHP 6 được kỳ vọng sẽ lấp đầy nh ng khi m khuy t c a PHP phiên b nữ ế ế ủ ở ả
hiện tại, như là: hỗ ợ tr namespace, hỗ trợ Unicode, s dụng PDO làm APIử chuẩn cho vi c truy cệ ập cơ sở ữ ệu, các API cũ sẽ ị đưa ra thành thư việd li b nPECL Phiên b n 6 này ch dùng ả ỉ ở việc nghiên c u và thứ ử nghiệm PHP 7với vi c sệ ử dụng b nhân Zend Engine m i PHPNG cho tộ ớ ốc độ nhanh g p 2ấlần Ngoài ra phiên b n này còn thêm vào r t nhiở ả ấ ều cú pháp, tính năng mớigiúp cho PHP tr nên m nh mở ạ ẽ hơn Những tính năng mới quan tr ng có thọ ể
kể đến như: khai báo kiểu dữ liệu cho bi n, ế xác định kiểu dữ ệu sẽ ả ề li tr v cho 1hàm, thêm các toán tử m i ớ
1.6.1.3 Ưu điểm của PHP
PHP là ngôn ng mã nguữ ồn mỡ, có thể chạy được trên c Apache vàả IIS do đó so với ASP.NET thì nó phổ biến nhiều hơn, điều đó được minh chứng
bằng số lượng các website được thi t kế ế ằng ngôn ng PHP hi n nay C u trúcb ữ ệ ấPHP c c kự ỳ đơn giản, v y nên b n s không m t nhi u thậ ạ ẽ ấ ề ời gian để có thể họcđược M t ộ khi đã làm chủ được HTML và C, bạn hoàn toàn có th làm chể ủđược ngôn ngữ lập trình này
Thư viện của PHP vô cùng phong phú, hệ thống CMS miễn phí dùngtương đối nhiều, cũng như được cộng đồng h tr một cách vô cùng mạnh mẽ.ỗ ợ Vậy nên b n có thạ ể dễ dàng tìm ngu n tài li u mình cồ ệ ần cũng như có thể
nhận đượ ự c s h tr mỗ ợ ột cách nhanh nh t.ấ
Do chạy được trên máy ch Apache ủ và thường đi cặp cùng v i hớ ệ qu nả
Trang 12trị cơ sở ữ ệu MySQL nên vid li ệc cài đặt môi trường phát triển vô cùng đơn giản,thông qua m t bộ ộ cài đặt duy nhất như là: XAMPP trên windows và linux,MAMP trên MacOS
Hình 1.2 Top các ngôn ngữ phổ biến 01/2018 – chỉ số PYPL1.6.1.4 PHP Framework
Framework là m t b mã nguộ ộ ồn được xây d ng, phát triự ển và đóng gói– phân phối bởi các chuyên gia lập trình hoặc bởi các công ty lập trình
Nó s cung c p m t c u trúc phát tri n chuẽ ấ ộ ấ ể ẩn để các developer dựa vào đóxây dựng và phát triển các dự án Đi kèm theo nó là một kho thư viện gồmnhiều l p/hàm xớ ử lý đượ đặc t trong các packages ho c namespace riêng.ặCác chuyên gia l p trình sậ ử dụng nhi u kề ỹ thuật l p trình và gi iậ ảthu t/thuậ ật toán để xây dựng các lớp x lý một cách tử ối ưu nhất, giải quyếtcác bài toán l p trình nhanh chóng và chính xác Các l p trong m tậ ớ ộframework s làm vi c t t nh t v i c u trúc chuẽ ệ ố ấ ớ ấ ẩn mà framework đó cung
c p.ấ
Trang 13Nhắc đến sự ỗ ợ h tr mạnh m của cẽ ộng đồng cho ngôn ng lập trìnhữ PHP thì ch c ch n ph i kắ ắ ả ể tớ ự đa dại s ng c a các PHP Framework: Laravel,ủSymfony, Codeigniter, CakePHP Các PHP Framework đều được xây dựngtheo chu n mô hình MVC (Model View Controller) và cung c p r tẩ – – ấ ấnhiều l p hớ ỗ ợ xử tr lý v bảo m t, phân quyề ậ ền, captcha, view helper, modulemanager, database, service… khi đó các lập trình viên s xây dựng, phát triểnẽ website m t cách d dàng và nhanh chóng.ộ ễ
PHP framework làm cho s phát tri n c a nh ng ng d ng web vi tự ể ủ ữ ứ ụ ếbằng ngôn ng PHP tr nên trôi chữ ở ảy hơn, bằng cách cung c p 1 cấ ấu trúc cơbản để xây dựng những ứng dụng đó Hay nói cách khác, PHP framework giúp đỡcác b n ạ thúc đẩy nhanh chóng quá trình phát tri n ng d ng, giúp b nể ứ ụ ạ
tiết kiệm được th i ờ gian, tăng sự ổn định cho ng d ng, và gi m thi u sứ ụ ả ể ố ầl nphải vi t l i mã cho l p trình viên Ngoài ra Framework còn giúp nhế ạ ậ ữngngười mới bắt đầu có th xây dể ựng các ng d ng ổn định hơn nhờ việc tươngứ ụtác chính xác giữa các Database, mã (PHP) và giao diện (HTML) một cáchriêng biệt Điều này cho phép b n dành nhi u thạ ề ời gian để tạo ra các ứng
dụng web, hơn là phí thời gian để ết các đoạn mã lặp lại trong một project.vi
Ý tưởng chung đằng sau cách thức làm việc của một PHP framework được
kể đến là Model View Controller (MVC) MVC là 1 mô hình (ki n trúc)ếtrong l p trình, cho phép tách bi t các mã nghi p v (business logic) vàậ ệ ệ ụ
giao di n (UI) thành các ph n riêng biệ ầ ệt, điều này đồng nghĩa với vi c ta cóệ
th chể ỉnh s a chúng 1 cách riêng l Trong c m t MVC thì: Model (M)ử ẻ ụ ừ
có thể hiểu là ph n x lý các thao tác vầ ử ề nghiệp v (business logic), Viewụ (V) được hi u là ph n xể ầ ử lý l p giao di n (presentation layer), vàớ ệController (C) làm nhi m vệ ụ lọc các request đc gọ ừ i t user, có chức năng như 1route: điều chỉnh, phân luồng các yêu cầu để ọi đúng Model g & View thích
hợp Về cơ bản, MVC chia nh quá trình x lý c a 1 ng d ng, vì thỏ ử ủ ứ ụ ế nên
bạn có th làm vi c trên t ng thành ph n riêng l , trong khi nhể ệ ừ ầ ẻ ữngthành ph n khác s không bầ ẽ ị ảnh hưởng t i Th c chớ ự ất, điều này giúp đỡ bạnlập trình PHP nhanh hơn và ít phứ ạp hơn.c t
Trong vài năm qua, PHP đã tiến triển thành 1 ngôn ngữ script được lựachọn bời hầu hết các nhà phát triển website, đã có 1 sự bùng nổ về các PHPframework,