Hình 4.2 diện chương trình ước lượng theo phương pháp UCP (2)
Hình 4.4 Giao diện chương trình ước lượng theo phương pháp UCP (4)
Hình 4.6 Giao diện chương trình ước lượng theo phương pháp UCP (6)
4.2 Áp dụng phƣơng pháp ƣớc lƣợng UCP
Trong phần ví dụ này, sẽ áp dụng phương pháp ước lượng UCP để ước lượng cho dự án iCoot. Dự án iCoot là dự án xây dựng phần mềm quản lý cho Hệ thống quản lý cho thuê xe. Chi tiết về nghiệp vụ hệ thống cũng như tiến trình thực hiện ước lượng được trình bày bên dưới.
4.2.1 Mô tả yêu cầu nghiệp vụ
Phần này mô tả các yêu cầu nghiệp vụ được thực hiện trong pha yêu cầu của dự án iCoot. Những nội dung chính bao gồm mục tiêu của Customer đối với dự án và mô tả các ca sử dụng nghiệp vụ.
a. Mục tiêu khách hàng Nowhere Cars
Dưới đây là những mục tiêu của khách hàng Nowhere Cars với dự án Coot. Từ khi thực hiện tự động hóa quy trình quản lý ô tô tại cửa hàng như sử dụng mã vạch, thiết bị thanh toán đầu cuối và đầu đọc laser, công ty đã thu được nhiều hiệu quả trông thấy: năng suất của bộ phận tư vấn cho thuê tăng lên 20%, rất hiếm khi ô tô bị mất, số lượng khách hàng của công ty tăng lên nhanh chóng.
Bộ phận quản lý nhìn nhận rằng, Internet sẽ đem lại rất nhiều cơ hội để gia tăng hiệu quả cũng như giảm chi phí hoạt động cho công ty. Ví dụ, thay vì phải in các catalogs cho tất cả các loại xe ô tô, công ty có thể đưa chúng lên Internet,
và mọi khách hàng đều có thể duyệt chúng trực tuyến. Với những khách hàng đặc biệt, công ty có thể cung cấp những dịch vụ tiện lợi như đặt chỗ chỉ với một nút bấm. Mục tiêu của công ty là giảm được 15% chi phí hoạt động của mỗi cửa hàng.
Trong vòng 2 năm, sử dụng tất cả các sức mạnh của thương mại điện tử, công ty đặt mục tiêu sẽ cung cấp tất cả các dịch vụ qua trình duyệt Internet, sẽ cung cấp dịch vụ giao và nhận xe tại nhà của khách hàng, hoàn toàn trở thành một công ty dịch vụ cho thuê trên mạng, với chi phí hoạt động hiệu quả hơn hẳn so với các cửa hàng thông thường.
Làm việc với công ty Nowhere Cars, bản tuyên bố trên được đã được nhóm phân tích thiết kế của dự án triển khai thành các ca sử dụng nghiệp vụ, được trình bày cụ thể trong những phần sau của tài liệu này.
b. Danh sách tác nhân
• Assistant: là những nhân viên tại các của hàng của công ty, người sẽ giúp đỡ Customer trong việc thuê xe ô tô và nắm giữ các CarModel.
• Customer: là những người trả tiền cho một trong những dịch vụ tiêu chuẩn của công ty.
• Member: là những Customer đã được chứng thực về danh tính và khả năng thanh toán và do đó họ có thể được cung cấp những dịch vụ đặc biệt (như là Đặt thuê qua điện thoại hoặc qua Internet).
• NonMember: là những Customer mà danh tính của họ và khả năng thanh toán chưa được kiểm chứng, do đó họ phải đặt cọc một số tiền để có thể Đặt thuê và cung cấp một bản sao giấy phép lái xe (GPLX) khi thuê Xe.
• Hệ thống Auk: là hệ thống hiện tại đang quản lý các thông tin Customer, Đặt thuê, Thuê và Catalog của những CarModel hiện tại.
• DebtDepartment: là bộ phận thu hồi nợ, giải quyết những khoản thu chưa được thanh toán.
• LegalDepartment: là bộ phận pháp lý, giải quyết những trường hợp tai nạn liên quan đến những Xe cho thuê.
c. Danh sách ca sử dụng
• B2: Member Đặt Thuê CarModel: Member đặt chỗ trước để được nhận thông báo khi một CarModel sang trạng thái sẵn sàng.
• B3: NonMember Đặt Thuê CarModel: NonMember đặt cọc trước để được nhận thông báo khi một CarModel sang trạng thái sẵn sàng.
• B4:Customer Hủy Đặt Thuê: Customer hủy một Đặt Thuê chưa hoàn thành, qua điện thoại hoặc qua gặp mặt.
• B5: Customer Trả Xe: Customer trả một xe mà họ đã thuê.
• B6:Thông báo một CarModel sẵn sàng cho Customer: Customer được Assistant thông báo khi có một xe đang ở trạng thái sẵn sàng.
• B7:Thông báo Mất xe: Customer hoặc Assistant phát hiện ra xe bị mất.
• B8: Customer gia hạn Đặt Thuê: Customer gia hạn Đặt thuê đối với những Đặt Thuê vượt thời hạn quá một tuần.
• B9: Customer truy cập Catalog: Customer duyệt một Catalog, tại cửa hàng hoặc tại nhà.
• B10: Customer bị phạt vì không nhận Xe Đặt Thuê: Customer không nhận xe họ đã Đặt Thuê.
• B11: Customer nhận Xe Đặt Thuê: Customer nhận xe mà họ đã đặt thuê.
• B12: Customer trở thành Member: Customer cung cấp thông tin CreditCard và chứng minh địa chỉ thật để trở thành một Member.
• B13: Thông báo Xe Thuê quá hạn với Customer: Assistant liên hệ với Customer để nhắc nhở họ đã thuê xe nhiều hơn một tuần.
• B14: Customer Mất Chìa Khóa: Thay thế chìa khóa cho Customer làm mất.
• B15: Thành viênCard được Thay Mới: Assistant liên hệ với các Member để thay mới (tiếp tục) tư cách thành viên khi CreditCard của họ hết hạn.
• B16: Không thể trả Car: Xe bị hủy hoại hoặc bị hỏng.
d. Chi tiết các ca sử dụng
B1:Customer Thuê Xe
1. Customer gọi/gặp Assistant hỏi CarModel mà họ muốn thuê.
2. Nếu Hệ thống Auk chỉ ra không có Xe nào như vậy, thì Customer sẽ được gợi ý một sự lựa chọn khác.
3. Nếu vẫn còn ít nhất một Xe, Assistant sẽ đánh dấu một Xe đã được chọn với Hệ thống Auk.
4. Assistant hỏi GPLX của Customer chứng thực danh tính.
5. Với một Member, Assistant sẽ lấy số Thành viênCard và kiểm tra xem Member còn nợ phí không và xem tư cách thành viên của họ có còn hiệu lực không.
6. Với một NonMember, Assistant kiểm tra liệu họ đã có trong Hệ thống Auk; nếu không có, Assistant scans một bản sao của GPLX vào Hệ thống Auk, và nhập họ tên, số điện thoại và số GPLX vào Hệ thống Auk.
7. Nếu thông tin của Customer hợp lệ và họ đã trả tất cả các nợ phí, họ sẽ trả phí Thuê Xe.
8. Nếu giao dịch thanh toán thất bại, Xe sẽ được trả lại Hệ thống Auk.
9. Nếu giao dịch thanh toán không thất bại, Customer sẽ được giao chìa khóa xe và được dẫn tới khu vực lấy xe.
B2: Member Đặt thuê CarModel
1. Member cung cấp cho Assistant số thẻ thành viên của họ (qua điện thoại hoặc trực tiếp).
2. Member nói với Assistant CarModel mà họ muốn đặt thuê.
3. Nếu tư cách thành viên của Member vẫn đang hiệu lực, thẻ CreditCard chưa hết hạn, và họ không tồn nợ phí nào, một Đặt thuê được tạo trong Hệ thống Auk. 4. Nếu Đặt thuê được tạo qua điện thoại, Member có thể trả các khoản phí bằng cách
xác nhận thông tin CreditCard của họ, thông tin đó phải được lưu trong Hệ thống Auk và phải chưa hết hạn.
5. Member được thông báo mã số Đặt thuê.
B3: NonMember Đặt thuê CarModel
1. NonMember hỏi Assistant CarModel mà họ muốn thuê. 2. Assistant tìm CarModel trong Hệ thống Auk.
3. Assistant yêu cầu tiền đặt cọc trước cho Đặt thuê.
4. Assistant yêu cầu GPLX và số điện thoại của NonMember. 5. Assistant kiểm tra GPLX bằng mắt.
6. Nếu GPLX là hợp lệ, Assistant tạo một Đặt thuê, ghi lại số GPLX, số điện thoại và scan bản sao GPLX vào Hệ thống Auk.
7. Assistant đưa cho NonMember Xác nhận Đặt thuê bao gồm mã số Đặt thuê.
B4: Customer Hủy Đặt thuê
1. Tại bất cứ lúc nào, Customer đều có thể hủy đặt thuê.
2. Các Member làm điều này qua điện thoại hoặc trực tiếp, bằng cách cung cấp thành viên number của họ.
3. Các NonMember phải hủy trực tiếp: họ phải trình GPLX của họ cho một Assistant, người mà sẽ kiểm tra xem nó có khớp với bản sao scan trong Hệ thống Auk không, và trả lại tiền đặt cọc của họ.
4. Nếu một Xe đã được chuyển đến khu vực của xe đặt trước, thì một Xe tương ứng sẽ được di chuyển ngược lại khu vực xe sẵn sàng.
B5: Customer Trả Xe
1. Khi một Xe được trả lại, Assistant quét mã vạch để xác nhận sự trả xe và kiểm tra xem bình xăng có đầy không.
2. Xe được trả lại khu vực sẵn sàng bởi Assistant.
3. Nếu Customer trả lại một Xe đã quá hạn hoặc bình xăng không đầy, Customer phải trả một mức phí tương ứng – Members có thể làm việc này bằng thông tin thẻ tín dụng, nếu thẻ của họ chưa hết hạn.
4. Nếu một Customer từ chối trả, trường hợp của họ sẽ được chuyển tới DebtDepartment.
B6: Thông báo một CarModel sẵn sàng cho Customer
1. Khi một Xe được trả lại, Hệ thống Auk thông báo với Assistant liệu nó khớp với một Đặt thuê nào đó.
2. Nếu vậy, Assistant sẽ chuyển Xe vào khu vực đặt trước.
3. Dựa trên thứ tự đặt thuê xe, Assistant sẽ lần lượt liên hệ với Customer tương ứng qua điện thoại.
4. Nếu một Customer không thể nhận xe trong vòng 2 ngày, Đặt thuê của họ sẽ bị hủy và Xe sẽ được đưa ra khỏi khu vực đặt trước để tới khu vực sẵn sàng.
1. Nếu một Xe được Hệ thống Auk xác định vẫn ở khu vực sẵn sàng nhưng không thể tìm thấy khi nó cần hoặc trong quá trình kiểm kê, Xe sẽ được báo với cảnh sát là bị mất trộm.
2. Nếu một Xe được báo mất bởi Customer, nó cũng sẽ được báo mất với cảnh sát, cùng với thông tin GPLX của Customer (được biết tới như là người sử dụng phương tiện cuối cùng).
3. Trong cả 2 trường hợp, ngày bị mất đều được ghi lại trong Hệ thống Auk.
B8: Customer gia hạn Đặt thuê
1. Nếu một Đặt thuê không thể được đáp ứng trong vòng 7 ngày, Đặt thuê phải được gia hạn.
2. Assistant có 2 ngày để liên lạc với Customer bằng điện thoại để xem liệu họ có muốn gia hạn Đặt thuê thêm 7 ngày nữa không.
3. Nếu Customer không muốn gia hạn, Đặt thuê đó sẽ bị hủy; Customer phải quay lại Store và trình GPLX để nhận lại tiền đặt cọc.
B9: Customer Truy cập Catalog
1. Các Customer có thể tới Store để xem catalog.
2. Nếu trả phí, họ có thể mang một bản sao catalog về nhà.
3. Nếu họ chọn cách tham gia mailing list, họ sẽ nhận được một bản sao miễn phí của catalog qua email theo định kỳ 6 tháng một lần.
B10: Customer bị phạt vì không nhận Xe Đặt thuê
1. Nếu một CarModel chuyển sang trạng thái sẵn sàng cho một Đặt thuê cụ thể nào đó và Assistant thông báo cho Customer qua điện thoại rằng xe đã có, Customer có 2 ngày để nhận xe.
2. Nếu Customer không nhận xe, Đặt thuê bị chấm dứt và Assistant sẽ chuyển Xe tương ứng Car từ khu vực đặt trước quay lại khu vực sẵn sàng.
3. Nếu là NonMembers, họ sẽ mất tiền đặt cọc.
4. Nếu là Members, tiền phạt của họ sẽ được ghi lại trong Hệ thống Auk và thông tin của họ sẽ được chuyển cho DebtDepartment.
B11: Customer nhận Xe Đặt thuê.
2. Customer xuất trình Giấy phép lái xe.
3. Nếu Giấy phép lái xe hợp lệ khi đối chiếu với hệ thống Auk, đặt thuê được đánh dấu kết thúc.
4. Assistant trao chìa khóa cho Customer và hướng dẫn họ tớ khu vực đặt chỗ trước.
B12: Customer trở thành Member
1. Để trở thành thành viên, Customer phải xuất trình GPLX cùng với các chứng thực về địa chỉ, thẻ tín dụng.
2. Assistant kiểm tra GPLX và địa chỉ.
3. Assistant kiểm tra thẻ tín dụng cùng với thẻ tín dụng công ty.
4. Nếu hợp lệ, Assistant ghi lại số GPLX, địa chỉ, điện thoại và thông tin thẻ tín dụng vào hệ thống auk.
5. Hệ thống Auk cung cấp thẻ thành viên mới cùng với mã số thành viên duy nhất. 6. Nếu thẻ tín dụng quá hạn, các thao tác của thành viên sẽ không được phép thực
hiện trừ khi thành viên trở lại nhà kho và xuất trình thẻ tín dụng mới.
B13: Thông báo Xe thuê quá hạn với Customer
1. Nếu đã trả tiền trước, Customer sẽ được nhắc nhở nếu họ quên trả lại xe.
2. Nếu xe quên được trả lại quá một tuần, Assistant sẽ liên lạc với Customer qua điện thoại.
3. Nếu không thể liên hệ với Customer trong 2 tuần, Xe sẽ được báo cáo mất tích (xem B7).
B14: Customer Mất Chìa khóa
1. Nếu Customer thông báo cho Assistant họ bị mất chìa khóa, chìa khóa thay thế sẽ được cung cấp trong trường hợp cần thiết.
2. Phí thay thế sẽ được tính vào tài khoản của Customer trên hệ thống Auk.
B15: Thành viênCard được Thay mới
1. Hệ thống Auk ghi lại Member mà thẻ tín dụng của họ đã hết hạn.
2. Hệ thống Auk thông báo cho Assistant thẻ tín dụng của thành viên đã hết hạn và thành viên không được phép hoạt động.
3. Assistant liên hệ với Member qua điện thoại và thông báo rằng họ phải làm lại thẻ thành viên mới.
4. Member đến Store để cung cấp thẻ tín dụng mới vào Hệ thống Auk. 5. Hệ thống ghi lại Member ở trạng thái được phép hoạt động.
B16: Không thể trả xe
1. Nếu Customer thông báo cho Assistant xe bị hỏng hóc thiệt hại, Assistant sắp xếp để sửa chữa.
2. Nếu xe bị phá hủy, chi tiết sẽ được thông báo lại cho Legal Department.
4.2.2 Yêu cầu hệ thống
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ừ