Professional Documents
Culture Documents
Đề tài: Đặc tả và thiết kế website giới thiệu và bán đồ trang sức ......................
Hình 1.1: Hoạt động chung trong kỹ nghệ yêu cầu .............................................................. 6
Hình 3.1: Biểu đồ use case tổng quát ................................................................................. 18
Hình 3.2: Biểu đồ use case cho Khách hàng ...................................................................... 19
Hình 3.3: Biểu đồ use case cho Quản trị viên .................................................................... 20
Hình 3.4: Biểu đồ trình tự chức năng Đăng ký .................................................................. 24
Hình 3.5: Biểu đồ trình tự chức năng Đăng nhập............................................................... 25
Hình 3.6: Biểu đồ trình tự chức năng Lọc sản phẩm theo danh mục ................................. 26
Hình 3.7: Biểu đồ trình tự chức năngThêm vào giỏ hàng .................................................. 27
Hình 3.8: Biểu đồ trình tự chức năng Xóa sản phẩm trong giỏ hàng ................................. 28
Hình 3.9: Biểu đồ trình tự chức năng Thay đổi số lượng sản phẩm trong giỏ hàng .......... 29
Hình 3.10: Biểu đồ trình tự chức năng Đặt hàng ............................................................... 30
Hình 4.1: Mô hình kiến trúc MVC (Model-View-Controller) ........................................... 31
Hình 4.2: Giao diện người dùng – Trang chủ..................................................................... 34
Hình 4.3: Giao diện người dùng – Đăng ký ....................................................................... 35
Hình 4.4: Giao diện người dùng – Đăng ký (tiếp).............................................................. 36
Hình 4.5: Giao diện người dùng – Đăng nhập ................................................................... 37
Hình 4.6: Giao diện người dùng – Đăng nhập (tiếp) .......................................................... 38
Hình 4.7: Giao diện người dùng – Trang chủ (sau khi đăng nhập) .................................... 39
Hình 4.8: Giao diện người dùng – Trang Store (Cửa hàng) ............................................... 40
Hình 4.9: Giao diện người dùng – Trang Chi tiết sản phẩm .............................................. 41
Hình 4.10: Giao diện người dùng – Trang Giỏ hàng ......................................................... 42
Hình 4.11: Giao diện người dùng – Trang Đặt hàng .......................................................... 43
Hình 4.12: Giao diện người dùng – Trang Admin – Quản lý sản phẩm ............................ 44
Hình 4.13: Giao diện người dùng – Trang Admin – Thêm mới sản phẩm ........................ 45
Hình 4.14: Giao diện người dùng – Trang Admin – Sửa sản phẩm ................................... 46
Hình 4.15: Biểu đồ diagram cơ sở dữ liệu.......................................................................... 47
Hình 4.16: Biểu đồ diagram cơ sở dữ liệu (tiếp) ................................................................ 47
LỜI CẢM ƠN
Trước tiên với tình cảm sâu sắc và chân thành nhất, cho phép chúng em được bày tỏ
lòng biết ơn đến tất cả các cá nhân và tổ chức đã tạo điều kiện hỗ trợ, giúp đỡ chúng em
trong suốt quá trình học tập và nghiên cứu đề tài này. Trong suốt thời gian từ khi bắt đầu
học tập tại trường đến nay, chúng em đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý
Thầy Cô và bạn bè.
Với lòng biết ơn sâu sắc nhất, chúng em xin gửi đến quý Thầy Cô ở Khoa CNTT
đặc biệt là thầy Phạm Thị Tố Nga đã truyền đạt vốn kiến thức quý báu cho chúng em trong
suốt thời gian học tập vừa qua. Nhờ có những lời hướng dẫn, dạy bảo của các thầy cô nên
đề tài nghiên cứu của chúng em mới có thể hoàn thiện tốt.
Một lần nữa, chúng em xin chân thành cảm ơn thầy/cô – người đã trực tiếp giúp đỡ,
quan tâm, hướng dẫn chúng em hoàn thành tốt bài báo cáo này trong thời gian qua.
Bài báo cáo thực hiện trong khoảng thời gian gần 3 tuần. Bước đầu đi vào thực tế
của chúng em còn hạn chế và còn nhiều bỡ ngỡ nên không tránh khỏi những thiếu sót,
chúng em rất mong nhận được những ý kiến đóng góp quý báu của quý Thầy Cô để kiến
thức của chúng em trong lĩnh vực này được hoàn thiện hơn đồng thời có điều kiện bổ sung,
nâng cao ý thức của mình.
Chúng em xin chân thành cảm ơn!
1
I. MỞ ĐẦU
3
4.2. Phạm vi nghiên cứu
Phạm vi nghiên cứu trong báo cáo này sẽ tập trung vào hai nội dung chính là Đặc tả và
Thiết kế:
− Đặc tả: Nghiên cứu và phân tích yêu cầu của website bán đồ trang sức, bao gồm việc
thu thập và phân tích yêu cầu chức năng và phi chức năng, xác định use case và tạo
biểu đồ luồng dữ liệu.
− Thiết kế: Nghiên cứu về quy trình thiết kế giao diện người dùng hấp dẫn và thân
thiện trên trang web bán đồ trang sức, bao gồm việc thiết kế ban đầu, lựa chọn màu
sắc và bố cục, thiết kế cơ sở dữ liệu.
5. Phương pháp nghiên cứu
− Đánh giá và phân tích tài liệu tham khảo: Nghiên cứu các tài liệu, sách, bài báo và
nguồn tư liệu liên quan để hiểu về quy trình xây dựng website và các phương pháp
thiết kế giao diện.
− Phỏng vấn: Phỏng vấn những người có chuyên môn trong lĩnh vực phát triển web
và thiết kế giao diện để thu thập thông tin và ý kiến chuyên môn.
− Nghiên cứu thực nghiệm: Áp dụng các phương pháp và quy trình đề xuất vào việc
xây dựng một trang web bán đồ trang sức thực tế để đánh giá hiệu quả và tìm ra
những điểm cần tối ưu.
4
II. NỘI DUNG
Chương 1: Cơ sở lý luận
Chương này giúp định hình cơ sở khái niệm và quy trình đặc tả yêu cầu và thiết kế
của website bán đồ trang sức. Phần đặc tả yêu cầu tập trung vào việc thu thập và phân tích
các yêu cầu chức năng và phi chức năng của hệ thống, trong khi phần thiết kế tập trung vào
việc tạo ra giao diện người dùng hấp dẫn và cơ sơ dữ liệu đầy đủ.
1.1. Cơ sở lý luận cho Đặc tả yêu cầu
1.1.1. Yêu cầu
a) Yêu cầu là gì?
Các yêu cầu đối với một hệ thống phần mềm là thông tin cùng các thông số kỹ thuật
cho các dịch vụ mà nó sẽ cung cấp và các hạn chế đối với hoạt động của nó. Các yêu cầu
này dựa trên nhu cầu của khách hàng đối với một mục đích cụ thể, chẳng hạn như điều
khiển thiết bị, đặt hàng hoặc tìm kiếm thông tin. Quá trình khám phá, phân tích, lập tài liệu
và xác minh các dịch vụ và ràng buộc này được gọi là kỹ nghệ yêu cầu. Thuật ngữ "yêu
cầu" không được định nghĩa nhất quán trong ngành công nghiệp phần mềm. Nó có thể đề
cập đến một Mô tả trừu tượng, cấp cao về một dịch vụ hoặc ràng buộc, hoặc một định nghĩa
chính thức, chi tiết về một chức năng hệ thống.
b) Quy trình kỹ nghệ yêu cầu
Kỹ nghệ yêu cầu bao gồm các hoạt động có tổ chức xuyên suốt toàn bộ vòng đời
phát triển phần mềm và hệ thống. Quá trình này lặp đi lặp lại nhằm mục tiêu phát triển sản
phẩm chất lượng. Vì việc gợi ra yêu cầu đóng vai trò là nền tảng cho tất cả các công việc
phát triển phần mềm tiếp theo, do đó, tất cả các bên liên quan chính được yêu cầu tuân theo
cùng một quy trình thu thập yêu cầu. Kỹ nghệ yêu cầu liên quan đến ba hoạt động chính:
− Khai thác yêu cầu: yêu cầu được khai thác bằng cách tương tác với các bên liên quan
(gợi ý và phân tích)
− Đặc tả yêu cầu: chuyển đổi các yêu cầu đã được khai thác thành văn bản theo một
dạng tiêu chuẩn (đặc điểm kỹ thuật)
− Xác thực yêu cầu: kiểm tra xem các yêu cầu có thực sự xác định hệ thống mà khách
hàng muốn không (xác nhận)
5
Hình 1.1: Hoạt động chung trong kỹ nghệ yêu cầu
c) Phân loại yêu cầu
− Yêu cầu chức năng:
+ Các phát biểu về dịch vụ hệ thống cung cấp, cách hệ thống phản ứng với môi
trường và các hoạt động quan sát được của hệ thống trong các tình huống.
+ Có thể bao gồm các phát biểu về những gì hệ thống sẽ không thực hiện.
+ Yêu cầu chức năng mức người dùng thường bao gồm các phát biểu chung (ở mức
cao) về những gì hệ thống cần làm.
+ Yêu cầu chức năng mức hệ thống tập trung mô tả ở mức chi tiết hơn các dịch vụ
hệ thống.
− Yêu cầu phi chức năng:
+ Ràng buộc về dịch vụ hay chức năng của hệ thống, chẳng hạn, ràng buộc về thời
gian hay ràng buộc về quy trình phát triển.
+ Xác định các ràng buộc và các thuộc tính của hệ thống, chẳng hạn, ràng buộc về
độ tin cậy, thời gian phản hồi và các ràng buộc về lưu trữ.
+ Các ràng buộc về quy trình phát triển như yêu cầu về mô hình quy trình, ngôn
ngữ và môi trường lập trình, phương pháp và công cụ,…
+ Yêu cầu phi chức năng đôi khi quan trọng hơn yêu cầu chức năng. Đôi khi nếu
chúng không được thỏa mãn, hệ thống sẽ trở thành vô dụng.
+ Thường áp dụng cho tổng thể hệ thống, thay vì từng dịch vụ cụ thể.
− Yêu cầu miền:
+ Các ràng buộc hệ thống xuất phát từ miền hoạt động. Miền hoạt động của hệ
thống thường đặt ra thêm các ràng buộc cho hệ thống
+ Các yêu cầu miền sẽ đặt ra các yêu cầu mới về chức năng hay ràng buộc phi chức
năng cho hệ thống.
+ Khi các yêu cầu miền không thỏa, hệ thống có thể sẽ không thể hoạt động.
d) Đặc điểm của yêu cầu
− Tính chính xác:
+ Phát sinh vấn đề khi các yêu cầu được mô tả không chính xác
6
+ Các yêu cầu nhập nhằng sẽ được hiểu và cài đặt theo các cách khác nhau
− Tính đầy đủ và nhất quán: Các yêu cầu phần mềm cần đầy đủ và nhất quán.
+ Tính đầy đủ: Sự mô tả đầy đủ các tính năng và dịch vụ được yêu cầu.
+ Tính nhất quán: Các mô tả về tính năng và dịch vụcủa hệ thống cần phải nhất
quán, không chứa các xung đột và mâu thuẫn.
+ Trong thực hành, thường là không thể để tạo ra được tài liệu yêu cầu vừa đầy đủ
và nhất quán.
− Tính đo được:
+ Các yêu cầu phi chức năng cần phải được lượng hóa để có thể kiểm tra tính thỏa
mãn của sản phẩm
+ Các yêu cầu phi chức năng thường được gắn với các tiêu chí thỏa mãn để kiểm
tra và thẩm định.
1.1.2. Thu thập yêu cầu
− Đôi khi được gọi chung là thu thập hay khám phá yêu cầu (requirements
elicitation/discovery). Mục tiêu của quy trình thu thập yêu cầu là để hiểu cách các
bên liên quan sử dụng phần mềm trong công việc của họ và cách một hệ thống mới
có thể hỗ trợ họ. Trong quy trình này, các kỹ sư phần mềm làm việc với các bên liên
quan để thu thập thông tin về ứng dụng, tác vụ, các tính năng và hiệu suất mong
muốn của hệ thống cũng như các giới hạn của phần cứng.
− Quy trình thu thập và phân tích yêu cầu:
+ Khám phá yêu cầu.
+ Phân loại và tổ chức yêu cầu.
+ Thương lượng và gán độ ưu tiên.
+ Đặc tả yêu cầu.
− Khám phá yêu cầu:là quá trình thu thập các thông tin về hệ thống hiện thời (system-
as-is) và hệ thống được yêu cầu (system-to-be), cơ sở cho yêu cầu người dùng và
yêu cầu hệ thống, cần tương tác với các bên liên quan từ người quản lý đến người
cơ quan bộ ngành bên ngoài.
− Kỹ thuật khám phá yêu cầu:
+ Kỹ thuật phỏng vấn: tương tác với các bên liên quan để thu thập thông tin.
+ Kỹ thuật dùng các kịch bản (scenarios): dựa vào các ví dụ cụ thể để thu thập và
phân tích.
+ Kỹ thuật nghiên cứu nhân học (ethnography): dựa vào quan sát hoạt động nghiệp
vụ trong thực tế.
+ Kỹ thuật ca sử dụng: dựa vào kịch bản để mô tả chức năng của hệ thống từ góc
nhìn người dùng, mô tả tương tác giữa tác nhân và hệ thống và có thể mô tả bổ
dng bằng biểu đồ hoạt động, tuần tự,…
1.1.3. Đặc tả yêu cầu
− Khái niệm:
+ Là quá trình tổng hợp và đưa các yêu cầu người dùng và hệ thống vào tài liệu
yêu cầu.
+ Yêu cầu người dùng phục vụ người dùng cuối và khách hàng.
7
+ Yêu cầu hệ thống chi tiết hơn và nhiều thông tin kỹ thuật hơn.
+ Là một phần hợp đồng phát triển hệ thống.
− Một số dạng đặc tả yêu cầu:
+ Ngôn ngữ tự nhiên: các yêu cầu được diễn đạt bằng ngôn ngữ tự nhiên và được
gắn với các chỉ số.
+ Ngôn ngữ tự nhiên được cấu trúc: Yêu cầu được viết bằng ngôn ngữ tự nhiên,
dựa trên định dạng nào đó.
+ Ngôn ngữ mô tả thiết kế: Sử dụng ngôn ngữ tựa ngôn ngữ lập trình để mô tả hoạt
động của hệ thống.
+ Các ký pháp đồ họa: Sử dụng các biểu đồ đồ họa để bổ trợ cho các diễn đạt ngôn
ngữ tự nhiên.
+ Đặc tả hình thức (toán học): Sử dụng ngôn ngữ, mô hình toán học để đặc tả hoạt
động hệ thống.
1.1.4. Phân tích và mô hình hóa yêu cầu
Mô hình hóa hệ thống là quá trình phát triển các mô hình trừu tượng của một hệ
thống, với mỗi mô hình trình bày một cách nhìn hoặc quan điểm khác nhau về hệ thống đó.
Hiện nay, mô hình hóa hệ thống thường có nghĩa là biểu diễn một hệ thống bằng cách sử
dụng một số loại ký hiệu đồ họa dựa trên các loại sơ đồ trong Ngôn ngữ mô hình hóa thống
nhất (UML).
Một số loại sơ đồ UML:
− Biểu đồ ca sử dụng, hiển thị các tương tác giữa một hệ thống và môi trường của nó.
− Biểu đồ hoạt động, hiển thị các hoạt động liên quan đến một quy trình hoặc trong
quá trình xử lý dữ liệu.
− Biểu đồ trình tự, biểu thị tương tác giữa các tác nhân và hệ thống và giữa các thành
phần hệ thống.
− Biểu đồ lớp, biểu thị các lớp đối tượng trong hệ thống và mối liên hệ giữa các lớp
này.
1.1.5. Thẩm định yêu cầu
− Thẩm định yêu cầu để đảm bảo các yêu cầu sẽ xác định đúng hệ thống mà khách
hàng mong đợi và là khâu quan trọng vì chi phí sửa lỗi yêu câu tăng lên hàng trăm
lần nếu được phát hiện muộn.
− Nội dung thẩm định yêu cầu:
+ Hợp lệ (validity): Hệ thống cung cấp các chức năng hỗ trợ tốt nhất cho nhu cầu
khách hàng?
+ Nhất quán (consistency): Có các yêu cầu xung đột/mâu thuận không?
+ Đầy đủ (completeness): Tất các các chức năng được khách hàng yêu cầu đã được
đề cập?
+ Tính hiện thực (realism): Các yêu cầu có thể được cài đặt trong sự ràng buộc về
ngân sách và kỹ thuật?
+ Kiểm chứng (verifiability): Các yêu cầu có thể được kiểm tra (checked).
− Kỹ thuật thẩm định yêu cầu:
8
+ Kiểm định yêu cầu: Kiểm tra, đánh giá và phân tích một cách thủ công các yêu
cầu.
+ Làm bản mẫu: sử dụng mô hình thực thi được của hệ thống để kiểm tra yêu cầu.
+ Sinh ca kiểm thử: tạo ra các ca kiểm thử cho các yêu cầu để kiểm tra tính kiểm
thử được.
1.1.6. Quản lý yêu cầu
− Quản lý yêu cầu là quá trình quản lý các thay đổi yêu cầu
− Yêu cầu mới xuất hiện trong quá trình phát triển hệ thống cũng như ở giai đoạn vận
hành.
− Duy trì sự phụ thuộc giữa các yêu cầu để phân tích được tầm ảnh hưởng của các thay
đổi yêu cầu.
− Thiết lập quy trình để tiếp nhận các đề xuất thay đổi và tạo sự liên kết với các yêu
cầu hệ thống.
1.2. Cơ sở lý luận cho Thiết kế
1.2.1. Thiết kế kiến trúc phần mềm
a) Kiến trúc phần mềm là gì?
− Kiến trúc phần mềm là bản thiết kế cho việc xây dựng và tiến hóa phần mềm.
− Các quyết định thiết kế bao gồm nhiều khía cạnh của hệ thống đang được phát triển:
+ Cấu trúc.
+ Hành vi.
+ Tương tác.
+ Thuộc tính chất lượng.
b) Sự quan trọng của kiến trúc phần mềm
− Hỗ trợ cho giao tiếp giữa các bên liên quan (stakeholders).
− Xác định các ràng buộc cho việc hiện thực hóa.
− Dự đoán chất lượng hệ thống.
− Nâng cao độ chính xác của việc dự đoán chi phí và thời gian xây dựng hệ thống.
1.2.2. Các nguyên lý thiết kế phần mềm
− Phân tách các khía cạnh quan tâm (Separation of concerns): chia ứng dụng thành các
phần càng ít sự chồng chéo về chức năng càng tốt. Cố gắng hạn chế tối đa sự tương
tác giữa các thành phần nhằm có giảm sự phụ thuộc và tăng cường sự kết dính
(cohesion) trong từng thành phần.
− Trách nhiệm đơn: Mỗi thành phần chỉ thực hiện một chức năng hoặc một tập các
chức năng gắn kết chặt chẽ.
− Hiểu biết tối thiểu: Các thành phần không cần biết chi tiết bên trong của các thành
phần khác.
− Không lặp lại: Mỗi một chức năng chỉ được hiện thực hóa bởi một thành phần.
− Hạn chế thiết kế trước: chỉ thiết kế khi cần và có đủ thông tin.
9
1.2.3. Các bước thiết kế kiến trúc phần mềm
− Bước 1: Thu thập yêu cầu: Đầu tiên, thu thập và hiểu rõ các yêu cầu của hệ thống
phần mềm. Điều này bao gồm việc nắm bắt yêu cầu chức năng và phi chức năng,
hiểu các ràng buộc kỹ thuật và yêu cầu không chức năng.
− Bước 2: Xác định các thành phần: Dựa trên yêu cầu, xác định các thành phần chính
của hệ thống. Các thành phần này có thể là các module, lớp, giao diện người dùng,
cơ sở dữ liệu, hệ thống con, hay các dịch vụ khác.
− Bước 3: Xác định mối quan hệ và tương tác: Xác định cách các thành phần tương
tác với nhau. Điều này bao gồm xác định các luồng dữ liệu, giao tiếp, hoặc phụ thuộc
giữa các thành phần.
− Bước 4: Chọn kiểu kiến trúc: Dựa trên yêu cầu và đặc điểm của hệ thống, chọn kiểu
kiến trúc phù hợp. Có nhiều kiểu kiến trúc phổ biến như kiến trúc ba lớp, kiến trúc
hướng dịch vụ (SOA), kiến trúc hướng sự kiện, và kiến trúc hướng thành phần.
− Bước 5: Thiết kế chi tiết: Xác định các chi tiết của từng thành phần. Điều này bao
gồm thiết kế lớp, giao diện, cơ chế lưu trữ, logic xử lý, và các yếu tố khác liên quan
đến từng thành phần.
− Bước 6: Đánh giá và kiểm tra: Đánh giá và kiểm tra thiết kế kiến trúc để đảm bảo
rằng nó đáp ứng các yêu cầu và mục tiêu ban đầu. Kiểm tra có thể bao gồm phân
tích tĩnh, mô phỏng, kiểm tra mô phỏng, hoặc các phương pháp khác để đánh giá
tính đúng đắn và khả thi của thiết kế.
− Bước 7: Tài liệu và trình bày: Cuối cùng, tạo tài liệu về thiết kế kiến trúc và trình
bày nó cho các bên liên quan, bao gồm nhà phát triển, kiểm thử viên, quản lý dự án
và khách hàng. Tài liệu này có thể bao gồm các biểu đồ kiến trúc, mô tả chi tiết của
từng thành phần, và các hướng dẫn về triển khai và bảo trì.
1.2.4. Một số kiểu kiến trúc phần mềm phổ biến
− Layered:
+ Mẫu "Layer" (hay còn được gọi là kiến trúc "Lớp") là một mẫu kiến trúc phần
mềm phổ biến, dựa trên nguyên tắc chia thành các lớp (layers) để tách biệt các
trách nhiệm và chức năng trong hệ thống phần mềm. Mỗi lớp có một nhiệm vụ
cụ thể và tương tác với các lớp khác thông qua giao diện (interface) được xác
định rõ ràng.
+ Cấu trúc của mẫu Layer thường bao gồm các lớp sau:
• Presentation Layer (Lớp Trình bày).
• Application Layer (Lớp Logic ứng dụng).
• Data Layer (Lớp Dữ liệu).
+ Mẫu Layer giúp tách biệt chức năng và trách nhiệm trong hệ thống, làm cho mã
nguồn dễ hiểu, dễ bảo trì và dễ mở rộng. Nó cũng tạo điều kiện cho việc phát
triển song song, vì các lớp có thể được phát triển độc lập và được kết hợp lại để
tạo thành hệ thống hoàn chỉnh.
− Client-Server:
+ Mô hình client-server là một mô hình kiến trúc phần mềm phổ biến trong đó có
hai thành phần chính: client (khách hàng) và server (máy chủ). Mô hình này tách
10
biệt chức năng và trách nhiệm giữa các đồ trang sức khách hàng và máy chủ, cho
phép chúng tương tác và làm việc cùng nhau để cung cấp các dịch vụ và thông
tin.
+ Mô hình client-server cho phép phân tán trách nhiệm và tài nguyên giữa các
thành phần. Máy chủ chịu trách nhiệm lưu trữ dữ liệu và cung cấp dịch vụ, trong
khi người dùng hoặc ứng dụng khách hàng chỉ cần tương tác với máy chủ để truy
cập và sử dụng dữ liệu và dịch vụ đó.
+ Mô hình client-server được sử dụng rộng rãi trong nhiều lĩnh vực, bao gồm ứng
dụng web, ứng dụng di động, hệ thống quản lý cơ sở dữ liệu, và hơn thế nữa.
− MVC Model-View-Controller:
+ MVC (Model-View-Controller) là một mẫu kiến trúc phần mềm phổ biến được
sử dụng trong phát triển ứng dụng. Nó giúp tách biệt các thành phần của hệ thống
và xác định cách chúng tương tác với nhau.
+ Cấu trúc của MVC bao gồm ba thành phần chính:
• Model (Mô hình): Đại diện cho dữ liệu và logic nghiệp vụ của ứng dụng.
Model xử lý dữ liệu, định nghĩa các quy tắc kinh doanh và cung cấp các
phương thức để truy xuất và cập nhật dữ liệu.
• View (Giao diện): Đại diện cho phần giao diện người dùng của ứng dụng.
View chịu trách nhiệm hiển thị dữ liệu cho người dùng và tương tác với họ.
Nó không chứa logic nghiệp vụ, chỉ đơn giản hiển thị thông tin từ Model và
gửi các sự kiện tới Controller.
• Controller (Điều khiển): Đại diện cho thành phần xử lý sự kiện và điều khiển
luồng của ứng dụng. Controller nhận các yêu cầu từ View, tương tác với
Model để truy xuất hoặc cập nhật dữ liệu và sau đó cập nhật lại View để hiển
thị kết quả cho người dùng.
+ MVC giúp tách biệt logic nghiệp vụ (Model) và giao diện người dùng (View),
giúp cho việc phát triển và bảo trì ứng dụng dễ dàng hơn. Nó cũng cung cấp tính
mở rộng và tái sử dụng cao, vì mỗi thành phần có trách nhiệm riêng biệt và có
thể thay thế hoặc mở rộng một thành phần mà không ảnh hưởng đến các thành
phần khác.
+ MVC không chỉ áp dụng cho ứng dụng web mà còn có thể được sử dụng cho các
ứng dụng desktop và di động. Nó đã trở thành một mô hình phát triển phổ biến
và được sử dụng rộng rãi trong ngành phát triển phần mềm.
− Event-Driven:
+ Mô hình Event-Driven (dựa trên sự kiện) là một mô hình kiến trúc phần mềm
trong đó chương trình hoạt động dựa trên các sự kiện xảy ra và phản ứng tương
ứng với chúng. Các sự kiện có thể là tương tác người dùng, thông báo từ hệ
thống, hoặc các điều kiện xảy ra trong môi trường.
+ Cấu trúc mô hình Event-Driven:
• Sự kiện (Event)
• Bộ xử lý sự kiện (Event Handler)
• Luồng xử lý sự kiện (Event Loop):
+ Mô hình Event-Driven thích hợp cho các hệ thống có tính tương tác cao, nơi các
sự kiện xảy ra không đồng bộ và phần mềm cần phản ứng nhanh chóng và linh
11
hoạt. Nó được sử dụng rộng rãi trong nhiều lĩnh vực, bao gồm giao diện người
dùng, ứng dụng web, hệ thống nhúng, và hơn thế nữa.
− Microservices:
+ Microservices là một kiến trúc phần mềm phân tán trong đó ứng dụng lớn được
chia thành các thành phần nhỏ hơn độc lập gọi là microservices. Mỗi
microservice đảm nhận một phần nhỏ và đồng thời quan trọng của ứng dụng, và
chúng có thể được triển khai và mở rộng độc lập nhau. Mô hình này khác với
kiến trúc monolithic (đơnolith) truyền thống, trong đó toàn bộ ứng dụng được
xây dựng và triển khai như một đơn vị duy nhất.
+ Một số đặc điểm chính của microservices:
• Phân tách chức năng.
• Độc lập triển khai và mở rộng.
• Giao tiếp qua giao diện.
• Tách biệt quyền kiểm soát dữ liệu.
• Tính nhất quán và bảo mật.
12
Chương 2: Giới thiệu đề tài
2.1. Hiện trạng của các cửa hàng bán đồ trang sức và website bán đồ trang sức
Trong một thời đại mà công nghệ số hóa đang chuyển đổi cách chúng ta mua sắm,
sự thay đổi này đang tác động mạnh mẽ đến cả ngành bán lẻ đồ trang sức và linh kiện điện
tử. Các cửa hàng vật lý truyền thống ngày càng phải đối mặt với áp lực cạnh tranh từ các
gian hàng điện tử và sự gia tăng đáng kể của việc mua sắm trực tuyến đã dẫn đến sự phổ
biến ngày càng lớn của việc tạo và sử dụng các gian hàng trực tuyến. Cụ thể, đối với ngành
bán lẻ đồ trang sức và linh kiện điện tử, việc mua sắm trực tuyến trở nên không thể tránh
được. Khách hàng yêu cầu sự thuận tiện và lựa chọn đa dạng khi mua sắm những sản phẩm
công nghệ này. Họ mong đợi có khả năng so sánh giữa các sản phẩm, tìm hiểu về tính năng
và giá cả dễ dàng qua mạng, và có thể đặt hàng ngay tại nhà một cách tiện lợi. Sự kết hợp
giữa thời đại số hóa và nhu cầu của khách hàng đang tạo ra áp lực mạnh mẽ đối với các cửa
hàng đồ trang sức. Mặc dù nhu cầu mua sắm trực tuyến đang tăng lên, thì tốc độ chuyển
đổi của các cửa hàng truyền thống vẫn chưa đáp ứng được. Điều này dẫn đến việc cần thiết
phải có các gian hàng trực tuyến phục vụ người tiêu dùng một cách hiệu quả và đáp ứng
nhu cầu ngày càng tăng của họ. Không chỉ là việc tạo ra các trang web đơn thuần để hiển
thị sản phẩm, mà còn đảm bảo rằng trải nghiệm mua sắm trực tuyến là một trải nghiệm tích
hợp, đa dạng, và đáp ứng đầy đủ các yêu cầu cụ thể của từng khách hàng và từng cửa hàng
đồ trang sức. Tuy nhiên, dù có sự gia tăng đáng kể về số lượng các trang web bán đồ trang
sức, thì không phải tất cả chúng đã đáp ứng được kỳ vọng của khách hàng. Một số trang
web vẫn đang gặp khó khăn trong việc cung cấp trải nghiệm mua sắm tốt và đáp ứng đầy
đủ các yêu cầu của người dùng. Một số trang web được thiết kế một cách tùy tiện và công
nghiệp, không thể phản ánh được độ đa dạng và sự đặc trưng của từng cửa hàng đồ trang
sức.
Vì vậy, việc phát triển các trang web bán đồ trang sức chất lượng cao hơn là một
nhiệm vụ quan trọng. Điều này đòi hỏi sự đầu tư vào thiết kế, trải nghiệm người dùng, và
tích hợp các yếu tố cá nhân hóa để đảm bảo rằng mọi khách hàng được phục vụ theo cách
tốt nhất. Trang web cần phải cung cấp sự thoải mái cho người dùng trong việc duyệt qua
các sản phẩm, so sánh chúng, tìm hiểu chi tiết và thực hiện mua sắm một cách dễ dàng và
tin tưởng. Bên cạnh đó, sự cá nhân hóa và đa dạng hóa của trang web cũng đóng vai trò
quan trọng. Mỗi cửa hàng đồ trang sức có đặc điểm riêng và một lựa chọn sản phẩm độc
đáo. Vì vậy, việc tạo ra trang web có khả năng cá nhân hóa để thể hiện đặc trưng và sự độc
đáo của cửa hàng là một yếu tố quan trọng. Khách hàng muốn cảm thấy rằng họ đang tìm
hiểu và mua sắm tại một nơi độc đáo và đáp ứng đầy đủ nhu cầu của họ. Nhưng thách thức
không chỉ dừng lại ở việc phát triển các trang web bán hàng đồ trang sức chất lượng, mà
còn ở việc duy trì và cải thiện chúng theo thời gian. Sự cạnh tranh trong lĩnh vực này đòi
hỏi sự cập nhật liên tục, theo dõi xu hướng công nghệ, và đáp ứng những thay đổi trong
nhu cầu của khách hàng. Tóm lại, việc phát triển và duy trì các trang web bán đồ trang sức
chất lượng cao là một quá trình không dễ dàng, nhưng rất quan trọng trong bối cảnh xã hội
số hóa hiện nay. Nó đòi hỏi sự tập trung, đầu tư, và sự cam kết đối với việc đáp ứng nhu
cầu đa dạng và ngày càng tăng của khách hàng mua sắm đồ trang sức và linh kiện điện tử.
Hiện nay, website bán đồ trang sức đã trở nên phổ biến và được nhiều doanh nghiệp
kinh doanh đồ trang sức sử dụng. Các website này cung cấp cho khách hàng một kênh mua
13
sắm thuận tiện và nhanh chóng. Hầu hết các website bán đồ trang sức hiện nay đều đã sử
dụng phần mềm. Phần mềm được sử dụng phổ biến nhất là Magento, WooCommerce và
Shopify.
Các website này cung cấp đầy đủ các tính năng cần thiết để có thể bán hàng:
− Quản lý sản phẩm: Thêm, xóa, chỉnh sửa sản phẩm, cập nhật giá cả, tồn kho,...
− Quản lý đơn hàng: Tiếp nhận đơn hàng, xử lý đơn hàng, giao hàng,...
− Quản lý khách hàng: Thêm, xóa, chỉnh sửa khách hàng, theo dõi lịch sử mua
hàng,...
− Quản lý thanh toán: Chấp nhận nhiều hình thức thanh toán khác nhau, bao
gồm thanh toán trực tuyến, thanh toán khi nhận hàng,...
− Quản lý vận chuyển: Lựa chọn đơn vị vận chuyển, theo dõi quá trình vận
chuyển,... Ngoài ra, một số website bán đồ trang sức còn sử dụng các phần
mềm bổ sung, chẳng hạn như phần mềm quản lý kho, phần mềm chăm sóc
khách hàng, phần mềm marketing,...
2.2. Quy trình bán hàng trên website hiện nay
Bước 1: Thiết kế website bán hàng
− Website là nền tảng trực tuyến để giới thiệu và bán sản phẩm. Do đó cần thiết kế
giao diện thân thiện, dễ nhìn, dễ sử dụng để khách hàng tiện lợi trong quá trình mua
sắm.
− Hiển thị đầy đủ thông tin sản phẩm như hình ảnh, tính năng kỹ thuật, giá bán... giúp
khách hàng nắm rõ thông số sản phẩm trước khi quyết định mua hàng.
− Tích hợp công cụ so sánh, tìm kiếm giúp khách dễ dàng lựa chọn sản phẩm phù hợp
nhu cầu.
Bước 2: Khách truy cập website và xem sản phẩm
− Khách hàng sử dụng đồ trang sức hoặc điện thoại kết nối internet truy cập vào
website thông qua địa chỉ URL.
− Xem kỹ các thông số kỹ thuật, so sánh giá cả các mẫu máy khác nhau để lựa chọn
sản phẩm phù hợp nhu cầu và ngân sách nhất.
Bước 3: Thêm sản phẩm vào giỏ hàng
− Sau khi chọn được sản phẩm ưng ý, khách hàng nhấn nút "Thêm vào giỏ hàng" để
chọn mua sản phẩm đó.
− Kiểm tra lại số lượng sản phẩm đã thêm vào giỏ và cập nhật nếu cần thay đổi số
lượng.
Bước 4: Thanh toán và xác nhận đơn hàng
− Sau khi thêm sản phẩm vào giỏ hàng, khách chọn hình thức thanh toán là Online
hoặc COD (thanh toán khi nhận hàng).
− Nếu chọn trực tuyến, khách nhập đầy đủ thông tin thanh toán như tên người nhận,
địa chỉ giao hàng, số điện thoại, hình thức thanh toán (thẻ ATM, ví điện tử)...
14
− Nhân viên bán hàng tiếp nhận đơn hàng, kiểm tra tồn kho sau đó xác nhận đơn và
chuẩn bị hàng.
Bước 5: Vận chuyển và giao hàng
− Sử dụng dịch vụ vận chuyển (shipper) giao hàng đến địa chỉ khách hàng cung cấp.
− Shipper liên hệ với khách hàng xác nhận thời gian giao hàng phù hợp.
− Khách hàng kiểm tra hàng hoá, thanh toán phí vận chuyển và chữ ký xác nhận nhận
hàng.
Bước 6: Khách hàng nhận hàng và đánh giá
− Kiểm tra chi tiết sản phẩm, kiểm tra mọi thông số như quảng cáo.
− Đánh giá chất lượng sản phẩm, chất lượng phục vụ bán hàng và giao hàng của cửa
hàng.
− Cửa hàng tiếp nhận phản hồi và hỗ trợ khách hàng khi cần thiết.
Quy trình này tương đối đơn giản và thuận tiện cho cả khách hàng và doanh nghiệp.
Tuy nhiên, vẫn còn một số vấn đề cần được cải thiện, chẳng hạn như:
− Trải nghiệm người dùng chưa được tối ưu hóa.
− Khả năng cạnh tranh chưa cao.
− Dịch vụ khách hàng chưa tốt.
2.3. Khó khăn trong bán hàng trên website là gì?
Các doanh nghiệp kinh doanh đồ trang sức thường gặp một số khó khăn khi xây dựng
và vận hành website bán hàng, bao gồm:
− Chi phí xây dựng và vận hành website.
− Tìm kiếm và thuê nhân viên có chuyên môn.
− Tạo dựng thương hiệu và thu hút khách hàng.
− Cạnh tranh với các đối thủ khác.
Để khắc phục những khó khăn này, các doanh nghiệp cần có chiến lược kinh doanh rõ
ràng, đầu tư đúng mức cho marketing và chăm sóc khách hàng. Để cải thiện hiện trạng của
website bán đồ trang sức, các doanh nghiệp cần:
− Sử dụng phần mềm phù hợp với nhu cầu và mục tiêu kinh doanh.
− Tối ưu hóa website để cải thiện trải nghiệm người dùng. Áp dụng các giải pháp
marketing hiệu quả để thu hút khách hàng.
− Nâng cao chất lượng dịch vụ khách hàng.
− Việc cải thiện hiện trạng của website bán đồ trang sức sẽ giúp các doanh nghiệp
nâng cao hiệu quả kinh doanh, tăng doanh số và thu nhập.
Dưới đây là một số gợi ý cụ thể để cải thiện hiện trạng của website bán đồ trang sức:
− Trải nghiệm người dùng: Các doanh nghiệp cần tập trung vào việc cải thiện trải
nghiệm người dùng trên website, bao gồm:
− Thiết kế website thân thiện với người dùng.
− Tối ưu hóa website cho các thiết bị di động.
15
− Tạo nội dung hấp dẫn và hữu ích cho người dùng.
− Cung cấp các tính năng hỗ trợ người dùng.
− Khả năng cạnh tranh: Các doanh nghiệp cần nâng cao khả năng cạnh tranh của
website, bao gồm:
+ Cung cấp sản phẩm và dịch vụ chất lượng cao.
+ Giá cả cạnh tranh.
+ Chính sách bán hàng và hậu mãi hấp dẫn.
+ Dịch vụ khách hàng tốt.
− Dịch vụ khách hàng: Các doanh nghiệp cần nâng cao chất lượng dịch vụ khách hàng,
bao gồm:
+ Trả lời thắc mắc của khách hàng nhanh chóng và chính xác.
+ Giải quyết khiếu nại của khách hàng kịp thời và thỏa đáng.
+ Cung cấp dịch vụ chăm sóc khách hàng chu đáo.
16
Chương 3: Đặc tả yêu cầu
3.1. Yêu cầu hệ thống
3.1.1. Yêu cầu chung
− Giao diện người dùng (UI) thân thiện: Giao diện trang web cần phải dễ sử dụng và
hấp dẫn để thu hút khách hàng. Điều này bao gồm cấu trúc menu rõ ràng, hình ảnh
và mô tả sản phẩm chất lượng cao, và quy trình thanh toán dễ dàng.
− Bảo mật dữ liệu: Bảo mật thông tin cá nhân của khách hàng là ưu tiên hàng đầu. Hệ
thống cần phải tuân thủ các tiêu chuẩn bảo mật để đảm bảo an toàn dữ liệu.
− Tương thích đa nền tảng: Trang web cần phải hoạt động một cách trơn tru trên nhiều
thiết bị và trình duyệt khác nhau.
− Hiệu suất và tốc độ tải trang: Trang web cần phải được tối ưu hóa để đảm bảo tốc
độ tải trang nhanh chóng và không gây mất mát khách hàng do thời gian chờ đợi.
3.1.2. Yêu cầu cụ thể
− Yêu cầu chức năng:
+ User:
• Đăng ký, đăng nhập và đăng xuất: Người dùng có thể tạo tài khoản mới, đăng
nhập vào hệ thống bằng tên người dùng và mật khẩu, và đăng xuất khi không
cần sử dụng nữa.
• Xem sản phẩm: Người dùng có thể xem danh sách toàn bộ sản phẩm có sẵn
trên trang web, lọc sản phẩm theo danh mục, và xem thông tin chi tiết của
từng sản phẩm.
• Thêm sản phẩm vào giỏ hàng: Người dùng có thể thêm sản phẩm vào giỏ
hàng của mình để mua sau này.
• Thay đổi giỏ hàng: Người dùng có thể thay đổi số lượng sản phẩm trong giỏ
hàng, hoặc xóa sản phẩm khỏi giỏ hàng nếu không cần thiết.
• Đặt hàng: Người dùng có thể đặt hàng bằng cách điền thông tin cần thiết như
địa chỉ giao hàng và phương thức thanh toán.
+ Admin:
• Đăng nhập và đăng xuất: Admin có thể đăng nhập vào hệ thống bằng tên
người dùng và mật khẩu, và đăng xuất khỏi hệ thống khi không cần sử dụng
nữa.
• Quản lý danh mục sản phẩm: Admin có quyền tạo mới, chỉnh sửa hoặc xóa
các danh mục sản phẩm. Các danh mục này giúp phân loại và nhóm các sản
phẩm vào các nhóm tương ứng.
• Quản lý sản phẩm: Admin có thể thêm mới, chỉnh sửa hoặc xóa các sản phẩm
trên trang web. Các thông tin về sản phẩm bao gồm tên, mô tả, giá, hình ảnh,
và danh mục sản phẩm tương ứng.
• Quản lý khách hàng: Admin có quyền xem danh sách khách hàng đăng ký
trên trang web, chỉnh sửa thông tin khách hàng, và xóa khách hàng khỏi hệ
thống khi cần thiết.
17
• Quản lý đơn hàng: Admin có thể xem danh sách đơn hàng được đặt trên trang
web, chi tiết từng đơn hàng, và thay đổi trạng thái của đơn hàng
− Yêu cầu phi chức năng:
+ Giao diện thiết kế:
• Sắp xếp các phần tử giao diện hợp lý, mức độ tương tác cao
• Sử dụng màu sắc, font chữ, kích thước, khoảng cách phù hợp
• Thiết kế phần header, footer thống nhất trên mọi trang
• Trang chủ trực quan với hình ảnh, slider giới thiệu sản phẩm
• Các trang chức năng có cấu trúc rõ ràng, tiện lợi di chuyển
+ Tốc độ tải trang:
• Thời gian tải trang trung bình dưới 3 giây
• Xử lý tải trang nặng ở server để giảm tác động lên trình duyệt
3.2. Đặc tả hệ thống
3.2.1. Giới thiệu chung
Tài liệu đặc tả này mô tả một cách đầy đủ, toàn diện các yêu cầu của phần mềm – đó là các
yêu cầu chức năng, phi chức năng, các ràng buộc về mặt thiết kế,…
3.2.2. Mô tả tổng quan hệ thống
a) Biểu đồ Use case tổng quát
19
Hình 3.3: Biểu đồ use case cho Quản trị viên
20
c) Danh sách các tác nhân và mô tả
Người dùng có
Xem danh Hiển thị danh sách các sản phẩm đang
thể xem danh
sách toàn được bán trên trang web, bao gồm các
UC_004 sách tất cả các
bộ sản thông tin như tên, giá và hình ảnh của
sản phẩm có sẵn
phẩm sản phẩm
trên trang web
Lọc sản Người dùng có Cho phép người dùng chọn một danh
UC_005 phẩm theo thể lọc sản phẩm mục sản phẩm để xem chỉ các sản phẩm
danh mục theo danh mục thuộc danh mục đó. Điều này giúp
21
cụ thể trên trang người dùng tìm kiếm và xem các sản
web phẩm cụ thể mà họ quan tâm
Người dùng có Hiển thị các thông tin chi tiết về sản
thể xem thông phẩm bao gồm mô tả, giá, hình ảnh,
Xem chi
tin chi tiết về thông số kỹ thuật và đánh giá của sản
UC_006 tiết sản
một sản phẩm cụ phẩm. Người dùng có thể xem thông tin
phẩm
thể trên trang này để đánh giá sản phẩm trước khi
web quyết định mua hàng
Người dùng có
Cho phép người dùng điền thông tin
thể đặt hàng sau
vận chuyển, thanh toán và xác nhận đặt
khi đã kiểm tra
UC_010 Đặt hàng hàng. Sau khi đặt hàng thành công, hệ
giỏ hàng và
thống sẽ tạo một đơn hàng và cung cấp
quyết định mua
thông tin về đơn hàng cho người dùng
các sản phẩm
Quản lý Quản trị viên có Cho phép quản trị viên thêm, sửa đổi
UC_012 thể quản lý thông hoặc xóa thông tin về sản phẩm. Quản
sản phẩm
tin về các sản trị viên có quyền cập nhật thông tin sản
22
phẩm trên trang phẩm, bao gồm mô tả, giá, hình ảnh và
web thông số kỹ thuật
Mô tả Người dùng có thể tạo tài khoản mới trên trang web
Người dùng nhập thông tin và gửi yêu cầu đăng ký.
Luồng sự kiện chính Hệ thống kiểm tra thông tin và trả về kết quả.
Thông báo đến Người dùng.
23
Hình 3.4: Biểu đồ trình tự chức năng Đăng ký
- Use case Đăng nhập:
Người dùng có thể đăng nhập vào tài khoản đã đăng ký trên
Mô tả
trang web
Người dùng nhập thông tin và gửi yêu cầu đăng nhập.
Luồng sự kiện
Hệ thống kiểm tra thông tin và trả về kết quả.
chính
Thông báo đến Người dùng.
24
Hình 3.5: Biểu đồ trình tự chức năng Đăng nhập
- Use case Lọc sản phẩm theo danh mục:
Người dùng có thể lọc sản phẩm theo danh mục cụ thể trên
Mô tả
trang web
Người dùng gửi yêu cầu Lọc sản phẩm theo danh mục.
Hệ thống lấy ID Danh muc, lấy danh sách các sản phẩm có ID
Luồng sự kiện chính
Danh mục như vậy.
Hiển thị kết quả.
Bảng 3.5: Đặc tả use case Lọc sản phẩm theo danh mục
25
Hình 3.6: Biểu đồ trình tự chức năng Lọc sản phẩm theo danh mục
- Use case Thêm vào giỏ hàng:
Mô tả Người dùng có thể thêm sản phẩm vào giỏ hàng để mua sau
Điều kiện trước Nếu sản phẩm đã có trong giỏ hàng thì chỉ cập nhật số lượng
26
Hình 3.7: Biểu đồ trình tự chức năngThêm vào giỏ hàng
- Use case Xóa sản phẩm trong giỏ hàng:
Mô tả Người dùng có thể xóa sản phẩm không cần thiết khỏi giỏ hàng
Điều kiện sau Sản phẩm không còn trong giỏ hàng
Bảng 3.7: Đặc tả use case Xóa sản phẩm trong giỏ hàng
27
Hình 3.8: Biểu đồ trình tự chức năng Xóa sản phẩm trong giỏ hàng
- Use case Thay đổi số lượng sản phẩm trong giỏ hàng:
Use case Thay đổi số lượng sản phẩm trong giỏ hàng
Mô tả Người dùng có thể thay đổi số lượng sản phẩm trong giỏ hàng.
Người dùng nhấn thay đổi số lượng (tăng, giảm, nhập số lượng
trực tiếp) của 1 sản phẩm.
Luồng sự kiện
Hệ thống lấy thông tin sản phẩm, cập nhật số lượng của sản
chính
phẩm đó, cập nhật lại giỏ hàng.
Thông báo cho Người dùng.
Bảng 3.8: Đặc tả use case Thay đổi số lượng sản phẩm trong giỏ hàng
28
Hình 3.9: Biểu đồ trình tự chức năng Thay đổi số lượng sản phẩm trong giỏ hàng
- Use case Đặt hàng:
Người dùng có thể đặt hàng sau khi đã kiểm tra giỏ hàng và
Mô tả
quyết định mua các sản phẩm
29
Hình 3.10: Biểu đồ trình tự chức năng Đặt hàng
30
Chương 4: Thiết kế website
4.1. Thiết kế kiến trúc
Đề tài này sử dụng mô hình MVC (Model-View-Controller), một mẫu kiến trúc phần mềm
phổ biến được sử dụng trong phát triển ứng dụng.
Cấu trúc của mô hình MVC bao gồm ba thành phần chính:
− Model (Mô hình): Đại diện cho dữ liệu và logic nghiệp vụ của ứng dụng. Model xử
lý dữ liệu, định nghĩa các quy tắc và cung cấp các phương thức để truy xuất và cập
nhật dữ liệu.
− View (Giao diện): Đại diện cho phần giao diện người dùng của ứng dụng. View chịu
trách nhiệm hiển thị dữ liệu cho người dùng và tương tác với họ. Nó không chứa
logic nghiệp vụ, chỉ đơn giản hiển thị thông tin từ Model và gửi các sự kiện tới
Controller.
− Controller (Điều khiển): Đại diện cho thành phần xử lý sự kiện và điều khiển luồng
của ứng dụng. Controller nhận các yêu cầu từ View, tương tác với Model để truy
xuất hoặc cập nhật dữ liệu và sau đó cập nhật lại View để hiển thị kết quả cho người
dùng.
Phác thảo kiến trúc phần mềm:
31
4.2. Thiết kế giao diện người dùng
4.2.1. Kịch bản cho ca sử dụng
a) Đăng nhập
− Giao diện hiển thị trang web.
− Người dùng click vào biểu tượng đăng nhập.
− Người dùng nhập tên đăng nhập và mật khẩu của mình vào các trường tương ứng
trên trang đăng nhập.
− Người dùng nhấn nút "Sign in" để gửi thông tin đăng nhập đến máy chủ.
− Máy chủ nhận thông tin đăng nhập và kiểm tra tính hợp lệ của tên đăng nhập và mật
khẩu.
− Nếu thông tin đăng nhập không hợp lệ, máy chủ trả về một thông báo “ username or
password invalid” cho người dùng và yêu cầu họ nhập lại thông tin đăng nhập.
− Nếu thông tin đăng nhập hợp lệ, đăng nhập thành công, người dùng được chuyển
hướng đến trang chủ có tên của user.
− Nếu chưa có tài khoản, thì người dùng nhấn vào nút “Đăng kí” để tạo tài khoản mới.
b) Đăng kí
− Giao diện hiển thị trang web.
− Người dùng click vào biểu tượng đăng kí.
− Người dùng nhập các thông tin yêu cầu vào các trường bao gồm: email, username,
password vào các trường tương ứng trên trang đăng ký.
− Người dùng nhấn nút "Sign up" để gửi thông tin đăng ký đến máy chủ.
− Máy chủ kiểm tra tính hợp lệ của thông tin đăng ký, bao gồm việc kiểm tra xem tên
người dùng và địa chỉ email có sẵn và có đáp ứng các yêu cầu đặt ra hay không.
− Nếu thông tin đăng ký không hợp lệ, máy chủ trả về một thông báo lỗi cho người
dùng và yêu cầu họ điều chỉnh thông tin đăng ký.
− Nếu thông tin đăng ký hợp lệ, máy chủ tạo một bản ghi mới cho người dùng trong
cơ sở dữ liệu.
− Sau khi đăng ký thành công, người dùng có thể đăng nhập vào hệ thống bằng tên
đăng nhập và mật khẩu của mình.
− Nếu như đã có tài khoản thì nhấn vào “Đăng nhập” để chuyển sang trang đăng nhập
vào để đăng nhập.
c) Xem sản phẩm
− Người dùng click vào trang Store trên màn hình.
− Giao diện hiển thị toàn bộ sản phẩm và các danh mục sản phẩm
− Người dùng có thể nhấn vào tên danh mục sản phẩm để xem những sản phẩm nằm
tỏng danh mục đó.
− Người dùng có thể nhấn vào từng sản phẩm để xem thông tin chi tiết của sản phẩm
đó.
d) Thêm vào giỏ hàng
32
− Người dùng xem một sản phẩm trên trang web và quyết định thêm sản phẩm đó vào
giỏ hàng.
− Người dùng nhấp vào nút "Thêm vào giỏ hàng" trên trang web.
− Trang web gửi yêu cầu thêm sản phẩm vào giỏ hàng đến máy chủ.
− Máy chủ kiểm tra xem sản phẩm đã được thêm vào giỏ hàng chưa. Nếu sản phẩm
đã tồn tại trong giỏ hàng thì cập nhật số lượng sản phẩm. Nếu sản phẩm chưa tồn tại
trong giỏ hàng, máy chủ tạo một mục mới trong giỏ hàng với thông tin sản phẩm và
số lượng là 1 .
− Giỏ hàng hiển thị danh sách sản phẩm, số lượng, giá cả và tổng giá trị của giỏ hàng.
− Người dùng có thể tiếp tục mua sắm hoặc thực hiện các hành động khác trên trang
web, như thanh toán hoặc chỉnh sửa giỏ hàng.
e) Đặt hàng
− Người dùng đã thêm các sản phẩm vào giỏ hàng và quyết định tiến hành đặt hàng.
− Người dùng nhấp vào nút "Đặt hàng" hoặc biểu tượng giỏ hàng trên trang web.
− Trang web chuyển hướng người dùng đến trang đặt hàng.
− Trang đặt hàng hiển thị thông tin chi tiết về đơn hàng, bao gồm danh sách sản phẩm,
số lượng, giá cả và tổng giá trị.
− Người dùng cung cấp thông tin đặt hàng.
− Người dùng chọn phương thức thanh toán (Thanh toán bằng tiền mặt).
− Người dùng nhấn Đặt hàng.
− Máy chủ tạo một bản ghi mới cho đơn hàng mới trong cơ sở dữ liệu.
− Trang web hiển thị thông báo đặt hàng thành công.
4.2.2. Giao diện người dùng
Bản đầy đủ:
https://drive.google.com/drive/folders/1ktyev3onxDG1bL5x8XR6By1rEprBmmF
33
Hình 4.2: Giao diện người dùng – Trang chủ
34
Hình 4.3: Giao diện người dùng – Đăng ký
35
Hình 4.4: Giao diện người dùng – Đăng ký (tiếp)
36
Hình 4.5: Giao diện người dùng – Đăng nhập
37
Hình 4.6: Giao diện người dùng – Đăng nhập (tiếp)
38
Hình 4.7: Giao diện người dùng – Trang chủ (sau khi đăng nhập)
39
Hình 4.8: Giao diện người dùng – Trang Store (Cửa hàng)
40
Hình 4.9: Giao diện người dùng – Trang Chi tiết sản phẩm
41
Hình 4.10: Giao diện người dùng – Trang Giỏ hàng
42
Hình 4.11: Giao diện người dùng – Trang Đặt hàng
43
Hình 4.12: Giao diện người dùng – Trang Admin – Quản lý sản phẩm
44
Hình 4.13: Giao diện người dùng – Trang Admin – Thêm mới sản phẩm
45
Hình 4.14: Giao diện người dùng – Trang Admin – Sửa sản phẩm
46
4.3. Thiết kế cơ sở dữ liệu
Biểu đồ diagram cơ sở dữ liệu:
47
III. KẾT LUẬN
48
TÀI LIỆU THAM KHẢO
[1] Giáo trình Bộ môn Kỹ thuật phần mềm - Khoa CNTT - Trường ĐHĐN
[2] Giáo trình Công Nghệ Phần Mềm (Sotware Engineering)
[3] R. Pressman, Kỹ nghệ phần mềm. Tập 1, 2, 3. NXB Giáo dục, Hà Nội, 1997 (Người
dịch: Ngô Trung Việt).
[4] R. Pressman, Software Engineering: A Practioner’s Approach. 5th Ed., McGraw-Hill,
2001. Chapters 3, 4, 5, 6, 7.
[5] I. Sommerville, Software Engineering. 5th Ed., Addison-Wesley, 1995. Chapters 22,
23, 25.
49