Quá trình mô hình hóa trường hợp sử dụng trong phần này lại tiếp tục lặp lại có phần giống với hoạt động mô hình hóa trường hợp sử dụng trong phần khởi động của dự án (Inception Phase). Tuy nhiên, do RUP là quy trình công nghệ phần mềm có tính chất lặp nên một công việc có thể thực hiện nhiều lần là điều bình thường, tuy nhiên, ở mỗi lần mức độ và sự quan tâm mục tiêu chính của hoạt động có khác nhau. Nếu như trong giai đoạn khởi động của dự án chỉ tập trung vào tìm kiếm các tác nhân và một số Use-Case được đánh giá là quan trọng nhất của dự án thì trong giai đoạn này các Use-Case được xác định và tìm kiếm đầy đủ và có sự phân tích mô hình hóa Use-Case.
Với mỗi Use-Case tập trung vào mô tả và phân tích nó. Việc này cũng được lặp lại như một số công việc ở phần trước ở pha khởi động của dự án. Trong giai đoạn này tiếp tục hoàn thành các Use-Case còn lại và phân tích các Use-Case trên các biểu đồ (diagram), có một số lược đồ áp dụng mô tả một Use-Case. Công việc này gọi là hiện thực hóa các Use-Case (Use-Case Realization).
Biểu đồ hoạt động (Activity Diagram). Biểu đồ trạng thái (State Diagram). Biểu đồ lớp (Class Diagram).
Biểu đồ tiếp diễn (Sequence Diagram). Biểu đồ kết hợp (Collaboration Diagram).
Tuy nhiên, việc mô tả một Use-Case không nhất thiết phải sử dụng tất cả các loại biểu đồ trên, có thể sử dụng một số biểu đồ nếu thực sự thấy cần thiết. Ở đây, tôi xin minh họa một số phân tích thiết kế (hay là việc hiện thực hóa) áp dụng đối với một Use-Case, các Use-Case khác tiến hành tương tự.
Tôi tiến hành phân tích Use-Case Login là Use-Case đăng nhập của hệ thống, trước tiên là tiến hành phân tích hành vi (hoạt động) của Use-Case này bằng biểu đồ hoạt động (Activity Diagram), đó chính là các kịch bản hoạt động của Use-Case này:
Receive User Name & Pass Start Check Format Feedback [ Invalid ] Decryption [ Valid ] Collation [ Invalid ] Accept [ Valid ] End Hình 3-26 Biểu đồ hoạt động
Về ý nghĩa của các ký hiệu có thể tham khảo thêm trong tài liệu UML [8]. Nói chung ban đầu khi phân tích các Use-Case là phân tích kịch bản hành vi của Use- Case đó sao cho nó đáp ứng được yêu cầu đề ra. Như biểu đồ trên, tôi đề nghị một kịch bản hành vi ứng xử cho Use-Case của tôi trong khi thi hành nhiệm vụ đăng nhập cho hệ thống là:
Trước tiên, yêu cầu nhập User Name và Password
Kiểm tra định dạng của Use Name và Password (để tránh sai xót trước khi mã hóa)
− Nếu định dạng sai, thì phản hồi lại, nhập lại
− Nếu định dạng đúng thì tiến hành mã hóa Use-Name và Password theo một khóa nào đó của hệ thống
Tiến hành so sánh trong với danh sách Use Name và Password trong hệ thống − Nếu không hợp lệ thì phản hồi yêu cầu nhập lại
− Nếu hợp lệ thì thông báo chấp thuận mở form chính của hệ thống Nhận user name và pass Kiểm tra định dạng nhập Phản hồi lại người sử dụng Mã hóa So sánh trong cơ sở dữ liệu Chấp nhận đăng nhập
Từ kịch bản hành vi đã được mô hình hóa, thì người phân tích thiết kế dễ dàng thấy được sự hoạt động của Use-Case một cách trực quan nhất, và từ đó tìm kiếm các lớp phân tích hoặc thiết kế các đối tượng cho các Use-Case đó
Từ biểu đồ lớp, tôi tiến hành phân tích và mô hình hóa các hoạt động của Use-Case bằng các biểu đồ kết hợp và biểu đồ tiếp diễn để mô hình hóa nên khía cạnh hoạt động của hệ thống hay vẫn là các kịch bản hoạt động nhưng trên các khía cạnh hoạt động của đối tượng đề cử cho Uses-Case
: Staff : CFormLogin : UserManager
: CKey : PIN
4: Collate
1: GetUserInfo(CString, CString, Key ) 5: Response
2: Decryption( )
3: GetInfo
Hình 3-27 Biểu đồ tương tác của Use-Case Login
Trên biểu đồ hoạt động là đề cử một số đối tượng và hành vi của chúng, trong biểu đồ, này tập trung vào các tương tác hành vi của từng đối tượng cấu thành các Use-Case và hành vi của chúng. Còn một loại biểu đồ nữa, nhấn mạnh hoạt động của hệ thống về mặt trình tự thời gian là biểu đồ tiếp diễn (Sequence Diagram)
: Staff : CFormLogin : UserManager : CKey : PIN
2: GetUserInfo(CString, CString, Key ) 3: Decryption( )
4: GetInfo
5: Collate
6: Response 1: Put User Name and Pass
Hình 3-28 Biểu đồ tiếp diễn
Sau khi tiến hành phân tích các khía cạnh hoạt động (động ) của các Use- Case và từ các mô hình phân tích ta tiến hành phân tích biểu đồ lớp cấu thành Use-Case Design Model-Login CFormLogin (from Login-Analysis) PIN (from Login-Analysis) CKey (from Login-Analysis) -theKey -thePIN UserManager (from Login-Analysis) -userMag -pin -key Hình 3-29 Biểu đồ lớp
Biểu đồ lớp có tính chất quan trọng , nó bao gồm các lớp là các đơn vị cấu thành nên chức năng của Use-Case, còn các biểu đồ khác thì mang tính chất logic, mô tả hành vi của Use-Case. Các Use-Case khác tiến hành phân tích tương tự như vậy, tuy nhiên, một điều cần lưu ý là không nhất thiết phải tiến hành phân tích toàn bộ các loại biểu đồ như trên cho một Use-Case, chỉ sử dụng nếu cảm thấy cần thiết
Trong giai đoạn này, nhất thiết phải tiếp tục đặc tả các Use-Case và công việc này tiến hành hoàn thành trong giai đoạn lặp lần thứ nhất này. Việc đặc tả các
Use-Case tôi đã trình bày ở phần trước các bạn đọc có thể tham khảo cách thức đặc tả Use-Case và xem thêm phần tài liệu của dự án.