Tải bản đầy đủ (.pdf) (51 trang)

Đồ án xây dựng website bán điện thoại di động

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 (1.71 MB, 51 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

ĐỒ ÁN 2

XÂY DỰNG WEBSITE BÁN ĐIỆN THOẠI DI ĐỘNG

GV HƯỚNG DẪN: ThS. TRẦN THỊ HỒNG YẾN
SV THỰC HIỆN: LÊ TRỊNH VIỆT TIẾN – 20520801

TP. HỒ CHÍ MINH, THÁNG 6 NĂM 2023


LỜI CẢM ƠN
Em xin gửi lời cảm ơn tới cô Trần Thị Hồng Yến, người đã hướng dẫn nhóm em
trong suốt q trình thực hiện đồ án. Em vơ cùng biết ơn sự tận tình chỉ dẫn của cơ
trong q trình nhóm thực hiện đề tài này. Bước đầu tiếp cận các cơng nghệ mới,
nhóm cịn nhiều thiếu sót về mặt kiến thức cũng như kinh nghiệm thực tiễn nên
không tránh khỏi nhiều sai sót. Những nhận xét, góp ý chân tình của cơ chính là cơ
sở để nhóm có thể cải tiến và hoàn thiện đề tài này một cách tốt nhất.
Đề tài được nhóm thực hiện trong khoảng thời gian 3 tháng, lần đầu tiếp cận các
công nghệ mới, bước đầu đi vào thực tế nên còn nhiều hạn chế về kiến thức cũng
như kinh nghiệm thực tiễn. Do vậy, chắc chắn không thể tránh khỏi những sai sót,
nhóm rất mong nhận được những sự chỉ bảo, ý kiến đóng góp q báu của cơ và các
bạn học cùng lớp để nhóm có thể bổ sung, cải tiến sản phẩm cũng như nâng cao
kiến thức, hoàn thiện bản thân và tích lũy thêm cho bản thân nhiều kinh nghiệm,
phục vụ tốt hơn cho công việc thực tế sau này.
Lời cuối, em xin kính chúc cơ dồi dào sức khỏe, niềm tin để có thể tiếp tục truyền
đạt kiến thức cho các bạn sinh viên.



TP. Hồ Chí Minh, ngày 24 tháng 6 năm 2023
Sinh viên thực hiện
Lê Trịnh Việt Tiến

1


MỤC LỤC
Chương 1.

TỔNG QUAN VỀ ĐỀ TÀI .................................................................8

1.1. Giới thiệu về đề tài ........................................................................................8
1.2. Phạm vi nghiên cứu .......................................................................................8
1.3. Phương pháp nghiên cứu ...............................................................................9
1.4. Mục tiêu của đề tài.........................................................................................9
Chương 2.

CƠ SỞ LÝ THUYẾT ........................................................................10

2.1. Tổng quan về Javascript ..............................................................................10
2.1.1.

Giới thiệu ...........................................................................................10

2.1.2.

Ưu điểm .............................................................................................11


2.1.3.

Nhược điểm .......................................................................................12

2.2. Tổng quan về ReactJS .................................................................................12
2.2.1.

Giới thiệu ...........................................................................................12

2.2.2.

Ưu điểm .............................................................................................13

2.2.3.

Nhược điểm .......................................................................................14

2.3. Tổng quan về NodeJS ..................................................................................14
2.3.1.

Giới thiệu ...........................................................................................14

2.3.2.

Ưu điểm .............................................................................................14

2.3.3.

Nhược điểm .......................................................................................15


2.4. Tổng quan về MongoDB .............................................................................15
2.4.1.

Giới thiệu ...........................................................................................15

2.4.2.

Ưu điểm .............................................................................................16

2.4.3.

Nhược điểm .......................................................................................16
2


Chương 3.

PHÂN TÍCH THIẾT KẾ HỆ THỐNG .............................................17

3.1. Phân tích yêu cầu đề bài ..............................................................................17
3.1.1.

Phát biểu bài toán ..............................................................................17

3.1.2.

Yêu cầu bài toán ................................................................................18

3.2. Nghiên cứu hiện trạng .................................................................................19
3.3. Đặc tả hệ thống ............................................................................................20

Chương 4.

HIỆN THỰC HỆ THỐNG ................................................................21

4.1. Sơ đồ Use Case ............................................................................................21
4.1.1.

Sơ đồ Use Case của khách hàng ........................................................21

4.1.2.

Sơ đồ Use Case của khách hàng – thành viên ...................................22

4.1.3.

Sơ đồ Use Case của quản lý ..............................................................23

4.2. Biều đồ phân rã chức năng ..........................................................................23
4.3. Biểu đồ tuần tự ............................................................................................24
4.3.1.

Biểu đồ tuần tự đăng nhập .................................................................24

4.3.2.

Biểu đồ tuần tự đăng ký thành viên ...................................................25

4.3.3.

Biểu đồ tuần tự tìm kiếm điện thoại ..................................................26


4.3.4.

Biểu đồ tuần tự đặt hàng....................................................................27

4.3.5.

Biểu đồ tuần tự xem thơng tin điện thoại ..........................................28

4.3.6.

Biểu đồ tuần tự bình luận ..................................................................29

4.3.7.

Biểu đồ tuần tự hiển thị danh sách điện thoại ...................................30

4.3.8.

Biểu đồ tuần tự thêm điện thoại ........................................................31

4.3.9.

Biểu đồ tuần tự xóa điện thoại...........................................................32

4.3.10.

Biểu đồ tuần tự xem đơn hàng ..........................................................33

4.3.11.


Biểu đồ tuần tự xóa thành viên ..........................................................34
3


4.3.12.

Biểu đồ tuần tự xóa đơn hàng............................................................35

4.4. Thiết kế cơ sở dữ liệu ..................................................................................35
4.4.1.

Bảng dữ liệu Phone ...........................................................................36

4.4.2.

Bảng dữ liệu User ..............................................................................37

4.4.3.

Bảng dữ liệu Order ............................................................................37

4.5. Thiết kế giao diện người dùng .....................................................................38
4.5.1.

Giao diện trang chủ ...........................................................................38

4.5.2.

Giao diện chi tiết điện thoại ..............................................................40


4.5.3.

Giao diện đăng ký, đăng nhập ...........................................................42

4.5.4.

Giao diện tìm kiếm điện thoại ...........................................................44

4.5.5.

Giao diện đặt hàng .............................................................................44

4.5.6.

Giao diện quản lý điện thoại..............................................................46

4.5.7.

Giao diện quản lý thành viên .............................................................47

4.5.8.

Giao diện quản lý đơn hàng...............................................................48

KẾT LUẬN ...............................................................................................................49
TÀI LIỆU THAM KHẢO .........................................................................................50

4



DANH MỤC HÌNH ẢNH
Hình 4.1 – Sơ đồ Use Case của khách hàng .............................................................21
Hình 4.2 – Sơ đồ Use Case của khách hàng thành viên ............................................22
Hình 4.3 – Sơ đồ Use Case của quản lý ....................................................................23
Hình 4.4 – Biểu đồ phân rã chức năng ......................................................................24
Hình 4.5 – Biểu đồ tuần tự đăng nhập ......................................................................24
Hình 4.6 – Biểu đồ tuần tự đăng ký thành viên ........................................................25
Hình 4.7 – Biểu đồ tuần tự tìm kiếm điện thoại ........................................................26
Hình 4.8 – Biểu đồ tuần tự đặt hàng .........................................................................27
Hình 4.9 – Biểu đồ tuần tự xem thơng tin điện thoại ................................................28
Hình 4.10 – Biểu đồ tuần tự bình luận ......................................................................29
Hình 4.11 – Biểu đồ tuần tự hiển thị danh sách điện thoại .......................................30
Hình 4.12 – Biểu đồ tuần tự thêm điện thoại ............................................................31
Hình 4.13 – Biểu đồ tuần tự xóa điện thoại ..............................................................32
Hình 4.14 – Biểu đồ tuần tự xem đơn hàng ..............................................................33
Hình 4.15 – Biểu đồ tuần tự xóa thành viên .............................................................34
Hình 4.16 – Biểu đồ tuần tự xóa đơn hàng ...............................................................35
Hình 4.17 – Giao diện trang chủ ...............................................................................39
Hình 4.18 – Giao diện chi tiết điện thoại ..................................................................41
Hình 4.20 – Giao diện đăng nhập..............................................................................42
Hình 4.21 – Giao diện đăng ký .................................................................................43
Hình 4.22 – Giao diện tìm kiếm sản phẩm ...............................................................44
Hình 4.23 – Giao diện đặt hàng ................................................................................45
Hình 4.24 – Giao diện quản lý điện thoại (1)............................................................46
Hình 4.25 – Giao diện quản lý điện thoại (2)............................................................47
Hình 4.26 – Giao diện quản lý điện thoại (3)............................................................47
Hình 4.27 – Giao diện quản lý thành viên ................................................................48
Hình 4.28 – Giao diện quản lý đơn hàng ..................................................................48


5


DANH MỤC BẢNG
Bảng 3.1 – Đặc tả hệ thống .......................................................................................20
Bảng 4.1 – Bảng dữ liệu Phone .................................................................................36
Bảng 4.2 – Bảng dữ liệu User ...................................................................................37
Bảng 4.3 – Bảng dữ liệu Order .................................................................................37

6


TÓM TẮT ĐỒ ÁN

Đồ án “Xây dựng website bán điện thoại di động” tập trung vào khảo sát thực trạng
các cửa hàng kinh doanh điện thoại di động để từ đó xây dựng website đáp ứng các
nhu cầu cần thiết của một cửa hàng bán điện thoại di động. Đề tài được bắt đầu từ
việc tìm hiểu thực trạng, đưa ra các vấn đề còn tồn đọng và cần cải thiện. Xác định
phạm vi, bài toán, mục tiêu của đề tài. Từ đó đưa ra các chức năng cần có của ứng
dụng. Ngoài việc xử lý các nghiệp vụ cho ứng dụng, em cũng đã tìm hiểu, so sánh
và lựa chọn các công nghệ mới và phù hợp giúp nâng cao trải nghiệm người dùng,
tối ưu chi phí phát triển, triển khai, bảo trì và nâng cấp.
Vì ứng dụng mang tính thực tiễn cao, việc yêu cầu thay đổi thường xuyên và thời
gian phát triển ngắn, quá trình phát triển sản phẩm đã vận dụng mơ hình Agile làm
phương pháp luận chính cho qui trình phát triển phần mềm. Kết quả thu được ở giai
đoạn phân tích, thiết kế được mơ hình hóa bằng UML thơng qua cơng cụ PlantUML
và giao diện được thiết kế bằng Figma. Ở giai đoạn thực hiện, thư viện ReactJS
được sử dụng cho client và NodeJS được sử dụng cho server, sử dụng Visual Studio
Code làm IDE chính.
Phần cuối cùng của đồ án là trình bày kết quả đã thực hiện lên cuốn báo cáo, đưa ra

kết luận và hướng phát triển cho ứng dụng trong tương lai.
Nội dung đồ án được trình bày trong 5 chương, như sau:
• Chương 01 – Tổng quan về đề tài: Xác định mục tiêu, nội dung nghiên cứu,
phạm vi đề tài.
• Chương 02 – Cơ sở lý thuyết: Giới thiệu về các công nghệ được sử dụng,
cách thức hoạt động, ưu điểm, nhược điểm của các công nghệ đó.
• Chương 03 – Phân tích thiết kế hệ thống: Phân tích các yêu cầu chức năng,
yêu cầu phi chức năng.
• Chương 04 – Hiện thực hệ thống: Mơ tả các sơ đồ đặc tả Use Case, quy trình
sử dụng, trình tự hệ thống, thiết kế dữ liệu, thiết kế giao diện người dùng.

7


Chương 1. TỔNG QUAN VỀ ĐỀ TÀI
Giới thiệu về đề tài

1.1.

Trong cuộc sống hiện đại với tác động của đại dịch, nhu cầu mua sắm
online của người tiêu dùng được tăng cao nhờ sự tiện lợi, rõ ràng. Đặc biệt
đối với các của hàng bán điện thoại di động, vì tác động của việc cách ly mà
nhu cầu sử dụng điện thoại để giải trí, học tập, làm việc… của người dùng là
rất lớn. Nhận thấy nhu cầu cửa hàng và tiềm năng trong việc kinh doanh
online, nhóm em quyết định xây dựng Website bán điện thoại di động nhằm
thúc đẩy doanh thu cho cửa hàng và tạo sự tiện lợi cho người mua thông qua
việc bán hàng online.
Website sẽ cung cấp những thơng tin chính xác nhất của các sản phẩm
cho người mua. Ngồi ra cịn giúp cửa hàng quản lý các đơn hàng và doanh
thu.

1.2.

Phạm vi nghiên cứu
• Phạm vi môi trường:
o Triển khai sản phẩm trên môi trường web.
• Phạm vi chức năng:
o Đối với phía admin:
▪ Quản lý sản phẩm.
▪ Quản lý đơn hàng.
▪ Quản lý tài khoản.
▪ Thống kê.
o Đối với phía website:
▪ Đăng nhập, đăng ký.
▪ Hiển thị danh sách sản phẩm.
▪ Hiển thị chi tiết sản phẩm.
▪ Tìm kiếm sản phẩm.
8


▪ Bộ lọc chi tiết sản phẩm.
▪ Chức năng giỏ hàng.
▪ Chức năng đặt hàng.
1.3.

Phương pháp nghiên cứu
• Tham khảo các website liên quan để hiểu rõ nghiệp vụ.
• Lên kế hoạch.
• Tìm hiểu các cơng nghệ sử dụng cho đề tài.
• Triển khai theo kế hoạch sẵn có.
• Kiểm thử và sửa lỗi (nếu có).


1.4.

Mục tiêu của đề tài
• Nắm bắt và áp dụng được các công nghệ mới để xây dựng sản phẩm
đề tài.
• Hiểu rõ nghiệp vụ, chức năng của một website bán điện thoại di động.
• Xây dựng website bán điện thoại di động đáp ứng được các yêu cầu
về giao diện và chức năng đã đề ra.

9


Chương 2. CƠ SỞ LÝ THUYẾT
2.1.

Tổng quan về Javascript

2.1.1. Giới thiệu
Javascript chính là một ngơn ngữ lập trình web rất phổ biến ngày nay.
Javascript được tích hợp đồng thời nhúng vào HTML để hỗ trợ cho
website trở nên sống động hơn. Chúng cũng đóng vai trị tương tự như
một phần của website, cho phép Client-side Script từ người dùng tương
tự máy chủ (Nodejs) để tạo ra những website động.
Thông thường, JavaScript sẽ được nhúng trực tiếp vào một website
hoặc chúng được tham chiếu qua file .js hoặc .JavaScript.
Mục đích của ngôn ngữ đặc biệt này sẽ giúp bạn dễ dàng sử dụng
chúng hơn trong cơng việc. Cụ thể như sau:
• Thay đổi nội dung HTML: Một trong số nhiều phương thức
HTML JavaScript chính là getElementById (). Chúng được sử

dụng để tìm một phần tử của HTML với id =”demo” và dùng
để thay đổi nội dung của phần từ (Internal HTML) sang thành
“Hello JavaScript”
• Thay đổi giá trị thuộc tính HTML: Tổng quan về javascript cịn
có thể sử dụng để thay đổi các giá trị của thuộc tính. Ví dụ:
thay đổi thuộc tính src (source) của tag<img>.
• Thay đổi kiểu HTML: Đây chính là một hoạt động biến thể của
việc thay đổi thuộc tính của HTML ở trên. Ví dụ:
document.getElementById(‘demo’).style.fontSize = ’35px;
• Ẩn các phần tử HTML: Một hoạt động tiếp theo là Javascript
có thể ẩn được các phần tử HTML. Chúng có thể được thực
hiện thơng qua hoạt động thay đổi kiểu hiển thị các phần tử
HTML.
10


• Hiển thị các phần tử HTML: Một điểm đặc biệt là JavaScript
có thể hiển thị được các yếu tố HTML ẩn. Đồng thời, cũng có
thể thực hiện được thơng qua cách thay đổi kiểu hiển thị phần
tử.
2.1.2. Ưu điểm
• Chương trình rất dễ học.
• Những lỗi Javascript rất dễ để phát hiện, từ đó giúp bạn sửa lỗi
một cách nhanh chóng hơn.
• Những trình duyệt web có thể dịch thơng qua HTML mà khơng
cần sử dụng đến một compiler.
• JS có thể hoạt động ở trên nhiều nền tảng và các trình duyệt web
khác nhau.
• Được các chun gia đánh giá là một loại ngơn ngữ lập trình nhẹ
và nhanh hơn nhiều so với các ngơn ngữ lập trình khác.

• JS cịn có thể được gắn trên một số các element hoặc những events
của các trang web.
• Những website có sử dụng JS thì chúng sẽ giúp cho trang web đó
có sự tương tác cũng như tăng thêm nhiều trải nghiệm mới cho
người dùng.
• Người dùng cũng có thể tận dụng JS với mục đích là để kiểm tra
những input thay vì cách kiểm tra thủ cơng thơng qua hoạt động
truy xuất database.
• Giao diện của ứng dụng phong phú với nhiều thành phần như Drag
and Drop, Slider để cung cấp đến cho người dùng một Rich
Interface (giao diện giàu tính năng).
• Giúp thao tác với người dùng phía Client và tách biệt giữa các
Client với nhau.

11


2.1.3. Nhược điểm
• JS Code Snippet khá lớn.
• JS dễ bị các hacker và scammer khai thác hơn.
• JS cũng khơng có khả năng đa luồng hoặc đa dạng xử lý.
• Có thể được dùng để thực thi những mã độc ở trên máy tính của
người sử dụng.
• Những thiết bị khác nhau có thể sẽ thực hiện JS khác nhau, từ đó
dẫn đến sự khơng đồng nhất.
• Vì tính bảo mật và an toàn nên các Client-Side Javascript sẽ khơng
cho phép đọc hoặc ghi các file.
• JS khơng được hỗ trợ khi bạn sử dụng ở trong tình trạng thiết bị
được kết nối mạng.
2.2.


Tổng quan về ReactJS

2.2.1. Giới thiệu
ReactJS được hiểu là một mã nguồn mở chứa JavaScript. Nó được ra
đời vào năm 2013 bởi Facebook. Mục đích chính của việc tạo ra ReactJS
là cải thiện các ứng dụng web hiệu quả và hấp dẫn hơn với nỗ lực viết mã
tối thiểu. Nhà phát triển ReactJS mong muốn rằng bất kỳ trang web nào
sử dụng ReactJS cũng phải mượt mà, nhanh chóng và khả năng mở rộng
cao, dễ thực hiện.
Hiện nay, các tính năng và điểm mạnh của ReactJS đến từ việc tập
trung vào các phần riêng lẻ. Bởi vậy khi làm việc với web thay vì tồn bộ
ứng dụng của trang web bằng ReactJS thì các nhà phát triển tính năng có
thể tách rời và chuyển đổi giao diện người dùng từ nhiều cách phức tạp
và biến đổi nó đơn giản hóa hơn. Như vậy, ReactJS khơng chỉ thực hiện
render dữ liệu trên tầng Server mà còn ở dưới Client nữa.
Các thành phần chính của ReactJS:
12


• Redux: là một thành phần quan trọng với ReactJS và được sử
dụng phổ biến. Trong ReactJS, khơng có các module chun
dụng để xử lý dữ liệu, vì vậy nó được thiết lập độc lập bằng
cách chia nhỏ giao diện thành các thành phần khác nhau, giúp
chúng được liên kết chặt chẽ với nhau hơn. Việc liên kết và
quan hệ giữa các thành phần trong ReactJS đòi hỏi sự quan tâm
đặc biệt, vì chỉ có một luồng dữ liệu duy nhất từ thành phần
cha sang con. Việc sử dụng luồng dữ liệu một chiều này có thể
khó khăn đối với những người mới tìm hiểu và áp dụng vào các
dự án. Tuy nhiên, bên cạnh những hạn chế, ReactJS có thể khai

thác tối đa chức năng và vai trò của nó trong q trình sử dụng
cơ chế này. Điều này đặc biệt quan trọng khi giao diện trở nên
phức tạp hơn rất nhiều.
• Virtual DOM: là một phần quan trọng được sử dụng trong hầu
hết các framework, như cả ReactJS. Thay vì tương tác trực tiếp
với DOM, người dùng có thể nhìn thấy giao diện và các thay
đổi thơng qua Virtual DOM. Virtual DOM đóng vai trị là một
mơ hình và cũng đồng thời là một giao diện, vì vậy sự thay đổi
ở một trong hai yếu tố này sẽ ảnh hưởng đến những yếu tố
khác. Nếu không tương tác trực tiếp với các phần tử DOM, bạn
vẫn có thể thực hiện được cơ chế Data Binding.
2.2.2. Ưu điểm
• Phù hợp với nhiều thể loại website khác nhau.
• Tận dụng các thành phần đã có.
• Tích hợp được cho cả ứng dụng di động Mobile Application.
• Tối ưu để tăng cường khả năng tìm kiếm SEO.
• Dễ dàng sửa lỗi và gỡ rối Debug.
• Render tầng server.
13


2.2.3. Nhược điểm
• Reactjs chỉ phục vụ cho tầng View. React chỉ là View Library nó
khơng phải là một MVC framework như những framework khác.
Đây chỉ là thư viện của Facebook giúp render ra phần view. Vì thế
React sẽ khơng có phần Model và Controller, mà phải kết hợp với
các thư viện khác. React cũng sẽ khơng có 2-way binding hay là
Ajax.
• Tích hợp Reactjs vào các framework MVC truyền thống u cầu
cần phải cấu hình lại.

• React khá nặng nếu so với các framework khác React có kích
thước tương tương với Angular (Khoảng 35kb so với 39kb của
Angular). Trong khi đó Angular là một framework hồn chỉnh
• Khó tiếp cận cho người mới học Web.
Tổng quan về NodeJS

2.3.

2.3.1. Giới thiệu
NodeJS là một môi trường runtime chạy JavaScript đa nền tảng và có
mã nguồn mở, được sử dụng để chạy các ứng dụng web bên ngồi trình
duyệt của client. Nền tảng này được phát triển bởi Ryan Dahl vào năm
2009, được xem là một giải pháp hoàn hảo cho các ứng dụng sử dụng
nhiều dữ liệu nhờ vào mơ hình hướng sự kiện (event-driven) khơng đồng
bộ.
2.3.2. Ưu điểm
• IO hướng sự kiện không đồng bộ, cho phép xử lý nhiều u cầu
đồng thời.
• Sử dụng JavaScript – một ngơn ngữ lập trình dễ học.
• Chia sẻ cùng code ở cả phía client và server.

14


• NPM(Node Package Manager) và module Node đang ngày càng
phát triển mạnh mẽ.
• Cộng đồng hỗ trợ tích cực.
• Cho phép stream các file có kích thước lớn.
2.3.3. Nhược điểm
• IO hướng sự kiện không đồng bộ, cho phép xử lý nhiều yêu cầu

đồng thời.
• Sử dụng JavaScript – một ngơn ngữ lập trình dễ học.
• Chia sẻ cùng code ở cả phía client và server.
• NPM(Node Package Manager) và module Node đang ngày càng
phát triển mạnh mẽ.
• Cộng đồng hỗ trợ tích cực.
• Cho phép stream các file có kích thước lớn.
2.4.

Tổng quan về MongoDB

2.4.1. Giới thiệu
MongoDB là một database hướng tài liệu (document), một dạng
NoSQL database. Vì thế, MongoDB sẽ tránh cấu trúc table-based của
relational database để thích ứng với các tài liệu như JSON có một schema
rất linh hoạt gọi là BSON. MongoDB sử dụng lưu trữ dữ liệu dưới dạng
Document JSON nên mỗi một collection sẽ các các kích cỡ và các
document khác nhau. Các dữ liệu được lưu trữ trong document kiểu
JSON nên truy vấn sẽ rất nhanh.
Các feature của MongoDB gồm có:
• Các ad hoc query: hỗ trợ search bằng field, các phép search
thông thường, regular expression searches, và range queries.
• Indexing: bất kì field nào trong BSON document cũng có thể
được index.
15


• Replication: có ý nghĩa là “nhân bản”, là có một phiên bản
giống hệt phiên bản đang tồn tại, đang sử dụng. Với cơ sở dữ
liệu, nhu cầu lưu trữ lớn, địi hỏi cơ sở dữ liệu tồn vẹn, khơng

bị mất mát trước những sự cố ngồi dự đốn là rất cao. Vì vậy,
người ta nghĩ ra khái niệm “nhân bản”, tạo một phiên bản cơ sở
dữ liệu giống hệt cơ sở dữ liệu đang tồn tại, và lưu trữ ở một
nơi khác, đề phịng có sự cố.
• Aggregation: Các Aggregation operation xử lý các bản ghi dữ
liệu và trả về kết quả đã được tính tốn. Các phép tốn tập hợp
nhóm các giá trị từ nhiều Document lại với nhau, và có thể
thực hiện nhiều phép tốn đa dạng trên dữ liệu đã được nhóm
đó để trả về một kết quả duy nhất. Trong SQL, count(*) và
GROUP BY là tương đương với Aggregation trong MongoDB.
• Lưu trữ file: MongoDB được dùng như một hệ thống file tận
dụng những function trên và hoạt động như một cách phân
phối qua sharding.
2.4.2. Ưu điểm
• Dữ liệu lưu trữ phi cấu trúc, khơng có tính ràng buộc, tồn vẹn nên
tính sẵn sàng cao, hiệu suất lớn và dễ dàng mở rộng lưu trữ.
• Dữ liệu được caching (ghi đệm) lên RAM, hạn chế truy cập vào ổ
cứng nên tốc độ đọc và ghi cao.
2.4.3. Nhược điểm
• Khơng ứng dụng được cho các mơ hình giao dịch nào có u cầu
độ chính xác cao do khơng có ràng buộc.
• Khơng có cơ chế transaction (giao dịch) để phục vụ các ứng dụng
ngân hàng.
• Dữ liệu lấy RAM làm trọng tâm hoạt động vì vậy khi hoạt động
yêu cầu một bộ nhớ RAM lớn.
16


Chương 3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG
3.1.


Phân tích u cầu đề bài

3.1.1. Phát biểu bài toán
Tên bài toán: “Ứng dụng Reactjs và Nodejs vào xây dựng website
quản lí bán điện thoại”.
Đây là một loại hình kinh doanh ảo qua mạng bằng cách xây dựng
một trang web bán điện thoại để mọi người có thể vào đó xem các loại
điện thoại, lựa chọn giữa các hãng, so sánh các loại máy, giá tiền. Với
trang web bán điện thoại trực tuyến, cửa hàng sẽ đưa thông tin các sản
phẩm mới ra mắt hoặc sắp ra mắt lên trang web của mình. Việc đưa thông
tin phải theo một trật tự hợp lý. Ví dụ, khi đưa thơng tin điện thoại thì các
thơng tin phải đầy đủ gồm: Tên hãng, giá tiền, các thông số kĩ thuật như
camera, pin, hệ điêu hành, bộ nhớ, màn hình, ... Người quản trị trang web
cũng có quyền thêm mới, sửa đổi thông tin điện thoại, hoặc xóa đi những
điện thoại đã dừng bán hoặc hết hàng. Mọi sự thay đổi đều được ghi nhận
trong cơ sở dữ liệu để đến với người sử dụng.
Với khách hàng thì được xem trang web, xem thơng tin các loại điện
thoại đang bán nhưng khơng có quyền đặt hàng. Để có thể đặt hàng,
khách hàng cần phải đăng kí là thành viên của trang web. Khi đã là thành
viên, khách hàng đăng nhập vào website theo email và mật khẩu của
mình. Khi đó, khách hàng sẽ có quyền đặt hàng. Bên cạnh đó, khách hàng
có thể tìm kiếm điện thoại theo tên hoặc là theo hãng, khi đặt hàng xong
thì khách hàng có thể thay đổi số lượng theo ý muốn. Khi khách hàng đặt
hàng thành cơng, người quản lí sẽ đối chiếu thông tin đơn hàng của khách
và thông tin được cập nhật trong hệ thống để tiến hành lấy vận chuyển
sản phẩm và thanh tốn cho khách hàng.
Ngồi ra, trang web còn dùng là nơi quảng cáo cho cửa hàng, các loại
điện thoại đang bán và sắp bán tại cửa hàng.


17


3.1.2. Yêu cầu bài toán
3.1.2.1.

Đối với người dùng là khách hàng - khơng phải thành viên

• Xem thơng tin các loại điện thoại, xem thông tin sản phẩm, xem
giá tiền, xem sản phẩm theo giá thấp đến cao hoặc ngược lại.
• Đăng ký tài khoản, đăng nhập.
3.1.2.2.

Đối với người dùng là khách hàng - thành viên

• Xem thơng tin các loại điện thoại, xem thông tin sản phẩm, xem
giá tiền, xem sản phẩm theo giá thấp đến cao hoặc ngược lại.
• Đăng ký tài khoản, đăng nhập.
• Tìm kiếm sản phẩm.
• Quản lí tài khoản thành viên của mình.
3.1.2.3.

Đối với người dùng là chủ cửa hàng hoặc quản lý

• Thêm thơng tin các loại điện thoại: Khi có điện thoại mới, admin
sẽ thêm mới thơng tin về sản phẩm đó vào các điện thoại sắp bán.
• Chỉnh sửa thơng tin các sản phẩm: Khi có sự thay đổi về thơng tin
điện thoại, người quản lí có thể thay đổi thơng tin để người dùng
cập nhật kịp thời.
• Xóa các điện thoại: Có thể vì một lí do nào đó mà bị dừng bán

hoặc hết hàng và buộc xóa khỏi hệ thống thì người quản lí cũng có
thể xóa được sản phẩm đó.
• Xóa thơng tin các thành viên: Khi khách hàng vi phạm các điều
luật của rạp chiếu phim hoặc vì một lí do nào đó u cầu xóa tài
khoản, người quản lí có thể xóa tồn bộ thơng tin liên quan đến tài
khoản đó.
• Được thêm thơng tin các loại điện thoại: Khi có điện thoại mới,
admin sẽ thêm mới thơng tin về sản phẩm đó vào các điện thoại
sắp bán.
• Được chỉnh sửa thơng tin các sản phẩm: Khi có sự thay đổi về
thơng tin điện thoại, người quản lí có thể thay đổi thơng tin để
người dùng cập nhật kịp thời.
18


• Được xóa các điện thoại: Có thể vì một lí do nào đó mà bị dừng
bán hoặc hết hàng và buộc xóa khỏi hệ thống thì người quản lí
cũng có thể xóa được sản phẩm đó.
• Được xóa thơng tin các thành viên: Khi khách hàng vi phạm các
điều luật của rạp chiếu phim hoặc vì một lí do nào đó u cầu xóa
tài khoản, người quản lí có thể xóa tồn bộ thơng tin liên quan đến
tài khoản đó.
• Được viết bài giới thiệu về sản phẩm. Khi ra mắt sản phẩm mới thì
người quản lí có thể viết bài mơ tả cho sản phẩm đó, điều này giúp
thu hút khách hàng hơn. Từ đó nâng cao chất lượng website hơn.
• Viết bài giới thiệu về sản phẩm. Khi ra mắt sản phẩm mới thì
người quản lí có thể viết bài mơ tả cho sản phẩm đó, điều này giúp
thu hút khách hàng hơn. Từ đó nâng cao chất lượng website hơn.
3.2.


Nghiên cứu hiện trạng
Sau khi nghiên cứu, khảo sát hiện trạng, em đã nắm bắt được các

thông tin sau:
• Quản lí điện thoại: Mỗi điện thoại được quản lý các thông tin
sau: Tên điện thoại, hệ điều hành, màn hình, dung lượng pin,
camera,…
• Quản lí thành viên: Mỗi thành viên được quản lí các thơng tin
như email và mật khẩu.
• Quản lí đơn hàng: Mỗi đơn hàng cần được quản lí các thơng tin
sau: thơng tin của các sản phẩm, giá tiền, phương thức thanh
tốn, trạng thái.
• Đặt hàng trực tuyến: Mỗi đơn hàng khi được đặt cần đáp ứng
đầy đủ các thông tin sau: thông tin của đơn hàng (bao gồm
thông tin sản phẩm, giá tiền, số lượng và địa chỉ giao hàng).

19


Đặc tả hệ thống

3.3.

Bảng 3.1 – Đặc tả hệ thống
Vai trị

Mơ tả
Là người có vai trị cao nhất trong hệ thống, người quản
lí có thể thêm, sửa, xóa mọi thơng tin của hệ thống


Người quản lí

Thao tác trực tiếp trên hệ thống người dùng, với các
Không phải chức năng: xem danh sách điện thoại, xem thông tin sản
thành viên phẩm, xem giá tiền, tìm kiếm sản phẩm, đăng ký tài
khoản, đăng nhập

Khách hàng
Thành viên

Vận hành các chức năng của khách hàng - khơng phải
thành viên, ngồi ra khách hàng thành viên có thể đặt
hàng, xem thơng tin đơn hàng

20


Chương 4. HIỆN THỰC HỆ THỐNG
4.1.

Sơ đồ Use Case
Sơ đồ Use Case là kỹ thuật được dùng trong kỹ thuật phần mềm và hệ

thống nhằm nắm bắt những yêu cầu chức năng của hệ thống. Use Case mô tả
sự tương tác đặc trưng giữa người dùng bên ngoài và hệ thống. Use Case
cũng mô tả các yêu cầu đối với hệ thống.
4.1.1. Sơ đồ Use Case của khách hàng

Hình 4.1 – Sơ đồ Use Case của khách hàng


21


4.1.2. Sơ đồ Use Case của khách hàng – thành viên

Hình 4.2 – Sơ đồ Use Case của khách hàng thành viên

22


4.1.3. Sơ đồ Use Case của quản lý

Hình 4.3 – Sơ đồ Use Case của quản lý
4.2.

Biều đồ phân rã chức năng
Mơ hình phân rã chức năng (BFD – Business Function Diagram) là

cơng cụ biểu diễn việc phân rã có thứ bậc đơn giản các công việc cần thực
hiện. Mỗi công việc được chia ra làm các công việc con, số mức chia ra phụ
thuộc kích cỡ và độ phức tạp của hệ thống.

23


Hình 4.4 – Biểu đồ phân rã chức năng
4.3.

Biểu đồ tuần tự


4.3.1. Biểu đồ tuần tự đăng nhập

Hình 4.5 – Biểu đồ tuần tự đăng nhập

24


×