Tự học lập trình assembly - Chương 2: Sơ đồ hoạt vụ - Use case diagram
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.
29 trang |
Chia sẻ: nguyenlam99 | Lượt xem: 1029 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Tự học lập trình assembly - Chương 2: Sơ đồ hoạt vụ - Use case diagram, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 2 : Sơ đồ hoạt vụ - Use case diagramGV : TS. Trương Quốc ĐinhMục đích của trường hợp sử dụngTrườ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ốngViệc mô tả bao gồmMô 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ụngMục đích của trường hợp sử dụngSơ đồ hoạt vụ phục vụ cho mục đích Trao đổi thông tin giữaKhách hàng – người sử dụng hệ thống trong tương laiNhững người phát triển hệ thốngBiế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ùngYê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ụngNgười dùng dễ dàng kiểm thử các yêu cầu chức năngCấu trúc tài liệu hướng dẫn sử dụngCông cụ giúp phát hiện các lớpTrường hợp sử dụng vs Yêu cầu người dùngTrườ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ốngCác tác nhân mà hệ thống sẽ tương tácCác trường hợp sử dụng mà hệ thống sẽ thực hiệnMối liên hệ giữa: hệ thống, tác nhân, trường hợp sử dụng Hệ thốngLà 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ảnTác vụ nào tự động, tác vụ nào thực hiện thủ côngTác vụ nào do hệ thống khác thực hiệnTên hệ thốngTác nhânKhông phải là thành phần của hệ thốngLà người hay hệ thống khác tương tác với hệ thốngTương tácNhận thông tin từ hệ thốngGửi thông tin cho hệ thốngNhận và gửi thông tin với hệ thốngMộ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ânClerk>ClerkQuan hệ giữa các tác nhânGiữ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).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 caseMộ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ốngKhông mô tả chi tiết kỹ thuật và phương pháp thực hiệnPhâ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ụngI. Định danhI.1 Tên - Tên trường hợp sử dụngI.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ạoI.5 Ngày cập nhật mớiI.6 Người tạo - Người viết mô tảI.7 Phiên bảnKhuôn mẫu mô tả trường hợp sử dụngII. Chuỗi hành viII.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ụngIII. 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áyTìm trường hợp sử dụngVớ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ụngKý hiệuHì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ốngKết nối với ít nhất một tác nhân bởi quan hệ "kết hợp - association"Add Traffic ViolationTraffic Violations Report systemClerkQuan hệ giữa tác nhân và use caseQuan hệ giữa tác nhân và use caseUse 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ụngQuan 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 AKhi 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.Quan hệ giữa các trường hợp sử dụngQuan hệ bao hàmVí dụQuan hệ giữa các trường hợp sử dụngQuan hệ mở rộngNế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.Quan hệ giữa các trường hợp sử dụngQuan hệ mở rộngVí dụQuan hệ giữa các trường hợp sử dụngQuan hệ tổng quát hóaKhi 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. Quan hệ giữa các trường hợp sử dụngQuan hệ tổng quát hóaVí dụ xây dựng sơ đồ use case cho hệ thống ATMMô 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ã PINKhi đă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ảnVí dụ xây dựng sơ đồ use case cho hệ thống ATMVí 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ư”
Các file đính kèm theo tài liệu này:
- uml_chuong2_1828.ppt