Đang tải... (xem toàn văn)
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áchNguyễn Đình HiếuLê 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ớitiê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
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 6 tháng)
Web bán giày phải có khả năng đáp ứng 100 truy vấn trên một phút (1,000 phút sau 6 tháng)
Web bán giày phải có khả năng đáp ứng xử lý 100 đơn hàng trên một giờ (1,000 đơn hàng/giờ sau 6 tháng)
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:
Web bán giầy Giầy
Đơn hàng Internet Giỏ hàng Thanh toán Mặt hàng
Danh sách mong muốn Thẻ tín dụng
Đơn đặt hàng Đối tác liên kết Danh mục chính Cơ sở dữ liệu
Hệ thống vận chuyển Tài khoản khách hàng Danh sách tài khoản Mật khẩu
Danh sách tài khoản chính Phương pháp tìm kiếm Tiêu đề
Từ khóa Danh mục Chi tiết giầy
Trang 10 Đánh giá bình luận
Đánh giá của khách hàng Danh sách các sản phẩm Khách hàng
Người bán Danh mục giầy
Danh mục sản phẩm chính Kết quả tìm kiếm
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:1 Giày
2 Đơn hàng 3 Giỏ hàng 4 Thanh toán 5 Mục hàng
6 Danh sách mong muốn 7 Thẻ tín dụng
8 Đơn đặt hàng 9 Đối tác liên kết 10 Cơ sở dữ liệu
11 Hệ thống vận chuyển 12 Tài khoản khách hàng
Trang 1113 Danh sách tài khoản chính 14 Phương pháp tìm kiếm 15 Danh mục ưa thích 16 Đánh giá của khách hàng 17 Danh sản phẩm
18 Đánh giá sản phẩm
19 Danh mục mẫu giày chính 20 Kết quả tìm kiếm
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 14 Đăng xuất Tạo Tài khoản
Xoá sản phẩm ra khỏi Giỏ hàng Xem Đánh giá
Viết đánh giá
3 Quản trị (admin)
Dịch vụ chăm sóc khách hàng Nhân viên chuyển 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 về sản phẩm
Người dùng nhập vào các thông tin sản phẩm rồi ấn xác nhận thêm vào danh sách của người dùng
Hệ thống cập nhật giao diện hiển thị sản phẩm vào danh sách.
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- BASIC COURSE:
Người dùng đăng nhập và truy cập vào trang quản lý danh mục sản phẩm.
Hệ thống hiển thị danh sách các danh mục đã có và tùy chọn thêm sản phẩm vào một trong các 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 danhmục
Hệ thống lưu thông tin sản phẩm vào danh mục được chọn của ngưòi dùng
Hệ thống cập nhật giao diện để hiển thị sản phẩm mới trong danh mục đã chọn
Use case kết thúc.- ATERNATE COURSE:
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áchHệ 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.
+, 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àngHệ 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
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.
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).