Bài giảng UML - Chương 2: Sơ đồ hoạt vụ - Trương Quốc Định
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng UML - Chương 2: Sơ đồ hoạt vụ - Trương Quốc Định", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_uml_chuong_2_so_do_hoat_vu_truong_quoc_dinh.ppt
Nội dung text: Bài giảng UML - Chương 2: Sơ đồ hoạt vụ - Trương Quốc Định
- Chương 2 : Sơ đồ hoạt vụ - Use case diagram GV : TS. Trương Quốc Đinh
- Mục đích của trường hợp sử dụng Trường hợp sử dụng là một kỹ thuật mô tả hệ thống dựa trên quan điểm người sử dụng. Mỗi trường hợp sử dụng là một cách thức riêng biệt để sử dụng hệ thống. Những chức năng mà hệ thống cung cấp sẽ được mô tả trong sơ đồ hoạt vụ. Là sưu liệu cho việc kiểm thử hệ thống Việc mô tả bao gồm Mô tả các chức năng (các trường hợp sử dụng – use case) Các tác nhân bên ngoài (actor) Mối quan hệ giữa tác nhân và các trường hợp sử dụng
- Mục đích của trường hợp sử dụng Sơ đồ hoạt vụ phục vụ cho mục đích Trao đổi thông tin giữa Khách hàng – người sử dụng hệ thống trong tương lai Những người phát triển hệ thống Biến đổi yêu cầu về mặt nghiệp vụ của khách hàng thành yêu cầu cụ thể mà lập trình viên có thể nắm bắt. Là phương tiện đối sánh yêu cầu về mặt nghiệp vụ và các lớp cũng như phương thức của hệ thống.
- Trường hợp sử dụng vs Yêu cầu người dùng Yêu cầu người dùng là cái mà hệ thống phải làm. Trường hợp sử dụng là thao tác người dùng sẽ thực hiện và kết quả mà hệ thống sẽ sinh ra. Trường hợp sử dụng đôi khi lại là phương tiện khơi gợi nên yêu cầu của người dùng. Yêu cầu người dùng đôi khi có tác dụng sưu liệu như là trường hợp sử dụng Người dùng dễ dàng kiểm thử các yêu cầu chức năng Cấu trúc tài liệu hướng dẫn sử dụng Công cụ giúp phát hiện các lớp
- Trường hợp sử dụng vs Yêu cầu người dùng Trường hợp sử dụng không giúp nắm bát tốt các yêu cầu phi chức năng. Trường hợp sử dụng vì thế được xem là một thành phần của đặc tả yêu cầu người dùng.
- Sơ đồ hoạt vụ (Use case Diagrams) Một sơ đồ hoạt vụ mô tả Hệ thống Các tác nhân mà hệ thống sẽ tương tác Các trường hợp sử dụng mà hệ thống sẽ thực hiện Mối liên hệ giữa: hệ thống, tác nhân, trường hợp sử dụng
- Hệ thống Là một thành phần của sơ đồ hoạt vụ trong đó ranh giới của hệ thống phát triển cần phải định nghĩa rõ. Hệ thống không nhất thiết là phần mềm, có thể là một thiết bị, một tổ chức nào đó. Việc định nghĩa ranh giới, phạm vi của hệ thống không là công việc đơn giản Tác vụ nào tự động, tác vụ nào thực hiện thủ công Tác vụ nào do hệ thống khác thực hiện Tên hệ thống
- Tác nhân Không phải là thành phần của hệ thống Là người hay hệ thống khác tương tác với hệ thống Tương tác Nhận thông tin từ hệ thống Gửi thông tin cho hệ thống Nhận và gửi thông tin với hệ thống Một tác nhân là một dạng thực thể (một lớp), chứ không phải một thực thể. Tác nhân mô tả và đại diện cho một vai trò, chứ không phải là một người sử dụng thật sự và cụ thể của hệ thống. Một người dùng cụ thể có thể đóng nhiều vai trò
- Ký hiệu tác nhân > Clerk Clerk
- Quan hệ giữa các tác nhân Giữa các tác nhân chỉ tồn tại duy nhất một quan hệ - quan hệ tổng quát hóa. Một tác nhân A là một sự tổng quát hóa của B nếu A có thể được thay thế bởi B trong mọi trường hợp sử dụng (chiều ngược lại không đúng). Nguoi dung Nguoi dung quan tri
- Tìm tác nhân Đối với một vấn đề cụ thể nào đó thì ai là người quan tâm? Ai sẽ cần sự hỗ trợ của hệ thống để thực hiện những tác vụ hàng ngày của họ? Ai là người sử dụng thông tin của hệ thống? Ai là người cung cấp thông tin cho hệ thống? Ai là người quản trị, bảo trì, giữ cho hệ thống luôn hoạt động? Hệ thống có tương tác với hệ thống nào khác không? Hệ thống máy tính khác Ứng dụng khác trong cùng hệ thống máy tính
- Trường hợp sử dụng (use case) Là một khối chức năng được thực hiện bởi hệ thống để mang lại kết quả có giá trị đối với một tác nhân nào đó. Các tính chất của use case Một Use Case bao giờ cũng được gây ra bởi một tác nhân, được thực hiện nhân danh một tác nhân nào đó. Tác nhân phải ra lệnh cho hệ thống để thực hiện Use Case đó, dù là trực tiếp hay gián tiếp. Một Use Case là phải hoàn tất. Một Use Case sẽ không được coi là hoàn tất chừng nào mà giá trị cuối cùng của nó chưa được sản sinh ra.
- Trường hợp sử dụng (use case) Trường hợp sử dụng, thông thường, được mô tả bằng lời Đặc tả đơn giản, rõ ràng bằng cách nào tác nhân và hệ thống tương tác với nhau. Mô tả phải tuân theo khuôn dạng (template) chuẩn Đặc tả ở mức thao tác người dùng và hành động của hệ thống Không mô tả chi tiết kỹ thuật và phương pháp thực hiện Phân lớn mô tả là liên quan đến giao diện người dùng (user interface)
- Khuôn mẫu mô tả trường hợp sử dụng I. Định danh I.1 Tên - Tên trường hợp sử dụng I.2 Mụ tiêu (tóm tắt) - Trường hợp sử dụng này dùng cho mục tiêu gì? I.3 Tác nhân chính - Ai, cái gì là ác nhân chính khởi tạo, sử dụng trường hợp sử dụng này. I.4 Ngày tạo I.5 Ngày cập nhật mới I.6 Người tạo - Người viết mô tả I.7 Phiên bản
- Khuôn mẫu mô tả trường hợp sử dụng II. Chuỗi hành vi II.1 Mô tả tổng quát chuỗi - Mô tả sơ lược dữ liệu đầu vào, kết quả trả về của hệ thống. II.2 Điều kiện đầu - Điều kiện cần thiết có được trước khi thực hiện trường hợp sử dụng. II.3 Chuỗi liên kết các thống báo - Mô tả trình tự quá trình tương tác giữa tác nhân và hệ thống, kết quả trả về bởi hệ thống. II.4 Xử lý các ngoại lệ - xử lý các ngoại lệ có thể xảy ra trong quá trình tác nhân tương tác với hệ thống. II.5 Điều kiện cuối - trạng thái của hệ thống sau khi thực hiện xong trường hợp sử dụng.
- Khuôn mẫu mô tả trường hợp sử dụng III. Các mục bổ sung tùy ý III.1 Ràng buộc phi chức năng - Mô tả các yêu cầu phi chức năng về tính sẵn sàng, tính cạnh tranh, thời gian đáp ứng, đối với trường hợp sử dụng. III.2 Ràng buộc về giao diện người máy
- Tìm trường hợp sử dụng Với mỗi một tác nhân đã tìm thấy ở bước trước, cần xác định: Những chức năng tác nhân cần hệ thống cung cấp? Tác nhân có cần phải đọc, phải tạo, phải hủy bỏ, phải sửa chữa, hay là lưu trữ một loại thông tin nào đó trong hệ thống? Tác nhân có cần phải báo cho hệ thống biết về những sự kiện nào đó? Những sự kiện như thế sẽ đại diện cho những chức năng nào? Công việc hàng ngày của tác nhân có thể được đơn giản hóa hoặc hữu hiệu hóa qua các chức năng mới cung cấp bởi hệ thống (thường đây là những chức năng tiêu biểu chưa được tự động hóa trong hệ thống)?
- Trường hợp sử dụng Ký hiệu Hình Eclipse chứa tên của trường hợp sử dụng Đặt bên trong đường biên của hệ thống Kết nối với ít nhất một tác nhân bởi quan hệ "kết hợp - association" Traffic Violations Report system Add Traffic Violation Clerk
- Quan hệ giữa tác nhân và use case Quan hệ giữa tác nhân và use case Use Case được nối với tác nhân qua liên kết (association). Đường liên kết chỉ ra những tác nhân nào giao tiếp với Use Case nào. Mối liên kết bình thường ra là một mối quan hệ 1-1 và không có hướng. Điều đó muốn nói lên rằng một thực thể của lớp tác nhân sẽ giao tiếp với một thực thể của một Use Case và cả hai có thể giao tiếp với nhau trong cả hai chiều. Một Use Case sẽ được đặt tên theo một thực thể mà Use Case sẽ thực hiện, ví dụ như ký hợp đồng bảo hiểm, cập nhật danh sách, .
- Quan hệ giữa các trường hợp sử dụng Quan hệ bao hàm (include) Quan hệ sử dụng (use) trong phiên bản cũ Trường hợp sử dụng B được coi là “bao hàm” trường hợp sử dụng A nếu hành vi mô tả B bao hàm hành vi mô tả A. B phải thỏa tiền điều kiện của A Khi mà nhiều use case có chung các chức năng nhỏ, trong trường hợp này chức năng nhỏ đó nên tách thành một use case riêng biệt. Khi đó use case biểu diễn cho các chức năng lớn sẽ bao hàm (sử dụng) use case vừa tách ra. A B >
- Quan hệ giữa các trường hợp sử dụng Quan hệ bao hàm Ví dụ Tao bien lai cho khach hang Nhan thanh toan cuoc tu khach hang > Dang nhap he thong Dinh danh nguoi dung >
- Quan hệ giữa các trường hợp sử dụng Quan hệ mở rộng Nếu hành vi của trường hợp sử dụng B có thể được mở rộng bởi hành vi của trường hợp sử dụng A, ta nói A mở rộng B. Một sự mở rộng thường phải chịu một điều kiện, điều kiện này được biểu diễn dưới dạng một ghi chú (note). Phải cho biết chính xác ở điểm nào của trường hợp đang xét thì mở rộng nó. Trường hợp sử dụng mở rộng thực hiện khi điều kiện mở rộng thỏa hoặc không thực hiện khi điều kiện không thỏa. > A B
- Quan hệ giữa các trường hợp sử dụng Quan hệ mở rộng Ví dụ Thanh toan cuoc phi > Nhan giay bao cuoc extension points Khi co du tien
- Quan hệ giữa các trường hợp sử dụng Quan hệ tổng quát hóa Khi các use case có chung một số tác vụ nhưng lại có thêm các thành phần khác nhau làm cho không thể gộp lại thành một use case. Use case tổng quát và Use case chuyên biệt phải chia sẻ mục tiêu chung. A B
- Quan hệ giữa các trường hợp sử dụng Quan hệ tổng quát hóa Thanh toan cuoc phi Thanh toan bang tien mat Thanh toan bang chuyen khoan
- Ví dụ xây dựng sơ đồ use case cho hệ thống ATM Mô tả Khách hàng muốn giao dịch thì phải đăng nhập vào hệ thống thông qua mã PIN Khi đăng nhập thành công khách hàng có thể truy vấn tài khoản, rút tiền, chuyển tiền hoặc in sao kê tài khoản
- Ví dụ xây dựng sơ đồ use case cho hệ thống ATM System Dang nhap > > ATM In sao ke TK Kiem tra PIN Khach hang Giao dich > > > > Rut tien Xu ly nhap PIN sai > > Truy van so du > Chuyen khoan Kiem tra tinh hop le
- Ví dụ : “Văn phòng luật sư” Một văn phòng luật sư hoat động như sau: Các luật sư phải đăng ký thông tin để có thể làm việc chính thức tại văn phòng. Khi có khách hàng đến đăng ký nhờ bào chữa cho một vụ án thì người tiếp nhận đăng ký là luật sư đảm nhiệm vai trò quản lý. Người quản lý sẽ có trách nhiệm phân công luật sư rảnh theo dõi vụ kiện. Trong quá trình tham gia vụ án, nếu khách hàng không hài long với bất kỳ lý do gì thì luật sư đang theo vụ án sẽ bị loại bỏ. Nếu khách hàng có yêu cầu thì luật sư quản lý sẽ hủy bỏ hợp đồng theo dõi vụ án. Luật sư quản lý cũng có nhu cầu thống kê tỷ lệ án thành công và thất bại. Thông tin vụ án sẽ bị tự động xóa khỏi hệ thống sau 10 năm.
- Ví dụ : “Văn phòng luật sư”