Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 48

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC KINH DOANH VÀ CÔNG NGHỆ HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

~~~~~~*~~~~~~

MÔN HỌC:

KỸ NGHỆ PHẦN MỀM


ĐỀ TÀI:

XÂY DỰNG TRANG WEB QUẢN TRỊ


BÀI ĐĂNG CHO TRANG TUYỂN DỤNG VIỆC LÀM
TOPCV.VN

Thành viên nhóm thực hiện : Hoàng Công Thế

: Lê Ngọc Lương

: Cao Ngọc Hoàng

: Nguyễn Đức Chiến

: Mai Nguyễn Hà Thanh

HÀ NỘI - 2024
MỤC LỤC
LỜI NÓI ĐẦU

Không kể tới những đóng góp đến lớn mà ngành công nghệ thông tin
đã làm được cho lĩnh vực nghiên cứu khoa học kỹ thuật, mà chúng ta có thể
nhìn thấy luôn những đóng góp thiết thực mà nó mang lại trong đời sống xã
hội của con người. Với chiếc máy tính cá nhân của mình, chỉ với vài thao
tác đơn giản, thậm chí là một cú click chuột, bạn có thể đọc báo, xem phim,
nghe đài, hay mua sắm,… có thể nói cả thế giới thông tin gần như hiện ra
trước mắt bạn.

Cùng với sự phát triển của nền kinh tế, con người ngày càng bộn bề
với trăm nghìn công việc, chúng ta không có nhiều thời gian cho việc tìm
kiếm, chọn lựa mua sắm những món đó cho mình và người thân, đơn giản
chỉ là một chiếc bánh nhỏ xinh xắn vào buổi sáng, bánh kem cho buổi sinh
nhật hay nhân dịp đặc biệt nào đó thôi nhưng cũng làm cho chúng ta cảm
thấy cuộc sống nhẹ nhàng vui vẻ, cảm giác thanh thản, quên đi những mệt
mỏi trong công việc hằng ngày.

Xuất phát từ những suy nghĩ đó, chúng em muốn phát triển website
chuyên cung cấp các sản phẩm về bánh phục vụ cho cuộc sống hàng ngày,
quà tặng,… Mong rằng sẽ mang đến những chiếc bánh thơm ngon nhất,
những món quà ý nghĩa nhất đến với người thân yêu của bạn trên khắp mọi
miền, khoảng cách về không gian và thời gian không còn là vấn đề nữa.

Đó cũng là lý do chính để nhóm chúng em chọn đề tài “XÂY DỰNG


WEBSITE BÁN BÁNH” hiện thực hóa ý tưởng và mong muốn của chúng
em để mang lại một sản phẩm chất lượng đáng tin cậy và ý nghĩa.

Chúng em xin chân thành cảm ơn những bài giảng tận tình của
thầy ..... – Giảng viên bộ môn Kỹ nghệ phần mềm, trường Đại Học Kinh
Doanh và Công Nghệ Hà Nội. Thầy đã cho chúng em nhiều kiến thức cực
kì quan trọng và nhiều đóng góp quý giá.

Lời cuối cùng, chúng em xin kính chúc thầy lời chúc sức khỏe, thành
công trong cuộc sống.
I) GIỚI THIỆU

Chúng tôi là một doanh nghiệp tiên phong trong lĩnh vực công nghệ
thông tin, chuyên cung cấp các giải pháp số hàng đầu cho các doanh
nghiệp trên toàn cầu. Với cam kết đổi mới không ngừng và sự tận tâm
đến từng dự án, chúng tôi đang triển khai xây dựng một trang web mua
hàng online, giúp tối ưu hóa việc mua hàng, đặt hàng.

Dự án Xây dựng trang web bán hàng là một phần quan trọng trong
chiến lược phát triển sản phẩm của chúng tôi. Trang web này sẽ là một
nền tảng linh hoạt, tích hợp nhiều tính năng quản lý và điều hành các
hoạt động mua hàng, đặt hàng và thanh toán của khách hàng một cách
hiệu quả. Chúng tôi cam kết mang đến một sản phẩm chất lượng cao,
đáp ứng tối đa nhu cầu của người dùng và đảm bảo tính bảo mật thông
tin.

Nếu bạn quan tâm và có nhu cầu tích hợp công nghệ vào kinh doanh,
vui lòng gửi thông tin của bạn đến [thctl@gmail.com] hoặc liên hệ trực
tiếp qua số điện thoại [098 765 4321].

Hãy cùng chúng tôi xây dựng một sản phẩm tuyệt vời và đánh dấu
dấu ấn của bạn trong lĩnh vực công nghệ thông tin!

II) NGHIÊN CỨU VÀ LẬP KẾ HOẠCH DỰ ÁN


1. Nhân lực tham gia thực hiện dự án
Hoàng Công Thế
Lê Ngọc Lương
Cao Ngọc Hoàng
Nguyễn Đức Chiến
Mai Nguyễn Hà Thanh

2. Xác định yêu cầu của khách hàng về yêu cầu xây dựng trang web
Các yêu cầu về trang web:
● Xem trước món ăn trực tuyến
● Tài khoản người dùng
● Gọi món
● Quản lý đơn hàng thực phẩm
● Bảng quản trị
● Quản lý người dùng
● Thêm lại
● Quản lý phục hồi
● Restaurant Danh mục Thêm
● Quản lý danh mục
● Thực đơn
● Đặt hàng
● Quản lý đơn hàng
● Giao hàng
● Vân vân

Yêu cầu về giao diện:


● Giao diện thiết kế dựa trên màu sắc chủ đạo của trang web
theo yêu cầu của khách hàng
● Giao diện thiết kế đơn giản, không quá màu mè. Dễ tiếp cận
đối với người sử dụng

Mục tiêu về xử lý logic của trang web:


● Một website cần có những chức năng chính như sau:
● Cung cấp thông tin về các loại sản phẩm: tên sản phẩm, loại
sản phẩm, hình ảnh, giá cả, mô tả,..
● Cung cấp chức năng mua hàng trực tuyến.
● Cung cấp thông tin liên hệ, hướng dẫn mua hàng, các chính
sách như chính sách đổi trả, chính sách vận chuyển, chính sách
an toàn thực phẩm… và các điều khoản dịch vụ.

3. Thiết kế giao diện


- Giao diện trang web bán hàng
Giao diện trang chủ:
● Xem những món ăn đang bán chạy
Giao diện trang Đăng ký:
● Tạo tài khoản người dùng: Tên tài khoản, Tên người dùng, họ,
địa chỉ email, số điện thoại, mật khẩu, xác nhận mật khẩu, địa
chỉ giao hàng

Giao diện trang Đăng nhập:


● Đăng nhập tài khoản: tên tài khoản, mật khẩu
● Nút tạo tài khoản cho người chưa có tài khoản
Giao diện đặt hàng:
● Hiển thị những nhà hàng mà đã thêm bên phần admin

- Giao diện trang web admin


Giao diện bản điều khiển:
● Hiển các tất cả thông tin của web con đưa về
Giao diện người dùng:
● Hiển thị tất cả tài khoản đã tạo trên trang web
Giao diện nhà hàng:
● Hiển thị tất cả các nhà hàng
● Thêm và xóa nhà hàng
Giao diện thực đơn:
● Hiển thị tất cả các món ăn
● Thêm sửa xóa món ăn
Giao diện đơn đặt hàng:
● Hiển thị các đơn hàng
● Chuyển trạng thái giao hàng

4. Phát triển

Bước "Kiểm thử và điều chỉnh" trong phát triển phần mềm bao gồm:

 Lập kế hoạch kiểm thử: Xác định phạm vi, loại kiểm thử, tài nguyên
và thời gian cần thiết.
 Phát triển các trường hợp kiểm thử: Viết các trường hợp kiểm thử
dựa trên yêu cầu phần mềm và thiết kế hệ thống.
 Thực hiện kiểm thử: Thực hiện các trường hợp kiểm thử và ghi nhận
kết quả.
 Báo cáo lỗi: Ghi nhận và mô tả chi tiết các lỗi phát hiện.
 Điều chỉnh và sửa lỗi: Các nhà phát triển sửa lỗi và phát hành phiên
bản mới để kiểm thử lại.
 Kiểm thử lại và kiểm thử hồi quy: Kiểm thử lại các trường hợp
không đạt và kiểm thử hồi quy để đảm bảo các chức năng khác
không bị ảnh hưởng.
 Đánh giá và hoàn thiện: Đánh giá kết quả kiểm thử và thực hiện các
điều chỉnh cần thiết.
 Chuẩn bị báo cáo kiểm thử: Tổng hợp kết quả, đánh giá chất lượng
phần mềm và đề xuất các bước tiếp theo.

5. Kiểm thử và điều chỉnh


Test, debug
- Các loại rủi ro có thể gặp phải

Loại rủi ro Rủi ro Mô tả


Rủi ro về bảo mật Tấn công hacker Trang web có thể bị tấn
công bởi hacker để truy
cập thông tin cá nhân
của ứng viên và doanh
nghiệp.
Rò rỉ dữ liệu Dữ liệu nhạy cảm có thể
bị rò rỉ do lỗ hổng bảo
mật, gây tổn thất lớn
cho uy tín của trang
web.
Rủi ro về phát triển và Lỗ hổng phần mềm Lỗ hổng trong mã
bảo trì nguồn có thể bị tấn
công, dẫn đến mất kiểm
soát hoặc phá hủy hệ
thống.
Thiếu hỗ trợ kỹ thuật Thiếu hỗ trợ kỹ thuật
hoặc bảo trì định kỳ có
thể gây ra các vấn đề kỹ
thuật và ảnh hưởng đến
trải nghiệm của người
dùng.
Rủi ro về quản lý nội Nội dung không phù Nội dung không phù
dung hợp hợp hoặc vi phạm pháp
luật có thể được đăng
lên trang web, gây ảnh
hưởng tiêu cực đến hình
ảnh và uy tín của trang
web.
Spam và lừa đảo Các bài đăng spam và
lừa đảo có thể xuất hiện
trên trang web, làm
giảm đáng kể sự tin cậy
của nội dung.
Tuân thủ pháp luật Vi phạm quy định bảo Lỗ hổng trong mã
mật nguồn có thể bị tấn
công, dẫn đến mất kiểm
soát hoặc phá hủy hệ
thống.
Vi phạm về quy định Thiếu hỗ trợ kỹ thuật
quảng cáo hoặc bảo trì định kỳ có
thể gây ra các vấn đề kỹ
thuật và ảnh hưởng đến
trải nghiệm của người
dùng.

- Cách khắc phục các loại rủi ro trên

Loại rủi ro Cách khắc phục Mô tả


Rủi ro về bảo mật Tăng cường bảo mật hệ Sử dụng các biện pháp
thống bảo mật mạnh mẽ như
mã hóa dữ liệu, xác thực
hai yếu tố, và kiểm tra
mã nguồn để ngăn chặn
các cuộc tấn công từ phía
hacker.
Quản lý quyền truy cập Thiết lập các phân quyền
truy cập cẩn thận để chỉ
cho phép nhân viên truy
cập vào các dữ liệu và
chức năng cần thiết cho
công việc của họ.
Rủi ro về phát triển và Kiểm tra bảo mật định Thực hiện kiểm tra bảo
bảo trì kỳ mật định kỳ và cập nhật
hệ thống để bảo vệ trang
web khỏi các lỗ hổng bảo
mật mới.
Duy trì hỗ trợ kỹ thuật Đảm bảo rằng có một đội
ngũ hỗ trợ kỹ thuật
chuyên nghiệp và đầy đủ
để giải quyết các vấn đề
kỹ thuật kịp thời.
Rủi ro về quản lý nội Thiết lập chính sách nội Xây dựng và thực thi các
dung dung chính sách nội dung cụ
thể để đảm bảo rằng chỉ
có nội dung phù hợp và
pháp lý được đăng lên
trang web.
Sử dụng công nghệ phát Sử dụng các công nghệ
hiện spam phát hiện spam để tự
động phát hiện và loại bỏ
các bài đăng spam và lừa
đảo từ trang web.
Rủi ro về tuân thủ pháp Đào tạo nhân viên về Cung cấp đào tạo định kỳ
luật tuân thủ pháp luật cho nhân viên về các quy
định pháp luật liên quan
đến bảo mật dữ liệu và
quảng cáo để đảm bảo
tuân thủ.
Sử dụng công cụ kiểm Sử dụng các công cụ
tra tuân thủ pháp luật kiểm tra tuân thủ pháp
luật để đảm bảo rằng
trang web tuân thủ tất cả
các quy định pháp luật
hiện hành.
6. Triển khai
Chuẩn bị phát hành:

 Đóng gói phần mềm thành phiên bản cuối cùng.


 Chuẩn bị tài liệu hướng dẫn sử dụng và tài liệu kỹ thuật.

Thiết lập môi trường triển khai:

 Cài đặt và cấu hình phần mềm trên môi trường máy chủ, đám
mây hoặc các thiết bị đầu cuối.
 Đảm bảo môi trường triển khai tương thích và ổn định.

Kiểm tra trước triển khai:

 Thực hiện kiểm tra cuối cùng để đảm bảo không có lỗi nghiêm
trọng.
 Thực hiện kiểm thử hiệu năng và bảo mật.

Phát hành phần mềm:

 Đưa phần mềm lên các nền tảng phân phối như trang web công
ty, cửa hàng ứng dụng, hoặc các kênh phân phối khác.
 Thông báo cho người dùng và khách hàng về phiên bản mới.

Hỗ trợ sau phát hành:

 Cung cấp hỗ trợ kỹ thuật cho người dùng và khách hàng.


 Theo dõi phản hồi và báo cáo lỗi từ người dùng.

Quảng bá và tiếp thị:

 Thực hiện các chiến dịch tiếp thị để giới thiệu sản phẩm đến
người dùng và khách hàng tiềm năng.
 Sử dụng các kênh tiếp thị như mạng xã hội, email marketing,
và quảng cáo trực tuyến.

Theo dõi và bảo trì:

 Theo dõi hiệu suất và hoạt động của phần mềm.


 Phát hành các bản cập nhật và sửa lỗi định kỳ.
Đánh giá sau triển khai:

 Đánh giá mức độ thành công của việc triển khai dựa trên phản
hồi của người dùng và các chỉ số kinh doanh.
 Rút kinh nghiệm và cải tiến cho các phiên bản sau.

7. Tiếp thị và quảng bá


Như một công ty hàng đầu trong lĩnh vực tạo website mua bán hàng
online chúng tôi, THCTL, cam kết mang đến cho khách hàng những giải
pháp thông minh và hiệu quả nhất.

Tại THCTL, chúng tôi không chỉ cung cấp dịch vụ mua hàng online
tiên tiến mà còn là người bạn đồng hành đáng tin cậy trong mỗi bước
tiến trình đặt hàng và mua hàng. Với sứ mệnh tạo nên nền tảng mua bán
online uy tín và đảm bảo chất lượng, chúng tôi không ngừng nỗ lực để
nâng cao các dịch vụ để giúp khách hàng cảm nhận được chất lượng.

Đội ngũ chuyên gia tài năng của chúng tôi không chỉ giỏi về nghệ
thuật mà còn sở hữu sự hiểu biết sâu sắc về thị trường hàng hóa và xu
hướng mua hàng online tại thời đại 4.0. Chúng tôi luôn đặt lợi ích của
khách hàng lên hàng đầu, và thông qua sự tận tâm và am hiểu, chúng tôi
xây dựng mối quan hệ chặt chẽ và lâu dài với từng đối tác và khách
hàng.

8. Duy trì, cải thiện

Hỗ trợ khách hàng trong quá trình sử dụng sản phẩm. Nâng cấp áp
dụng công nghệ mới. Một số công việc như:

 Đánh giá hiện trạng: Xác định điểm mạnh và điểm yếu.
 Lập kế hoạch: Đặt mục tiêu SMART và tạo kế hoạch hành động chi
tiết.
 Cải tiến liên tục: Áp dụng cải tiến nhỏ và theo dõi tiến độ.
 Học hỏi và phát triển: Tham gia đào tạo và tự học.
 Tạo môi trường hỗ trợ: Khuyến khích sáng tạo và phản hồi xây dựng.
 Đánh giá và điều chỉnh: Đánh giá hiệu quả và điều chỉnh kế hoạch.
 Duy trì động lực: Ghi nhận thành tựu và cam kết lâu dài.
9. Lập kế hoạch
III) ĐẶC TẢ YÊU CẦU

Phân tích và đặc tả yêu cầu là một phần quan trọng trong quá trình
phát triển phần mềm vì nó xác định chính xác những gì hệ thống phải
làm để đáp ứng nhu cầu của người dùng và các bên liên quan. Đầu tiên,
bước này giúp làm rõ các yêu cầu và mong muốn của người dùng, từ đó
tránh được những hiểu lầm hoặc thiếu sót có thể xảy ra trong giai đoạn
sau. Thứ hai, việc phân tích và đặc tả yêu cầu cẩn thận sẽ giúp nhóm
phát triển xác định được phạm vi công việc, ước lượng thời gian và
nguồn lực cần thiết một cách chính xác hơn. Điều này không chỉ tối ưu
hóa quy trình làm việc mà còn giảm thiểu rủi ro và chi phí phát sinh do
những thay đổi không mong muốn hoặc lỗi hệ thống. Cuối cùng, một
đặc tả yêu cầu rõ ràng là cơ sở để kiểm tra và đảm bảo chất lượng sản
phẩm, giúp đảm bảo rằng sản phẩm cuối cùng đáp ứng đúng kỳ vọng
của người dùng và hoạt động hiệu quả trong môi trường thực tế.

Các yêu cầu chức năng

● Đăng kí
● Đăng nhập
● Đăng xuất
● Sửa thông tin khách hàng
● Tìm kiếm sản phẩm
● Xem sản phẩm nổi bật
● Xem sản phẩm bán chạy
● Xem sản phẩm khuyến mãi
● Xem chi tiết sản phẩm
● Bình luận sản phẩm
● Quản lý giỏ hàng
● Xem đơn hàng
● Xem bài viết
● Để lại lời nhắn
● Đăng ký nhận tin
Phân tích yêu cầu người dùng

Lấy ý kiến khách hàng qua phiếu khảo sát dưới đây:
Phiếu khảo sát nhu cầu thiết kế website

Kính gửi quý khách hàng, để thuận tiện hơn trong việc tư vấn và thiết kế website bạn
vui lòng trả lời những câu hỏi dưới đây một cách đầy đủ và chi tiết.

Câu trả lời của bạn sẽ giúp chúng tôi phục vụ bạn được chính xác, nhanh chóng và thuận
lợi nhất.

STT Câu Hỏi Trả Lời Nhu Cầu

1 Website bạn gồm bao nhiêu trang chính? …………………………………………

2 Tên những trang nào? Giới thiệu

Sản phẩm (Sơn trang trí, Sơn công


nghiệp, Sơn Alphanam)

Tư vấn kỹ thuật (Hỗ trợ phối màu, Tính


toán lượng sơn, Mẹo sơn nhà)

Dự án (Dự án trong nước, Dự án nước


ngoài, Feedback khách hàng)

Tìm đại lý

Tin tức & sự kiện

Liên hệ

3 Có bán hàng trên website không? …………………………………………

4 Xin liệt kê ít nhất 3 URL (địa chỉ web) của


các trang web mà bạn đánh giá cao và chỉ
rõ muốn có được tính năng nào trên các
Tham khảo các tính năng đặc biệt như
website đó tính năng hỗ trợ phối màu, tính toán
lượng sơn, tính năng tìm đại lý tại 2
website sau:
5 Ví dụ bố cục trình bày, màu sắc, định Tư vấn thêm giúp mình.
hướng, hình ảnh đồ họa, phông chữ Bạn
muốn website có những màu gì?
6 Liệt kê sơ bộ các chức năng bạn muốn thực Phong cách hiện đại
hiện Phong cách thiết kế website bạn
muốn? (Ví dụ như hiện đại, cổ xưa, ấm áp,
tươi sáng, vv.) Bạn có ý tưởng hay ghi chú
đặc biệt nào muốn chúng tôi thực hiện trong
dự án hay không?
7 Đối tượng người dùng của trang web là Chủ đầu tư dự án, Nhà phân phối sơn,
những ai, trình độ tiếp cận Internet của họ Người tiêu dùng cuối cùng…
thế nào?
8 Ngôn ngữ chính là gì? gồm mấy ngôn ngữ. Hai ngôn ngữ: Tiếng Việt + Tiếng Anh
9 Trong thời gian tới mình sẽ đẩy mạnh
Các công cụ dùng cần thiết để bạn làm Google và Facebook. Nếu tích hợp với
marketing online trên website (google, tính năng chat, thì mình muốn tích hợp
facebook, chat…) với Messenger.
10 Bạn đã có email tên miền hay chưa? Đã có
11 Bạn có bao nhiêu dịch vụ sản phẩm để giới Kasai hoạt động với 2 mảng: Mảng
thiệu trên website Retail và mảng Dự án. Với mỗi mảng
kinh Doanh sẽ có những dòng sản
phẩm khác nhau.
12 Các tiêu đề nhận biết sản phẩm dịch vụ của Hiện tại, Kansai Paint đang nhấn mạnh
bạn yếu tố Nhật Bản trong các thông điệp
truyền thông. Bên cạnh yếu tố Nhật, sản
phẩm sơn Kansai là sản phẩm sơn công
nghệ xanh, an toàn, và có độ phủ tương
đối ổn.
13 Thiết kế mang lại trải nghiệm tốt cho
Xu hướng thiết kế web bạn mong muốn người dùng: Các phần bố cục rõ ràng,
(đơn giản, dễ tìm kiếm, màu mè?) Thông tin dễ tìm kiếm.
14 Full service: Từ tư vấn lên layout, các
Bạn mong muốn gì ở khi sử dụng dịch vụ phần nên được trình bày như thế nào =>
thiết kế web của chúng tôi? bạn cần chúng Thiết kế toàn bộ website, Kansai Paint
tôi cung cấp giải pháp gì cung cấp thông tin về nội
thêm cho bạn? dung, Hỗ trợ đăng ký website với bộ
công thương => Tư vấn thêm về các gói
dịch vụ sau thiết kế (Hỗ trợ như thế
nào, 2 bên sẽ quản lý web ra sao, chính
sách bảo hành, chi phí mỗi lần thêm
mới,)
Hoàn thành bảng khảo sát, vui lòng gửi file kết quả về địa chỉ Email:
nhom1@gmail.com

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

- Phân tích yêu cầu người dùng: Sau khi khảo sát khách hàng, người dùng
qua phiếu chúng tôi mô phỏng trang web khi hoàn thành như sau:

● Trang đăng nhập:

Mô tả: Mật khẩu được mã hóa, các điều kiện kiểm tra mật khẩu, và
đăng nhập vào sẽ ra giao diện trang chủ
● Trang đăng kí:

Mô tả: Khi ấn vào đăng ký người dùng sẽ được tạo tài khoản, tên
người dùng, mật khẩu và các thông tin liên quan để người quản trị có
thể dễ dàng liên hệ khi người dùng đặt hàng

● Trang chủ:
Mô tả: Bố cục trang chủ sẽ được thiết kế theo bố cục:

● Header (Phần đầu trang)

Logo: Đặt ở góc trên bên trái để nhận diện thương hiệu.

Thanh điều hướng (Navigation Bar): Nằm ngang, liệt kê các mục
menu chính như Trang chủ, Giới thiệu, Dịch vụ, Sản phẩm, Blog, Liên hệ.

Nút hành động (CTA): Các nút như Đăng ký, Đăng nhập, Giỏ hàng.

● Giới thiệu ngắn gọn

Đoạn văn giới thiệu: Một đoạn văn ngắn gọn về công ty hoặc tổ
chức.

● Sản phẩm chính

Danh sách sản phẩm: Các khối chứa hình ảnh, tiêu đề, mô tả ngắn và
liên kết đến trang chi tiết.

Bố cục lưới (Grid Layout): Thường hiển thị theo dạng lưới để dễ
nhìn và dễ truy cập.

Nút CTA (Call to Action): Nút như "Mua ngay" để hướng người
dùng đến các trang quan trọng.
● Trang chi tiết sản phẩm:

Mô tả: Gồm:

● Tiêu đề sản phẩm

Tên sản phẩm: Đặt ở vị trí dễ thấy, sử dụng font lớn và rõ ràng.

● Hình ảnh sản phẩm

Hình ảnh chính: Hình ảnh lớn, chất lượng cao, cho phép người dùng
xem chi tiết.

Thư viện hình ảnh: Các hình ảnh phụ thể hiện sản phẩm từ nhiều góc
độ khác nhau.

Tính năng phóng to: Cho phép người dùng phóng to hình ảnh để xem
chi tiết hơn.

● Giá sản phẩm


Giá niêm yết: Hiển thị giá sản phẩm một cách rõ ràng.

Giá khuyến mãi: Nếu có khuyến mãi, hiển thị giá giảm và phần trăm
giảm giá.

Thông tin về thuế và phí vận chuyển: Ghi rõ đã bao gồm thuế chưa,
phí vận chuyển thế nào.

● Mô tả sản phẩm

Mô tả ngắn: Đoạn văn ngắn gọn mô tả các đặc điểm nổi bật của sản
phẩm.

Mô tả chi tiết: Thông tin chi tiết hơn về sản phẩm, bao gồm các
thông số kỹ thuật, chất liệu, kích thước, màu sắc.

● Mua hàng sản phẩm

Trang quản trị:

Mô tả:

Các Yêu cầu phi chức năng

- Trang web có thời gian phản hồi nhanh, kết quả tìm kiếm chính xác.
- Phát triển hệ thống theo mô hình MVC - Model View Controller
- Ngôn ngữ sử dụng:
+ Thiết kế giao diện: HTML, CSS
+ Thiết kế hệ thống, xử lý dữ liệu phía database: PHP
- Yêu cầu từ bên ngoài: Thông tin của người dùng được bảo mật và
tránh để lộ thông tin.

IV) THIẾT KẾ PHẦN MỀM

4.1. Giới Thiệu

Thiết kế phần mềm là một giai đoạn quan trọng trong quá trình phát
triển phần mềm. Đây là bước trung gian giữa yêu cầu người dùng và
việc mã hóa phần mềm, đảm bảo rằng phần mềm sẽ đáp ứng được các
yêu cầu đã đặt ra. Thiết kế phần mềm bao gồm hai giai đoạn chính: thiết
kế cấp cao (high-level design) và thiết kế chi tiết (detailed design).

4.2. Thiết kế kiến trúc

- Xác định các thành phần chính của hệ thống và mối quan hệ giữa
chúng.

- Định nghĩa các mô-đun, thành phần và lớp (classes) trong hệ thống.

- Chọn kiến trúc phù hợp như MVC (Model-View-Controller),


Microservices, Layered Architecture, v.v.

Phân rã hệ thống ra thành các module nhỏ


4.3. Thiết kế cơ sở dữ liệu (Database Design)

- Lựa chọn loại cơ sở dữ liệu (quan hệ, phi quan hệ, đồ thị, v.v.).

- Thiết kế cấu trúc bảng, quan hệ giữa các bảng và các chỉ mục
(indexes).

- Xác định các quy tắc ràng buộc dữ liệu và các thủ tục lưu trữ (stored
procedures).
Lên mạng search thiết kế cấu trúc dữ liệu, thiết kế một mô hình.

4.4 Thiết kế chi tiết (Detailed Design)

4.4.1. Thiết kế mô-đun (Module Design)

- Chi tiết hóa từng mô-đun đã được xác định trong thiết kế cấp cao.

- Xác định các lớp, phương thức, và thuộc tính cụ thể của từng mô-
đun.

- Chức năng chính của phần mềm web bán đồ ăn:


● Đăng ký và đăng nhập người dùng.
● Quản lý thực đơn và sản phẩm.
● Quản lý đơn hàng.
● Thanh toán trực tuyến.
● Quản lý người dùng và quyền hạn.
● Tính năng đánh giá và phản hồi từ khách hàng.
● Thông báo và email.

- Xác định các mô-đun chính:

● Mô-đun người dùng (User Module)


● Đăng ký
● Đăng nhập
● Quản lý thông tin cá nhân
● Quản lý quyền hạn và vai trò (admin, người dùng thông thường)
● Mô-đun thực đơn (Menu Module)
● Quản lý danh mục sản phẩm
● Quản lý sản phẩm (thêm, sửa, xóa)
● Quản lý hình ảnh và mô tả sản phẩm
● Mô-đun đơn hàng (Order Module)
● Tạo đơn hàng
● Quản lý trạng thái đơn hàng
● Lịch sử đơn hàng
● Mô-đun thanh toán (Payment Module)
● Tích hợp các cổng thanh toán trực tuyến
● Quản lý hóa đơn và biên lai thanh toán
● Mô-đun đánh giá và phản hồi (Feedback Module)
● Gửi đánh giá sản phẩm
● Xem và quản lý phản hồi từ khách hàng
● Mô-đun thông báo (Notification Module)
● Gửi thông báo qua email
● Gửi thông báo qua ứng dụng (push notifications)

- Thiết kế chi tiết từng mô-đun


A. Mô-đun người dùng (User Module)

Lớp User:

● Thuộc tính: userId, username, password, email, role


● Phương thức: register(), login(), updateProfile(), changePassword()

Lớp Role:

● Thuộc tính: roleId, roleName


● Phương thức: assignRole(), removeRole()

B. Mô-đun thực đơn (Menu Module)

Lớp Product:

● Thuộc tính: productId, productName, description, price, imageUrl,


category
● Phương thức: addProduct(), updateProduct(), deleteProduct(),
getProductDetails()

Lớp Category:

● Thuộc tính: categoryId, categoryName


● Phương thức: addCategory(), updateCategory(), deleteCategory()

C. Mô-đun đơn hàng (Order Module)

Lớp Order:

● Thuộc tính: orderId, userId, orderDate, status, totalAmount


● Phương thức: createOrder(), updateOrderStatus(), getOrderHistory()

Lớp OrderItem:

● Thuộc tính: orderItemId, orderId, productId, quantity, price


● Phương thức: addItem(), removeItem()
4.4.2. Thiết kế thuật toán (Algorithm Design)

- Phát triển các thuật toán cần thiết cho các chức năng của phần mềm.

- Đảm bảo các thuật toán được tối ưu hóa về hiệu suất và tài nguyên.

❖ Tầm quan trọng của thiết kế phần mềm


- Giảm thiểu rủi ro: Thiết kế chi tiết giúp xác định và giải quyết các vấn
đề tiềm ẩn từ sớm.

- Tăng hiệu quả phát triển: Cung cấp một kế hoạch rõ ràng và chi tiết
giúp các lập trình viên làm việc hiệu quả hơn.

- Dễ bảo trì: Một thiết kế tốt giúp phần mềm dễ dàng mở rộng và bảo trì
trong tương lai.

- Đảm bảo chất lượng: Đảm bảo rằng phần mềm đáp ứng các yêu cầu
chức năng và phi chức năng (bảo mật, hiệu suất, khả năng mở rộng,
v.v.)

4.5. Thiết kế giao diện (Interface Design)

- Xác định các giao diện giữa các thành phần, bao gồm giao diện
người dùng (UI) và giao diện lập trình ứng dụng (API).

● (Giao diện của trang web bán đồ ăn)

Hình 1: Giao diện trang chủ trang web bán đồ ăn


Hình 2: Giao diện trang chủ trang web bán đồ ăn

Hình 3: Giao diện trang chủ trang web bán đồ ăn


Hình 4: Giao diện order đồ ăn

Hình 5: Giao diện đăng nhập


Hình 6: Giao diện đăng kí người dùng
● Giao diện trang quản trị (admin)

Hình 7: Giao diện đăng nhập trang quản trị(admin)


Hình 8: Giao diện trang chủ admin

Hình 9: Giao diện quản trị người dùng


Hình 10: Giao diện quản trị nhà hàng

Hình 11: Giao diện quản trị các món ăn


Hình 12: Giao diện quản trị các đơn đặt hàng
V) MÃ HÓA & KIỂM THỬ ĐƠN VỊ

5.1. Mã hóa

Tạo file connect.php trong thư mục connection để kết nối với cơ sở dữ
liệu:

Tạo file Product.php trong thư mục models để định nghĩa lớp Product:
Tạo file ProductController.php trong thư mục controllers để xử lý logic liên
quan đến sản phẩm:
5.2. Kiểm thử đơn vị

● Cài đặt PHPUnit

Đầu tiên, bạn cần cài đặt PHPUnit. Bạn có thể cài đặt PHPUnit bằng
cách sử dụng Composer. Nếu bạn chưa cài đặt Composer, hãy truy
cập Composer website để cài đặt.

Sau đó, tạo file composer.json trong thư mục gốc của dự án và thêm
PHPUnit vào:

Chạy lệnh sau để cài đặt PHPUnit:


● Cấu trúc thư mục kiểm thử

Tạo một thư mục tests trong thư mục gốc của dự án để chứa các bài
kiểm thử đơn vị. Cấu trúc thư mục của bạn có thể như sau:

● Viết bài kiểm thử đơn vị cho Model

Tạo file ProductTest.php trong thư mục tests/models để kiểm thử các
phương thức của lớp Product.

File ProductTest.php:
● Viết bài kiểm thử đơn vị cho Controller

Tạo file ProductControllerTest.php trong thư mục tests/controllers để


kiểm thử các phương thức của lớp ProductController.

File ProductControllerTest.php:
● Chạy kiểm thử

Chạy kiểm thử bằng cách sử dụng lệnh PHPUnit:

Lệnh này sẽ chạy tất cả các bài kiểm thử trong thư mục tests và hiển
thị kết quả kiểm thử.
VI) KIỂM THỬ TÍCH HỢP VÀ HỆ THỐNG

6.1. Lập kế hoạch kiểm thử (Test Plan)

A. Phương pháp kiểm thử:

Kiểm thử hộp trắng (White Box Testing) là phương pháp kiểm thử
hộp trắng được các tester áp dụng để kiểm tra cấu trúc bên trong
phần mềm, đồng thời, tester sẽ tiến hành lấy dữ liệu thử nghiệm từ
mã chương trình.

B. Lịch trình kiểm thử: thực hiện kiểm thử trong 4 tuần

Tuần 1: Xác định mục tiêu và thu thập yêu cầu

● Họp với các bên liên quan để hiểu rõ yêu cầu.


● Nghiên cứu thiết kế hệ thống và mã nguồn.

Tuần 1: Lập kế hoạch kiểm thử và thiết kế trường hợp kiểm thử

● Xác định kỹ thuật kiểm thử và lập kế hoạch chi tiết.


● Phân công nhiệm vụ và tạo các trường hợp kiểm thử chi tiết.

Tuần 2: Chuẩn bị môi trường kiểm thử và thực hiện kiểm thử

● Thiết lập môi trường kiểm thử và chuẩn bị dữ liệu.


● Thực hiện các trường hợp kiểm thử và ghi lại kết quả.

Tuần 3: Quản lý lỗi và kiểm thử hồi quy

● Ghi nhận và phân loại lỗi.


● Sửa lỗi và thực hiện kiểm thử hồi quy.

Tuần 4: Đánh giá và báo cáo kiểm thử

● Phân tích kết quả và tạo báo cáo kiểm thử chi tiết.
● Đề xuất các cải tiến và bước tiếp theo.

Tuần 4: Kết thúc kiểm thử


● Đánh giá tổng quan và rút ra bài học kinh nghiệm.
● Lưu trữ tài liệu và kết thúc dự án kiểm thử.
● Tài nguyên: Liệt kê các tài nguyên cần thiết (nhân sự, công cụ,
thiết bị).

6.2. Thiết kế kiểm thử (Test Design)

 Trường hợp kiểm thử (Test Cases):

Test Điều kiện Kết quả mong muốn


case ID
TC1 Nhập Url: localhost/nowfood Trả về trang chủ mặc
định của trang web. Lấy
được sản phẩm từ
database
TC2 Nhập: Đăng nhập thành công
● Url: localhost/nowfood/login và trả về trang quản trị
● Tài khoản: admin
● Mật khẩu: CodeCampBD2023
TC3 Nhập: Đăng nhập thành công
● Url: localhost/nowfood/login và trả về trang chủ
● Tài khoản: nhom1
● Mật khẩu: 123456
TC4 Nhập: Đăng ký thành công với
● Url: localhost/nowfood/registration tài khoản test và mật
● Tài khoản: test khẩu test
● Họ: Nguyễn
● Tên: Văn A
● Số điện thoại: 0987654321
● Email: test@gmail.com
● Địa chỉ: Hà Nội
● Mật khẩu: test
● Nhập lại mật khẩu: test
TC5 Ấn vào: Sản phẩm được thêm
● Nút thêm giỏ hàng ở mỗi sản phẩm vào giỏ hàng
TC6 Ấn vào: Đặt hàng thành công và
● Nút thanh toán trong trang giỏ hàng gửi thông tin đơn hàng
● Chọn kiểu thanh toán về nhà quản trị
● Chọn địa chỉ giao hàng
TC7 Nhập vào: Thêm món ăn
● Thêm món ăn Hamburger thành công
● Tên nhà hàng: McDonalds và hiển thị đối với người
● Tên món ăn: Hamburger dùng.
● Mô tả: Món ngon
● Giá: 55.000đ
● Hình ảnh: ảnh bánh
TC8 Nhập vào: Sửa món thành công.
● Sửa món ăn Người dùng thấy món
● Tên nhà hàng: McDonalds ăn sau khi chỉnh sửa
● Tên món ăn: Gà rán
● Mô tả: Món siêu ngon
● Giá: 50.000đ
● Hình ảnh: ảnh gà rán
TC9 Ấn vào: Xóa thành công. Người
● Xóa món ăn dùng không thấy sản
phẩm trên trang web nữa

6.3. Chuẩn bị môi trường kiểm thử (Test Environment Setup)

A. Thiết lập phần cứng và mạng


● Máy chủ kiểm thử: Chuẩn bị một máy chủ kiểm thử để cài đặt môi
trường kiểm thử. Máy chủ này đủ mạnh để mô phỏng môi trường sản
xuất.
● Mạng: Đảm bảo mạng lưới có kết nối ổn định và bảo mật để tránh
gián đoạn trong quá trình kiểm thử.
B. Cài đặt hệ điều hành
● Chọn hệ điều hành: Thông thường, hệ điều hành Linux dùng Ubuntu
là lựa chọn phổ biến cho các máy chủ web chạy PHP.
● Cài đặt và cấu hình hệ điều hành: Cài đặt hệ điều hành đã chọn và
cấu hình các thiết lập cơ bản như mạng, bảo mật, và quản lý người
dùng.
C. Cài đặt phần mềm máy chủ web
● Apache hoặc Nginx: Cài đặt máy chủ web Apache hoặc Nginx, là hai
máy chủ web phổ biến để chạy các ứng dụng PHP.

● PHP: Cài đặt PHP và các module cần thiết.

6.4. Thực hiện kiểm thử (Test Execution)

● Kết quả kiểm thử (Test Results): Trình bày kết quả của từng trường
hợp kiểm thử, bao gồm kết quả đạt/không đạt.
● Ghi nhận lỗi (Defect Logging): Liệt kê các lỗi phát hiện được, bao
gồm mô tả chi tiết và mức độ nghiêm trọng.

6.5. Quản lý lỗi (Defect Management)

● Phân tích lỗi: Phân loại và phân tích các lỗi dựa trên mức độ ưu tiên
và nghiêm trọng.
● Sửa lỗi và kiểm thử lại (Re-testing): Mô tả quá trình sửa lỗi và kết
quả của việc kiểm thử lại các trường hợp bị lỗi.

6.6. Đánh giá kết quả (Test Evaluation)


● Phân tích kết quả kiểm thử: Đánh giá chất lượng của hệ thống sau khi
kiểm thử.
● Thống kê: Cung cấp số liệu thống kê về số lượng lỗi, tỉ lệ thành công
của các trường hợp kiểm thử, v.v.

VII) VẬN HÀNH VÀ BẢO TRÌ

7.1. VẬN HÀNH

A. Chuẩn bị nhân lực cho việc quản trị web

B. Chuẩn Bị Dữ Liệu và Nội Dung:

 Xác định và chuẩn bị dữ liệu cần thiết để đảm bảo thông tin trên
trang web luôn được cập nhật và chính xác.
 Tổ chức và quản lý nội dung để tối ưu hóa trải nghiệm người
dùng.

C. Cập nhật trang web thường xuyên

 Thường xuyên chuẩn bị các nội dung muốn truyền tải tới người
dùng, những thông tin đó cần phù hợp với định hướng nội dung và
thị trường mà doanh nghiệp đặt ra
D. Xử lí các yêu cầu của khách hàng từ website
 xây dựng và sử dụng mẫu email thương hiệu đồng nhất để đảm bảo
rằng mọi giao tiếp đều phản ánh hình ảnh thương hiệu và tạo nên một
ấn tượng chuyên nghiệp trong mọi tương tác với khách hàng.

 Phản hồi và xử lý các yêu cầu, ý kiến phản ánh từ khách hàng để
nâng cao trải nghiệm của họ.
 Tạo ra môi trường tương tác tích cực giữa doanh nghiệp và khách
hàng qua trang web.

E. Quảng bá, tiếp thị website


 Tối ưu hóa công cụ tìm kiếm, gửi thư quảng cáo, đặt quảng cáo trên
website khác và đặt liên kết với các website khác.

 Phát triển chiến lược tiếp thị và quảng bá để tối ưu hóa tiếp cận và
tăng cường uy tín thương hiệu.
 Sử dụng các kênh tiếp thị trực tuyến và offline để tạo ra chiến dịch
hiệu quả.
E. Duy trì tên miền, hosting

1. Gói Hosting:

 Chọn Lựa Phù Hợp: Các dịch vụ Hosting cung cấp các gói với
tính năng và dung lượng khác nhau. Lựa chọn gói phù hợp với yêu
cầu và quy mô của trang web giúp tối ưu chi phí.
1.2. Loại Tên Miền:

 Quyết Định Chiến Lược: Sự lựa chọn giữa tên miền quốc tế
(.com, .net) hay tên miền quốc gia (.vn, .uk) có thể ảnh hưởng đến
chi phí và mức độ phổ biến của trang web.
1.3. Chi Phí Duy Trì:

 Tùy Chọn Bảo Dưỡng: Một số nhà cung cấp Hosting có các gói
bảo dưỡng và hỗ trợ kỹ thuật, có thể tăng chi phí nhưng đồng thời
đảm bảo sự ổn định và an toàn cho trang web.
1.4. Chi Phí Mở Rộng:

 Dự Trữ Mở Rộng: Nếu trang web phát triển, chi phí mở rộng tài
nguyên máy chủ có thể phát sinh. Cân nhắc kế hoạch mở rộng để
dự trữ cho sự phát triển trong tương lai.

F. Sửa lỗi, bảo trì và nâng cấp website


1. Phát Hiện và Sửa Lỗi

 Lập Kế Hoạch Kiểm Tra Định Kỳ: Quy định các kỳ kiểm tra
định kỳ để phát hiện lỗi sớm, tránh những ảnh hưởng tiêu cực đến
trải nghiệm người dùng.
 Đào Sâu vào Bảo Hành: Nắm rõ điều khoản bảo hành của nhà
cung cấp và đảm bảo sự hỗ trợ hiệu quả khi cần thiết.
1.2. Phát Triển và Nâng Cấp

 Định Rõ Hướng Phát Triển: Một định hướng mới cho doanh
nghiệp thường đi kèm với yêu cầu phát triển và nâng cấp trang
web.
 Liên Tục Tương Tác: Thành công của việc nâng cấp phụ thuộc
vào sự liên tục tương tác giữa nhà cung cấp và doanh nghiệp.
1.3. Chi Phí và Bảo Hành

 Miễn Phí Theo Bảo Hành: Chi phí sửa lỗi thường được miễn phí
theo điều khoản bảo hành nếu nó không phải do sai sót của người
quản trị.
 Phí Nâng Cấp: Chi phí thường chỉ áp dụng cho những nâng cấp
và tính năng mới được thêm vào trang web.

G. Xây dựng định hướng phát triển website bán hang


 Thường xuyên kiểm tra và đánh giá các định hướng ban đầu
 Đưa ra các định hướng mới phù hợp với sự biến động của thị
trường và mục tiêu kinh doanh
 Điều chỉnh nội dung, cải thiện trải nghiệm người dùng, hoặc
thậm chí là mở rộng dịch vụ để đáp ứng nhu cầu mới.

7.2. BẢO TRÌ

A. Chọn, cài đặt, cấu hình và quản lý các phần mềm website chính

B. Tham gia vào việc quản lý nội dung, tìm kiếm, dịch vụ và kiến
trúc của trang web để vận động thiết kế các giải pháp kỹ thuật. Cung
cấp các tài nguyên hệ thống, mạng và các cơ sở dữ liệu web bằng
cách làm việc với các nhóm có trình độ chuyên môn kỹ thuật

C. Tư vấn các giải pháp, dự án lập trình với các nhà phát triển để họ
thiết kế các ứng dụng phù hợp, hiệu quả và vận hành tốt trong môi
trường hệ thống. Cài đặt, kiểm tra và quản lý trong và ngoài môi
trường phát triển và môi trường sản xuất một cách cẩn thận và cặn
kẽ.

D. Giữ an toàn cho website, tránh biến website trở thành một trang
zombie giúp tin tặc tấn công trực tiếp hoặc gián tiếp bằng cách gửi
tin nhắn rác hoặc những tin độc hại khác làm ảnh hưởng đến khách
hàng sử dụng.

E. Cài đặt các giao thức bảo mật web, bộ phân tích người dùng, bộ
đếm, bộ tăng tốc website để dễ dàng quản lý cũng như giúp trang
web vận hành một cách tốt hơn.

You might also like