Bài giảng Phân tích thiết kế hệ thống thông tin - Chương 5: Mô hình hóa chức năng sử dụng use case cung cấp cho người học những kiến thức như: Mô hình hóa chức năng; Biểu đồ use case; Đặc tả use case; Biểu đồ activity; Case study. Mời cá bạn cùng tham khảo!
1 Nội dung PHÂN TÍCH THIẾT KẾ HỆ THỐNG THƠNG TIN Chương Mơ hình hóa chức sử dụng use case Mơ hình hóa chức Biểu đồ use case Đặc tả use case Biểu đồ activity Case study Mơ hình hóa chức 1.1 Bức tranh PTKTHT • Bức tranh PTKTHTTT • Mục đích • Mơ hình hóa chức Bức tranh PTKTHT (2) 1.2 Mục đích • Thiết lập trì thoả thuận khách hàng người tham gia dự án việc hệ thống làm • Khơng nói làm để đạt điều • Giúp cho người phát triển hệ thống hiểu biết rõ yêu cầu hệ thống • Đưa giới hạn mà hệ thống thực KHƠNG thực • Cung cấp thông tin để lập kế hoạch phát triển dự án 1.2 Mục đích (2) 1.2 Mục đích (3) • Cung cấp sở để ước lượng giá thành thời gian để phát triển hệ thống • Nắm bắt yêu cầu mục đích người sử dụng 10 1.3 Mơ hình hóa u cầu (3) 1.3 Mơ hình hóa chức • Mơ hình hóa chức mà hệ thống thực thi • Mơ hình bao gồm chức định trước hệ thống • Sử dụng khái niệm Use Case Các thành phần chính: 11 Nội dung 12 Biểu đồ Use-Case Mơ hình hóa u cầu Biểu đồ use case Đặc tả use case Biểu đồ activity Case study 13 2.1 Actor use case 14 2.1.1 Tác nhân Tác nhân biểu diễn vai trò người dùng hệ thống • Tác nhân (actor) biểu diễn thứ tương tác với hệ thống Ví dụ thiết bị ngoại vi, chí database Actor • Use case (Chức năng) • Mơ tả chức mà hệ thống có • Mục đích để PHÂN TÍCH yêu cầu nghiệp vụ tốn khơng phải để THIẾT KẾ phần mềm Có thể người, máy móc hệ thống khác mà khơng phải xây dựng Có thể chủ động trao đổi thơng tin với hệ thống Có thể người đưa thơng tin vào hệ thống Có thể người nhận thông tin Use Case Actor Không phải phần hệ thống Actors are EXTERNAL 15 Tìm kiếm tác nhân hệ thống • Đặt câu hỏi sau để tìm tác nhân: – Nhóm người yêu cầu hệ thống làm việc giúp họ? – Nhóm người kích hoạt chức hệ thống? – Nhóm người trì quản trị hệ thống hoạt động? – Hệ thống có tương tác với thiết bị hay phần mềm ngoại vi khác hay khơng? • Thơng tin tác nhân: – Tên tác nhân phải mơ tả vai trị tác nhân cách rõ ràng – Tên nên danh từ – Cần mô tả khái quát khả tác nhân 16 Ví dụ tác nhân Tác nhân KHÔNG phải phần hệ thống!!! Tác nhân là: • Người dùng, • Thiết bị phần cứng • Hệ thống phần mềm khác • Tác nhân trao đổi thơng tin với hệ thống: • Gửi thơng tin tới hệ thống • Nhận thơng tin từ hệ thống 17 Tìm use case hệ thống 2.1.2 Use case Mỗi Use-Case biểu diễn cho chức hệ thống Use-Case chuỗi bao gồm nhiều hành động Mỗi Use-Case mở rộng (extext) thành nhiều UseCase khác Mỗi Use-Case bao hàm (include) nhiều Use-Case khác Use-Case đặt bên phạm vi hệ thống Ký hiệu: hình elip + tên Use-Case (động từ) Use Case 18 Mượn sách 19 Những điều nên tránh tạo UC • Xem yêu cầu chức để tìm UC • Đối với tác nhân tìm được, đặt câu hỏi: – Các tác nhân yêu cầu từ hệ thống – Các cơng việc mà tác nhân muốn HT thực thi? – Tác nhân có tạo hay thay đổi liệu HT? – Tác nhân có phải thơng báo cho HT? – Tác nhân có cần thơng tin thơng báo từ HT? • Thơng tin use case: – Tên UC nên rõ kết trình tương tác với tác nhân – Tên nên động từ – Mô tả ngắn gọn mục đích UC Nguyễn Thị Thu Trang, SE-FIT-HUT 20 Ví dụ: Xác định tác nhân Use Case • Tạo UC nhỏ • Hành động đơn giản mà cần mơ tả vài dịng • Tạo nhiều Use case (hàng chục) • Nhóm Use case liên quan thành Use case tổng qt (mức 1) • Mơ tả Use Case tổng quát sơ đồ khác (mức 2) • Ví dụ: “Quản lý sách” bao gồm “Nhập sách”, “Xuất sách”, “…” • Sử dụng Use-case cụ thể, làm việc với liệu cụ thể Ví dụ: • “Tìm sách theo tên” (nên “Tìm sách”) • “Nhập Pin vào máy ATM” (nên “Nhập PIN”) • “Thêm sách” (nên “Quản lý sách” bao gồm “Thêm sách”) 21 Ví dụ: Xác định tác nhân Use Case 23 Xác định Use Case 22 Phân loại tác nhân Xác định Use Case 24 25 2.2 Mối liên hệ (relationship) 26 2.2.1 Mối liên hệ actor với • Khái qt hóa (Generalization) • Mối liên hệ actor với • Tác nhân kế thừa tính chất hành vi tác nhân cha • Khái qt hóa (Generalization) • Mối liên hệ actor use case • Giao tiếp • Mối liên hệ use case với • Generalization: Khái qt hóa • Include: Bao hàm • Extend: Mở rộng 27 2.2.2 Mối liên hệ actor với use case • Thiết lập quan hệ Tác nhân Use Case • Chúng tương tác cách gửi tín hiệu cho • Một use case mơ hình hóa hội thoại tác nhân hệ thống • Một use case bắt đầu tác nhân để gọi chức hệ thống Association Use Case 28 2.2.2 Mối liên hệ actor với use case (2) Chiều quan hệ chiều tín hiệu gửi • Từ tác nhân tới Use Case • Kích hoạt Use case • Hỏi thơng tin hệ thống • Thay đổi thơng tin hệ thống • Thơng báo cho UC kiện đặt biệt xảy với hệ thống • Từ Use Case tới tác nhân: • Nếu có điều xảy với HT tác nhân cần biết kiện • UC đơi cần hỏi thơng tin từ tác nhân trước UC đưa định Actor 29 2.2.3 Mối liên hệ use case với 30 Quan hệ generalization • Generalization • Được sử dụng để vài • • always use tính chất chung nhóm tác nhân UC • Sử dụng khái niệm kế thừa • • sometime use • Mơ tả hành vi chung (chia sẻ) UC cha • Mơ tả hành vi riêng (các) UC 32 • Cho phép UC sử dụng chức UC khác • Chức UC Inclusion bắt buộc gọi UC Base • Sử dụng stereotype 34 • Cho phép mở rộng chức UC • Chèn hành vi UC Extension vào UC Base • Chỉ chèn điều kiện extend (mở rộng, phát sinh) (Khi thực thực UC Base thực UC extension số tình đó, khơng bắt buộc) • Chèn vào lớp sở điểm phát sinh (extension point) • Sử dụng stereotype 35 37 Nội dung Biểu đồ Use Case • Biểu đồ use case (use case diagram) • Là tập hợp actor use case lại; bổ sung mối liên quan (association) chúng lập thành biểu đồ use case Mơ hình hóa u cầu Biểu đồ use case Đặc tả use case Biểu đồ activity Case study 38 Đặc tả use case • Đặc tả use case gì? • Mẫu đặc tả use case • Ví dụ minh họa từ case study 39 Đặc tả Use Case • Kết thúc trình mơ hình hóa u cầu phải đặc tả lại tất Use-case hệ thống • Mỗi Use-Case cần thơng tin • Tên • Tên Use case • Mô tả ngắn gọn: • Mô tả vai trị mục đích use case, tránh kiểu diễn xi tên Use Case • Ràng buộc (điều kiện) • Tiền điều kiện • Hậu điều kiện • Luồng kiện (kịch bản): • Mơ tả lời mà hệ thống làm thể use-case, luồng kiện chính, luồng kiện con, luồng kiện ngoại lệ • Biểu đồ hoạt động • Minh họa luồng kiện mơ hình • Các u cầu đặc biệt… 40 41 Luồng kiện use-case Luồng kiện use-case (2) • Trả lời trình từ bắt đầu đến kết thúc • Luồng (Basic flow) • Luồng lý tưởng mà Use case thường hoạt động use-case • Chỉ mơ tả chi tiết kiện thuộc use-case • Nếu có liên hệ với Use Case khác, nên có phân tích tham khảo ngắn gọn • Mô tả liệu trao đổi tác nhân use-case • Cấu trúc: Ai làm gì, nào, với liệu gì, [vì mục đích gì] • Cần phân tích rõ hệ thống cần phải làm để đáp ứng yêu cầu tác nhân Khơng mặc định cho hệ thống tự biết làm điều • Tránh mơ tả chức GUI (Graphic User Interface) • Tránh mơ tả chung chung, lúc • Luồng phát sinh (Alternative flow) • Sử dụng nhiều lần luồng • Các trường hợp đặc biệt (vd nhấn mạnh tính HT) • Gây lỗi, cách xử lý lỗi tình • Chú ý • Chỉ cần luồng hiểu tác vụ mà Use Case thực thi • Phải có lời gọi luồng phát sinh từ luồng • Tránh viết luồng phát sinh dài luồng • Tránh viết luồng phát sinh dài • Tránh tách nhiều luồng phát sinh 42 Luồng kiện use-case (3) 43 Ví dụ • Kịch thể UC • Một Use Case có nhiều kịch tùy thuộc vào ngữ cảnh cụ thể mà phát sinh UC Rút tiền Gọi UC “Xác thực KH” Hiển thị menu KH chọn chức “Rút tiền” UC Xác thực KH Đưa thẻ vào máy Kiểm tra thẻ KH nhập PIN Hệ thống kiểm tra PIN E1: Thẻ sai E2: Sai PIN E3: 10 44 Ràng buộc: Luồng phát sinh “Rút tiền xu” phát sinh bước luồng • (Có thể có luồng phát sinh khác Hết tiền…) • Luồng phát sinh Rút tiền xu: (Phần viết chung với UC Rút tiền, viết riêng UC tương đối phức tạp) Nếu KH chọn thể loại tiền xu KH nhập số lượng xu Hệ thống tính tổng số tiền cần rút KH chấp nhận Khay tiền xu mở để xuất tiền UC Rút tiền tiếp tục thực • ID: Tác nhân chính: người dùng Loại Use-case: chi tiết cần thiết Mức quan trọng: cao Mức quan trọng: Các 45 Loại: mối quan hệ: Kết hợp Bao hàm Mở rộng Tổng qt hóa Các dịng kiện tổng qt chính: /*mơ tả dịng kiện chính*/ Hoạt động 1: Hoạt động 2: /*hoạt động cho nhiều trường hợp xử lý*/ thực S-1: thực công việc /*TH1*/ thực S-2: thực cơng việc /*TH2*/ Hoạt động 3: … n Hoạt động n: Các dịng kiện chi tiết chính: /*mơ tả hoạt động chi tiết cho trường hợp trên*/ S-1: Thực công việc A /*mô tả cho trường hợp TH1*/ Hoạt động 2…… Hoạt động n S-2: Thực công việc B /*mô tả cho trường hợp TH2*/ Hoạt động 2…… Hoạt động n Các dịng kiện ngoại lệ: /*mơ tả dòng kiện xử lý ngoại lệ cho dịng kiện dịng kiện con*/ 1.a Hoạt động ngoại lệ cho hoạt động 3.a Hoạt động ngoại lệ cho hoạt động S-1 2.a Hoạt động ngoại lệ cho hoạt động S-1 46 Người liên quan công việc quan tâm: người dùng muốn đăng nhập vào ht để thực thao tác HT Mơ tả tóm tắt: Use-Case mô tả xử lý đăng nhập vào HT người dùng Ràng buộc: Người dùng chọn chức đăng nhập từ trang chủ HT Loại: Bên Các Loại Use-case: Mơ tả tóm tắt: • Luồng phát sinh: Tên Use-case: Đặng nhập ID: Tác nhân chính: Người liên quan cơng việc quan tâm: Ví dụ đặc tả UC Rút tiền mặt • Luồng chính: 1.Gọi UC “Xác thực KH” để ktra KH 2.Hiển thị menu 3.KH chọn chức “Rút tiền” 4.Nhập số tiền cần rút 5.HT gửi giao dịch tới ngân hàng chờ chấp thuận 6.Máy ATM xuất tiền (tiền giấy) 7.Trả lại thẻ 8.In biên lai Tên Use-case: mối quan hệ: Kết hợp: Người dùng Bao hàm: khơng có Mở rộng: khơng có Tổng qt hóa: khơng có Các dịng kiện chính: /*mơ tả dịng kiện chính*/ Hệ thống hiển thị hình đăng nhập Người dùng chọn chức năng: /*hoạt động cho nhiều trường hợp xử lý*/ người dùng nhập thông tin đăng nhập thực S-1: xử lý đăng nhập người dùng chọn quên mật thực S-2: xử lý quên mật hệ thống hiển thị hình thông báo kết cho giao tác liên quan đến người dùng Các dịng kiện con: /*mơ tả hoạt động chi tiết cho trường hợp trên*/ S-1: Xử lý đăng nhập kiểm tra thông tin tài khoản Hiển thị hình thơng báo đăng nhập thành công S-2: Xử lý quên mật khẩu: HT hiển thị hình để người dùng nhập Email Người dùng nhập email chọn nút chức lấy lại mật HT kiểm tra email hợp lệ Gởi liên kết để tạo lại mật Gởi email thông báo tạo mật 47 Biểu đồ hoạt động • Biểu đồ hoạt động mơ hình use case sử dụng để lưu lại hoạt động hành động thực use case Minh họa luồng kiện • Biểu đồ luồng (flow chart): Chỉ luồng điều khiển từ hoạt động hành động đến hoạt động/hành động khác Flow of Events This use case starts when the Registrar requests that the system close registration The system checks to see if registration is in progress If it is, then a message is displayed to the Registrar and the use case terminates The Close Registration processing cannot be performed if registration is in progress Activity Activity Activity For each course offering, the system checks if a professor has signed up to teach the course offering and at least three students have registered If so, the system commits the course offering for each schedule that contains it Các dòng kiện ngoại lệ: /*mơ tả dịng kiện xử lý ngoại lệ cho dịng kiện dịng kiện con*/ S-1 2a Xử lý nhập mật sai Hệ thống hiển thị lại hình đăng nhập để khách hàng nhập thông tin Quy lại bước luồng kiện S-1 S-2.3a Xử lý nhập email không hợp lệ Hiển thị thông báo lỗi yêu cầu nhập lại email Quay lại bước S-2 11 49 Biểu đồ hoạt động (2) Biểu đồ hoạt động • Hoạt động • Đặc tả cho hành vi diễn tả luồng thực thi thông qua xếp thứ tự đơn vị nhỏ • Các đơn vị nhỏ bao gồm hoạt động lồng hành động riêng lẻ • Có thể chứa ràng buộc biểu thức logic hoạt động gọi kết thúc 48 50 Biểu đồ hoạt động 51 Biểu đồ hoạt động 12 53 54 55 56 Biểu đồ hoạt động • Được sử dụng để minh hoạ luồng kiện 13 60 Case study – Course Registration 61 Mơ hình hóa nghiệp vụ • Xác định phạm vi, hệ thống, trực quan hóa hệ thống phức tạp • Actor? • Nắm bắt yêu cầu nghiệp vụ, biểu • Use case? • Relationship? Hệ thống diễn quy trình nghiệp vụ • Biểu diễn thay đổi, cải tiến quy trình tồn tại, xây dựng quy trình mới, nâng cấp mơi trường,… Mơ hình hóa 62 63 Các bước mơ hình hóa nghiệp vụ Các bước mơ hình hóa nghiệp vụ • Đánh giá trạng tổ chức • Mục đích: • Đánh giá trạng tổ chức • Đánh giá nắm bắt thơng tin tổ chức • Xác định đối tượng liên quan (stakerholder) khách hàng hệ thống • Định nghĩa phạm vị việc mơ hình hóa nghiệp vụ • Nắm bắt thơng tin tổ chức: • Cơ cấu tổ chức, phân cấp vai trị hệ thống • Mơ tả ngắn gọn thành phần mối quan hệ thông qua sơ đồ tổ chức • Xác định tiềm cải tiến mục tiêu tổ chức • Mơ tả mục tiêu tổ chức Tổ văn phòng Tổ bảo vệ Tổ thu ngân Tổ mặt hàng Tổ tin học Sơ đồ tổ chức siêu thị 14 64 Các bước mơ hình hóa nghiệp vụ • Đánh giá trạng tổ chức Mơ tả Tổ văn phòng Gồm Giám Đốc phó Giám Đốc có nhiệm vụ điều phối tồn hoạt động siêu thị Tổ phải nắm tình hình mua bán, doanh thu siêu thị để báo cáo lại cho ban GĐ Việc báo cáo thực hàng tháng, hàng quý có báo cáo đột xuất theo yêu cầu Tổ bảo vệ Kiểm tra bảo vệ an ninh siêu thị, ghi nhận hàng hóa đổi lại khách hàng Tổ thu ngân Thực việc bán hàng lập hóa đơn cho khách hàng, đồng thời ghi nhận lại số hàng hóa bán loại để báo cáo cho tổ quản lý sau ca làm việc Tổ mặt hàng Kiểm tra chất lượng hàng hóa nắm tình trạng hàng hóa siêu thị, đảm bảo hàng hóa ln tình trạng tốt đến tay khách hàng Khi phát hàng hư hỏng phải kịp thời báo cáo cho tổ văn phịng để có biện pháp giải điều phối hàng Tổ tin học Thực việc thu thập, kết xuất báo cáo cần thiết phục vụ cho tổ văn phòng 65 Các bước mơ hình hóa nghiệp vụ • Đánh giá trạng tổ chức • Nắm bắt phân tích u tố sau: • Hỗ trợ định • Ưu cạnh tranh • Hồn vốn đầu tư, lợi kinh tế rõ ràng • Giảm chi phí • Hỗ trợ cho việc quản lý nghiệp vụ • Khả thực công việc phải nhanh tốt 66 67 Các bước mơ hình hóa nghiệp vụ Các bước mơ hình hóa nghiệp vụ • Đánh giá trạng tổ chức • Xác định đối tượng liên quan khách hàng • Đánh giá trạng tổ chức • Ví dụ: xác định đối tượng liên quan khách hàng hệ thống siêu thị • Đối tượng liên quanL người chịu ảnh hưởng trực tiếp từ tác động hệ thống • Khách hàng: người dùng hệ thống, người liên quan • Mơ tả nhu cầu đối tượng liên quan Tên Đại diện Vai trò Người quản lý Giám đốc, người quản lý siêu thị Theo dõi tiến trình phát triển dự án theo dõi tình hình hoạt động siêu thị Nhân viên bán hàng Tên Người nhập thông tin Chịu trách nhiệm khâu bán hàng hệ thống siêu thị, trì hoạt động siêu thị Mơ tả Đối tượng liên quan Người quản lý Đáp ứng nhu cầu quản lý siêu thị hàng hóa, khách hàng, doanh số Người quản lý Nhân viên bán hàng Đảm bảo hệ thống đáp ứng nhu cầu công việc bán hàng Nhân viên bán hàng Khách hàng Đáp ứng nhu cầu tra cứu thông tin hàng hóa có siêu thị 15 68 69 Các bước mơ hình hóa nghiệp vụ Các bước mơ hình hóa nghiệp vụ • Đánh giá trạng tổ chức • Giới hạn hệ thống phát triển • Đánh giá trạng tổ chức • Giới hạn hệ thống phát triển • Xác định ranh giới phát triển hệ thống cách • Chỉ thực thể nằm ngồi hệ thống • Chỉ thực thể bên tổ chức nằm ngồi hệ thống 70 Các bước mơ hình hóa nghiệp vụ • Đánh giá trạng tổ chức • Ví dụ: xác định trình bày vấn đề hệ thống 71 Các bước mơ hình hóa nghiệp vụ • Xác định thuật ngữ nghiệp vụ 16 72 Mơ hình hóa nghiệp vụ với mơ hình Use case 73 Mơ hình hóa nghiệp vụ với mơ hình Use case • Cách thực • Xác định ranh giới nghiệp vụ • Xác định tác nhân (Actor) • Xác định nghiệp vụ/chức (Use-case) • Xác định mối quan hệ Actor với Actor, Actor với Usecase, Use-case với Use-case • Mơ hình hóa nghiệp vụ với mơ hình Use-case 74 Mơ hình hóa nghiệp vụ với mơ hình Use case 17 ... đổi thông tin với hệ thống: • Gửi thông tin tới hệ thống • Nhận thông tin từ hệ thống 17 Tìm use case hệ thống 2.1.2 Use case Mỗi Use- Case biểu diễn cho chức hệ thống Use- Case chuỗi bao gồm... vụ /chức (Use- case) • Xác định mối quan hệ Actor với Actor, Actor với Usecase, Use- case với Use- case • Mơ hình hóa nghiệp vụ với mơ hình Use- case 74 Mơ hình hóa nghiệp vụ với mơ hình Use case. .. Mỗi Use- Case mở rộng (extext) thành nhiều UseCase khác Mỗi Use- Case bao hàm (include) nhiều Use- Case khác Use- Case đặt bên phạm vi hệ thống Ký hiệu: hình elip + tên Use- Case (động từ) Use Case