Ưu điếm của việc này chính là giảm thiểu tối đa việc ghi nhớ đơn đặt hàng trong quá trình vận hành một cửa hàng, kết hợp với công nghệ mới sè mang lại cho thực khách một trải nghiệm hiện
Trang 1Bộ GIÁO DỤC VÀ ĐÀO TẠO
NGUYEN TAT THANH
THIẾT KÉ VÀ XÂY DựNG HỆ THÔNG QUẢN LÝ CỬA HÀNG TẠP HÓA
Trang 2Bộ GIÁO DỤC VÀ ĐÀO TẠO
NGUYEN TAT THANH
THIẾT KÉ VÀ XÂY DựNG HỆ THÔNG QUẢN LÝ CỬA HÀNG TẠP HÓA
Trang 3LỜI CÂM ƠN
Tôi chân thành cảm ơn Thầy ThS Bùi Tiến Đức, người đã hướng dẫn tận tình, đóng
góp cácý kiến chuyên môn của klióa luậnnày Thay đã động viên tinh than tôi cố gang
hoàn thành nhữngnghiên cứu đặtra Thay cũng cung cấp một số tài liệu liên quan đến
ứng dụng mà tôi đang nghiên cứu và ân cần nhắc nhở tôi đến tiến độ thực hiện khóaluận này
Tôi cũng chân thành gời lờicàm ơnđến các Thầy Côkhoa Côngnghệ thôngtin trườngĐại học Nguyễn Tất Thành đã giảng dạy, hướng dẫn, trang bị các kiến thức cho tôi trong những nămhọc vừa qua, tìĩ các kiến thức cơ bàn đen các vấnđề chuyên sâu
Tôi xin gời lời cảm ơn đến anh, chị, bạn bè, đồng nghiệp bằng nhiều hình thức kliác
nhau đã giúp đỡ tôi trong quá trình học tập tại trường cũng như trong thời gian hoàn thành khóa luận
Đặc biệt xingời lời cám ơn đến chamẹ và anh chị em trong gia đình đã động viêntinli
thần cũng như chia sẻ những khó khăntrong những năm qua
Tp.Hồ Chí Minh - 09/2023
Trang 4LỜI MỞ ĐÀU
Ngày nay, cùng với sự phát triên của khoa học kỹ thuật, nhu cầu ứng dụng tin học trong mọi hoạt động đời sống cũng ngày càng gia tăng Việc xây dựng các ứng dụng nham đáp ứng nhu cầu trên là rat cần thiết, ứng dụng quản lí cửa hàng
tạp hóa cũng không phải là ngoại lệ.
Trong vài năm trở lại đây, hùih thức mua sắm trực tuyến trong nước đang ngày càng trở nên phô biến và nhận được sự quan tâm lớn của người dân, nhất là sau khi dịch bệnh bùng phát, người tiêu dùng thay đổi thói quen mua sắm truyền thống sang tiêu dùng online nhiều hơn
Năm 2019, dịch Covid-19 mỡ ra gợi ý về các kênh tiếp cận khách hàng, cũng như là dịp đê các doanli nghiệp, đơn vị bán lẻ phân tích kỹ hơn những việc cần làm trong xu hướng công nghệ, chuyển đổi số ngày càng phát triển Trong đó, các ứng dụng quản lí trên điện thoại thông minh, máy tính bảng trở nên phổ biến hơn Ưu điếm của việc này chính là giảm thiểu tối đa việc ghi nhớ đơn đặt hàng trong quá trình vận hành một cửa hàng, kết hợp với công nghệ mới sè mang lại cho thực khách một trải nghiệm hiện đại, linh hoạt hơn, nó còn giúp cho cửa hàng vận hành được chính xác hơn
Với hiện trạng sự phát triển của các cửa hàng hàng ngày càng nhiêu và quy mô ngày lớn theo thời gian và sự phát triển nhanh chóng của công nghệ điện thoại thông minh, nên em đã nghĩ ra ý tưởng về một ứng dụng quản lí cửa hàng tạp hóa trên thiết bị di động cá nhân để có thể giúp các cửa hàng linh hoạt hơn trong khâu vận hành cho doanh nghiệp của mình
Vì thời gian làm đề tài ngắn và là lần đầu thực hiện nên em không tránh khỏi nhùng thiếu sót, mong thầy cô sẽ có những góp ý đế giúp em hoàn thiện hơn ứng dụng này
Em xin chân thành cảm ơn !!!
Trang 54 Giới thiệu sơ lược về Android, ngôn ngữ lập trình Java 3
5 Visual Studio Code 4
6 Layout 4
7 ViewGroup 5
8 Các layout hay dùng và các thuộc tính đi kèm 5
9 Activity 6
10 Các kiêu lập trình sự kiện trong Android 7
11 Giới thiệu Intent 7
12 Toast Notification 7
13 List View, GridView và Spinner 7
14 XML Parser trong Android 8
15 Cơ sở dữ hệu và kết nối cơ sở dữ liệu Firebase 9
16 Ngôn ngữ PHP, cơ sở dữ liệu MySQL và XAMP 9
1 Thiết kế giao diện chưong trình 21
2 Giao diện của Admin ( chủ cửa hàng, người quản lí ) 21
1.1 Giao diện màn hình chờ 21
1.2 Giao diện màn hinh đăng kí 22
Trang 61.3 Giao diệnhình đăng nhập 23
1.4 Giao diện màn hình chính 24
1.5 Giao diện màn hình quên mật khâu 25
1.6 Giao diện màn hình quản lí sân phâm 26
1.7 Giao diện màn hình thêm sản phâm 27
1.8 Giao diện màn hình thống kê 28
1.9 Giao diện màn hình tim kiếm sàn phâm 29
1.10 Giao diện màn hìnli menu 30
3 Giao diện của User( người mua hàng) 30
1.11 Giao diện màn hìnli Splash 31
1.12 Giao diện màn hinli menu 32
1.13 Giao diện màn hình giỏ hàng 33
1.14 Giao diện màn hình giò hàng 34
1.15 Giao diện màn hình thanh toán 35
1.16 Giao diện màn hình chat 36
KẾT QUẢ ĐẠT ĐƯỢC 37
Trang 7Bãng 3 5 Bâng chi tiết đơn hàng 16
Bảng 3 6 Đặctả use case đăng nhập 18
Bảng 3 7 Đặc tả use case thống kê 19
Bảng 3 8 Đặc tả use case quản lí tài klioản 19
Bâng 3 9 Đặctả use case quản lí sàn phâm 19
Bàng 3.10 Đặc tả use case quàn lí đơn hàng 19
Trang 8Hình 4 5 Giao diện màn hình quên mậtkhâu 25
Hình 4 6 Giao diện màn hình quàn lí sàn phàm 26
Hình4 7 Giao diện màn hình thêmsảnphâm 27
Hình4 8 Giao diện màn hình thống kê 28
Hình4 9 Giao diện màn hình tìm kiếm 29
Hình4 10 Giao diện màn hình menu 30
Hình 4 11 Giao diện Spalsh 31
Hình 4 12 Giao diện menu 32
Hình4 13 Giao diện giòhàng 33
Hình 4 14 Giao diện màn hình giò hàng 34
Hình 4 15 Giao diện màn hình giỏ hàng 35
Hình 4 16 Giao diện chat 36
Trang 10Chương 1.TỎNG QUAN ĐÈ TÀI1 Giói Thiệu
Giói thiệu về đề tài
Đối với quá trình hoàn thiện sản phân CNTT trong quá trình thực tập, cụ thê là ứng
dụngquàn lí cửahàngtạphóađã giúp emcó những kháiniệm cơbàn về công việc quàn lý cơ bàntrongcừa hàng Ket hợp xây dựngphanmềm với việcôn tập đê làmkhóa luận tốt nghiệp, bô sung những kiến thức đã có và tìm hiêu thêmnhững kiến thức mới thôngqua ngôn ngữ lập trình Java và PHP
App bán hàng MEGA Shop Đâylà sànthương mại điện tử cho phép người bán đăng tải bán vàquản lí các sàn phẩm miễn phí Điêm nôi bậtcủa MEGA Shop là app cótínhtương tác cao Người mua và người bán có thê trao đôi với nhau qua ứng dụng Cùng
với đó lànhiều mã giảm giá, chương trình hap dân cho cả người bán vàngười mua
2 Mục Tiêu
Thiếtkế và xậydựng ứng dụng quàn lí cửa hàng với các mục tiêu sau :
• Phục vụ cho ngườibán hàng và kháchhàng
• Cải thiệnchất lượngdịchvụ khách hàng
• Có thê xây dựng và quản lý hệ thống CTV với chi phí 0đồng
• Điều tiết doanh thu cho doanhnghiệp
• Ketnối với ngườitiêu dùng dề dàng hơn và tạo khả năngtrung thành cùa người dùng với doanh nghiệp
• Tăngdoanh thu bán sản phàm, dịchvụ.• Gây dựnglòng tin nơi kháchhàng
• Tăng cường giá trị thươnghiệu của doanhnghiệp
• Tạo điều kiện đê khách hàng tiếp cậnsân phâmgần hơn
• Tăng khả năng truy cập từ lượng khách hàng tiềm năng.• Tăng khả năng bán hàng tiực tuyến
• Có thèm cơ hội trưng bày sànphàm trêncác ứngdụng di động
• Liênkết với nhiều kháchhàng tiềmnăng
• Dễ dàng tiếp cận tới sàn phẩm mọilúc mọi nơi
Trang 11• Nhậnđược những thông báo về nliững sự kiện đặc biệt, khuyến mãi, V V
• Dề dàng liên hệ chỉ qua 1 bước.• Không cần phảitốn thời gianđen cửahàng
• Cónhiều sự lựa chọn về sànphàm hơn.• Dêtìm được những mặthàng hiếm.• Muốn tránh xa các đám đông.• Kliông muốn xếp hàngchờ tính tiền
3 Hướng Tiếp Cận
Thực hiệntham gia khảo sát hiện trạng các cửa hàng lớn, nhò lẻ tại khu vực thành phố
Hồ ChíMình.Nguyên cứu hệđiều hànhAndroid, ngôn ngữ lập trinh Java, Framework : Java Spring
Boot, PHP, dịch vụ Firebase - cơ sờ dữ liệu thời gian thực Xây dựnghướng dịch vụtận dụng ưu diêm cùa mạng Internet đê tối ưu hóa công việc
Apple Macbook Pro 2017
sp vatchaf(250)
5P varchar(IOD)
http://mauweb.monamedia.net/hanoicomputer/
ưp- 01.jpg
content/uploads/2817/12/mac-pro-2817-anh textonsoie
http://mauweb.monamedia.net/hanoicomputer/wp-content/uploads/2017/12/mac-pro-
2017-01.jpg
Trang 12Chương 2.Cơ SỞ LÝ THUYẾT1 Giói thiệu sơ lược về Android, ngôn ngữ lập trình JavaAndroid là một hệ điều hành dựa trên nen tảng Linux được tliiết kế dành cho các thiết bị diđộng có màn hình căm ứng như điện thoại thông minh và máy tính bảng .
Chiếc điện thoại đầu tiênchạyAndroid được bán vào năm2008 Android có mã
nguồn mờ và Google phát hànlimã nguồn theo Giấyphép Apache
Chínhmã nguồn mờ cùng với một giấyphép không có nhiều ràng buộc đã cho phép
các nhà phát triênthiếtbị, mạngdi động và các lập trình viên nhiệt huyết được điềuchinh và phàn phốiAndroid một cách tựdo Ngoài ra, Androidcòn có một cộng đonglập trình viên đôngđảo chuyênviết các ứng dụngđê mờ rộng chức năng cùa thiết bị, bang một loại ngôn ngữ lập trình Java có sửa đôi.Tháng 10 năm 2012, có khoảng
700.000 ứng dụng trên Android, và số lượt tãiứng dụng từ GooglePlay
Android chiếm 87,7% thị phầnđiện thoại thông minhtrên toàn thế giới vào thời diêm quý 2 năm 2017, với tông cộng2 tỳthiết bị đã đượckích hoạt và 1,3 triệu lượt kích
hoạt môi ngày Thành công cùahệ điều hành cũng khiến nó trờthành mục tiêu trong
các vụ kiện liên quan den bang phát minh, góp mặt trong cái gọi là "cuộc chiếnđiện
thoại thông minh" giữacác công ty công nghệ
Java có thê xem là ngônngữ lập trình phô biếnnhất hiện nay, được sừ dụng rộng rãi
trên nhiều thiết bị và hệ điều hành Java được phát hành năm 1994, đến năm 2010được Oracle mua lại từ Sun MicroSystem
Java đượctạo ra với tiêu chí “Viet (code) một lần, thực thi khấp nơi” (Write Once, Run
Anywhere - WORA) Chương trình phầnmem viết bang Javacó thê chạytrênmọi nền
tảng (platform) khác nhau thông qua một môi trường thực thi với điều kiện có môitrường thực thi thích hợp hô trợ nen tảngđó
Và dĩnhiên, ứng dụng Android cũng được viết dựa trênngônngữ phô biến nhất này
Tuy ừĩ giữa năm 2017 Google có nóirằng họ sẽ thay the Java bang ngônngữ mới
Trang 13toanh có tênKotìúi, nliưng theo nliững gì mình biết, Java, cho đếngiờ phút này, vần
đang là ngônngữthống trị trong các ứng dụng Android
2 Visual Studio Code
Visual Studio Code (VS Code)là một trình soạn thảo mã nguồn mờ gọn nhẹ nhưngcó
khả năng vận hành mạnh mẽ trên 3 nen tảng là Windows, Linux và macOS được phát
triên bời Microsoft Nó hô trợ cho JavaScript, Node.js và TypeScript, cũng như cung cấp một hệ sinh thái mờrộngvô cùng phong phú cho nhiều ngôn ngữ lậptrìnhkhác.s Code là sự kếthợp giữa một trình soạn thảo mã nguồnvới nliững công cụ phát triên
mạnh mẽ nhưGit, Debug hay Syntax Highlighter.VS Code được thiếtkế đê có thể chạy tốt trên macOS, Linux và Windows Vithế, bạncó thê thoải mái sử dụng trình soạn thảo này mà không can lo lang về vấn đề lựa chọn nền tàng tương thích
Tốc độ là một trong những ưu thế vượttrội của vs Code Nó có thê hỗ trợ rất nhiềucác loạingônngữlập trìnhkliác nhau như Java,Python, C++, c#, Golang hay PHP
Điều này cho phép bạn có thêứng dụngrất nhiều tínhnăng thú vị như đánh dấu cú
pháp, ựr động thụt lề, đối sánh dấu ngoặc, cho công việc của mình
Hệ thống phún tắt sinhđộng, trực quan giúpthao tác trờ nên nhanh chónghơn, từđó
năng suất và hiệu quả lập trình cũngđược tăng lên Ngoàira, tính năng nhắc mã
IntelliSense chuyênnghiệp trênvs Code sẽ ựr động phát hiện đoạn mã không đầy đủ
và thông báo cho lập trình viên Hoặc nó có thê ựr động bô sung cú pháp còn thiếu klii
bạn quên không khai báo biến
VS Code được xây dựng dựa trênElectron, kết hợp các công nghệ web như Node.js và JavaScript với tốc độ và sự linh hoạt của các ứng dụng gốc Ngoài ra, kiến trúc dịch vụ công cụ cùa vs Code giúp nó tích hợp được với các công nghệ hỗ trợ Visual Studio
như Roslyn cho NET, TypeScript, công cụ gỡ lỗiVisual Studio,
3 Layout
-Là bản thiết ke giao diện, ngườidùng đê tươngtác với hệ thống thông qua giao diện
ViewGroup Trong đó, View thì thê hiện rangoài và người dùng tương tácđược Ngược
Trang 14lại thì ViewGroup được ân đi (invisible container) dù ViewGroup là ROOT đê địnhnghĩa View và ViewGroupkhác.
-Frame Layout là các thiết ke các view controls ờ dạng kliối trong những cùng riêng
trên cùng giao diện (screen).-Table Layout là cách sap xếp ViewGroup theo hàngrows và cột columns Table Layout
kliông thê hiện biên (border line) của columns, rows or cells
-Absolute Layout là thiết ke layout dựa trêntọa độ X và y.-Gridview là view group thê hiệnờ dạng mảng 2 chiều - two dimensional
5 Các layout hay dùng và các thuộc tính đi kèm
•BaViews Cơ Bản: Textview, EditText,Buttonsủ dụng RelativeLayout
•Relativelayout-android:id là định danh layout
-android:gravity là địnhnghĩacho các Views
-android:ignoreGravity là bò qua định nghĩa các vị trí cho Views
Trang 156 Activity
-Activity là một trong 4 thànhphần quan trọng của ứng dụng Android gồm: Activity,
Service, Content Provider,Broadcast receivers
-Activity là mộtthành phan của ứng dụng Android.-Android Activitylà nơi đêứngdụng hrơng tác tnrc tiếp với ngườidùng thôngqua giao
diện
-Một ứng dụng có thê sẽ có nhiều màn hình và mỗimàn hình cóthê là một Activity (nếu
kliông sừ dụng Fragment).-Mỗi Activitythườnghoạt động độc lập với nhau nliưng có thê tương tác và truyền dữ
liệu qua nhau thông qua Intent.-Chính vì Activity hoạt động độc lậpnên sẽcó vòng đời riêngtừ lúc đượckliời tạo chođến lúcđược huỷ đi
•VòngđờiActivity
- onCreate(): Được gọi bời OS khi Activity được tạo (chi gọi duy nhất một lần) Dùng
đê kliời tạo giao diện hoặc dữ liệu đẽ dùng cho sau này
- onStart(): Ngay trước khi Activity được chạy và tương tác với người dùng thì hàmđược gọi Thông thường, tại hàm này chúng ta sẽ khởi tạo amination cho UI (nếu có),
Audio, hay bất kì đối tượngnào cần thiết đẽ Activity có thê hiên thị cho ngườidùng
- onResume(): Hàm này được gọi khi Activity chuân bị chạy hoặc Activity được kích hoạt trờ lạitír trạng thái stop
- onPause(): Hàm này được gọi khi ứng dụng chuyên sang chạynền
-onStopO: Hàm này được ngay sau onPauseO, kill Activity kliông còn tương tác với người dùng
-onRestartQ: Được gọi sau killActivitybị tạm dừng và giờ được kích hoạt trởlại
- onDestroyO: Đây là hàm cuối cùng trong vòng đời của Activity Có 2 cách đê hàm
được gọi: một là bạn gọi hàm finish() đê chủ động tắt một Activity, hai là được gọi tựđộng bời OS kill tàinguyên cạn kiệt đêtránh bị lỗi Memory Leak
Trang 167 Các kiểu lập trình sự kiện trong Android
•Xử lý sự kiện (Event Handling) trongAndroid là sự tương tác của ngườidùng với các
thành phan tirơngtác cùa ứng dụng
• Event Listeners - là một Interface trong lớp View chứa một phương thức callback
Các phương thức này sẽ có thê được gọi bởi AndroidFramework khi Listener đã đãng ký được kích hoạt bời tươngtác cùa ngườidùng với itemtrong giao diện UI
• Event Listeners Registration - là tiến trình mà bời đó một Event Handler được đăng ký với một Event Listenerđê mà Handler này đượcgọi khi Event Listener kích hoạt sựkiện
• Event Handlers - Kill một Eventxảy ra, và chúng ta đã đăng ký một Event Listener
cho sựkiện, tlù Event Listener gọi Event Handler, là phương thức thực sựxử lý sựkiện
đó
8 Giói thiệu Intent
• Intent là một đối tượng message dùng đê yêu cầu (request) một hành động từ mộtvài
• Toast có thêđược tạo và hiên thị trong Activity hoặc trong Servive
• Kliông cho phépngười sử dụng tirơng tác• Có 2 giá trị mặc định: hằng số
+Toast.LENGTH SHORThiểnthị trong 2 giây
10 List View, GridView và Spinner
•Listview hiện thị dữ liệu dạng danh sách trong Android Listview là phần tử Viewđược dùngđêhiện thị dữ liệu làmột danh sách(mảng) từ một nguồn cấp gọi là Adapter •Các bước đê tạo và sử dụng Listview gồm có:
Trang 17•Các bước đê tạo và sừ dụng Listviewgồm có:
+Khai báo Listviewtrong Layout+Gáncho Listview một Adapter là nguồn cấp dữ liệu cho nó
+Xây dựng Adaptercho Listview•Gridview trong Android hiên thị các item trong màng hĩới hai chiều có thê scroll và
các itemnàykhông cần thiếtphải được địnhnghĩa trước
•Gridview hoàn toàn tương tự như Listview, dữ liệu được đưa vào Gridview thông
qua các màng 1 chiều và dựa vào số cột cùa Gridview đê ngắt số hàng và cột nhưng
dựa vào số cột ta thiết lập, mà nó hr động ngắt hàng
•Gridview có thê hiên thị Text hoặchìnhânh
•SpinnertrongAndroid đượcsửdụngđê hiên thị các itemtheodạngdanh sách Spinnerchiđược chọnmột item trong danhsách Sau khi chọn thì danh sách item sẽ co lại, itemđược chọn sẽhiênthị ra bênngoài Spinner
11 XML Parser trong Android
• XML (Extensible Markup Language) là ngôn ngữđánhdấu mờ rộng Đây là một dạng ngôn ngữđánh dấu, có chức năng truyền dữ liệu vàmô tã nhiều loại dữ liệu khác nhau
•Ưu diêm lớn nhất của XML chính là sự độc lập Điều này cũng rất dề hiêu, vì XMLđượcsử dụng đê mô tả dữ liệu dướidạng text, nên hầuhếtcácphần mềm hay các chương
trình bình thường đều có thê đọc được chúng XML có thê đọc vàphân tích nguồn dữ
liệu khá dễ dàng nên nó được sử dụng với mục đích chính là trao đôi dữ liệu giữa các
chương trình,các hệ thống khác nhau XML được sừ dụng cho Remote Procedure Calls
nhằm phục vụ cho các dịch vụ cùa website
• Nhược diêm của XML: Tỷ lệ sai sót khi sử dụng XML đê truyềndữ liệukhoảng tìĩ 5- 7% Con số này tuy kliông quá cao, nliưng trên thực tế, người ta vẫn cầncân nhắc trước khi sừ dụng nó đê trao đôi thôngtin
Trang 18•Duyệt XML bằng DOM và SAX•Với một tài liệu XML, mô hình DOM sẽ duyệt và chuyên nó thành mộtmô hình câycủa các Object
•SAXlà một APIthuộc JAXP, nó chophép xây dựngcác ứngdụng truyxuất,phântíchcác tàiliệu XML theo cơ chế tuần ựĩ và hướng sự kiện
•Không như DOM, SAXphântíchdựa vào khái niệmsự kiện và phản hồi sựkiện, SAXkhông tạo ra mộthình thức đại diện cùa tài liệu XML trong bộ nhớ, và cũng kliông sửdụng đốitượng đê mô tàcác thành phần trong fileXML như DOM,thay vào đó, nó sửdụng các phương thức callback cùa đối tượng
12 Cơ sở dữ liệu và kết nối cơ sở dữ liệu FirebaseFirebase là dịch vụ cơ sờ dữliệuhoạtđộng trên nền tảng đám mây - cloud Kèm theo
đó là hệ thốngmáy chù cực kỳ mạnh mẽ của Google Chức năng chínhlà giúp ngườidùng lậptrình ứng dụng bang cách đơn giàn hóa các thao tác với cơsờ dữ liệu.Cụ thê lànhữnggiao diện lập trình ứng dụng APIđơn giãn Mụcđích nham tăng số lượng người dùng và thu lại nhiều lợi nhuận hơn
Đặc biệt, còn là dịch vụ đa năng và bảo mậtcực tot Firebase hỗ trợ cà hai nền tảng
Android và IOS Không có gì khó hiêu khinhiều lập trinh viên chọn Firebase làmnền
tảngđầu tiên đểxây dựng ứng dụng cho hàng triệu ngườidùng trên toànthế giới.Firebasera đờivới sân phẩm cung cấp là dịch vụ Backend-as-a-Service Tiếpđen, vào
năm 2014, Google mua lại Firebase và phát triênnó thành một dịch vụ đachức năng
được hàng triệungười sừ dụng cho đến hiện nay
Ưu diêm nôi bật
• Tạo tài khoán và sử dụng dễ dàng• Tốc độ phát triên nhanh
• Nhiều dịchvụ trong một nền tảng
• Tập trungvào phát triên giao diện người dùng
• Firebase không có máy chủ
• Học máy(Machine Learning)• Tạo lưu lượng truy cập
• Theo dõi lỗi• Sao hru
13 Ngôn ngữ PHP, cơ sở dữ liệu MySQL và XAMP
PHP
Trang 19PHPlà viết tắt cùa cụmtừ PersonalHomePagenày đã được chuyên thành Hypertext
Preprocessor Hiêu đơn giàn thì PHP là một ngôn ngữ lập trình kịch bản (scripting
language) đa mục đích
Ngôn ngir PHP được biết tới là một mã nguồnmờ Vì vậy việc liên tục cập nliậtvà
phát triên thêm mới các ứng dụng từ PHP cũngđượcxemnhưmột công việc rất cần
thông qua các cơsờ dữliệu Mỗi cơ sờ dữ liệu cóthê có nhiều bảng quan hệ chứa dữliệu MySQL cũng có cùng một cách ti-uy xuất và mã lệnh tương ựr với ngôn ngữ
SQL MySQL được phát hành từ thập niên 90s
XAMP
XAMPP hoạt động dựa trênsựtích hợp của 5 phân mẽm chính làCross-Platform (X),
Apache (A), MariaDB (M), PHP (P) và Perl (P), nên tên gọi XAMPP cũng là viết tắt tìr chữ cái đầu của 5 phần mềm này:
Chữ X đầu tiên làviết tatcũa hệđiều hànhmà nó hoạt động với: Linux, Windows và
Mac OS X
Apache: Web Servermã nguồn mờ Apache làmáy chũđược sừ dụngrộng rãi nliất
trên toàn thế giới đê phân phốinội dung Web ứng dụng được cung cấp dưới dạng
phầnmềmmiễn phí bời Apache Software Foundation
MySQL / MariaDB: Trong MySQL, XAMPP chứa một trong những hệ quản trịcơsờ dữliệu quan hệ phô bien nliattrênthế giới Ket hợp với Web ServerApache vàngônngữ lập trìnhPHP, MySQLcung cap khả năng lưu trữ dữ liệu cho các dịchvụ Web
Các phiên bản XAMPP hiện tại đãthay the MySQL bangMariaDB (mộtnhánh của dự án MySQL do cộng đong pháttriên, đirợc thực hiện bời các nhà phát triên ban
đầu)
Trang 20PHP: Ngôn ngữ lập trinhphía máychủ PHP chophép người dùng tạo cáctrang Web
hoặc ứngdụng động PHP có thê được càiđặt trên tất cà các nền tảngvà hỗ trợ một số
hệ thống cơ sờ dữ liệu đa dạng
Perl: ngôn ngữ kịch bản Perl được sử dụng trong quản trịhệ thống,phát triên Web vàlập trình mạng Giống như PHP, Perl cũng cho phép người dùng lập trình cácứng dụngWeb động
Ưu diêm lớn nhất cùa XAMPP là không phải trả phí bân quyền và sửdụng mã nguồn
mờ, bên cạnhđó cấu hìnhcủa web server này tương đối đơn giản, gọn nhẹ nên đượcsừ dụng ngày càng phô biến hiện nay
Trang 21Chương 3.
1 Phân tích nghiêp vụ người dùng
Người chủ cửahàng có quytrìnhnghiệp vụ cụ thê như sau:
Quăn lí nhân viên, quăn lí phát lương cho nliân viên, quảnlí và kiêm tra tất cảcác chứng
hr hóa đơn của cửa hàng, phân tích thị trườngnhờ vào các hóa đơn chứng hrđó, và hr thốngkê của thù kho đê biết được mặt hàng nào bán chạy, mặt hàng nào gần hết hạnmà vẫn còn tồnnhiều, roi hrđó sẽ lên kế hoạchbán hàng/nhậphàng cho cừahàng
Quăn lí sẽ là người tìm hiẽu và liên hệ vớinhà cung cấp/nhà sản xuấtđêthương lượngnhập hàng
Yêu cầu quản lýviệc bán hàng, nhậphàng, 110 sơkliách hàng, nhà cung cấp, hồ sơ nhânviên, các quy trình bảo hành, thống kê , các nhật ký về mọi hoạtđộng cùa cửa
hàng.Nhưng ờ trong ứng dụng lannày, chỉ thiết kế và xây dựng nghiệp vụ quăn lí sản phẩm và báo cáo doanhthu của cửa hàng
2 Xác định các tác nhân của hệ thống
Saukliikhảo sát ta nliận thay các tác nhân hệ thong gồm có :Nhữngngười muốn mua hàngvào ứng dụngđê xem thông tin Những người này
là Khách hàng tiềm năng (Guest)
Những ngườiđã đặt hàng vào kiêm tra đơn hàng, thanh toán V.V gọi là Khách hàng
(Customer)
về phía đơn vị bán hàng, có những người sau đây tham giavào hệ thống:Ngrrời quàn lý bán hàng: quyết định nhập hàng, giá bán, quản lýtồn kho, doanh thu, chínhsách khuyến mãi
Người bán hàng: Tư van cho khách hàng, theo dõi đơn hàng, thu tiền, theo dõi chuyênhàng chokhách
Quản lý klio: xuất, nliập hàng, quản lý tồn klioQuảntrị hệ thống: Tạo người dùng, Phân quyền, Tạocửa hàng
Trang 223 Các chức năng của hệ thống
Hệ thống bao gồm các chức năng chính sau :
• Xác thực Email & Mật khâu• Lay lại mậtkhâu
• Trạng tháixác thựctồn tại
• Thôngtin chitiết sânphâm
• Nhận ưu đãi trongngày• Xem đơn đặthàng cùa tôi• Xem chi tiết & trạng thái đơnhàng
• Thêm sànphẩm
• Xem đơn đặt hàng• Thayđôi trạng thái đơn hàng
• Xem tông thu nhập• Xem thu nhập trên Biêu đồ
Trong đó gồm có
Tìm kiếm sảnphâm theo văn bân gõ vào
- Xem chi tiết sảnphàm đirợc chọn
- Xem khuyến mãi
- Quản lý giỏ hàng
Trang 23- Chat với người bán hàng- Đăng ký tàikhoản đêtrờ thành kháchhàng
Tiếp theo, Actor“Kháchhàng” và nliận thấy họ sử dụng chức năng:- Đăng nliập
vào ôtìmkiếm.Nênchúng ta táchra làm2 là Xem sàn phâm và Tìmkiếm
Chứcnăng mua hàng, thực chất là thêm vào giòhàng nên có thê xem là chức năng concủa quàn lý giỏ hàng
ứng dụng gồm có 2 phần chính: ứng dụng trên android và server lưu dừ liệu: firebase
Cây phân cấp chức năng của người quàntrị
Trang 24Mô hình hóa cơ sở dữ liệu
Hệ thốnggồm các bảng sau :
Bảng 3 1 Bàng user
Bảng 3 2 Bảng sàn phàm
hinhanh Hình ảnh sànphẩm requữed Default: null
Bàng 3 3 Bàng chi tiêt sân phầm
Trang 25Bảng3 4Bảng đặt hàng (Request)
status
Tình trạng đơn
hàng
Bảng 3 5 Bàng chi tiết đơn hàng
Number
Number
Trang 26Mức khái niệm ERD
create ,•
Hình 3 1 Mô hinh ERD