Chương 3 Phân tích thiết kế hệ thống3.1 Các chức năng của ứng dụng 1 Xem sản phẩm Người xem có thể xem thông tin sản phẩm gồm : tên sản phẩm, size, giá sản phẩm, tình trạng còn hàng hay
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THÔNG VIỆT HÀN
BÁO CÁO CHUYÊN NGÀNH 1
Đề tài: Ứng dụng Nhà sách Medbook đa nền tảng
Sinh viên thực hiện : Phùng Thế Hùng
Giảng viên hướng dẫn : ThS Phạm Hồ Trọng Nguyên
Đà nẵng, 22 tháng 12 năm 2020
Trang 2MỞ ĐẦU
Trong Cách mạng Công Nghiệp 4.0, những yếu tố mà các nước đang phát triển(Việt Nam, Lào, Indonesia….) tự hào là ưu thế như lực lượng lao động trẻ, dồi dào sẽkhông còn là thế mạnh hơn nữa còn có thể sớm bị thay thế bởi Trí tuệ nhân tạo (AI).Trong tương lai, lực lượng lao động trong mọi lĩnh vực đều có thể mất việc làm bởicông nghệ robot có thể tác động tới tất cả các ngành nghề từ dệt may, dịch vụ, giải tríđến y tế, giao thông, giáo dục Chính vì vậy, đây là thời kỳ thuận lợi để sinh viên họcCông nghệ thông tin: Lập trình, Quản trị mạng, Bảo mật, thể hiện kiến thức, kỹ năng
và bản lĩnh trong thời đại mới – thời đại 4.0
“Nhu cầu tuyển dụng nhân lực ngành CNTT cao nhất trong lịch sử" là nhận địnhcủa VietnamWorks (Website tuyển dụng lớn nhất Việt Nam) Theo dự đoán của TopDev, năm 2020, Việt Nam sẽ cần 1.000.000 nhân lực ngành CNTT Hơn 90% các nhàtuyển dụng được khảo sát cũng chia sẻ, họ đang đấu tranh để tuyển dụng và giữ châncác nhân viên IT giỏi
Có thể thấy, ngành CNTT đang là “miền đất hứa” với cơ hội việc làm rộng mở vàmức lương hấp dẫn (khởi điểm 400$ - theo Vietnamworks) Chính vì vậy học CNTTtrong thời điểm hiện tại chính là lợi thế
Thương mại điện tử đang phổ biến cho mọi lứa tuổi, từ nam đến nữ, từ già tới trẻ.Nhà nhà, người người đều mua chủ yếu từ thương mại điện tử Tuy nhiên, để mua tàiliệu, đồ dùng phục vụ cho việc học thì lại rất ít hoặc không có Với sinh viên Y việctìm mua được sách đã khó, sách đảm bảo tốt thì lại càng khó hơn Do đó, em chọn đềtài Ứng dụng Nhà sách Medbook chạy trên đa nền tảng nhằm giúp các bạn vừa tìmđược sách mình cần, vừa đảm bảo chất lượng
Trang 3Em xin cảm ơn giảng viên hướng dẫn Ths Phạm Hồ Trọng Nguyên đã giúp đỡ
em với sự nhiệt huyết của mình, cũng như chỉ bảo những thiếu sót của em
Trang 4NHẬN XÉT TỪ GIẢNG VIÊN
………
………
………
………
………
………
………
………
………
………
Chữ ký giảng viên
Trang 5
MỤC LỤC Trang MỞ ĐẦU
Chương 1 Giới thiệu 1
1.1 Tổng quan 1
1.2 Phương pháp, kết quả 1
1.3 Cấu chúc đồ án 1
Chương 2 Cơ sở lý thuyết 3
2.1 Khảo sát thực tế 3
2.1.1 Khảo sát khách hàng 3
2.1.2 Khảo sát bên nhà sách 3
2.2 Tìm hiểu ngôn ngữ lập trình và công cụ sử dụng 4
2.2.1 Tìm hiểu ngôn ngữ lập trình 4
2.2.2 Tìm hiểu công cụ sử dụng 5
2.3 Tổng quan, so sánh sự khác biệt về Mobile app & Desktop app, chiến lược kiểm thử 7
2.3.1 Tổng quan về Mobile app 7
2.3.2 Chọn thiết bị kiểm thử: 7
2.3.3 Sử dụng Emulators hay Simulators? 8
2.4 Tổng quan về kiến trúc Client/Server 8
2.4.1 Tổng quan 8
2.4.2 Ngôn ngữ viết chương trình 8
Chương 3 Phân tích thiết kế hệ thống 10
3.1 Các chức năng của ứng dụng 10
3.1.1 Chức năng phía frontend 10
3.1.2 Chức năng phía người quản trị website 12
3.2 Sơ đồ luồng dữ liệu 14
3.2.1 Biểu đồ mức ngữ cảnh 14
3.2.2 Biểu đồ luồn dữ liệu mức 0 15
3.2.3 Biểu đồ luồng dữ liệu mức 1 – Quản lý danh mục 16
3.2.4 Biểu đồ luồng dữ liệu mức 1 – Quản lý đơn hàng 17
3.2.5 Biểu đồ luồng dữ liệu mức 1 – Khách hàng phản hồi 18
3.3 Mô hình liên kết 18
3.3.1 Thực thể người dùng 18
3.3.2 Thực thể khách hàng 19
3.3.3 Thực thể sản phẩm 19
3.3.4 Thực thể đặt hàng 20
3.3.5 Thực thể danh mục sản phẩm 20
3.3.6 Thực thể sản phẩm bán 20
3.3.7 Thực thể tình trạng 20
3.3.8 Thực thể nhân viên 21
3.3.9 Thực thể bình luận 21
Chương 4 Kết quả đạt được 22
4.1 Database 22
4.2 Kết quả mô phỏng 23
Chương 5 Kết luận và hướng phát triển 37
Trang 65.1 Kết luận 37 5.2 Hướng phát triển 37 TÀI LIỆU
Trang 7DANH MỤC HÌNH
Hình 1:Ngôn ngữ PHP 4
Hình 2:Công cụ XAMPP 5
Hình 3:Công cụ Sublime Text 6
Hình 4: Công cụ Android Studio 6
Hình 5: Mô hình Client/Server 8
Hình 6: Sơ đồ Frontend 12
Hình 7: Sơ đồ Backend 14
Hình 8: Biểu đồ mức ngữ cảnh 14
Hình 9: Biểu đồ luồng dữ liệu 0 15
Hình 10: Quản lý danh mục 16
Hình 11: Quản lý đơn hàng 17
Hình 12: Khách hàng phản hồi 18
Hình 13: Thực thể người dùng 18
Hình 14: Thực thể khách hàng 19
Hình 15: Thực thể sản phẩm 19
Hình 16: Thực thể đặt hàng 20
Hình 17: Thực thể danh mục sản phẩm 20
Hình 18: Thực thể sản phẩm bán 20
Hình 19: Thực thể tình trạng 20
Hình 20: Thực thể nhân viên 21
Hình 21: Thực thể bình luận 21
Hình 22: Login 22
Hình 23:List 22
Hình 24: Category 22
Hình 25:Product 22
Hình 26:Giao diện trang Admin 23
Hình 27: Giao diện danh mục sản phẩm 23
Hình 28: Giao diện sản phẩm 24
Hình 29: Giao diện trang chủ 25
Hình 30: Giao diện bảng đăng nhập 26
Hình 31: Giao diện bảng đăng ký 26
Hình 32: Giao diện trang sản phẩm 27
Hình 33: Giao diện trang giới thiệu 28
Hình 34: Giao diện trang liên hệ 29
Hình 35: Giao diện trang sự kiện 30
Hình 36: Giao diện trang thông tin sản phẩm 31
Hình 37: Giao diện trang tìm kiếm 32
Hình 38: Giao diện trang giỏ hàng 33
Hình 39: Giao diện trang thanh toán 34
Hình 40: Giao diện trang thông tin tài khoản 35
Hình 41: Giao diện trang quản lý giao dịch 36
Trang 8Chương 1 Giới thiệu
1.1 Tổng quan
Đối với thương mại truyền thống bạn phải đến cửa hàng lớn hoặc nhỏ để muahàng Còn với thương mại điện tử đã được ứng dụng những công nghệ vào mọi khâucủa quá trình mua bán như: bạn ngồi nhà có thể bạn so sánh giá cả, chủng loại sảnphẩm, bạn có thể thanh toán trực tuyến vào hoạt động mua bán
Và gần như chắc chắn rằng" nếu bạn hiểu biết và so sánh được" thì bạn sẽ mua chomình một sản phẩm với giá cả tốt nhất vẫn đảm bảo chất lượng Vì thương mại điện tửcắt giảm rất nhiều thứ chi phí mà thương mại truyền thống không có được Ví dụthương mại điện tử cắt giảm: chi phí mặt bằng bạn có thể bán hàng ngay tại nhà- hànghóa của bạn vẫn như hàng hóa siêu thị, chi phí thuê nhân viên đứng bán hàng như tạicác siêu thị và một điều cực kỳ quan trọng trong thế giới thương mại điện tử là dễkiểm soát hơn trong khâu tồn kho
Áp dụng kiến thức đã học để phát triển ứng dụng như trên là cần thiết Bởi vì điềunày cho phép học thêm các công nghệ mới, rèn luyện kỹ năng lập trình, đồng thờinâng cao kinh ngiệm và học thêm các kỹ năng quan trọng khác Chính vì thế, em chọn
đề tài “Ứng dụng Nhà sách Medbook chạy trên đa nền tảng”
Ứng dụng giúp cho các bạn sinh viên Y tìm được tài liệu, dụng cụ học tập họ cần
mà không phải lo về giá quá cao hay không đảm bảo chất lượng khi mua
1.2 Phương pháp, kết quả
Phương pháp xây dựng ứng dụng sẽ bao gồm các bước sau:
Khảo sát thực tiễn
Tìm hiểu công cụ và ngôn ngữ sử dụng
Nghiên cứu các ứng dụng đa nền tảng
1.3 Cấu chúc đồ án
Phần tiếp theo của báo cáo bao gồm:
Chương 2: Cơ sở lý thuyết
Trong chương này, em sẽ giới thiệu tổng quát về công cụ sử dụng và ngôn ngữ lậptrình, các bước thực hiện bao gồm:
Khảo sát thực tế
Tìm hiểu ngôn ngữ lập trình, công cụ sử dụng
Tìm hiểu các thức chuyển đổi từ Web Desktop sang App Mobile
Tìm hiểu Tổng quan về kiến trúc Client/Server
Chương 3: Phân tích thiết kế hệ thống
Ở phần này em sẽ trình bày các nội dung sau:
Các chức năng của ứng dụng
Sơ đồ luồng dữ liệu
Mô hình thực thể liên kết
Trang 9 Xử lý các chức năng
Thiết kế bẳng dữ liệu
Chương 4: Kết quả đạt được
Em sẽ chạy demo, test sản phẩm.
Chương 5: Kết luận và hướng phát triển
Trong chương này em sẽ chia làm 2 phần gồm:
Phần 1: Đưa ra nhận xét sau khi chạy demo sản phẩm
Phần 2: Đưa ra hướng phát triển, hoàn thiện sản phẩm
Trang 10Chương 2 Cơ sở lý thuyết
2.1 Khảo sát thực tế
2.1.1 Khảo sát khách hàng
Yêu cầu khi mua sản phẩm:
o Sách không bị bong tróc, rách trang, thiếu chữ, trang màu đầy đủ không bịmờ
o Dụng cụ dùng tốt, không bị hư hỏng gì
Giá cả: hợp lý không quá cao nhưng phải đảm bảo chất lượng sách
Mong muốn ưu đãi: Khi mua sách số lượng lớn sẽ được giảm giá, mong cónhững sự kiện như tri ân hoặc ưu đãi khi bắt đầu năm học
Yêu cầu khi cần hỗ trợ: Hỗ trợ nhiệt tình, giải đáp nhanh nhất có thể
2.1.2 Khảo sát bên nhà sách
Nguồn gốc: đảm bảo không bị bung bong bìa, không bị rách trang, không được
in mờ chữ
Giá cả: bán ra luôn thấp hơn so với thị trường
Giải đáp thắc mắc: nhân viên phải trả lời chậm nhất sau 30 phút
Ưu đãi: có 4 chương trình lớn trong năm:
o Chào đón tân sinh viên
o Chào đón năm học mới
o Tri ân khách hàng vào 2 dịp là khoảng tháng 4 – 5 và tháng 12 – 1
Hoàn trả hàng: Khách hàng có thể đổi trả hàng sau 2-3 ngày khi nhận hàng vớiđiều kiện:
o Sách còn nguyên, không bị bong tróc, rách
o Dụng cụ: không bị hư hại
Có góc học tập thoải mái với nước uống, điều hòa cho các bạn sinh viên đếnnhà sách học
Trang 112.2 Tìm hiểu ngôn ngữ lập trình và công cụ sử dụng
2.2.1 Tìm hiểu ngôn ngữ lập trình
Hình 1:Ngôn ngữ PHP
Ngôn ngữ PHP là ngôn ngữ kịch bản làm việc trên server với nhiệm vụ là kết nối cơ sở
dữ liệu và thực hiện các các chức năng của web hoặc ứng dụng web
Ưu điểm:
PHP là một ngôn ngữ dễ học, dễ viết nó không áp dụng các quy tắc cứng nhắcvào việc xây dựng tính năng nên bạn có thể linh hoạt giải quyết các vấn đề vớicác phương pháp khác nhau
PHP là ngôn ngữ thông dịch do vậy bạn vẫn có thể biên dịch và chạy chươngtrình cho đến khi gặp phải vấn đề So với các ngôn ngữ khác thì học PHP nhanhhơn
PHP là mã nguồn mở có nghĩa là bạn có thể sử dụng mà không cần trả phí gìhết, ngoài ra bạn có thể dễ dàng sao chép các mã nguồn PHP có sẵn
Trang 12 XAMPP tích hợp nhiều thành phần với các tính năng:
Apache
PHP (tạo môi trường chạy các tập tin script *.php)
MySql (hệ quản trị dữ liệu mysql)
Nhược điểm:
Bởi vì có cấu hình đơn giản nên XAMPP không được hỗ trợ cấu hình Module,cũng không có Version MySQL, do đó, đôi khi sẽ mang đến sự bất tiện chongười dùng Trong khi WAMP có nhiều tùy chọn hơn
Dung lượng của XAMPP cũng tương đối nặng, dung lượng file cài đặt củaXAMPP là 141Mb, nặng hơn nhiều so với WAMP chỉ 41Mb
Trang 132.2.2.2 Sublime Text
Hình 3:Công cụ Sublime Text
Là một text editor được viết bằng ngôn ngữ lập trình Python và có thể được sử dụngtrên nhiều nền tảng hệ điều hành khác nhau như Windows, Mac, Linux
Sublime Text hỗ trợ nhiều ngôn ngữ lập trình và là một phần mềm có thể được sửdụng miễn phí tuy nhiên cũng có phiên bản trả phí của Sublime Text
Tại sao sử dụng Sublime Text:
Sublime Text khác với các IDE khác ở đặc điểm nhẹ, linh hoạt trong tùy biến
và cung cấp nhiều tính năng rất tiện lợi khi lập trình
Với các IDE khác thì thông thường bạn sẽ cần phải chờ một khoảng thời gianvào khoảng 10 giây khi khởi động Với Sublime Text bạn chỉ phải đợi khoảng
từ 1 tới 2 giây
2.2.2.3 Android Studio
Hình 4: Công cụ Android Studio
Là một phầm mềm bao gồm các bộ công cụ khác nhau dùng để phát triển ứng dụngchạy trên thiết bị sử dụng hệ điều hành Android như các loại điện thoại smartphone,các tablet
Trang 14Android Studio được đóng gói với một bộ code editor, debugger, các công cụperformance tool và một hệ thống build/deploy cho phép các lập trình viên có thểnhanh chóng phát triển các ứng dụng từ đơn giản tới phức tạp.
2.3 Tổng quan, so sánh sự khác biệt về Mobile app & Desktop app, chiến lược kiểm thử
2.3.1 Tổng quan về Mobile app
Mobile Web Apps Native (Pure native)
Apps Hybrid Apps
- Chi phí, hiệu quả cao hơn sovới Native app
- Dễ dàng phân phối
- Trình duyệt nhúng được đượcvào app
- Sử dụng các tính năng củathiết bị di động
- Chi phí cao cho việcbảo trì, hoạt động
- Việc sử dụng định dạng app +thời gian tải web nên nó sẽ hoạtđộng không nhanh bằng ứngdụng thông thường
- Đồ họa sẽ là đồ họa chung củaWeb nên ít thân thiện với ngườidùng như một ứng dụng đượcphát triển cho riêng hệ điềuhành nào đó
2.3.2 Chọn thiết bị kiểm thử:
Ưu điểm Nhược điểm
- Độ chính xác cao trong các kết quả kiểm thử
- Dễ dàng tìm ra lỗi
- Các điểm như: Hết pin, vị trí, thông báo đẩy,
cảm biến dễ dàng thực hiện
- Một số lượng lớn các thiết bị cầnđược sử dụng
- Chi phí phát sinh trong quá trình bảotrì, bảo dưỡng thiết bị
Trang 15- Có khả năng thực hiện các interrupt bằng
tin nhắn hoặc cuộc gọi
- Có khả năng kiểm thử ứng dụng trên môi
trường và điều kiện thực tế
- Không có lỗi giả(lỗi thường phát hiện trên
các máy ảo)
- Các hạn chế về quyền truy cập khi sửdụng ở nước ngoài
2.3.3 Sử dụng Emulators hay Simulators?
Emulators – Một trình giả lập thay thế cho thiết bị gốc Mặc dù bạn có thể chạy cácứng dụng và phần mềm trên tiện ích của bạn, nhưng bạn không thể chỉnh sửa được cácthông số kỹ thuật của nó
Simulators – Không sao chép phần cứng của thiết bị nhưng cho phép bạn có khảnăng thiết lập môi trường tương tự như hệ điều hành của thiết bị
2.4 Tổng quan về kiến trúc Client/Server
2.4.1 Tổng quan
Kiến trúc Client/Server là kiến trúc nổi tiếng trong mạng máy tính, hầu hết các website hoạt động dựa trên kiến trúc này Trong đó Client là máy khách gửi yêu cầu đến máy Server Tại đây thì Server lắng nghe các yêu cầu từ máy Client, nhận thông tin từ Client sau đó xử lý, trả kết quả về cho máy Client
Hình 5: Mô hình Client/Server
2.4.2 Ngôn ngữ viết chương trình
HTML (Hyper Text Markup Language) còn được gọi là ngôn ngữ đánh dấu siêu văn bản
Nó được tạo ra nhằm cấu trúc lên một trang web với các mẫu thông tin được trình bày trênWorld Wide Web Một số thẻ thường được dùng như là <html> </html>, <header>
</header>, <body> </body>, <div> </div>, <span> </span>, <ul> </ul>,…
CSS (Cascading Style Sheet), Website được cấu tạo từ các thẻ html nhưng với những thẻhtml thì mới chỉ thể hiện được bộ khung của website Để căn chỉnh, trình bày cho đẹp mắt thì
ta cần sử dụng ngôn ngữ CSS Đay là ngôn ngữ được dùng rất nhiều trong lập trình web,thường đi cùng với ngôn ngữ html
Trang 16JavaScrip là ngôn ngữ lập trình kịch bản, hỗ trợ người lập trình trong việc tạo ra các hiệuứng của website, kiểm tra các thông tin đầu vào thường được viết cho phần giao diện củawebsite.
PHP (Hypertext Preprocessor) là ngôn ngữ lập trình chủ yếu được dùng để phát triển cácứng dụng viết cho máy chủ, dễ dàng nhúng vào trang HTML Đây là ngôn ngữ lập trình webphổ biến nhất thế giới, do tính mở nên dễ tiếp cận với lập trình viên
MySql là hệ quản trị CSDL tự do mã nguồn mở phổ biến nhất thế giới được các nhà pháttriển rất ưa chuộng để phát triển các ứng dụng My SQL là cơ sở dữ liệu tốc độ cao, ổn định
và rất dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệthống rất lớn các hàm tiện ích rất mạng Với tốc độ và tính bảo mật cao, MySQL rất thích hợpcho các ứng dụng truy cập CSDL trên internet và thường đi với người anh em của nó là PHP
Trang 17Chương 3 Phân tích thiết kế hệ thống
3.1 Các chức năng của ứng dụng
1 Xem sản phẩm Người xem có thể xem thông tin sản phẩm gồm : tên sản
phẩm, size, giá sản phẩm, tình trạng còn hàng hay hết hàng
2 Bình luận Người xem có thể bình luận về sản phẩm, nội dung và thông
tin người bình luận cần lưu trong database
3 Đặt hàng Chức năng cho phép khách hàng duyệt sản phẩm trên trang
sản phẩm và nhấn nút đặt hàng sản phẩm đã chọn
4 Giỏ hàng Cho phếp khách hàng có thể xem, điều chỉnh mặt hàng mình
đã chọn mua Bao gồm tính tổng giá sản phẩm mà khách hàng mua
5 Tìm kiếm sản phẩm Khách hàng nhập thông tin vào thanh tìm kiếm để tìm kiếm
sản phẩm
6 Xem sản phẩm mới Hiển thị các sản phẩm mới nhất cho người xem
7 Đánh giá Khách hàng có thể đánh giá sản phẩm mình đã mua theo mức
sao từ 1 - 5 tương ứng từ không hài lòng đến rất hài lòng
8 Chương trình
khuyến mãi, tri ân Người xem có thể biết được các chương trình khuyến mãi, triân đang diễn ra với thời gian cụ thể
3.1.1.1 Chi tiết chức năng phía frontend
Xem sản phẩm : Khách hàng truy cập vào địa chỉ của website trên thanh URL
hoặc truy cập vào app trên mobile, chọn vào các page trên site để xem thôngtin
o Đầu vào : Thông tin yêu cầu của khách hàng về sản phẩm
o Xử lý : Khi khách hàng chọn một sản phẩm bất kì trên page, thông tin màkhách hàng gửi sẽ được xử lý, hệ thống sẽ lấy dữ liệu từ cơ sở dữ liệu, gửilên cho người dùng
o Đầu ra : Thông tin về sản phẩm bao gồm tên sản phẩm, size, giá cả, tìnhtrạng,…
Bình luận : Người xem có thể chia sẻ cảm nghĩ của họ về sản phẩm, thông tin
bình luận của khách hàng sẽ được lưu vào database bao gồm tên khách hàng,đánh giá sao và nội dung mà khách hàng bình luận
o Đầu vào : Thông tin về người bình luận gồm tên, đánh giá sao, ngày giờ vànội dung mà khách hàng bình luận
o Xử lý : Kiểm tra nội dung mà người dùng nhập vào, nếu hợp lệ thì lưu dữliệu vào database, nếu không thì thông báo lỗi cho người dùng
Trang 18o Đầu ra : Thông báo từ hệ thống, nếu hợp lệ thì thông báo : "Bạn đã gửi bìnhluận thành công" Nếu không hợp lệ thì thông báo : "Dữ liệu bạn nhập vàokhông hợp lệ"…
Đặt hàng : Cho phép khách hàng duyệt sản phẩm trên web hoặc app Khi
khách hàng gửi thông tin đặt hàng thì mặt hàng đó sẽ được gửi đến giỏ hàng
o Đầu vào : Thông tin về sản phẩm mà khách hàng muốn mua
o Xử lý : Khi khách hàng chọn sản phẩm muốn mua, ở phiên làm việc đó nếukhách hàng chọn lần đầu tiên thì ở giỏ hàng sẽ tạo mới sản phẩm số lượngbằng 1 Nếu đã tồn tại mặt hàng đó trong giỏ hàng rồi thì số lượng của sảnphẩm đó sẽ được tăng lên 1
o Đầu ra : Thông tin của sản phẩm đó lưu trong giỏ hàng
Giỏ hàng : Cho phép khách hàng xem, điều chỉnh, thêm, xóa sản phẩm mà
khách hàng đã đặt mua Có chức năng tính tổng giá trị của đơn hàng đó
o Đầu vào : Thông tin của các sản phẩm mà khách hàng đã đặt mua, số lượngsản phẩm mà khách hàng muốn mua
o Xử lý : Khách hàng có thể thay đổi số lượng sản phẩm muốn mua, khikhách hàng chọn lại số lượng và chọn cập nhật thì số lượng của sản phẩm
đó cần được cập nhật lại, tổng giá cũng cần được tính toán lại Khi kháchhàng chọn xóa sản phẩm thì sản phẩm đó phải được xóa khỏi giỏ hàng.Khách hàng chọn xóa hết thì sẽ thông báo không có mặt hàng nào trong giỏhàng Khách hàng chọn mua tiếp thì chuyển về trang chủ, chọn đặt hànghàng thì sẽ chuyển đến trang mua hàng
o Đầu ra : Thông tin về giỏ hàng bao gồm sản phẩm, số lượng, tổng giá…
Tìm kiếm sản phẩm : Để không mất thời gian duyệt từng sản phẩm trên
website hoặc app, khách hàng có thể biết thông tin về sản phẩm mình muốnmua bằng cách nhập thông tin vào ô tìm kiếm
o Đầu vào : Tên sản phẩm mà khách muốn tìm kiếm
o Xử lý : Khi khách hàng nhập tên sản phẩm muốn tìm kiếm, hệ thống sẽ sosánh tên đó với dữ liệu trong database Nếu nhận được kết quả sẽ trả kết quảtìm kiếm về cho người dùng, nếu không tìm thấy kết quả nào thì hệ thống sẽgửi thông báo : "Không tìm thấy kết quả"
o Đầu ra : Thông báo, kết quả từ hệ thống
Xem sản phẩm mới : Khách hàng có thể xem thông tin các sản phẩm mới nhất
của nhà sách
o Đầu vào : Thông tin về sản phẩm
o Xử lý : Hệ thống sẽ lựa chọn những sản phẩm mới nhất mà người quản trịweb nhập vào, trả về kết quả, hiển thị cho người dùng xem
o Đầu ra : Thông tin về sản phẩm mới nhất
Đánh giá : Khách hàng đánh giá sản phẩm theo mức độ hài lòng của họ.
o Đầu vào : Chọn số sao từ 1 - 5
o Xử lý : Khi khách hàng chọn số sao, hệ thống sẽ xử lý và đưa ra mức độ hàilòng tương ứng với số sao đó
o Đầu ra : Số sao và mức độ hài lòng tương ứng
Chương trình khuyến mãi, tri ân : Mỗi năm nhà sách sẽ đưa ra các chương
trình khuyến mãi, tri ân cho khách hàng mới lẫn cũ
o Đầu vào : Thông tin về chương trình khuyến mãi, tri ân
Trang 19o Xử lý : Hệ thống sẽ hiển thị cho người xem các chương trình khuyến mãi, tri
ân đang diễn ra
o Đầu ra : Thông tin chương trình, thời gian diễn ra
3.1.1.2 Sơ đồ phân cấp chức năng phí frontend
2 Quản lý danh mục sản phẩm Quản lý thông tin danh mục sản phẩm bao gồm
các chưng thêm, xóa, sửa danh mục sản phẩm
3 Quản lý đơn đặt hàng Thống kê đơn đặt hàng đặt bởi khách hàng, xem
tình trạng đơn đặt hàng như : Đã giao hàng và chi tiết đơn đặt hàng
4 Chi tiết đơn đặt hàng Hiển thị thông tin chi tiết đơn đặt hàng bao gồm
thông tin về khách hàng, thông tin về các sản phẩm trong đơn hàng, nhân viên thực hiện giao đơn hàng, tình trạng đơn hàng, ghi chú của ngườiquản trị
5 Quản lý người dùng Thêm mới, sửa, xóa thông tin người dùng
6 Phản hồi Lưu trữ các phản hồi của khách hàng
Quản lý giỏ hàng Đặt mua
Tên sản phẩm
Giá sản phẩm
Đánh giá sản phẩm Bình luận sản phẩm
Trang 203.1.2.1 Chi tiết chức năng
Quản lý sản phẩm : Quản lý thông tin sản phẩm bao gồm các thuộc tính như
tên, số lượng, giá cả, kích thước,… Có cá chức năng như là thêm, xóa, sửathông tin sản phẩm
o Đầu vào : Thông tin sản phẩm : Tên, giá cả, kích thước, số lượng
o Xử lý : Thêm sản phẩm : Khi người quản trị website chọn chức năng thêmsản phẩm, hệ thống sẽ chuyển đến trang sản phẩm Ở trang này người dùngnhập thông tin về sản phẩm sau đó gửi thông tin và gửi về cho hệ thống
o Sửa sản phẩm : Khi người quản trị website chọn chức năng sửa sản phẩm thìthông tin sản phẩm cần sửa sẽ được hệ thống chuyển đến trang sửa sảnphẩm Ở trang này người dùng chỉnh sửa thông tin và gửi về cho hệ thống
o Xóa sản phẩm : Người dùng chọn sản phẩm cần xóa, hệ thống sẽ gửi thôngtin sản phẩm mà người dùng muốn xóa về database, sản phẩm sẽ được xóa ởdatabase
Đầu ra : Thông tin sản phẩm sau khi được chỉnh sửa
Quản lý danh mục sản phẩm : Bao gồm các chức năng thêm, sửa, xóa danh
mục sản phẩm
o Đầu vào : Thông tin danh mục sản phẩm
o Xử lý : Khi người quản trị website chọn các chức năng thêm, xóa, sửa thìthông tin về danh mục sản phẩm sẽ được cập nhật vào database
o Đầu ra : Thông tin về sản phẩm sau khi đã được sửa đổi
Quản lý đơn đặt hàng : Liệt kê các đơn đặt hàng mà khách hàng đã đặt hàng,
o Đầu ra : Giá trị, tình trạng đơn hàng
Chi tiết đơn đặt hàng : Người quản trị ngoài xem thông tin về đơn đặt hàng,
họ còn muốn biết chi tiết về đơn hàng đó, vì vậy cần hiển thị thông tin chi tiếtđơn hàng bao gồm thông tin về khách hàng, thông tin về các sản phẩm trongđơn hàng, nhân viên thực hiện giao đơn hàng, tình trạng đơn hàng, ghi chú củangười quản trị
o Đầu vào : Thông tin khách hàng : Họ tên, số điện thoại, mail, địa chỉ nhậnhàng Thông tin về sản phẩm mà khách hàng mua : Tên sản phẩm, số lượng,đơn giá, thành tiền, giá trị hóa đơn
o Xử lý : Người quản trị có thể thêm ghi chú về đơn hàng đó như thời gian màkhách hàng có thể nhận đơn hàng Ngoài ra hệ thống còn có chức năng hủyđơn hàng tại phần chi tiết đơn đặt hàng vì nhân viên gọi điện cho kháchhàng mà khách hàng từ chối đơn hàng thì cần xóa đơn hàng đó khỏi hệthống
o Đầu ra : Thông tin về tình trạng đơn hàng : đã xác nhận hay chưa xác nhận,đang vận chuyển, đã vận chuyển hay chưa vận chuyển Phần ghi chú
Trang 21 Quản lý người dùng : Quản lý thông tin người dùng bao gồm thông tin về tên,
tài khoản, mật khẩu cùng các chức năng thêm mới, sửa, xóa người dùng
o Đầu vào : Thông tin người dùng : Tên, tài khoản, mật khẩu
o Xử lý : Khi quản trị viên chọn các chức năng thêm, sửa, xóa người dùng.Thông tin mà quản trị viên yêu cầu sẽ được hệ thống gửi xuống database đểthực hiện các chức năng đó
o Đầu ra : Thông tin về người dùng sau khi được sửa đổi
3.1.2.2 Sơ đồ phân cấp chức năng backend
Chỉnh sửa thông tin Đơn đặt hàng Phản hồi
Xử lý đơn hàng
Website bán hàng
Quản trịviên
Thông tin cá nhân Thông tin đặt hàng Tìm kiếm thông tin Bình luận sản phẩm
Thông tin sản phẩm
Thông tin cộng tác viên Thông tin đơn hàng
Thông tin sản phẩm Thông tin giỏ hàng Kết quả tìm kiếm
Thông tin đơn hàng đặt Thông tin sản phẩm Thông tin góp ý0
Trang 223.2.2 Biểu đồ luồn dữ liệu mức 0
Hình 9: Biểu đồ luồng dữ liệu 0
Quản trị hệthống
Quản lý danhmục
Quản lý đơnhàng
Khách hàngphản hồi
Sản phẩm
Danh mục SP Người dùng
Nhân viên
Tình trạng đơn hàng Sản phẩm bán Đơn hàng
Trang 233.2.3 Biểu đồ luồng dữ liệu mức 1 – Quản lý danh mục
Thông tin danh mục