ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬTKHOA CÔNG NGHỆ SỐ ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌCNGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN ĐỀ TÀI XÂY DỰNG ỨNG DỤNG DI DỘNG QUẢ
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA CÔNG NGHỆ SỐ
ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌCNGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI XÂY DỰNG ỨNG DỤNG DI DỘNG QUẢN LÍ BÁN THIẾT BỊ
ĐIỆN TỬ CHO CỬA HÀNG HOÀNG HÀ MOBILE
Sinh viên thực hiện : Thiều Văn Thuận
Trang 2ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA CÔNG NGHỆ SỐ
ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌCNGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI XÂY DỰNG ỨNG DỤNG DI DỘNG QUẢN LÍ BÁN THIẾT BỊ
ĐIỆN TỬ CHO CỬA HÀNG HOÀNG HÀ MOBILE
Giảng viên hướng dẫn duyệt
Đà Nẵng, tháng 02/2023
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Đà Nẵng, ngày tháng năm 2023
Giảng viên hướng dẫn
Trang 4NHẬN XÉT CỦA NGƯỜI PHẢN BIỆN
Đà Nẵng, ngày tháng năm
2023 Người phản biện
Trang 5TÓM TẮT Tên đề tài: XÂY DỰNG ỨNG DỤNG DI DỘNG QUẢN LÍ BÁN THIẾT BỊ ĐIỆN TỬ CHO CỬA HÀNG HOÀNG HÀ MOBILE
Sinh viên thực hiện: Thiều Văn Thuận
Mã SV: 1811505310245 Lớp: 18T2
Nội dung tóm tắt:
Ứng dụng di động cho phép account Admin quản lí danh sáchkhách mua hàng, danh sách sản phẩm, danh sách đơn hàng,danh sách nhân viên và nhân viên được cấp quyền quản lí củatất cả các cửa hàng một cách nhanh chóng và thuận tiện nhất.Cho phép Admin quản lí thống kê doanh thu, đơn hàng của từngnhân viên theo từng ngày, tháng, năm
Cho phép Admin tạo thông báo cho tất cả các nhân viên
Đối với nhân viên thì ứng dụng di động cho phép nhân viênquản lí khách hàng, quản lí đơn hàng cho khách hàng, xemthông kê đơn hàng và chi tiết đơn hàng
Đối với nhân viên được cấp quyền xử lý đơn hàng thì sẽ đượcphép duyệt đơn hàng dựa trên thông báo khi có đơn hàng đượctạo ra
Đối với nhân viên kế toán thực hiện xử lí thanh toán với nhữngđơn hàng đã được duyệt thông qua việc nhận thông báo
Đối nhân viên kho xử lí xuất kho sau khi kế toán đã xác nhận và
xử lí nhập kho khi có nhập hàng về từ nhà cung cấp
Đối với nhân viên được cấp quyền quản lí thì sẽ sử dụng đượctất cả các chức năng như admin
Ứng dụng di dộng sử dụng 2 ngôn ngữ chính là tiếng việt vàtiếng anh
Trang 6TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ
Xây dựng ứng dụng di dộng quản lí bán thiết bị điện tử cho
cửa hàng Hoàng Hà Mobile
2 Các số liệu, tài liệu ban đầu:
- Các tài liệu hướng dẫn được lấy từ nhiều nguồn khác nhau,
nhưng đa phần là trên các khóa lập trình ứng dụng di động
trên youtube
- Tài liệu: https://docs.flutter.dev/ , https://www.youtube.com/
watch?v=ylJz7N-dv1E&t=8s
3 Nội dung chính của đồ án:
Quá trình xây dựng ứng dụng di động quản lí bán thiết bị điện
tử cho cửa hàng Hoàng Hà Mobile:
- Thu thập thông tin tài liệu liên quan và khảo sát thực tế
- Phân tích thiết kế các chức năng của hệ thống
- Phân tích thiết kế cơ sơ dữ liệu
- Thiết kế giao diện cho các chức năng
Trang 8LỜI NÓI ĐẦU
Công nghệ thông tin ngày càng phát triển, đóng vai tròquan trọng không chỉ trong nền kinh tế - văn hoá – xã hội, thậmchí còn trong các ngành khoa học công nghệ Điện thoại thôngminh hiện nay ngày càng phổ biến vì độ tiện dụng dụng củachúng, nó công cụ trợ thủ đắt lực cho con người Con ngườikhông ngừng sử dụng điện thoại vào nhiều mục đích khác nhau
để quản lí thông tin và quản lí cửa hàng
Công nghệ thông tin và đặc biệt là Internet đã giúp conngười thay đổi cách nhìn nhận về cuộc sống, cách liên lạc, cáchlàm việc, cách tiếp cận các nguồn thông tin đa dạng và nhanh.Cùng với đó là nhu cầu quản lí bán hàng một cách thuận tiện,chính xác và dể dàng nhất trên điện thoại di động cho nên em
đã tập trung tìm hiểu, nghiên cứu và thực hiện đề tài “Xây dựngứng dụng di động quản lí bán thiết bị điện tử cho cửa hàngHoàng Hà Mobile” Mặc dù đây không phải là một nội dung mới
mẻ nhưng nó là một đề tài đem lại nhiều lợi ích trong việc cũng
cố kiến thức đã học ứng dụng dụng vào thực tế Và giờ đây cửahàng có thể quản sản phẩm, quản lí nhân viên, quản đơn hàngchỉ bằng một chiếc điện thoại
Em xin dược bày tỏ sự trân trọng và lòng biết ơn đối với côNguyễn Thị Hà Quyên, Trong suốt thời gian làm đồ án tốtnghiệp, cô đã dành rất nhiều thời gian quý báu để tận tình chỉbảo, hướng dẫn, định hướng cho em trong việc nghiên cứu, thựchiện đề tài
Đồng thời, em cũng xin chân thành cảm ơn quý thầy côthuộc ngành Công Nghệ Thông Tin trường Đại học Sư phạm Kỹthuật - Đại học Đà Nẵng đã truyền đạt những kiến thức cần
Trang 9thiết và những kinh nghiệm quý báu cho chúng em trong suốtthời gian trên giảng đường để em thực hiện tốt đề tài này.
Mặc dù đã cố gắng rất nhiều nhưng sẽ không thể tránhkhỏi những thiếu sót Em kính mong nhận được sự góp ý củaquý Thầy Cô và các bạn để hoàn thành tốt hơn nữa đề tàinghiên cứu của mình
Em xin chân thành cảm ơn!
Trang 10LỜI CAM ĐOAN
Em xin cam đoan:
1 Những nội dung trong luận văn này do em thực hiện dưới
sự hướng dẫn của cô Nguyễn Thị Hà Quyên
2 Mọi tham khảo trong luận văn đều được trích dẫn rõ ràngtên tác giả, tên công trình, thời gian, địa điểm công bố
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo haygian trá, em xin chịu hoàn toàn trách nhiệm
Sinh viện thực hiện
Thiều Văn Thuận
Trang 11MỤC LỤC
DANH SÁCH KÍ HIỆU, CHỮ VIẾT TẮT ii
MỞ ĐẦU 1
1 Mục tiêu đề tài 1
2 Đối tượng nghiên cứu và phạm vi nghiên cứu 1
a Đối tượng nghiên cứu: 1
b Phạm vi nghiên cứu 1
3 Phương pháp nghiên cứu 1
4 Giải pháp công nghệ 1
5 Cấu trúc của đồ án tốt nghiệp 1
Chương 1 CƠ SỞ LÝ THUYẾT 2
1.1 Ngôn ngữ NodeJs và Dart 2
1.1.1 Node Js là gì? 2
1.1.2 Dart là gì? 2
1.2 Flutter 2
1.2.1 FrameWork là gì? 2
1.2.2 Flutter là gì? 2
1.3 Tổng quan về hệ quản trị cơ sở dữ liệu Mongo DB 3
1.4 Web API 3
1.4.1 API là gì? 3
1.4.2 Web API là gì? 4
Chương 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 5
2.1 Xác định tác nhân 5
2.1.1 Actor nhân viên 5
2.1.2 Actor admin 5
Trang 122.2 Đặc tả yêu cầu nghiệp vụ 5
2.2.1 Nhân viên 5
2.2.2 Admin 5
2.3 Hoạt động nghiệp vụ thực tế 5
2.4 Sơ đồ Usecase 6
2.5 Kịch bản cho Use case 7
2.5.1 Actor Quản trị viên 7
2.5.2 Actor Nhân viên 13
2.6 Sơ đồ hoạt động 15
2.6.1 Nhân viên 15
2.6.2 Admin 17
2.7 Thiết kế form, ràng buộc dữ liệu 19
2.8 ERD 25
Chương 3 XÂY DỰNG CHƯƠNG TRÌNH 26
3.1 Công cụ xây dựng chương trình 26
3.2 Giao diện chương trình 26
3.2.1 Giao diện đăng nhập 26
3.2.2 Giao diện trang chủ và thông tin cá nhân của Admin .27
3.2.3 Giao diện quản lí nhân viên 27
3.2.4 Giao diện quản lí khách hàng 28
3.2.5 Giao diện quản lí sản phẩm 28
3.2.6 Giao diện quản lí đơn hàng 29
KẾT LUẬN & HƯỚNG PHÁT TRIỂN 30
3.3 Kết quả đạt được: 30
3.4 Hướng phát triển: 30
Trang 13TÀI LIỆU THAM KHẢO 31
DANH MỤC HÌNH ẢN Hình 1.1: Logo flutter 2
Hình 2.1: Mô tả hoạt động của API 4
Hình 2.2: Sơ đồ UseCase 6
Hình 3.1: Sơ đồ hoạt động đăng nhập 15
Hình 3.2: Sơ đồ hoạt động tạo khách hàng 15
Hình 3.3: Sơ đồ hoạt động tạo đơn hàng 16
Hình 3.4: Sơ đồ hoạt động cập nhật trạng thái đơn hàng 16
Hình 3.5: Sơ đồ hoạt động cập nhật trang thái đơn hàng (role kế toán) 16
Hình 3.6: Sơ đồ hoạt động cập nhật trạng thái đơn hàng (role kho) 17
Hình 3.7: Sơ đồ hoạt động quản lí nhân viên 17
Hình 3.8: Sơ đồ hoạt động quản lí khách hàng 17
Hình 3.9: Sơ đồ hoạt động quản lí sản phẩm 18
Hình 3.10: Sơ đồ hoạt động quản lí thông báo 18
Hình 3.11: Sơ đồ hoạt động quản lí thống kê 18
Hình 3.12: Sơ đồ ERD trong StarUML 25
Hình 3.13: Giao diện đăng nhập 26
Hình 3.14: Giao diện trang chủ và thông tin cá nhân 27
Hình 3.15: Giao diện quản lí nhân viên 27
Hình 3.16: Giao diện quản lí khách hàng 28
Trang 14Hình 3.17: Giao diện quản lí sản phẩm 28
Hình 3.18: Giao diện quản lí đơn hàng 29
DANH MỤC BẢNG BIỂ Bảng 1.1: Kịch bản cho use case Thêm mới nhân viên 7
Bảng 1.2: Kịch bản cho use case Cập nhật thông tin nhân viên 8
Bảng 1.3: Kịch bản cho use case xoá nhân viên 9
Bảng 1.4: Kịch bản cho use case cấp quyền cho nhân viên 10
Bảng 1.5: Kịch bản cho use case quản lí khách hàng 11
Bảng 1.6: Kịch bản cho use case quản lí sản phẩm 13
Bảng 1.7: Kịch bản quản lí đơn hàng 15
Bảng 1.8: Bảng dữ liệu người dùng 19
Bảng 1.9: Bảng dữ liệu nhà cung cấp 20
Bảng 1.10: Bảng dữ liệu nhà cung cấp 20
Bảng 1.11: Bảng dữ liệu chi tiết kho 21
Bảng 1.12: Bảng dữ liệu thể loại 21
Bảng 1.13: Bảng dữ liệu hãng 21
Bảng 1.14: Bảng dữ liệu phiên bảng 21
Bảng 1.15: Bảng dữ liệu đơn hàng 22
Bảng 1.16: Bảng dữ liệu chi tiết đơn hàng 22
Bảng 1.17: Bảng dữ liệu file 23
Bảng 1.18: Bảng dữ liệu thông báo 23
Trang 15Bảng 1.19: Bảng dữ liệu sản phẩm 24
Trang 16DANH SÁCH KÍ HIỆU, CHỮ VIẾT TẮT
ST
Trang 17MỞ ĐẦU
1 Mục tiêu đề tài
Xây dựng ứng dụng di động quản lí và bán thiết bị điện tử cho cửa hàngHoàng Hà mobile
2 Đối tượng nghiên cứu và phạm vi nghiên cứu
a Đối tượng nghiên cứu:
Hoạt động kinh doanh tại cửa hàng Hoàng Hà mobile, tạiđịa chỉ 462 Tôn Đức Thắng, Hoà Minh, Liên Chiểu, Đà Nẵng, ViệtNam
b Phạm vi nghiên cứu
Áp dụng cho cửa hàng Hoàng Hà mobile
3 Phương pháp nghiên cứu
- Tìm hiểu hoạt động nghiệp vụ thực tế tại cửa hàngHoàng Hà mobile;
- Sử dụng mô hình chia nhỏ từng sprint theo từngmodule
4 Giải pháp công nghệ
- Hỗ trợ soạn thảo mã nguồn: Visual Studio Code
- Ngôn ngữ lập trình:
o Back – End: NodeJs,
o Front – End: Dart
Trang 18o Chương 2: Phân tích thiết kế hệ thống
o Chương 3: Xây dựng chương trình
o Kết luận và hướng phát triển
Trang 19Chương 1
CƠ SỞ LÝ THUYẾT 1.1 Ngôn ngữ NodeJs và Dart
1.1.1 Node Js là gì?
Node.js là một hệ thống phần mềm được thiết kế để viếtcác ứng dụng internet có khả năng mở rộng, đặc biệt là máychủ web Chương trình được viết bằng JavaScript, sử dụng kỹthuật điều khiển theo sự kiện, nhập xuất không đồng bộ để tốithiểu tổng chi phí và tối đa khả năng mở rộng
1.1.2 Dart là gì?
Dart là một ngôn ngữ lập trình web do Google phát triển
Nó được chính thức công bố tại Hội thảo GOTO Lưu trữ
2012-12-21 tại Wayback Machine ngày 10-12 tháng 10 năm 2011 tạiAarhus Mục đích của Dart không phải để thaythế JavaScript như là ngôn ngữ kịch bản chính bên trong trìnhduyệt web, mà là cung cấp sự lựa chọn hiện đại hơn
1.2 Flutter
1.2.1 FrameWork là gì?
Framework chính là một thư viện với các tài nguyên cósẵn cho từng lĩnh vực để lập trình viên sử dụng thay vì phải tựthiết kế Có Framework, lập trình viên chỉ tìm hiểu và khai thácnhững tài nguyên đó, gắn kết chúng lại với nhau và hoàn chỉnhsản phẩm của mình Đối với lập trình viên trong mỗi một lĩnhvực, họ cần phải xây dựng các lớp chương trình để xây dựngnên những phần mềm, ứng dụng thành phẩm
1.2.2 Flutter là gì?
Trang 20Hình 1.1: Logo flutter
2. Flutter là UI Framework mã nguồn mở dành cho di động,miễn phí được tạo bởi Google và phát hành vào tháng 5 năm2017
Nói đơn giản, Flutter nó cho phép bạn tạo một ứng dụng diđộng gốc (native app) với một codebase
1.3 Tổng quan về hệ quản trị cơ sở dữ liệu Mongo DB
MongoDB là một hệ quản trị cơ sở dữ liệu NoSQL mãnguồn mở đa nền tảng viết bằng C++ Bản ghi trong MongoDBđược lưu trữ dạng một dữ liệu văn bản (Document), là một cấutrúc dữ liệu bao gồm các cặp giá trị và trường tương tự như cácđối tượng JSON MongoDB được phát triển bởi MongoDB Inc.dưới dạng giấy phép Server Side Public License (SSPL)
MongoDB được bắt đầu phát triển vào đầu năm 2007 khicông ty 10gen đang phát triển một nền tảng tương tự dịch vụAzure của Microsoft Công ty 10gen là một công ty phần mềm
có trụ sở tại New York, nay được đổi tên thành MongoDB Inc.Việc phát triển ban đầu tập trung vào xây dựng PaaS (một nềntảng dịch vụ) nhưng sau đó vào năm 2009, MongoDB đã xuấthiện trên thị trường như một dự án mã nguồn mở máy chủ cơ sở
dữ liệu và được duy trì bởi chính tổ chức này
Tháng 3 năm 2010, MongoDB Inc đã tung ra sản phẩmsẵn sàng đầu tiên của mình là phiên bản 1.4 Phiên bản ổn địnhtiếp theo của MongoDB là phiên bản 2.4.9 được phát hành vàongày 10 tháng 1 năm 2014
Trang 21Đầu năm 2015, phiên bản 3.0 được phát hành, cuối năm
2015 phiên 3.2 ra đời đi kèm với công cụ quản trị trên giao diện
đồ họa MongoDB Compass
1.4 Web API
1.4.1 API là gì?
Hình 2.1: Mô tả hoạt
động của API
API là các phương thức, giao thức kết nối với các thư viện và ứng dụng
khác Nó là viết tắt của Application Programming Interface – giaodiện lập trình ứng dụng API cung cấp khả năng truy xuất đến một tập các hàmhay dùng Và từ đó có thể trao đổi dữ liệu giữa các ứng dụng
1.4.2 Web API là gì?
Web API hỗ trợ restful đầy đủ các phương thức:Get/Post/Put/Path/Delete dữ liệu Nó giúp bạn xây dựng cácHTTP service một cách rất đơn giản và nhanh chóng Nó cũng
có khả năng hỗ trợ đầy đủ các thành phần HTTP: URL,request/response headers, caching, versioning, content format
Trang 22Chương 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 Xác định tác nhân
2.1.1 Actor nhân viên
Nhân viên được cấp quyền kế toán được phép chỉnh sửathông tin cá nhân, xem thông tin khách hàng, xem danh sáchsản phâm, quản lí đơn hàng, duyệt đơn hàng từ nhân viên bánhàng
Nhân viên được cấp quyền kho được phép chỉnh sửa thôngtin cá nhân, duyệt đơn hàng hàng từ nhân viên kế toán
2.2.2 Admin
Quản lý thông tin khách hàng
Quản lý thông tin người dùng admin
Quản lý thông tin sản phẩm
Quản lý loại sản phẩm
Quản lý sản phẩm kho
Duyệt khi khách hàng đặt sản phẩm hoặc hủy đặt
Thống kê doanh thu và số lượng đặt sản phẩm theo tháng,năm
2.3 Hoạt động nghiệp vụ thực tế
Trang 23Nhìn tổng quan thì xây dựng thương hiệu uy tín cho cánhân ngày càng cần thiết,
Nhu cầu mua bán các thiết bị điện tử như là điện thoại didông, laptop , chạy theo công nghệ đang theo đà phát triển,nhu cầu quản lí các thiết bị các sản phẩm bằng App mobile khá
dể dàng, đơn giản và nhanh chóng khi ta chỉ cần dùng điệnthoại với vài thao tác đơn giản ta có thể nắm rõ các thông tincần thiết cho shop bán thiết bị điện tử, quản lí nhân viên, quản
lí đơn hàng, quản lí thông tin khách hàng, xem những sản phẩmkhách hàng mua, xem được các thống kê sản phẩm đơn hàngdoanh thu theo tháng
2.4 Sơ đồ Usecase
Trang 24Hình 2.2: Sơ đồ
UseCase
Trang 252.5 Kịch bản cho Use case
2.5.1 Actor Quản trị viên
Quản lí nhân viên
Quản trị viên thực hiện thêm nhân viên,
để quản lí thông tin chính xác và dễ dàng
2 Hệ thống hiển thị màn hình nhân viên
3 Quản trị viên chọn dấu cộng trên phầnheader
7 Hệ thống thông báo thêm dữ liệu thànhcông và lưu vào cơ sở dữ liệu
Ngoại
lệ 1 Quản trị viên chọn nút back trên phầnheader
2 Hệ thống huỷ thao tác và quay lại mànhình nhân viên
Trang 262 Hệ thống hiển thị màn hình nhân viên
3 Quản trị viên chọn item nhân nhân viêncần cập nhật
4 Hệ thống hiển thị chi tiết nhân viên
5 Quản trị viên chọn nút 3 chấm bên phảiphần header và chọn chỉnh sửa thôngtin
6 Quản trị viên chỉnh sửa các thông tinsau đó bấm cập nhật
7 Hệ thống kiểm trả dữ liệu: Nếu thoảmãn thực hiện bước tiếp theo Ngượclại thông báo lỗi và quay lại bước 6
8 Hệ thống thông báo cập nhật dữ liệuthành công và lưu vào cơ sở dữ liệuNgoại
lệ 1 Quản trị viên chọn nút back trên phầnheader
2 Hệ thống huỷ thao tác và quay lại mànhình nhân viên