Từ những yêu cầu nghiệp vụ thu được ở trên (trong pha tìm hiểu yêu cầu của dự án iCoot), phần này trình bày những kết quả mô hình hóa hệ thống thông qua các yêu cầu nghiệp vụ đó, bao gồm các phác họa giao diện người dùng và mô hình ca sử dụng hệ thống.
a. Các phác thảo giao diện người dùng
Các phác họa giao diện người dùng cho iCoot, được sinh ra với sự trợ giúp của Customer, như hình 4.7 tới 4.14.
Hình 4.8 Phác họa giao diện người dùng 2 (xem các kết quả tìm kiếm)
Hình 4.10 Phác họa giao diện người dùng 4 (chọn một tiêu đề chỉ mục)
Hình 4.11 Phác họa giao diện người dùng 5 (xem thông tin thành viên)
Hình 4.13 Phác họa giao diện người dùng 7 (xem các đặt thuê)
Hình 4.14 Phác họa giao diện người dùng 8 (thay đổi mật khẩu)
b. Danh sách tác nhân hệ thống
• Customer: Người sử dụng trình duyệt web để truy cập vào iCoot.
• Member: Customer đã xuất trình tên, địa chỉ và thông tin thẻ tín dụng tại một trong những Store. Mỗi thành viên được cung cấp một mật khẩu cùng với số thành viên. (Cụ thể hóa Customer.)
• NonMember: Customer không phải là thành viên. (Cụ thể hóa của Customer.) • Assistant: Nhân viên tại cửa hàng, người liên hệ với Customer và thông báo cho
c. Danh sách ca sử dụng hệ thống
• U1:Browse Index: Customer mở chỉ mục CarModels. (Specializes U13, include U2.)
• U2:View Results: Customer được xem một danh sách con CarModels trả về. (included U1 và U4, extended U3.)
• U3:View CarModel Details: Customer được cho xem chi tiết của từng CarModels chẳng hạn như mô tả và thông tin quảng cáo. (extend U2 và extended U7.)
• U4:Search: Customer tìm kiếm CarModels bằng cách cung cấp chi tiết về loại xe, nhà sản xuất và kích thước động cơ. (Specializes U13, include U2.)
• U5:Log On: Thành viên đăng nhập vào iCoot sử dụng mã số thành viên và mật khẩu hiện tại. (extended U6, U8, U9, U10 và U12.)
• U6:View Member Details: Thành viên xem thông tin chi tiết ở iCoot chẳng hạn như tên, địa chỉ, thông tin thẻ tín dụng. (extend U5.)
• U7:Make Reservation: Thành viên đặt chỗ CarModels khi xem chi tiết. (extend U3.)
• U8:View Rentals: Thành viên xem tóm lược CarModels họ đang thuê. (extend U5.)
• U9:Change Password: Thành viên thay đổi mật khẩu. (extend U5.)
• U10: Xem Reservations: Một Member xem tóm tắt những Reservations chưa kết thúc của họ, như là thời gian, và CarModel. (extend U5 và extended U11.)
• U11:Cancel Reservation:Member hủy một Đặt thuê chưa kết thúc. (Extend U10.) • U12:Log Off: Member đăng xuất khỏi iCoot. (Extend U5.)
• U13:Look for CarModels: Customer nhận về một tập con các CarModel từ catalog. (generalized U1 và U4.)
d. Biểu đồ ca sử dụng hệ thống
Hình 4.15 Biểu đồ ca sử dụng hệ thống
e. Mô tả khái quát các ca sử dụng
Trong mô tả khái quát các ca sử dụng của iCoot, các ca sử dụng sẽ được mô tả theo cách thức chúng tương tác với nhau, đó là:
Một Customer bất kỳ có thể tìm một CarModels trong catalog, bằng cách duyệt CarModel index (U1) hoặc tìm kiếm (U4). Trong trường hợp tìm kiếm, Customer phải chỉ rõ Categories, Makes và dung tích động cơ mà họ muốn tìm. Trong cả hai trường hợp, Customer đều nhận được kết quả là tập các CarModel tương ứng (U2), trong đó trình bày những thông tin cơ bản như là tên của CarModel. Sau đó Customer có thể chọn xem thông tin thêm về một đối tượng CarModel cụ thể như là một mô tả và thông tin quản cáo (U3).
Nếu Customer là Member thì họ có thể đăng nhập (U5) và truy cập thêm nhiều dịch vụ khác. Các dịch vụ thêm này là: tạo một Đặt thuê (U7), hủy một Đặt thuê (U11), kiểm tra thông tin member (U6), xem các Đặt thuê hiện thời (U10), đổi mật khẩu (U9), xem các Thuê hiện thời (U8) và Đăng xuất (U12).
Các Assistant sẽ tham gia vào một chu kỳ của các Đặt thuê, ví dụ như chuyển Xe đến và ra khỏi khu vực đặt trước.
Các Customer bao gồm hai loại là Members và NonMembers.
Duyệt CarModel index và tìm kiếm CarModel là hai cách xem CarModel (U13). Để xem thông tin chi tiết về một CarModel, Customer phải xem danh sách kết quả các CarModel (thông qua Duyệt index hoặc tìm kiếm).
Để Đặt thuê một CarModel, Member phải xem thông tin chi tiết của nó (NonMembers không thể tạo các Đặt thuê, ngay cả khi họ đang xem thông tin chi tiết các CarModel đó).
Để hủy một Đặt thuê, Member phải xem các Đặt thuê hiện thời của mình.
f. Chi tiết các ca sử dụng
U1: Browse Index. (Specializes U13, include U2)
Tiền điều kiện: Không.
1. Customer chọn một tiêu đề index.
2. Customer quyết định xem những CarModels của tiêu đề index được chọn.
3. Include U2.
Hậu điều kiện: Không.
U2: View Results. (Included U1 và U4, extended U3)
Tiền điều kiện: Không.
1. iCoot hiển thị tóm tắt cho Customer từng CarModel trả về, bao gồm mã số model và giá.
2. Extend U3.
Hậu điều kiện: Không.
U3: View CarModel Details. (Extend U2, extended U7)
Tiền điều kiện: Không.
1. Customer chọn một trong những CarModel tương ứng.
3. iCoot hiển thị chi tiết CarModel được chọn (hình dáng, dung tích động cơ, giá, mô tả, quảng cáo và poster).
4. Nếu Customer đăng nhập với tư cách Member, extend U7. Hậu điều kiện: iCoot hiển thị chi tiết những CarModel được chọn. Yêu cầu phi chức năng:
Các quảng cáo nên được trình bày theo giao thức streaming thay vì phải yêu cầu download.
U4: Search. (Specializes U13, include U2)
Tiền điều kiện: Không.
1. Customer nhập categories (nếu có). 2. Customer nhập Makes (nếu có).
3. Customer nhập dung tích động cơ (nếu có). 4. Customer ra lệnh tìm kiếm.
5. Include U2.
Hậu điều kiện: Không. Luồng phụ:
Nếu Customer không nhập categories, makes hoặc dung tích động cơ, iCoot không cho phép thực hiện việc tìm kiếm.
U5: Đăng nhập. (Extended U6, U8, U9, U10 và U12)
Tiền điều kiện: Member lấy mật khẩu từ Store tại địa phương của họ. 1. Member nhập mã số thành viên.
2. Member nhập mật khẩu.
3. Kể từ khi iCoot phải thực hiện đăng nhập cho một Member, Member có thể chọn để lấy (không hợp lệ và do đó đảm nhiệm từ) một phiên làm việc hiện thời.
4. Member quyết định đăng nhập. 5. Extend U6, U8, U9, U10, U12.
Hậu điều kiện: Member được đăng nhập. Luồng phụ:
Nếu mã số thành viên/mẩu khẩu sai, iCoot sẽ thông báo với Member rằng có một trong 2 cái sai (vì lý do an toàn, họ sẽ không được biết cái nào sai).
Nếu mã số thành viên/mật khẩu là đúng, nhưng Member đăng nhập từ trước và họ không quyết định giành phiên làm việc, iCoot sẽ thông báo với Member.
U6: View Member Details. (Extend U5)
1. Member chọn xem chi tiết thành viên.
2. Member nhận được thông tin chi tiết thành viên (họ tên, địa chỉ, trạng thái, tổng số nợ, thông tin thẻ tín dụng).
3. Vì lý do an toàn, iCoot chỉ được hiển thị 4 chữ số cuối của mã số thẻ tín dụng của Member.
4. iCoot thông báo với Member rằng để sửa thông tin, họ phải liên hệ với Store tại địa phương của họ.
Hậu điều kiện: Member được xem thông tin chi tiết về thành viên.
U7: Make Reservation. (Extend U3)
Tiền điều kiện: Customer là Member đã đăng nhập.
1. Thành viên đặt thuê CarModel cho các chi tiết trên màn hình.
2. iCoot hỏi Thành viên để xác nhận, thông báo không thể đặt xe được. 3. Thành viên xác nhận.
4. iCoot cho thành viên xem mã số đặt thuê và chỉ định Assistant sẽ liên hệ khi xe sẵn sàng.
5. Khi Assistant vào hệ thống iCoot, danh sách đặt thuê cần thực hiện sẽ đưa cho Assistant.
6. Assistant thực hiện những hành động cần thiết cho quá trình đặt thuê xe. Hậu điều kiện: Mọi yêu cầu Đặt thuê được tạo ra.
Nếu Member từ chối các điều kiện Đặt thuê, không Đặt thuê nào được tạo ra.
U8: View Rentals (Extend U5)
Tiền điều kiện: Không. Relationships: U5. 1. Member chọn xem các Thuê của họ.
2. iCoot trình bày tóm tắt với Member từng Xe mà họ đã thuê (bao gồm biển số xe và thời hạn thuê).
Hậu điều kiện: iCoot trình bày với Member thông tin tóm tắt về những Xe mà Member đang thuê.
U9: Change Password (Extend U5)
Tiền điều kiện: Không.
1. Thành viên chọn thay đổi mật khẩu. 2. Thành viên nhập mật khẩu cũ. 3. Thành viên nhập mật khẩu mới.
4. Thành viên nhập mật khẩu mới lần nữa. 5. Thiết lập thay đổi.
6. iCoot yêu cầu xác nhận (mật khẩu mới sẽ được lưu lại). 7. Nếu thành viên xác nhận, mật khẩu được thay.
Hậu điều kiện: Mật khẩu được thay. Luồng phụ:
Nếu mật khẩu cũ không đúng hoặc mật khẩu mới không khớp, thì Member sẽ được thông báo (nhưng không thông báo chi tiết vì lý do an toàn) và mật khẩu sẽ không được thay đổi.
Nếu mật khẩu cũ đúng nhưng mật khẩu mới không thỏa mãn các quy định của mật khẩu (bao gồm tối thiểu 6 ký tự và chữ số), Member cũng sẽ được thông báo và mật khẩu không được thay đổi.
U10: View Reservation objects (Extend U5, extended U11)
1. Member chọn xem các Đặt thuê.
2. iCoot hiển thị tóm tắt những Đặt thuê hiện tại của Member (Đặt thuê chưa kết thúc) (bao gồm mã số, trạng thái, thời gian và CarModel).
3. Extend U11.
Hậu điều kiện: Member được trình bày tóm tắt về các Đặt thuê hiện thời.
U11: Cancel Reservation (Extend U10)
Tiền điều kiện: Không.
1. Member chọn Reservation. 2. Member chọn hủy Đặt thuê. 3. iCoot yêu cầu xác nhận.
4. Member xác nhận họ muốn hủy Đặt thuê.
5. iCoot đánh dấu Đặt thuê đã hủy và cập nhật thông tin hủy cho thiết bị đầu cuối của Assistant.
Hậu điều kiện: Bất kỳ hủy Đặt thuê nào cũng được xác nhận lại khi kết thúc.
Luồng phụ:
Nếu Member không xác nhận hủy, iCoot sẽ không hành động gì.
U12: Log Off
Tiền điều kiện: Không. 1. Member chọn đăng xuất.
2. iCoot kết thúc phiên làm việc hiện thời.
3. iCoot loại bỏ các chức năng chỉ dành cho Member khỏi giao diện người dùng.
Hậu điều kiện: Member đã đăng xuất. Luồng phụ:
Vì lý do an toàn, một Member đang đăng nhập sẽ bị tự động đăng xuất nếu họ không tương tác với iCoot trong vòng 10 phút.
U13: Look for CarModels (Abstract, specialized U1 và U4)
Tiền điều kiện: Không.
Hậu điều kiện: Hiển thị các CarModel được trả về cho Customer. g. Các yêu cầu phi chức năng
iCoot phải có khả năng chịu đựng được kích thước catalog 100000 CarModel.
iCoot phải có khả năng đáp ứng đồng thời 1000000 Customer mà hiệu năng không bị suy giảm lớn.