Tải bản đầy đủ (.docx) (36 trang)

XÂY DỰNG WEBSITE và ỨNG DỤNG bán cà PHÊ và GIỚI THIỆU CÔNG THỨC PHA cà PHÊ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (910.42 KB, 36 trang )

ĐẠ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

Khoa Khoa Học Máy Tính

ĐỒ ÁN CHUYÊN NGÀNH 1

ĐỀ TÀI: XÂY DỰNG WEBSITE VÀ ỨNG
DỤNG BÁN CÀ PHÊ VÀ GIỚI THIỆU
CÔNG THỨC PHA CÀ PHÊ
Sinh viên thực hiện

: PHẠM GIA HUY
NGUYỄN ĐĂNG ANH TÚ

Giảng viên hướng dẫn: TS.HỒ VĂN PHI
Lớp

: 19IT3

Đà nẵng, tháng 12 năm 2022


TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT HÀN

Khoa Khoa Học Máy Tính

ĐỒ ÁN CHUYÊN NGÀNH 1


XÂY DỰNG WEBSITE VÀ ỨNG DỤNG
BÁN CÀ PHÊ VÀ GIỚI THIỆU CÔNG
THỨC PHA CÀ PHÊ

Đà Nẵng, tháng 12 năm 2022


LỜI CẢM ƠN

Lời đầu tiên, chúng em xin gửi lời cảm ơn chân thành đến các thầy cô Khoa
Khoa học máy tính đã dạy chúng em những kiến thức hay, đã truyền đạt những kiến
thức chuyên ngành bổ ích cũng như các kỹ năng trong cuộc sống.
Đặc biệt chúng em xin cảm ơn sâu sắc tới giáo viên hướng dẫn TS.HỒ VĂN
PHI đã tận tình hướng dẫn, góp ý theo sát giúp chúng em có thể hồn thành đồ án tốt
nhất.
Chúng em xin cảm ơn tới gia đình đã ln động viên tinh thần, tạo động lực
cho chúng em trong quá trình thực hiện đồ án. Cảm ơn tất cả bạn bè, tập thể lớp 19IT3
đã cùng chia sẻ, góp ý trong quá trình thực hiện.

Xin chân thành cảm ơn!


MỞ ĐẦU
1. Tổng quan tình hình nghiên cứu thuộc lĩnh vực của đề tài
Công việc kinh doanh buôn bán đã xuất hiện từ rất lâu, trải qua mỗi giai đoạn
lịch sử nó mang một hình thức đặc thù riêng. Trước kia, khi các công cụ hỗ trợ công
việc mua bán chưa phát triển mạnh, thì người kinh doanh mua bán chỉ diễn ra dưới
hình thức mua bán trực tiếp. Từ khi khoa học cơng nghệ phát triển, nó đã tạo ra phát
triển các loại hình thức mua bán mới, điển hình là mua bán trực tuyến. Hình thức mua
bán trực tuyến hỗ trợ đắc lực cho người kinh doanh tiếp xúc với được nhiều khách

hàng, cịn khách hàng thì cơng việc mua bán được diễn ra nhanh chóng, thuận lợi, tiết
kiệm được thời gian.
Hiện nay, Thương Mại Điện Tử (TMĐT) đang được nhiều quốc gia quan tâm,
coi là một trong những động lực phát triển của nền kinh tế. TMĐT đem lại những lợi
ích tiềm tàng, giúp doanh nghiệp thu được thông tin phong phú về thị trường và đối
tác, giảm chi phí tiếp thị và giao dịch, tạo dựng và củng cố quan hệ khách hàng.
Với việc nhu cầu tiêu thụ cà phê và các loại đồ uống khác, cả ở ngoài quán cũng
như ở nhà tăng cao, chúng em đã quyết định chọn đề tài “Xây dựng website và ứng
dụng bán cà phê và giới thiệu công thức pha cà phê”. Với mục tiêu:
Phục vụ tốt hơn nhu cầu của khách hàng và quản lý cửa hàng trong hoạt động
kinh doanh.
Khách hàng chỉ cần các thao tác đơn giản trên website và ứng dụng là có thể đặt
hàng và thanh tốn, cũng như pha cho mình một ly cà phê được ngay.
2. Tính cấp thiết, ý nghĩa khoa học và thực tiễn của đề tài
Trong quá trình khảo sát, chúng em nhận thấy hầu hết các cửa hàng bán cà phê
như: The Coffee House, Milano Coffee, Starbuck,… đang quá tập trung vào việc kinh
doanh mà chưa thật sự hướng tới khách hàng, như việc khách hàng làm sao để có thể
tự pha cho mình 1y cà phê vào một buổi sáng ở nhà, bằng chính những nguyên liệu
của họ. Họ đang chú trọng vào việc bán dịch vụ mà quên đi trải nghiệm của khách
hàng. Vì vậy việc phát triển một hệ thống bán cà phê và tổng hợp những công thức
pha


cà phê sẽ giúp một phần nào đó tiện lợi trong việc pha cà phê hơn cho những tín đồ cà
phê hoặc những người quan tâm.
3. Mục tiêu
Mục tiêu của đồ án chuyên ngành này là nhằm xây dựng một ứng dụng án cà phê
và tổng hợp công thức pha cà phê, có thể:
-


Tìm hiểu các hoạt động kinh doanh trong thực tế.

-

Tìm hiểu cách thức xây dựng một hệ thống ứng dụng multi-platform.

-

Xây dựng thành công hệ thống bán cà phê và tổng hợp cơng thức pha cà phê.

-

Tìm hiểu các ngơn ngữ lập trình: Kotlin, PHP,...

4. Cơng cụ xây dựng ứng dụng
-

Visual Studio Code

-

Laravel

-

PHP Framework

-

Mơ hình MVC


-

Android Studio

-

Kotlin

-

Restful API

5. Phương pháp thực hiện
Chúng em quyết định thực hiện các phần cơ bản đến các phần nâng cao theo
các bước sau:
-

Khảo sát lấy yêu cầu người sử dụng website dùng trao đổi liên lạc để xây
dựng ý tưởng, khảo sát các trang web chuyên về bán hàng.

-

Thiết kế và xây dựng hệ thống, biểu đồ use-case, Biểu đồ hoạt động,…

-

Tiếp đến, chúng em sẽ nghiên cứu công nghệ phát triển hệ thống ứng dụng
Multi-Platform.


-

Sau khi hoàn thành phần chương trình chạy trên web, chúng em sẽ nghiên
cứu đến việc lấy dữ liệu từ server về sau đó đưa lên ứng dụng.

6. Bố cục của Đồ án


Ngoài phần mở đầu và kết luận,bố cục của đề tài cịn có thêm 3 chương.
Chương 1: Cơ sở lý thuyết tập trung tìm hiểu các cơ sở lý thuyết liên quan, các
công cụ hỗ trợ để xây dựng ứng dụng của đề tài như:
-

Laravel

-

PHP Framework

-

Mơ hình MVC

-

Kotlin

-

Restful API


Chương 2: Phân tích và thiết kế tập trung phân tích các yêu cầu,thuật
toán cần xử lý ứng dụng của đề tài.Thiết kế cơ sở dữ liệu. Đặc tả ca sử dụng xử
lý các chức năng. Gồm các danh mục:
-

Giới thiệu hệ thống

-

Giới thiệu các chức năng chính của hệ thống

-

Phân tích thiết kế hệ thống

-

Thiết kế cơ sở dữ liệu

Chương 3: Xây dựng và triển khai hệ thống tập trung chủ yếu vào các
module chính của hệ thống.
Cuối cùng là phần kết luận và hướng phát triển của đề tài


NHẬN XÉT
(Của giảng viên hướng dẫn)

.......................................................................................................................
…………………………………………………………………………………………

…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
……………………………

Đà Nẵng, ngày … tháng … năm 2022
Giảng viên hướng dẫn



MỤC LỤC

Trang



DANH MỤC CÁC BẢNG


DANH MỤC CÁC HÌNH
Hình 2. 1: UC tổng quan................................................................................................ 9
Hình 2. 2: UC đăng nhập, đăng ký................................................................................. 9
Hình 2. 3: UC mua và thanh tốn................................................................................. 10
Hình 2. 4: Biểu đồ đăng ký thành viên......................................................................... 11
Hình 2. 5: Biểu đồ đăng nhập...................................................................................... 11
Hình 2. 6: Biểu đồ mua sản phẩm................................................................................ 12
Hình 2. 7: Biểu đồ thêm sản phẩm............................................................................... 13
Hình 2. 8: Biểu đồ trình tự đăng ký............................................................................. 14
Hình 2. 9: Biểu đồ trình tự mua sản phẩm................................................................... 14

Hình 2. 10: Biểu đồ tuần tự thêm sản phẩm................................................................. 15
Hình 3. 1: Trang đăng nhập, đăng ký
Hình 3. 2: Trang chủ
Hình 3. 3: Danh mục sản phẩm
Hình 3. 4: Thơng tin sản phẩm
Hình 3. 5: Chi tiết sản phẩm
Hình 3. 6: Giỏ hàng
Hình 3. 7: Trang đặt hàng
Hình 3. 8: Thơng tin đơn hàng
Hình 3. 9: Trang Admin

16
17
18
18
19
19
20
20
21


DANH MỤC CỤM TỪ VIẾT TẮT
STT

Cụm từ

Viết tắt

1


MVC

Model – View – Controller

2

PHP

Hypertext Preprocessor

3

UseCase

UC

4

Unifield Modeling Language

UML

5

Javascript

Js

6


JavaScript extension

JSX

7

API

Application Programming
Interface

8

Restful

Representational State
Transfer


Chương I. CƠ SỞ LÝ THUYẾT
1.1.

Laravel.
Laravel là một trong những PHP Web Framework phổ biến nhất theo mẫu MVC (Model-

View- Controller). Được tạo bởi Taylor Otwell, Laravel framework là nguồn mở và miễn phí
giúp bạn đưa ra các sản phẩm chất lượng cao. Các code sẽ được giảm thiểu đi, nhưng vẫn đạt
tiêu chuẩn ngành, giúp bạn tiết kiệm được hàng trăm giờ đồng hồ dành cho việc phát triển.


1.2.

PHP Framework.
Framework (1) chính là một thư viện với các tài ngun 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ác những tài ngun đó, gắn kết chúng lại với nhau và hồn chỉnh sản phẩm của mình. Đối
với lập trình viên trong mỗi một lĩnh vực, họ cần phải xây dựng các lớp chương trình để xây
dựng nên những phần mềm, ứng dụng thành phẩm.
PHP framework là thư viện 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 bạn thúc đẩy nhanh chóng q 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. Giảm thiểu số
lần phải viết lại code cho lập trình viên.

1.3.

Mơ hình MVC.
MVC (Model-View-Controller) (2) là mẫu kiến trúc phần mềm trên máy tính nhằm mục

đích tạo lập giao diện cho người dùng. Theo đó, hệ thống MVC được chia thành ba phần có khả
năng tương tác với nhau và tách biệt các nguyên tắc nghiệp vụ với giao diện người dùng.
Ba thành phần ấy bao gồm:
• Controller: Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và gọi đúng
những phương thức xử lý chúng
• Model: Là thành phần chứa tất cả các nghiệp vụ logic, 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: Đảm nhận việc hiển thị thông tin, tương tác với người dùng, nơi chứa tất cả
các đối tượng GUI như textbox, images…


14

Đồ Án Chuyên Ngành 1


Bằng cách này, thông tin nội hàm được xử lý tách biệt với phần thông tin xuất hiện trong
giao diện người dùng. Bảo đảm các nguyên tắc nghề nghiệp của lập trình viên.

1.4.

Kotlin.
Kotlin (3) là ngơn ngữ lập trình được phát triển bởi JetBrains. Nó xuất hiện lần đầu năm

2011 khi JetBrains công bố dự án của họ mạng tên "Kotlin". Đây là một ngôn ngữ mã nguồn mở
Về cơ bản, cũng như Java, C hay C++ , Kotlin cũng là "ngơn ngữ lập trình kiểu tĩnh".
Nghĩa là các biến không cần phải định nghĩa trươc khi sử dụng. Kiểu tĩnh thực hiện việc kê khai
nghiêm ngặt hoặc khởi tạo các biến trước khi chúng được sử dụng
Kiểu tĩnh không có nghĩa chúng ta phải khai báo tất cả các biến lúc đầu trước khi sử dụng
chúng. Các biến có thể được khởi tạo bất cứ nơi nào trong chương trình và chúng ta có thể sử
dụng chúng bất cứ nơi nào khi cần.
1.4.1. Điểm mạnh của Kotlin.
Kotlin biên dịch thành JVM bytecode hoặc JavaScript - Giống như Java, Bytecode
cũng là format biên dịch cho Kotlin. Bytecode nghĩa là một khi đã biên dịch, các đoạn code sẽ
chạy thông qua một máy ảo thay vì một bộ xử lý. Bằng cách này, code có thể chạy trên bất kỳ
nền tảng nào, khi nó được biên dịch và chạy thơng qua máy ảo. Khi Kotlin được chuyển đổi
thành bytecode, nó có thể truyền được qua mạng và thực hiện bởi JVM
Kotlin có thể sử dụng tất cả các nền tảng và thư viện Java hiện có - Bất kể là nền tảng
cao cấp dựa trên xử lý annotation. Điều quan trọng là Kotlin dễ dàng tích hợp với Maven,
Gradle hay các hệ thống build khác.
Kotlin dễ học và dễ tiếp cận. Có thể học dễ dàng bằng những ví dụ tham khảo đơn giản.

Cú pháp đơn giản và trực quan. Kotlin khá giống Scala nhưng dễ hiểu
hơn Kotlin là mã nguồn mở nên khơng tốn kém gì để có thể sử dụng
Chuyển đổi tự động Java thành Kotlin - JetBrains tích hợp chức năng mới vào IntelliJ
để chuyển đổi Java thành Kotlin và điều này tiết kiệm một lượng thời gian rất lớn. Nó cũng giúp
chúng ta khơng phải code lại kiểu tay to
Null-safety của Kotlin: giúp chúng ta thoát khỏi NullPointerExceptions. Giúp chúng ta
tránh những exeption kiểu con trỏ null. Trong Kotlin, hệ thống sẽ từ chối biên dịch đoạn code
đang gán hay trả về giá trị null


Review code khơng cịn là vấn đề - Kotlin tập trung nhiều hơn vào việc cú pháp dễ hiểu,
dễ đọc để review, chúng có thể hồn thành bởi những thành viên team chưa quen với ngôn ngữ
này
1.4.2. Khác biệt giữa Kotlin và Java.
Null safety - như đã nói ở trên, Kotlin tránh NullPointerException. Kotlin dừng lại ở bất cứ thời
điểm biên dich nào khi NullPointerException xuất hiện.
Data Classes - trong Kotlin có Data Classes để tự phát sinh boilerplate như equals, hashCode,
toString, getters/setters,…

Smart Casts - Khi nói đến các phơi, trình biên dịch Kotlin thực sự thơng minh. Trong
nhiều trường hợp, người ta khơng cần sử dụng các tốn tử cast rõ ràng trong kotlin, nhưng trong
Kotlin có "is-checks" cho các giá trị không thay đổi và chèn các phôi tự động khi cần thiết.
Type Inference - Trong Kotlin, có một điều tuyệt vời là bạn không phải chỉ rõ loại của
mỗi biến một cách rõ ràng (theo cách rõ ràng và chi tiết). Nhưng nếu bạn muốn xác định một
loại dữ liệu một cách rõ ràng, bạn cũng có thể làm điều đó.

1.5.

Restful API.
RESTful API (4) là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web


(thiết kế Web services) để tiện cho việc quản lý các resource. Nó chú trọng vào tài nguyên hệ
thống (tệp văn bản, ảnh, âm thanh, video, hoặc dữ liệu động…), bao gồm các trạng thái tài
nguyên được định dạng và được truyền tải qua HTTP.
1.5.1. API.
API (Application Programming Interface) (5) là một tập các quy tắc và cơ chế mà theo đó,
một ứng dụng hay một thành phần sẽ tương tác với một ứng dụng hay thành phần khác. API có
thể trả về dữ liệu mà bạn cần cho ứng dụng của mình ở những kiểu dữ liệu phổ biến như JSON
hay XML.
1.5.2. REST
REST (REpresentational State Transfer) (6) là một dạng chuyển đổi cấu trúc dữ liệu, một
kiểu kiến trúc để viết API. Nó sử dụng phương thức HTTP đơn giản để tạo cho giao tiếp giữa
các máy. Vì vậy, thay vì sử dụng một URL cho việc xử lý một số thông tin người dùng, REST
gửi một yêu cầu HTTP như GET, POST, DELETE, vv đến một URL để xử lý dữ liệu.


Chức năng quan trọng nhất của REST là quy định cách sử dụng các HTTP method (như
GET, POST, PUT, DELETE…) và cách định dạng các URL cho ứng dụng web để quản các
resource. RESTful không quy định logic code ứng dụng và khơng giới hạn bởi ngơn ngữ lập
trình ứng dụng, bất kỳ ngơn ngữ hoặc framework nào cũng có thể sử dụng để thiết kế một
RESTful API.


Chương II. PHÂN TÍCH VÀ THIẾT KẾ
2.1.

u cầu bài tốn, khảo sát nghiệp vụ

2. 1.1. Yêu cầu bài toán
Tạo một hệ thống website và ứng dụng miễn phí cho phép kinh doanh cà phê một cách

tiện lợi nhất. Việc tìm những công thức pha cà phê rất nhanh và trực quan. Hỗ trợ mua bán 1
cách dễ dàng và thuận tiện nhất.
Yêu cầu về chức năng:
- Nhóm chức năng đăng ký, đăng nhập thành viên.
- Nhóm chức năng xem thơng tin: xem thông tin đơn hàng, xem thông tin sản phẩm.
- Nhóm chức năng quản lý thơng tin: quản lý danh mục sản phẩm.
- Nhóm chức năng nhập, xuất hàng và cập nhật thơng tin lên website.
- Nhóm chức năng mua hàng và tiếp nhận và xử lý đơn hàng, thanh tốn.
• u cầu về giao diện
- Trang chủ giao diện đơn giản, thân thiện.
- Tranh thanh toán gọn gàng nhanh chóng.
- Bố cục hài hịa, màu sắc dễ nhìn.
• Yêu cầu về hệ thống
- Hệ thống hoạt động nhanh, chính xác
2. 1.2. Các đối tượng tham gia vào hệ thống
- Người xem: là người ghé qua website, xem thông tin website.
- Khách hàng: là những khách thăm đã là những khách thăm đã đăng kí thành viên của hệ thống,
mua hàng.
2. 1.3. Xác định các Actor và Usecase của các tác nhân
• Tác nhân người xem
-

Đăng kí

-

Xem giới thiệu website


• Tác nhân khách hàng


2.2.

-

Đăng nhập, đăng xuất

-

Tìm kiếm, xem sản phẩm

-

Mua hàng

-

Thanh tốn

Đặc tả UseCase
• Đăng kí thành viên

a.

Tác nhân : người xem

b.

Mô tả: cho phép người xem đăng ký làm thành viên của hệ thống.


c.

Tiền điều kiện: người xem ghé thăm hệ thống

d.

Luồng sự kiện chính:

- Người xem chọn mục đăng ký thành viên
- Form đăng ký thành viên hiển thị
- Người xem đăng nhập thông tin cá nhân vào form đăng ký
- Nhấn nút đăng ký
- Hệ thống báo kết quả q trình nhập thơng tin cá nhân. Nếu thơng tin nhập khơng chính xác thì
thực hiện luồn rẽ nhánh A1. Nếu nhập chính xác thì thực hiện bước 6.
- Hệ thống cập nhật thông tin của người xem vào danh sách thành viên
- UC kết thúc

e.

Luồng sự kiện rẽ nhánh :

f.

Hậu điều kiện: người xem trở thành thành viên của hệ thống
• Đăng nhập hệ thống

a.

Tác nhân: thành viên


b.

Mô tả: UC cho phép thành viên đăng nhập vào hệ thống


c.

Tiền điều kiện: thành viên chưa đăng vào hệ thống

d.

Luồng sự kiện chính:

- Thành viên chọn chức năng đăng nhập
- Form đăng nhập hiển thị
- Nhập tên, mật khẩu vào form đăng nhập
- Hệ thống kiểm tra tên, mật khẩu của thành viên
- Nếu việc đăng nhập thành cơng thì … Nếu thành viên nhập sai tên, mật khẩu thì chuyển
sang luồng rẽ nhánh A1
- UC kết thúc
e.

Luống sự kiện rẽ nhánh:

f.

Luồng rẽ nhánh A1: thành viên đăng nhập không thành cơng

- Hệ thống thơng báo q trình đăng nhập không thành công
- Chọn: đăng ký hay đăng nhập lại.

- Hệ thống yêu cầu thành viên nhập lại tên và mật khẩu
- Nếu người xem đồng ý thì quay về bước 2 của luồng sự kiện chính, nếu khơng đồng ý thì UC
kết thúc.
g.

Hậu điều kiện: Thành viên đã đăng nhập thành cơng và có thể sử dụng các chức năng mà
hệ thống cung cấp
• Xem thơng tin sản phẩm

a.

Tác nhân: người quản lý, khách hàng

b.

Mô tả: cho phép người quản lý, khách hàng xem thông tin về các sản phẩm có trong cửa
hàng

c.

Luồng sự kiện chính:
-

Người quản lý, khách hàng chọn sản phẩm cần xem

-

Form xem thông tin sản phẩm xuất hiện, hệ thống hiển thị thông tin về sản phẩm đã

-


Người quản lý, khách hàng xem thông tin chi tiết về sản phẩm được hiển thị

chọn


-

UC kết thúc.

• Kiểm tra đơn hàng
a.

Tác nhân: Bộ phận kinh doanh

b.

Mô tả: cho phép nhân viên kinh doanh kiểm tra và xác nhận thông tin đơn hàng

c.

Luồng sự kiện:
-

Nhân viên kinh doanh kiểm tra đơn hàng

-

Hệ thống hiển thị thông tin đơn hàng


-

Nhân viên xác nhận thông tin trên đơn hàng

-

Kết thúc UC

• Thanh tốn
d.

Tác nhân: Bộ phận kinh doanh

e.

Mơ tả: cho phép người dùng thanh tốn trực tuyến hoặc trực tiếp dựa theo phương thức
thanh toán

f.

2.3.

Luồng sự kiện:
-

Nhân viên kinh doanh kiểm tra đơn hàng

-

Hệ thống hiển thị thơng tin đơn hàng


-

Người dùng thanh tốn bằng hình thức trực tuyến hoặc trực tiếp

-

Kết thúc UC

Biểu đồ UC chi tiết
• Biểu đồ UC Tổng quan


Hình 2. 1: UC tổng quan

• Biểu đồ UC đăng kí, đăng nhập.

Hình 2. 2: UC đăng nhập, đăng ký

• Biểu đồ UC mua và thanh toán hàng


Hình 2. 3: UC mua và thanh tốn

2.4.

Biểu đồ hoạt động
• Đăng ký thành viên



Hình 2. 4: Biểu đồ đăng ký thành viên

• Đăng nhập vào hệ thống

Hình 2. 5: Biểu đồ đăng nhập

• Mua Sản Phẩm


Hình 2. 6: Biểu đồ mua sản phẩm


×