Báo cáo môn phát triển phần mềm hướng đối tượng, sử dụng quy trình iconix để phát triển phần mềm website
Trang 1ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
_🙠🙠🙠⬥ _
BÁO CÁO XÂY DỰNG WEBSITE BÁN GIẦY
Sinh viên thực hiện: Dương Quốc Hưng
Nguyễn Tất Bách Nguyễn Đình Hiếu
Lê Phong Thái
Giảng viên bộ môn: Nguyễn Thế Vịnh
Thái Nguyên, năm 2023
LỜI NÓI MỞ ĐẦU
Trang 2MỤC LỤC
Trang 4BẢNG PHÂN CÔNG NHIỆM VỤ
Chương I ĐỊNH NGHĨA YÊU CẦU
Trang 5I Giao diện chính website
Trang 7II Yêu cầu chức năng
- Yêu cầu
1 Web bán giầy ban đầu sẽ dựa trên web, nhưng nó phải có kiến trúc đủ linh hoạt
để có thể phát triển các giao diện người dùng thay thế (Swing/applet, dịch vụ web, v.v.)
2 Web bán giày phải có khả năng bán giầy với các đơn hàng được chấp nhận qua Internet
3 Người dùng phải thêm được giầy vào giỏ hàng trực tuyến, trước khi thanh toán
Tương tự, người dùng phải có khả năng xoá mặt hàng ra khỏi giỏ hàng
4 Người dùng phải có khả năng duy trì một danh sách mong muốn các sách mà họ
muốn mua sau này
5 Người dùng phải có khả năng huỷ hoá đơn trước khi nó được vận chuyển
6 Người dùng phải có khả năng thanh toán qua thẻ tín dụng hoặc đơn đặt hàng
7 Cửa hàng phải có khả năng nhúng vào các trang web đối tác liên kết sử
dụng danh mục nhỏ được trích xuất từ danh mục lớn trong cơ sở dữ liệu
Danh mục nhỏ cần được định nghĩa dưới dạng XML
Trang 8 Hệ thống vận chuyển sẽ được thực hiện bởi Amazon Web Services
9 Người dùng phải có khả năng tạo tài khoản khách hàng để hệ thống có thể lưu
thông tin chi tiết về người dùng (ví dụ: tên, địa chỉ, thông tin chi tiết thẻ tín dụng,,)khi đăng nhập
Hệ thống cần phải duy trì danh sách tài khoản trong cơ sở dữ liệu trung tâm
Khi người dùng đăng nhập, mật khẩu của họ cần phải khớp với mật khẩu
trong danh sách tài khoản chính
10 Người dùng phải có khả năng tìm kiếm sách theo các phương pháp tìm kiếm khác nhau như tiêu đề , tác giả , từ khoá hoặc danh mục - và sau đó xem chi tiết sản phẩm
11 Người dùng phải có khả năng đăng các nhận xét của các sách ưa thích; đánh giá bình luận cần phải xuất hiện trong màn hình chi tiết sách Nhận xét cần có đánh giá của khách hàng [ (1-5) - đánh giá này thông thường sẽ được hiển thị cùng với tiêu đề trong danh sách các mẫu giầy
Đánh giá sản phẩm cần phải được quản lý - phải được đánh dấu "OK" bởi nhân
viên trước khi hiển thị lên website
Những nhận xét dài cần phải được làm ngắn gọn lại trên trang chi tiết sản
phẩm; khách hàng có thể bấm vào xem nhận xét đầy đủ để xem trên trang web
khác
12 Hệ thống phải cho phép nhân viên đánh giá biên tập Nhận xét biên tập phải xuất
hiện trên trang chi tiết sản phẩm
13 Cửa hàng cho phép người bán (bên ngoài hệ thống) thêm danh mục sách của
họ Danh mục sách này sẽ được thêm vào danh mục sách chính để có thể hiển thị trên trang kết quả tìm kiếm.
14 Web bán giày phải có khả năng mở rộng, với những yêu cầu cụ thể sau:
Web bán giày phải có khả năng duy trì tài khoản người dùng đến 100,000 khách
hàng trong 6 tháng đầu tiên và sau đó là 1000,000 tài khoản
Web bán giày phải có khả năng đáp ứng 1,000 lượt truy cập đồng thời (10,000 sau
Trang 9Chúng ta để ý tất cả những từ bôi đậm - đó là các danh từ/cụm danh từ mà chúng ta
quan tâm Đây chính là các ứng viên để giúp chúng ta điền thông tin vào tên lớp hoặc thuộc tính bởi vì cả tên và thuộc tính đều là danh từ
Chúng ta tách các từ bôi đậm thành một danh sách riêng như sau:
Trang 10 Tài khoản người dùng
Chúng ta tiến hành tinh chỉnh lại danh sách dựa trên một số các tiêu chí sau:
Loại bỏ các danh từ quá rộng
Loại bỏ các danh từ quá hẹp
Loại bỏ các danh từ bị trùng lặp
Loại bỏ các danh từ nằm ngoài hệ thống
Sau khi tinh tỉnh ta còn lại một danh sách các ứng viên đối tượng miền như sau:
Trang 1113 Danh sách tài khoản chính
1.1 Biểu đồ miền sơ bộ
Chúng ta có sơ đồ miền sơ bộ như sau Chúng ta chỉ sử dụng một loại mối quan hệ trong sơ đồ trên - mối quan hệ kết tập (aggregation) Lưu ý mối quan hệ trong sơ đồ có thể KHÔNG ĐÚNG:
Hình 1-1 Mô hình miền đầu tiên cho dự án
Vẫn còn một số công việc cần được thực hiện trên mô hình tên miền này trước khichúng ta sẵn sàng chuyển sang giai đoạn tiếp theo, vì vậy ta thực hiện thêm một số công
Trang 12việc dọn dẹp tiếp theo điều này giúp minh họa một số yếu tố quan trọng của phươngpháp ICONIX: cải tiến liên tục thông qua việc lặp lại và sàng lọc liên tục
I.2 Biểu đồ miền tinh chỉnh( biểu đồ miền cập nhật)
Hình 1-2 Mô hình miền thứ 2 cho dự án
Trong hình 1-2, chúng ta đã thêm vào lịch sử đơn hàng, kho, chi tiết đơn hàng,đánh giá sản phẩm, kho hàng, lệnh chuyển hàng, hàng tồn kho vì chúng ta muốn các đốitượng miền của chúng ta có sự kết nối với nhau Hệ thống hoàn thiện đơn hàng vậnchuyển vẫn còn trên sơ đồ, nhưng chúng ta sẽ phải quyết định xem điều này nằm trongphạm vi mô hình hiện tại hay đó là hệ thống bên ngoài mà chúng ta cần giao tiếp Vàcũng ở đó, chúng tôi cũng đã xóa thanh toán, vì khi phản ánh, đây thực sự là một động từtrong số danh từ
I.3 Sơ đồ mối quan hệ đối tác
Trang 13Hình 1-3 Mô hình miền thứ 3 cho dự án
Trang 14Chương 2 MÔ HÌNH CA SỬ DỤNG
I Tổng hợp
Chúng ta sẽ chia use case thành 04 nhóm: chúng, mua hàng, admin và tìm kiếm
Thêm sản phẩm vào Danh sách mong muốn
Thanh toán qua Thẻ tín dụng
Thanh toán qua Đơn đặt hàng
Thanh toán bằng COD
Xoá sản phẩm ra khỏi Giỏ hàng
Trang 15 Nhân viên Quản trị web
Thêm mới sản phẩm vào Danh mục
Gửi đơn hàng
Quản trị Đánh giá của khách hàng
Quản lý Hàng tồn kho
Xử lý Hoàn tiền
Xoá sản phẩm khỏi danh mục
Xoá sản phẩm ngoài hệ thống khỏi danh mục
Trả lời câu hỏi
4 Tìm kiếm
Tìm kiếm nâng cao
Tìm kiếm theo tiêu đề
Tìm kiếm theo danh mục
Tìm kiếm theo từ khoá
Tìm kiếm loại giầy
Mỗi gói chứa rất nhiều use case Ngoài ra, gói mua sắm chứa một người tham gia (Khách hàng), và gói quản trị chứa bốn người tham gia (Chăm sóc Khách hàng, Nhân viên Giao hàng, và Quản trị web)
II Mô hình use case
1 Mô hình use case cho gói “ tổng hợp”
Trang 16Hình 2-1 Mô hình usecase cho gói “Tổng hợp”
2 Mô hình mua sắm
Trang 17Hình 2-2 Mô hình usecase cho gói “Mua sắm”
3 Mô hình use case cho gói “Quản trị viên”
Trang 18Hình 2-3 Mô hình usecase cho gói “Quản trị viên”
4 Mô hình tìm kiếm
Trang 19Hình 2-4 Mô hình usecase cho gói “Tìm kiếm”
III Đặc tả use case
Trang 20Mật khẩu không hợp lệ: Hệ thống hiện thị thông báo “Tên người dùng hoặc maajrt khẩu ” không hợp lệ nhắc họ nhập lại.
Người dùng hủy đăng nhập: hệ thống hiển thị lại trang trước đó.Đăng nhập thất bại 3 lần: Hệ thống khóa tài khoản của người dùng nên người dùng phải liên hệ bộ phận hỗ trợ khách hàng để kích hoạt lại
Thông tin đăng ký hợp lệ chuyển người dùng đến đăng đăng nhập
- Aternate Course:
Nếu thông tin đăng ký không hợp lệ hệ thống hiển thị thông báo lỗi
về thông tin đăng ký không hợp lệ
Quay lại form đăng ký cho người dùng nhập lại thông tin đăng ký Tiếp tục kiểm tra nếu hợp lệ thì chuyển người dùng đến trang đăng nhập
+, Thêm sản phẩm vào danh sách
- BASIC COURSE:
Người quản lý đăng nhập và truy cập vào trang quản lý danh sách
Hệ thống hiển thị giao diện cho phép them vào danh sách
Người dùng chọn them vào sản phẩm mới
Hệ thống hiển thị biểu mẫu cho phép người dùng nhập vào thông tin
Trang 21- ATERNATE COURSE:
Người dùng quản lý truy cập vào trang quản lý danh sách
Người dùng muốn hủy bỏ them sản phẩm vào danh sách hệ thống cho người dùng tùy chọn bỏ hoặc quay lại bước nhập thông tin sản phẩm rồi hệ thống
Người dùng lưu thông tin sản phẩm vào danh sách của người dùng
Hệ thống cập nhật giao diện sản phẩm mới danh sách
+, Thêm sản phẩm vào danh mục
Người dùng chọn danh mục mà họ muốn thêm sản phẩm vào
Hệ thống hiển thị giao diện cho phép người dùng thêm sản phẩm vàodanh mục đã chọn
Người dùng nhập thông tin về sản phẩm (như tên, mô tả, hình ảnh, giá cả, v.v.)
Người dùng xác nhận thông tin và yêu cầu thêm sản phẩm vào danh
Nếu người dùng muốn tạo danh mục mới:
Người dùng chọn tùy chọn để tạo danh mục mới
Hệ thống yêu cầu người dùng nhập tên cho danh mục mới
Người dùng nhập tên cho danh mục mới và xác nhận
Hệ thống tạo danh mục mới và chuyển người dùng đến bước 4 trong Basic Course
Trang 22+, xóa sản phẩm khỏi danh sách
- BASIC COURSE:
Người dùng đăng nhập và truy cập vào trang quản lý danh sách
Hệ thống hiển thị danh sách các sản phẩm trong danh sách của ngườidùng
Người dùng chọn sản phẩm mà họ muốn xóa khỏi danh sách,
Hệ thống hiển thị xác nhận yêu cầu xóa sản phẩm ở danh sách.Người dùng xác nhận yêu cầu xóa sản phẩm
Hệ thống xóa sản phẩn khỏi danh sách và cập nhật giao diện để loại
bỏ sản phẩm đã xóa
- ATERNATE COURSE:
Nếu người dùng muốn hủy bỏ yêu cầu xóa sản phẩm:
Người dùng tùy chịn hủy bỏ
Hệ thống hủy bỏ yêu cầu xóa và quay lại giao diện danh sáchcác sản phẩm của người dùng và tiếp tục thực hiện các bước trên basic course
+, theo dõi trạng tháng đơn hàng
- BASIC COURSE:
Khách hàng đăng nhập và truy cập vào trang theo dõi đơn hàng
Hệ thống hiển thị danh danh sách các đơn hàng mà khách hàng đã đặt, cùng với trạng thới của đơn hàng
Khách hàng chọn đơn hàng mà họ muốn xem trạng thái
Hệ thống hiển thị chi tiết của đơn hàng, bao gồm trạng thái hiện thại của đơn hàng
- ATERNATE COURSE:
Nếu khách hàng truy cập vào trang theo dõi đơn hàng khonong có đơn hàng hệ thống hiển thị thông báo cho khách hàng biết rằng không có đơn hàng nào để hiển thị
Khách hàng có thể quay lại trang chủ hoắc tiếp tục mua sắm
+, chỉnh sửa giỏ hàng
- BASIC COURSE:
Trang 23Khách hàng đã đăng nhập vào hệ thống và truy cập vào giỏ hàng củamình.
Hệ thống hiển thị danh sách các sản phẩm cùng với số lượng và tổnggiá tiền của mỗi sản phẩm đã them
Khách hàng chọn tùy chỉnh giỏ hàng bao gồm: thay đổi số lượng,xóa giỏ hàng, thêm sản phẩm vào giỏ hàng
Khách hàng thực hiện các mong muốn nhấn vào xác nhận cập nhật giỏ hàng
Hệ thống cập nhật theo yêu cầu của khách hàng và cập nhật giá tiền.HIển thị lại giỏ hàng sau khi cập nhật
- ATERNATE COURSE:
Nếu khách hàng muốn hủy bỏ chỉnh sửa:
Khách hàng chọn tùy chọn hủy bỏ hoặc quay lại
Hệ thống hủy bỏ các thay đổi hiển thị lại giỏ hàng ban đầu
+, hủy đơn hàng
- BASIC COURSE:
Khách hàng đã đăng nhập vào vệ thống và có đơn hàng đã đặt tuy cập quản lý đơn hàng hoặc theo dõi đơn hàng
Hệ thống hiển thị danh sách cáo đơn hàng mà khách đã đặt
Khách hàng chọn đơn hàng mà họ muốn hủy
Hệ thống hiển thị thông tin chi tiết của đơn hàng bao gồm mục hàng,tổng số tiền, trạng thái đơn hàng
Hệ thống quay lại hiên thị danh sách các đơn hàng
Thiếp tục thực hiện các bước ở basic course
+, thanh toán
Trang 24Nếu khách hàng chọn thanh toán bằng thẻ tín dụng: khách hàng nhậpthông tin thẻ tín dụng bao gồm: số thẻ, ngày làm thẻ và bảo mật.
Hệ thống xác nhận việc thanh toán và cập nhật trạng thái đơn hàng”Đã thanh toán”
Hệ thống gửi thông báo xác nhận thanh toán và thông tin đơn hàng đến email của khách hàng
Khách hàng nhận đước xác nhân và thông tin đơn hàng
- ATERNATE COURSE:
Nếu khách hàng chọn thanh toán COD: Hệ thống ghi lại lựa chọn của khách hàng và tiến hành xác nhận đơn hàng
Đơn hàng đước đánh dấu là “ Thanh tians khi nhận hàng”
Khách hàng nhận thông báo xác nhận đơn hàng đã thanh toán khi nhận hàng
Nếu thông tin thanh toán không hợp lệ:
Hệ thống sẽ hiển thị thông báo lỗi và yêu cầu khách hàng kiểm tra lại thông tin hoặc thử lại sau
Quay lại bước chọn phương thức thanh toán rồi nhập lại thôn tin thanh toán
+, Đánh giá sản phẩm
- BASIC COURSE:
Khách hàng đã đăng nhập vào hệ thống và đã mua sản phẩm khách hàng vào trang quản lý đơn hàng hoặc chi tiết đơn hàng
Khách hàng chọn đơn hàng chứa sản phẩm mà họ muốn đánh giá
Hệ thống hiển thị thông tin về đơn hàng bao gồm chi tiết danh sách sản phẩm
Khách hàng chọn sản phẩm mà họ muốn đánh giá Hệ thống chuyển đến giao diện cho phép khách hàng đánh giá sản phẩm, bao gồm các mục như diểm số, bình luận và các yếu tố khác
Khách hàng nhập thông tin đánh giá và điểm số cho sản phẩm
Trang 25Khách hàng xác nhận đánh giá và gửi yêu cầu gửi.
Hệ thống lưu trữ đánh giá và cập nhật thông tin sản phẩm
- ATERNATE COURSE:
Nếu khách hàng không muốn đánh giá sản phẩm:
Khách hàng có thể nhập thông tin và tùy chọn để quay lại hoặc bỏ qua đánh giá
Hệ thống không lưu trữ đánh giá và quay lại trang hiển thị thông tin đơn hàng
Trang 26Chương 3 Sơ đồ mạnh mẽ
Biểu đồ độ bền là một "bức tranh đối tượng" của một use case, mục đích của nó là để buộc việc rõ ràng hóa cả văn bản use case và mô hình đối tượng Biểu đồ độ bền liên kết các use case với các đối tượng (và với giao diện người dùng)
Một biểu đồ độ bền không giống như một biểu đồ cộng tác UML Bạn hiển thị sự giao tiếp giữa các đối tượng trên biểu đồ cộng tác, nhưng một biểu đồ độ bền đúng nghĩa là một bức tranh đối tượng của một use case Vì biểu đồ độ bền và văn bản use case phải khớp chính xác, nên biểu đồ độ bền buộc bạn phải liên kết văn bản use case với các đối tượng, từ đó giúp bạn triển khai thiết kế hướng đối tượng từ các use case
+, Sơ đồ mạnh mẽ cho use case Đăng Nhập:
Trang 27+, Sơ đồ mạnh mẽ cho use case Đăng Kí:
Trang 28+, Sơ đồ mạnh mẽ cho use case Thêm Sản Phẩm Vào Danh Sách:
Trang 29+, Sơ đồ mạnh mẽ cho use case Theo Dõi Trạng Thái Đơn:
Trang 30+, Sơ đồ mạnh mẽ cho use case Thêm Sản Phẩm Vào Danh Mục:
Trang 31+, Sơ đồ mạnh mẽ cho use case Xóa Sản Phẩm Khỏi Danh Sách:
Trang 32+, Sơ đồ mạnh mẽ cho use case Chỉnh Sửa Giỏ Hàng:
Trang 33+, Sơ đồ mạnh mẽ cho use case Hủy Đơn Hàng:
Trang 34+, Sơ đồ mạnh mẽ cho use case Thanh Toán:
Trang 35+, Sơ đồ mạnh mẽ cho use case Đánh Giá Sản Phẩm:
Trang 36Chương 4 Sơ đồ trình tự
Khi bạn đã hoàn thành việc phân tích độ bền và đã tiến hành đánh giá thiết kế sơ bộ,thời gian để bắt đầu nỗ lực thiết kế chi tiết Đến lúc này, văn bản use case của bạn đã hoàn tất, chính xác, chi tiết và rõ ràng Nói tóm lại, các trường hợp sử dụng của bạn phải
ở trạng thái mà bạn có thể
tạo ra một thiết kế chi tiết từ chúng
Tất cả các bước trong quy trình cho đến nay đều là chuẩn bị các trường hợp sử dụng chohoạt động thiết kế Sau khi hoàn thành phân tích độ bền và PDR, bây giờ bạn sẽ có
đã khám phá ra khá nhiều lớp miền mà bạn sẽ cần Bạn cũng cần
để có kiến trúc kỹ thuật (TA) được xác định rõ ràng ở giai đoạn này
Tầm Nhìn 10.000 bước
- Trước khi đi vào chi tiết về lập sơ đồ trình tự, hãy lùi lại một bước (hoặc tiến lên) và
nhìn vào bức tranh lớn hơn về thiết kế hướng đối tượng (OOD)
Sơ đồ trình tự và OOD chi tiết
- Nếu bạn cho rằng thiết kế sơ bộ chủ yếu là về việc khám phá các lớp (hay còn gọi là khám phá đối tượng), thì ngược lại, thiết kế chi tiết là về phân bổ hành vi (hay còn gọi
là phân bổ hành vi)—đó là phân bổ các chức năng phần mềm mà bạn đã xác định vào
tập hợp các lớp bạn đã khám phá trong quá trình thiết kế sơ bộ
Khi bạn vẽ sơ đồ trình tự, bạn đang thực hiện một lần rà soát khác qua các sơ đồ
sơ bộ thiết kế nhỏ gọn, thêm chi tiết
Với thiết kế sơ bộ, bạn đã đưa ra một số phỏng đoán ban đầu không chính thức về việc các lớp sẽ diễn ra như thế nào tương tác với nhau Bây giờ là lúc phải đưa ra những tuyên bố đó thật chính xác, biến chúng thành hiện thực thành một thiết kế chi tiết phù hợp với TA mà bạn đã xác định
Bạn sử dụng sơ đồ trình tự để điều khiển thiết kế chi tiết Nhưng lưu ý rằng chúng tôi ủng hộ việc vẽ- lập sơ đồ trình tự của bạn ở định dạng tối thiểu, khá cụ thể (mà chúng tôi mô tả đầy đủ trong chương này) Có một liên kết trực tiếp giữa từng use case,
robustness diagram, và các sơ đồ trình tự Giống như bạn đã vẽ một robustness diagram cho mỗi use case, bạn cũng sẽ vẽ một sequence diagram cho mỗi use case
Ký hiệu sơ đồ trình tự
Trước khi chúng ta đi sâu vào các phương pháp hay nhất để vẽ sơ đồ trình tự từ các trường hợp sử dụng của bạn, nó giúp hiểu được nội dung cấu thành của sơ đồ trình tự
Các đối tượng ở phía trên cùng của sơ đồ (Khách hàng, Trang tìm kiếm, v.v.) đang
tương tác với nhau bằng cách chuyển tin nhắn qua lại Các đường chấm dọc (hoặc tuổi
thọ của vật thể- dòng) biểu thị thời gian, do đó quá trình hiển thị trong sơ đồ bắt đầu bằngthông báo trên cùng (Khách hàng gọi onSearch() trên Trang Tìm kiếm)