Với những kiến thức vô cùng quan trọng đó cùng với sự hỗ trợnhiệt tình của Ts.Vũ Đình Minh - giảng viên hướng dẫn bộ môn Nhập mônCông nghệ phần mềm, nhóm chúng em đã có thể thực hiện và
Trang 1TR ƯỜ NG Đ I H C CÔNG NGHI P HÀ N I Ạ Ọ Ệ Ộ
KHOA CÔNG NGH THÔNG TIN Ệ
Hà N i, Năm 2022 ộ
1
Trang 2LỜI NÓI ĐẦU
Để chuẩn bị cho hành trang kiến thức trước khi tốt nghiệp, mỗi sinh
viên cần phải có đầy đủ những kiến thức cần thiết với chuyên ngành của
mình Đối với một sinh viên Công nghệ thông tin, kiến thức về học phần
Nhập môn Công nghệ phần mềm là không thể thiếu với bất kì ai, vì học phần
sẽ cung cấp những kiến thức cơ bản về quy trình phát triển sản phẩm phần
mềm, các quy trình và các mô hình quy trình phát triển phần mềm, Từ đó,
sinh viên sau khi hoàn thành học phần có thể hiểu được thế nào là công nghệ
phần mềm và những ứng dụng thực tế trong quá trình tạo nên một sản phẩm
phần mềm Với những kiến thức vô cùng quan trọng đó cùng với sự hỗ trợ
nhiệt tình của Ts.Vũ Đình Minh - giảng viên hướng dẫn bộ môn Nhập môn
Công nghệ phần mềm, nhóm chúng em đã có thể thực hiện và hoàn thành
được đề tài nghiên cứu: Nghiên cứu mô hình quy trình phát triển phần mềm
tiếp cận lặp và áp dụng trong dự án phát triển website bán đồ dung và đồ chơi
trẻ em của chuỗi cửa hàng Funnyland Trong quá trình thực hiện, các thành
viên trong nhóm đã cố gắng làm việc nhóm, tuy nhiên đôi khi không tránh
khỏi những sai sót trong quá trình thực hiện, mong thầy giáo góp ý và nhận
xét để nhóm chúng em có thể thực hiện tốt đề tài được giao.
Chúng em xin chân thành cảm ơn!
Trang 3M C L C Ụ Ụ
1.3 Giới thiệu về mô hình quy trình tiếp cận lặp và công nghệ áp dụng trong phát triển
1.3.2 Công cụ ứng dụng trong phát triển 5
1.3.3 Phương pháp phân tích và thiết kế phần mềm 6
CHƯƠNG 2 Phân tích và đặc tả yêu cầu phần mềm 7
2.2 Các tác nhân tham gia vào quy trình kỹ thuật yêu cầu 8
2.3 Đặc tả yêu cầu phần mềm website https://www.funnyland.vn/ 12
Trang 5MỞ ĐẦU
Trong học phần Nhập môn công nghệ phần mềm, chúng em được học 4 mô
hình quy trình phát triển phần mềm, đó là: mô hình thác nước(Waterfall model), mô
hình tiếp cận lặp(Iteractive model), mô hình bản mẫu(Protype model), mô hình xoắc
ốc(Spiral model) Mỗi mô hình quy trình lại có các pha, ưu và nhược điểm khác
nhau để thích hợp với từng quy mô, độ phức tạp và điều kiện thực hiện của từng dự
án
Sau những buổi họp và bàn luận, nhóm 1 chúng em quyết định chọn ra mô
hình tiếp cận lặp để thực hiện bài tập lớn với đề tài: Nghiên cứu mô hình quy trình
phát triển phần mềm tiếp cận lặp và áp dụng trong dự án phát triển website bán đồ
dùng và đồ chơi trẻ em của chuỗi của hàng Funnyland
Mục tiêu nghiên cứu bài tập lớn:
- Giải thích thế nào là Công nghệ phần mềm, quy trình công nghệ phần mềm
Trình bày được các hoạt động trong quy trình công nghệ phần mềm và mô
hình quy trình công nghệ phần mềm phát triển/sửa chữa sản phẩm phần
Trang 6CHƯƠNG 1 Giới thiệu về dự án phần mềm
Trong chương 1, chúng ta sẽ tìm hiểu sơ lược về mô hình quy trình tiếp cận lặp,
những ưu, nhược điểm của mô hình quy trình tiếp cận lặp
- Đề tài “Nghiên cứu mô hình quy trình phát trỉển phần mềm tiếp cận lặp và
áp dụng trong dự án phát triển website bán đồ dùng và đồ chơi trẻ em của
chuỗi cửa hàng Funnyland.”
- Đối tượng sử dụng trang web là các khách hàng cụ thể là các bậc phụ huynh
có nhu cầu mua sắm các dụng cụ, đồ chơi để đáp ứng nhu cầu của trẻ
Website Funnyland.vn là website chuyên cung cấp các mặt hàng đồ dùng và
đồ chơi cho trẻ em với các sản phẩm như: cặp sách, đồ chơi, Hệ thống có nhiều
chức năng để phục vụ quá trình tìm kiếm và mua hàng của khách hàng cũng như để
người quản trị có thể dễ dàng quản lí các chức năng đó
Chức năng chính:
Quản lý người dùng: Hệ thống cho phép người quản trị tham gia các hoạt
động nghiệp vụ đối với từng khách hàng, cụ thể là quản lí tài khoản khách
hàng
+ Mỗi người dùng trong hệ thống đều phải có 1 một tài khoản bao gồm
Username và Password để đăng nhập vào hệ thống
Quản lí đơn hàng: cho phép người quản trị tham gia các hoạt động nghiệp vụ
trong quá trình mua hàng của khách hàng
+ Giúp giám sát và quản lý hoạt động bán hàng trên hệ thống một các hiệu
quả
+ Hệ thống sẽ cung cấp toàn bộ thông tin về các hoạt động bán hàng bao
gồm: sản phẩm bán chạy, chương trình khuyến mãi, tổng hợp các đơn hàng,…
Trang 7 Quản lý sản phẩm: Giúp quản trị viên thực hiện các thao tác nghiệp vụ với
các sản phẩm được bán trên website
+ Người quản trị có thể thêm, xoá, sửa thông tin các sản phẩm một cách dễ
dàng
+ Hệ thống sẽ cung cấp toàn bộ thông tin về sản phẩm bao gồm: số lượng
trong kho, số lượng bán ra, …
trong phát triển website Funnyland
1.3.1 Mô hình tiếp cận lặp
1.1.1.1 Giới thiệu mô hình
Mô hình tiếp cận lặp (Iterative model hay Iterative and Incremental
model) được đề xuất dựa trên ý tưởng thay vì phải xây dựng và chuyển giao
hệ thống một lần thì sẽ được chia thành nhiều vòng, tăng dần Trong mô hình
Iterative, quy trình lặp lại bắt đầu bằng việc triển khai đơn giản một tập hợp
nhỏ các yêu cầu phần mềm và cải tiến lặp đi lặp lại các phiên bản đang phát
triển cho đến khi hệ thống hoàn chỉnh được triển khai và sẵn sàng được triển
khai Một mô hình vòng đời lặp đi lặp lại không cố gắng bắt đầu với đặc
điểm kỹ thuật đầy đủ của các yêu cầu Thay vào đó, quá trình phát triển bắt
đầu bằng cách chỉ định và triển khai chỉ một phần của phần mềm, sau đó sẽ
được xem xét để xác định các yêu cầu tiếp theo Quá trình này sau đó được
lặp lại, tạo ra một phiên bản mới của phần mềm vào cuối mỗi lần lặp lại của
mô hình Ý tưởng cơ bản đằng sau phương pháp này là phát triển một hệ
thống thông qua các chu kỳ lặp đi lặp lại (Iterative) và theo các phần nhỏ hơn
tại một thời điểm (Incremental)
1.1.1.2 Các pha trong mô hình
Các pha (các vùng làm việc) được phân chia thành các cung Mỗi một
biến thể của mô hình tiếp cận lặp có thể có từ 3 đến 6 vùng
Trang 8Hình 1 Các pha trong mô hình Iterative.
Hình 1 minh họa về các pha trong mô hình tiếp cận lặp với 3 vùng làm
việc:
• Requirement: Phân tích và định nghĩa yêu cầu phần mềm
• Build 1: Triển khai đơn giản với một tập nhỏ các yêu cầu
• Build i: Cải tiến phiên bản trước đó bằng cách bổ sung thêm các yêu
cầu để tạo ra một phiên bản mới
• Build n: Giai đoạn cuối xây dựng được một phiên bản phần mềm hoàn
thiện với đầy đủ các yêu cầu phần mềm
Ý tưởng cơ bản đằng sau phương pháp này là phát triển một hệ thống
thông qua các chu kỳ lặp đi lặp lại và theo các phần nhỏ hơn tại một thời
điểm (tăng dần) Quá trình lặp đi lặp lại bắt đầu với việc triển khai đơn
giản một tập hợp con các yêu cầu phần mềm và cải tiến lặp đi lặp lại các
phiên bản đang phát triển cho đến khi triển khai toàn bộ hệ thống Ở mỗi
lần lặp lại, các sửa đổi thiết kế được thực hiện và các khả năng chức năng
mới được thêm vào
Từ đó, chúng ta có thể thấy rõ một số ưu điểm của mô hình phát triển
tăng vòng:
Trang 9- Sau mỗi lần tăng vòng thì có thể chuyển giao kết quả thực hiện được
cho khách hành nên các chức năng của hệ thống có thể nhìn thấy sớm
hơn
- Các vòng trước đóng vai trò là mẫu thử để giúp tìm hiểu thêm các yêu
cầu ở những vòng tiếp theo
Những chức năng của hệ thống có thứ tự ưu tiên càng cao thì sẽ được
kiểm thử càng kỹ
1.1.1.3 Đánh giá
Trong quá trình phát triển phần mềm, các lần lặp lại chu trình phát
triển phần mềm có thể cùng diễn ra Quá trình này có thể được mô tả như là
một cách tiếp cận "tiếp thu tiến hoá" hoặc "xây dựng gia tăng"
Trong mô hình gia tăng này, toàn bộ yêu cầu được chia thành nhiều
bản dựng khác nhau Trong mỗi lần lặp lại, mô-đun phát triển trải qua các
giai đoạn yêu cầu, thiết kế, triển khai và thử nghiệm Mỗi bản phát hành tiếp
theo của mô-đun bổ sung chức năng cho bản phát hành trước đó Quá trình
tiếp tục cho đến khi hệ thống hoàn chỉnh đã sẵn sàng theo yêu cầu
Chìa khoá để sử dụng thành công mô hình Iterative là xác nhận
nghiêm ngặt các yêu cầu, xác minh & kiểm tra từng phiên bản của phần mềm
so với các yêu cầu đó trong mỗi chu kỳ của mô hình
Mô hình Iterative thích hợp với dự án phần mềm có:
- Các yêu cầu của hệ thống được xác định hoàn chỉnh và rõ ràng
- Các yêu cầu chính phải được xác định trước khi thực hiện các giai
đoạn lặp; tuy nhiên, một số chức năng hoặc các cải tiến được yêu cầu
có thể phát triển theo thời gian
Ưu điểm:
- Một số chức năng phần mềm có thể được phát triển nhanh chóng và
sớm được đưa vào sử dụng trong vòng đời;
Trang 10- Kết quả thu được sớm và theo định kỳ;
- Có thể lập kế hoạch phát triển song song;
- Ít tốn kém hơn để thay đổi phạm vi/yêu cầu, hỗ trợ thay đổi yêu cầu;
- Dễ dàng kiểm tra và gỡ lỗi trong quá trình lặp lại nhỏ hơn;
Nhược điểm:
- Cần nhiều tài nguyên hơn
- Các vấn đề về kiến trúc hoặc thiết kế hệ thống có thể phát sinh;
- Không thích hợp cho các dự án nhỏ;
- Sự phức tạp trong quản lý là nhiều hơn;
- Cần có nguồn lực có kỹ năng cao để phân tích rủi ro;
- Tiến độ dự án phụ thuộc nhiều vào giai đoạn phân tích rủi ro
1.3.2 Công cụ ứng dụng trong phát triển
Sử dụng công cụ Visual Studio và Adobe DreamWeaver trong phát triển
website Funnyland
(Visual Studio Code là một trình biên tập mã được phát triển bởi Microsoft
dành cho Windows, Linux và macOS Nó hỗ trợ chức năng debug, đi kèm
với Git, có syntax highlighting, tự hoàn thành mã thông minh, snippets, và
cải tiến mã nguồn Nó cũng cho phép tuỳ chỉnh, do đó, người dùng có thể
thay đổi theme, phím tắt, và các tuỳ chọn khác Nó miễn phí và là phần mềm
mã nguồn mở theo giấy phép MIT, mặc dù bản phát hành của Microsoft là
theo giấy phép phần mềm miễn phí.)
1.3.3 Phương pháp phân tích và thiết kế phần mềm
Trang 11+) Dặt hàng
+) Đánh giá sản phẩm
+) Tìm kiếm sản phẩm theo tên
+) Thanh toán trực tuyến
Hướng đối tượng:
+) Người dùng: Tên đăng nhập, email, địa chỉ, số điện thoại
+) Thông tin sản phẩm: Mã sản phẩm, Tên sản phẩm, giá bán, số
lượng còn, giảm giá, mô tả chi tiết,
Kết luận : Sau chương 1, chúng ta đã được cung cấp 1 cái nhìn tổng quan về
dự án nghiên cứu qua các nội dung: tổng quan về dự án phần mềm, phân tích
và đánh giá phương pháp nghiên cứu: “ quy trình tiếp cận lặp “ , công cụ ứng
dụng và phương pháp phân tích và thiết kế phần mềm, sẽ là tiền đề quan
trọng để ta co thể đi sâu vào dự án ở những chương tiếp theo
Trang 12CHƯƠNG 2 Phân tích và đặc tả yêu cầu phần mềm
Nội dung Chương 2 trình bày về cấu trúc tài liệu đặc tả yêu cầu phần mềm, phân
tích và đặc tả yêu cầu chức năng và yêu cầu phi chức năng cầu của phần mềm quản
lý hệ thống đặt bàn, phân tích và đặc tả yêu cầu của phần mềm và những tác nhân
tham gia vào quy trình
2.1 Quy trình kỹ thuật yêu cầu
2.1.1 Giới thiệu về quy trình kỹ thuật yêu cầu
Quá trình phát triển lặp đi lặp lại có tính chất chu kỳ, điều này làm cho nó trở nên linh hoạt hơn Sau khi lập kế hoạch ban đầu sơ bộ, các bước
tiếp theo cho mỗi lần lặp lại được thực hiện lặp đi lặp lại với kiểm tra kỹ
lưỡng cho đến giai đoạn triển khai
Mỗi chu kỳ lặp lại được kiểm tra trong giai đoạn ban đầu trước khi tích hợp phần mềm Quyết định giữ hoặc loại bỏ được thực hiện ở mỗi bước
Đây được gọi là tạo mẫu gia tăng vì phần mềm được phát triển từng bước
Mô hình lặp lại SDLC cho phép các nhà phát triển quay lại các chu kỳtrước đó nếu cần thay đổi bất kỳ điều gì Quá trình này được thực hiện cho
đến khi giao sản phẩm cuối cùng
2.1.2 Các hoạt động trong quy trình kỹ thuật yêu cầu
1 Thu thập & phân tích yêu cầu: Trong giai đoạn này, các yêu cầu được
thu thập từ khách hàng và được chuyên viên phân tích kiểm tra xem các yêu
cầu có đáp ứng được hay không Các nhà phân tích kiểm tra nhu cầu sẽ đạt
được trong phạm vi ngân sách hay không Sau tất cả những điều này, nhóm
phần mềm chuyển sang giai đoạn tiếp theo
2 Thiết kế: Trong giai đoạn thiết kế, nhóm thiết kế phần mềm bằng các sơ
đồ khác nhau như sơ đồ Luồng dữ liệu, sơ đồ hoạt động, sơ đồ lớp, sơ đồ
chuyển đổi trạng thái, v.v
Trang 133 Thực hiện: Trong quá trình thực hiện, các yêu cầu được viết bằng ngôn
ngữ mã hóa và được chuyển đổi thành các chương trình máy tính được gọi là
Phần mềm
4 Kiểm thử: Sau khi hoàn thành giai đoạn mã hóa, kiểm thử phần mềm bắt
đầu sử dụng các phương pháp kiểm thử khác nhau Có nhiều phương pháp
kiểm tra, nhưng phổ biến nhất là phương pháp kiểm tra hộp trắng, hộp đen và
hộp xám
5 Triển khai: Sau khi hoàn thành tất cả các giai đoạn, phần mềm được triển
khai vào môi trường làm việc của nó
6 Đánh giá: Trong giai đoạn này, sau khi triển khai sản phẩm, giai đoạn xem
xét được thực hiện để kiểm tra hành vi và tính hợp lệ của sản phẩm đã phát
triển Và nếu có bất kỳ lỗi nào được tìm thấy thì quá trình bắt đầu lại từ việc
thu thập yêu cầu
2.2 Các tác nhân tham gia vào quy trình kỹ thuật yêu cầu
2.2.1 Giới thiệu về các tác nhân tham gia quy trình kỹ thuật yêu cầu
Các tác nhân tham gia vào quy trình:
Quản trị viên dự án (Project Managemer);
Người kiểm thử (Test);
Người phát triển hệ thống (Developer);
nhiệm về toàn bộ phạm vi dự án, nhóm dự án và các nguồn lực, ngân sách dự
án và sự thành công hay thất bại của dự án
Trang 14Chức năng đối với hệ thống:
Giai đoạn bắt đầu
- Quản lý tổng hợp: Xây dựng điều lệ dự án
- Quản lý các bên liên quan: Xác định các bên liên quan cần thiết cho dự
án
Giai đoạn lập kế hoạch
- Quản lý tổng hợp: Phát triển một kế hoạch về quản lý dự án
- Quản lý phạm vi: Xác định và quản lý phạm vi, tạo cấu trúc phân tích
công việc (WBS) và thu thập yêu cầu
- Quản lý thời gian: Lập kế hoạch, xác định và phát triển lịch trình, hoạt
động, ước tính nguồn lực và thời gian hoạt động
- Quản lý chi phí: Lập kế hoạch và ước tính chi phí cũng như xác định
ngân sách
- Quản lý chất lượng: Lập kế hoạch và xác định các yêu cầu về chất lượng
- Quản lý nguồn nhân lực: Lập kế hoạch và xác định nhu cầu nguồn nhân
lực
- Quản lý truyền thông: Lập kế hoạch truyền thông
- Quản lý rủi ro: Lập kế hoạch và xác định các rủi ro tiềm ẩn, thực hiện
phân tích rủi ro định tính và định lượng cũng như hoạch định các chiến
lược giảm thiểu rủi ro
- Quản lý mua sắm: Lập kế hoạch và xác định các hoạt động mua sắm cần
thiết
- Quản lý các bên liên quan: Lập kế hoạch cho các kỳ vọng của các bên
liên quan
Thực thi kế hoạch
- Quản lý tổng hợp: Chỉ đạo và quản lý mọi công việc cho dự án
- Quản lý chất lượng: Thực hiện tất cả các khía cạnh của quản lý chất
lượng
- Quản lý nguồn nhân lực: Lựa chọn, phát triển và quản lý nhóm dự án
- Quản lý truyền thông: Quản lý tất cả các khía cạnh của thông tin truyền
thông
Trang 15- Quản lý mua sắm: Thực hiện hành động để đảm bảo các mua sắm trang
thiệt bị cần thiết
- Quản lý các bên liên quan: Quản lý tất cả các kỳ vọng của các bên liên
quan
Giám sát và kiểm soát
- Quản lý tổng hợp: Giám sát và kiểm soát công việc của dự án và quản lý
mọi thay đổi cần thiết
- Quản lý phạm vi: Xác nhận và kiểm soát phạm vi của dự án
- Quản lý thời gian: Kiểm soát phạm vi của dự án
- Quản lý chi phí: Kiểm soát chi phí dự án
- Quản lý chất lượng: Kiểm soát chất lượng của sản phẩm
- Quản lý thông tin truyền thông: Kiểm soát tất cả thông tin truyền thông
của đội ngũ và các bên liên quan
- Quản lý mua sắm: Kiểm soát mua sắm
- Quản lý các bên liên quan: Kiểm soát sự tham gia của các bên liên quan
Hoàn thành dự án
- Quản lý tích hợp: Kết thúc tất cả các giai đoạn của dự án
- Quản lý mua sắm: hoàn tất các gói thầu của dự án
Chức năng đối với hệ thống:
- Xem sản phẩm theo thương hiệu: cho phép khách hàng xem sản phẩm
theo một thương hiệu cụ thể
- Xem sản phẩm theo nhóm SP: cho phép khách hàng xem thông tin sản
phẩm theo một nhóm
Trang 16- Xem sản phẩm theo giới tính: cho phép khách hàng xem sản phẩm
theo các giới tính
- Xem sản phẩm khuyến mãi: cho phép khách hàng xem các sản phẩm
đang có chương trình khuyến mãi
- Xem sản phẩm theo độ tuổi: cho phép khách hàng xem sản phẩm theo
- Quản lí giỏ hàng: cho phép khách hàng xem các sản phẩm đã thêm
vào giỏ, loại bỏ các sản phẩm không muốn mua hay đặt các sản phẩm
muốn mua
- Đặt hàng: cho phép khách hàng đặt sản phẩm đã chọn
- Thanh toán: giúp khách hàng thanh toán các sản phẩm đã đặt Có thể
thanh toán bằng 2 hình thức: chuyển khoản qua ngân hàng hoặc trả
tiền mặt khi nhận hàng
2.2.5 Người phát triển hệ thống
Developer là người thiết kế và xây dựng dự án phần mềm này, tiến
hành việc duy trì và cải thiện các tính năng của ứng dụng hoặc phần mềm
này trong tương lai
2.2.6 Người kiểm thử
Tester là những người kiểm tra chất lượng phần mềm, phát hiện ra
các lỗi, sai sót hay bất cứ vấn đề nào có thể ảnh hưởng đến chất lượng phần
mềm
Chức năng của một người kiểm thử:
Trang 17- Tìm kiếm các lỗi của hệ thống phần mềm
- Trực tiếp thẩm định, xác minh xem hệ thống phần mềm này có đáp
ứng các yêu cầu kỹ thuật và yêu cầu nghiệp vụ hay không
- Hoàn thiện sản phẩm nhằm đáp ứng tối đa những yêu cầu đặt ra của
khách hàng cả về mặt số lượng lẫn chất lượng
2.2.7 Các bên liên quan
Các bên liên quan (stakeholders) là cá nhân, nhóm hoặc tổ chức có
thể ảnh hưởng, bị ảnh hưởng hoặc nhận thấy bản thân bị ảnh hưởng bởi
quyết định, hoạt động hoặc kết quả của dự án, chương trình hoặc danh mục
Các bên liên quan trong dự án có thể bao gồm:
Tài liệu này mô tả chi tiết về thiết kế phần mềm website
https://www.funnyland.vn/ phục vụ hoạt động thiết kế, phát triển và hoàn
thiện trang web bán hàng online của Công ty Cổ phần Những Trẻ Em Vàng
243 Hai Bà Trưng, Phường Võ Thị Sáu, Quận 3, Tp.HCM Giấy phép ĐKKD
số 0309818464 do Sở KHĐT Tp.HCM cấp ngày 02/03/2010
Trang 182.3.1.2 Phạm vi tài liệu
Tài liệu này là cơ sở giao tiếp của các thành viên trong đội phát triển
dự án phần mềm website https://www.funnyland.vn/ và tài liệu này cũng là
căn cứ trong hoạt động kiểm thử, vận hành và bảo trì phần mềm
2.3.1.3 Tài liệu tham khảo
Giáo trình Nhập môn Công nghệ phần mềm
Biểu mẫu 03 (Theo QĐ số 815/QĐ-ĐHCNHN ban hành ngày
15/08/2019)
2.3.1.4 Bố cục tài liệu thiết kế phần mềm
Ngoài phần giới thiệu, cấu trúc Tài liệu đặc tả yêu cầu phần mềm
website https://www.funnyland.vn/ còn gồm các nội dung chính sau:
- Phần 1 trình bày tổng quan về tài liệu đặc tả yêu cầu phần mềm;
- Phần 2 trình bày chi tiết về các yêu cầu chức năng của phần mềm,
bao gồm yêu cầu chức nghiệp vụ và yêu cầu chức năng hệ thống;
- Phần 3 trình bày chi tiết về các yêu cầu phi chức năng của phần
mềm
2.3.2 Yêu cầu chức năng
2.3.2.1 Các tác nhân hệ thống
Các tác nhân hệ thống:
- Khách hàng: Xem sản phẩm theo thương hiệu, Xem sản phẩm theo
nhóm SP, Xem sản phẩm theo giới tính, Xem sản phẩm khuyến mãi,
Xem sản phẩm theo độ tuổi, Xem sản phẩm theo tên, Đăng ký, Đăng
nhập, Quản lí giỏ hàng, Đặt hàng, Thanh toán
- Người quản trị: Bảo trì bài viết, Bảo trì danh mục, Bảo trì thương
hiệu, Bảo trì sản phẩm, Bảo trì giới tính, Bảo trì độ tuổi, Quản lý đơn
hàng, Quản lý khách hàng
Trang 192.3.2.2 Các yêu cầu chức năng
2.3.2.2.1 Giới thiệu về các yêu cầu chức năng hệ thống
- Biểu đồ Use case tổng quát
- Biểu đồ Use case phần Front-end
Trang 20HTCSDL KhachHang
DangNhap
HTCSDL
Trang 212.3.2.2.2 Yêu cầu chức năng Xem sản phẩm theo thương hiệu
(i) Giới thiệu
Chức năng này cho phép khách hàng xem sản phẩm theo một thương
: THUONGHIEU : SANPHAM : IHTCSDL : HTCSDL 1: di chuyen chuot vao nut "Thuong hieu"( )
2: lay ten thuong hieu( )
3: doc bang THUONGHIEU( )
4: doc bang THUONGHIEU( )
5: gettenThuongHieu( )
6: return ten thuong hieu
7: hien thi danh sach ten thuong hieu( )
8: kich vao ten mot thuong hieu trong danh sach( )
9: lay thong tin ve danh sach cac san pham thuoc thuong hieu do( )
10: doc bang SANPHAM( )
11: doc bang SANPHAM( ) 12: getSANPHAM( )
13: return danh sach san pham
14: hien thi danh sach san pham( )
15: kich vao ten mot san pham trong danh sach( )
16: hien thi thong tin san pham( )
(iii) Đặc tả Use case Xem sản phẩm theo thương hiệu
Sử dụng biểu để trình bày, nội dung biểu được trình bày như sau:
phẩm theo thương hiệu
Trang 22Mô tả Khách hàng sử dụng chức năng này dể xem sản phẩm
theo một thương hiệu cụ thể
1 Khách hàng Di chuyển chuột vào nút
“Thương hiệu” trên thanh menu
2 Hệ thống lấy thông tin về Thương hiệu là
Tên thương hiệu từ bảng THUONGHIEU và hiển thị lên màn hình
3 Khách hàng kích vào tên một thương hiệu
trong danh sách được hiển thị trên màn hình
4 Hệ thống lấy thông tin về danh sách các
sản phẩm thuộc thương hiệu đó gồm ảnh minh họa, tên sản phẩm, mô tả, giá bán từ bảng SANPHAM và hiển thị lên mànhình
5 Khách hàng kích vào tên một sản phẩm
trong danh sách
6 Hệ thống lấy thông tin về sản phẩm đó
gồm tên sản phẩm, mã sản phẩm, giá bán, ảnh minh họa,
mô tả, thông số kỹ thuật, xuất
xứ, chi tiết, hướng dẫn chơi từ bảng SANPHAM và hiển thị lên màn hình Use case kết thúcLuồng sự kiện thay
thế
1a Hệ thống Tại bước 1 trong luồng cơ bản,
nếu trong bảng THUONGHIEUchưa có dữ liệu, thì hệ thống sẽ
Trang 23hiển thị một thông báo: "Chưa
có thương hiệu nào!" và use case kết thúc
1b Hệ thống Tại bước 2 trong luồng cơ bản,
nếu trong bảng SANPHAM chưa có dữ liệu, thì hệ thống sẽ hiển thị một thông báo: "Chưa
có sản phẩm nào!" và use case kết thúc
1c Hệ thống Tại bất kì bước nào trong luồng
cơ bản, nếu không kết nối được với cơ sở dữ liệu thì hệ thống sẽhiện thị một thống báo lỗi và use case kết thúc
Hậu điều kiện Sau khí kết thúc hoạt động
Lưu ý: Khi mô tả dữ liệu đầu vào, đầu ra cần mô tả đầy đủ nhất có thể:
# Trường dữ liệu Mô tả Bắt buộc
(Y/N)
Điều kiện hợp lệ Ví dụ
Tên thương hiệu Thuộc tính
của bảng THUONGHIEU
B.Toys, BeBé
của thương hiệu trên
em bé Ania,
Bộ đồ chơi thuyền và cáB.Toys
(iv) Biểu đồ lớp
Trang 24chiTiet huongDanChoi getmaSanPham() setmaSanPham() getmaNhomSanPham() setmaNhomSanPham() getmaGioiTinh() setmaGioiTinh() getmaThuongHieu() setmaThuongHieu() getmaNhomDoTuoi() setmaNhomDoTuoi() gettenSanPham() settenSanPham() getgiaBan() setgiaBan() getmoTa() setmoTa() getthongSoKyThuat() setthongSoKyThuat() getxuatXu()
setxuatXu() getchiTiet() setchiTiet() gethuongDanChoi() sethuongDanChoi() getSANPHAM() getCHITIETKM() setSANPHAM() updateSANPHAM() deleteSANPHAM() getSanPham()
<<entity>>
2.3.2.2.3 Yêu cầu chức năng Xem sản phẩm theo khuyến mãi
(i) Giới thiệu
Trang 25Chức năng này cho phép khách hàng xem các sản phẩm đang trong chương
trình khuyến mãi trong bảng KHUYENMAI, bảng SANPHAM và bảng
: KHUYENMAI : SANPHAM : CHITIETKM : IHT CSDL : HTCSDL 1: kich nut "Sale"( )
2: lay ds san pham khuyen mai( )
3: getKHUYENMAI( )
4: getKHUYENMAI( ) 5: getKHUYENMAI( )
6: return cac ma khuyen mai
7: getSANPHAMbyKHUYENMAI( )
8: doc bang SANPHAM( )
10: return cac san pham khuyen mai
11: getCHIT IETKMbySANPHAM( )
12: getCHIT IETKM( ) 9: getSANPHAM( )
13: getCHIT IETKM( ) 14: return ds san pham khuyen mai
15: hien thi ds san pham khuyen mai( ) 16: kich chon mot san pham( )
17: lay thong tin chi tiet san pham khuyen mai( )
18: getmaKM( ) 19: return chi tiet san pham khuyen mai
20: hien thi chi tiet san pham khuyen mai( )
(iii) Đặc tả Use case Xem sản phẩm theo khuyến mãi
Sử dụng biểu để trình bày, nội dung biểu được trình bày như sau:
Khách hàng kích chuột vào nút "SALE" trên thanh menu
Tiền điều kiện Không có
Luồng sự kiện
chính
Trang 261 Khách hàng kích chuột vào nút "SALE" trên
thanh menu
2 Hệ thống lấy thông tin về các mã khuyến
mãi trong bảng KHUYENMAI,sau đó lấy thông tin về danh sách các sản phẩm được áp dụng các mã khuyến mãi đó từ bảng SANPHAM và bảng CHITIETKM bao gồm: tên sản phẩm, ảnh minh họa, giá bán sau khi giảm giá, giá bán trước khi giảm giá lên màn hình
3 Khách hàng kích vào tên hoặc hình ảnh một
sản phẩm bất kì trong danh sách các sản phẩm khuyến mãi
4 Hệ thống lấy thông tin chi tiết của sản
phẩm khuyến mãi đó bao gồm các thông tin: mã sản phẩm, tênsản phẩm, ảnh minh họa, giá bán khi chưa giảm giá, giá bán sau khi khuyến mãi, phần trăm khuyến mãi từ bảng
SANPHAM và bảng CHITIETKM lên màn hình
Use case kết thúcLuồng sự kiện thay
thế
1a Hệ thống Tại bước 1 trong luồng cơ bản,
nếu trong bảng KHUYENMAI chưa có dữ liệu, thì hệ thống sẽ hiển thị một thông báo: "Chưa
có sản phẩm nào đang trong chương trình Sale!" và use case kết thúc
1b Hệ thống Tại bất kì bước nào trong luồng
cơ bản, nếu không kết nối được với cơ sở dữ liệu thì hệ thống sẽhiện thị một thống báo lỗi và use case kết thúc
Trang 27Hậu điều kiện Không có
Lưu ý: Khi mô tả dữ liệu đầu vào, đầu ra cần mô tả đầy đủ nhất có thể:
# Trường dữ liệu Mô tả Bắt buộc
(Y/N)
Điều kiện hợp lệ Ví dụ
Mã khuyến mại Thuộc tính
của bảng KHUYENMAI
với mã khuyến mại trên
trại ngày trời
(iv) Biểu đồ lớp
Trang 28CHITIETKM maSanPham maKM phanTramKM
setmaSanPham() getmaSanPham() setmaKM() getmaKM() setphanTramKM() getphanTramKM() getCHITIETKM()
<<entity>>
1
*
SANPHAM maSanPham maNhomSanPham maGioiTinh maThuongHieu maNhomDoTuoi tenSanPham giaBan moTa thongSoKyThuat xuatXu
chiTiet huongDanChoi
getmaSanPham()
s etmaSanPham() getmaNhom SanPham()
s etmaNhom SanPham() getmaGioiTinh()
s etmaGioiTinh() getmaThuongHieu()
s etmaThuongHieu() getmaNhom DoTuoi()
s etmaNhom DoTuoi() gettenSanPham()
s ettenSanPham() getgiaBan()
s etgiaBan() getmoTa()
s etmoTa() getthongSoKyThuat()
s etthongSoKyThuat() getxuatXu()
s etxuatXu() getchiTiet()
s etchiTiet() gethuongDanChoi()
s ethuongDanChoi() getSANPHAM() getCHITIETKM()
s etSANPHAM() updateSANPHAM() deleteSANPHAM() getSanPham ()
<<entity>>
2.3.2.2.4 Yêu cầu chức năng Tìm kiếm sản phẩm theo tên
(i) Giới thiệu
Chức năng này cho phép khách hàng tìm kiếm các sản phẩm theo tên
(ii) Quy trình Tìm kiếm sản phẩm theo tên
Trang 29: KhachHang : TimKiemSanPhamTheoTe nUI :
Ti mKiemSanPhamTheoTe nControll er
:
Ti mKiemSanPhamTheoTe nControll er : SANPHAM : IHTCSDL
: HTCSDL 1: kich "Ban dang tim do choi gi?"( )
2: nhap tu khoa ti m kiem
3: kich bieu tuong tim kiem
4: lay thong ti n tim kiem( )
5: doc bang SANPHAM( )
6: doc bang SANPHAM( ) 7: getSANPHAM( )
8: return ket qua 9: hi en thi ds san pham tim kiem( ) 10: kich vao mot san pham( )
11: lay thong ti n chi tiet san pham( )
12: getmaSanPham( ) 13: return ket qua
14: hien thi thong ti n chi tiet san pham( )
(iii) Đặc tả Use case Tìm kiếm sản phẩm theo tên
Sử dụng biểu để trình bày, nội dung biểu được trình bày như sau:
Tiền điều kiện Không có
2 Hệ thống lấy thông tin từ bảng
SANPHAM với các sản phẩm
Trang 30có tên theo từ khóa mà khách hàng từ kiếm bao gồm: mã sản phẩm, tên sản phẩm, ảnh minh họa, giá bán, tên thương hiệu lên màn hình
3 Khách hàng kích vào tên một sản phẩm bất
kì trong danh sách các sản phẩm
4 Hệ thống lấy thông tin chi tiết của sản
phẩm đó bao gồm: mã sản phẩm, tên sản phẩm, ảnh minh họa, giá bán, mô tả, thông số kĩ thuật, xuất xứ, chi tiết và hướngdẫn chơi lên màn hình Use case kết thúc
Luồng sự kiện thay
thế
1a Hệ thống Tại bước 1 trong luồng cơ bản,
nếu khách hàng nhập từ khóa không hợp lệ hoặc không có sản phẩm nào có tên giống với
từ khóa tìm kiếm thì hệ thống
sẽ hiển thị thông báo: “Không tìm thấy nội dung bạn yêu cầu!” lên màn hình Use case kết thúc
1b Hệ thống Tại bất kì bước nào trong luồng
cơ bản, nếu không kết nối được với cơ sở dữ liệu thì hệ thống sẽhiện thị một thống báo lỗi và use case kết thúc
Hậu điều kiện Không có
Lưu ý: Khi mô tả dữ liệu đầu vào, đầu ra cần mô tả đầy đủ nhất có thể:
# Trường dữ liệu Mô tả Bắt buộc
(Y/N)
Điều kiện hợp lệ Ví dụ
của thương hiệu trên
em bé Ania,
Bộ đồ chơi
Trang 31thuyền và cáB.Toys
2.3.2.2.5 Yêu cầu chức năng Bảo trì thương hiệu
(i) Giới thiệu
Trang 32Chức năng này người quản trị xem thông tin thương hiệu, sửa và thêm
thương hiệu trong bảng THUONGHIEU
(ii) Quy trình Bảo trì thương hiệu
Trang 33: NguoiQuanTri : BaoTriThuongHieuUI :
BaoTriThuongHieuController : BaoTriThuongHieuController
: THUONGHIEU : IHTCSDL : HTCSDL 1: Kich chuot nut "Thuong hieu"( )
2: Lay danh sach thuong hieu( )
3: Lay danh sach thuong hieu( )
4: Lay danh sach thuong hieu( )
5: getThuongHieu( )
6: return danh sach thuong hieu 7: Hien thi danh sach thuong hieu( )
8: Kich nut "Them"( )
9: Hien thi form nhap thong tin( )
10: Nhap thong tin thuong hieu can them( )
11: Them thuong hieu( )
12: Them thuong hieu( )
13: Them thuong hieu( )
14: setThuongHieu( )
15: return danh sach sau khi them
16: Hien thi danh sach thuong hieu( )
17: Kich nut "Xoa"( )
18: Xoa thuong hieu( )
19: Xoa thuong hieu( )
20: XOa thuong hieu( )
21: setThuongHieu( )
22: return danh sach sau khi xoa
23: Hien thi danh sach thuong hieu( )
24: Kich nut "Sua"( )
28: Sua thuong hieu( )
29: Sua thuong hieu( )
25: Hien thi form sua( )
26: Nhap thong tin thuong hieu can sua( )
27: Kich nut "Dong y"( )
30: Sua thuong hieu( )
Trang 34(iii) Đặc tả Use case Bảo trì thương hiệu
Sử dụng biểu để trình bày, nội dung biểu được trình bày như sau:
thương hiệuTác nhân Người quản trị
Mô tả Người quản trị sử dụng chức năng này dể xem thông tin thương
hiệu, sửa và thêm thương hiệu trong bảng THUONGHIEU
1 Người quản trị kích chuột vào "THƯƠNG
HIỆU" trên thanh menu
2 Hệ thống lấy thông tin chi tiết gồm: Mã
thương hiệu, Tên thương hiệu, Xuất xứ thương hiệu Từ bảng THUONGHIEU trong cơ sở dữliệu và hiện thị danh sách các thương hiệu lên màn hình
3 Người quản trị kích vào nút ‘Thêm’ trong cửa
sổ danh sách các thương hiệu
4 Hệ thống lấy thông tin và hiện thị lên
màn hình những yều cầu cần nhập về thương hiệu bao gồm
Mã thương hiệu, Tên thương hiệu, Xuất xứ thương hiệu
5 Người quản trị tiến hành nhập thông tin đầy đủ
của các thương hiệu và kích vào nút “hoàn tất’’
6 Hệ thống cập nhật thêm mới một thương
hiệu trong bản THUONGHIEU
và hiện thị danh sách vừa cập nhập
7 Người quản trị kích vào nút ‘Sửa’ trong cửa sổ
Trang 35danh sách của THUONGHIEU
8 Hệ thống lấy thông tin cũ trong cơ sở dữ
liệu gồm: Mã thương hiệu, Tên thương hiệu, Xuất xứ thương hiệu trong bảng
THUONGHIEU và hiển thị ra màn hình
9 Người quản trị nhập từng thông tin mới cho
Mã thương hiệu, Tên thương hiệu, Xuất xứ thương hiệu và kích vào nút ‘hoàn tất ’
10 Hệ thống cập nhật sửa thông tin nhà xuất
bản được chọn trong bảng THUONGHIEU và hiện thị lại danh sách đã cập nhật ra màn hình
11 Người quản trị kích vào nút’ xoá’ trong cửa sổ
của danh sách thương hiệu
12 Hệ thống yều cầu người quản trị xác nhận
muốn xoá thương hiệu này
13 Người quản trị kích vào nút ‘xác nhận’
14 Hệ thống xoá thông tin thương hiệu này
khỏi bảng THUONGHIEU và hiển thị danh sách đã được cập nhật
Luồng sự kiện thay
thế
1a Hệ thống Nếu người quản trị không nhập
thông tin đầy đủ thì hệ thống sẽthống báo lỗi
1b Hệ thống Thông tin thương hiệu không
hợp lệ hoặc trùng lặp thì sẽ hiểnthị thông báo không hợp lệ, sẽ yêu cầu người quản trị chỉnh sửa các thông tin không hợp lệ hoặc hủy thao tác
1c Người quản trị Tại bước xóa thương hiệu trong