1. Trang chủ
  2. » Công Nghệ Thông Tin

06 07 use case analysis 97

27 149 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Use Case Analysis Unified Modeling Language Phân tích mơ hình Use Case Giảng viên: Mai Thúy Nga Nội dung môn học Giới thiệu PTTK hướng đối tượng với UML Khái niệm Hướng đối tượng UML Đặc tả u cầu với mơ hình Use Case II Tổng quan Phân tích Thiết kế Phân tích Use Case II OOAD using UML Phân tích Use Case I Ơn tập Mơ hình hóa Thiết kế Use Case Analysis Đặc tả Yêu cầu với mơ hình Use Case I 6/7 - 6/7 - Use Case Analysis Nội dung trình bày Tổng quan phân tích Use Case Sơ đồ lớp phân tích (Analysis Class Diagram) Các sơ đồ tương tác (Interaction Diagram) 6/7 - Use Case Analysis Mô hình phân tích Use-Case Thuật ngữ Hướng dẫn dự án Đặc tả Use Case bổ sung Kiến trúc phần mềm Phân tích Use-Case Mơ hình Use-Case Use Case Analysis OOAD using UML Thực Use-Case Mơ hình phân tích Lớp phân tích 6/7 - 6/7 - Use Case Analysis Phân tích hướng đối tượng (OOA) Phân tích hướng đối tượng (OOA) Tìm kiếm Actor Mơ hình lớp phân tích Mơ hình Use Case Sơ đồ hành động Các sơ đồ tương tác Trách nhiệm, hàm, thuộc tính Xây dựng mẫu Đánh giá & lặp lại 6/7 - Use Case Analysis Mơ hình phân tích q trình phát triển Mức khái niệm Mức giải pháp Mức Kỹ thuật Mơ hình Use-Case Use Case Analysis OOAD using UML Mơ hình phân tích Mơ hình thiết kế Mã nguồn Bản dịch 6/7 - 6/7 - Use Case Analysis Mơ hình phân tích q trình trung gian Mơ hình phân tích mơ hình mức khái niệm hệ thống làm việc ðược phát triển tiến triển nhanh tới giai ñoạn Dễ bị thay ñổi ñể ñảm bảo mức ñộ hoàn thiện phát triển HT Các lớp phân tích thường “mất đi” giai đoạn thiết kế hồn thành Một lớp phân tích thể gói lớp thiết kế, thường ñóng hệ thống (chức con) Có thể coi lớp phân tích lớp “non” ñể thể hành vi ñó (cơ chế phân tích) Khơng nên dành q nhiều thời gian để tạo mơ hình cách q chi tiết, bị thay đổi giai đoạn thiết kế Use Case Analysis 6/7 - Nội dung trình bày Tổng quan phân tích Use Case Sơ đồ lớp phân tích (Analysis Class Diagram) Các sơ đồ tương tác (Interaction Diagram) Use Case Analysis OOAD using UML 6/7 - 6/7 - Use Case Analysis Tìm lớp phân tích Use-Case Tìm lớp phân tích Use Case Mỗi lớp phải có nhiệm vụ trách nhiệm cụ thể Lớp phân tích kết q trình trừu tượng hóa • Thực tế hệ thống • Hoặc tập hợp nhiều lớp bước thiết theo Chức tổng thể Use-Case phải phản ánh đầy đủ lớp phân tích 6/7 - 10 Use Case Analysis Khái niệm lớp phân tích (Analysis Class) System information System boundary Use-case behavior coordination System boundary System information 13 Use Case Analysis OOAD using UML 6/7 - 11 6/7 - Use Case Analysis Lớp biên (Boundary class) Là lớp trung gian thể tương tác hệ thống bên ngồi hệ thống Các lớp biên: Lớp giao diện người dùng hệ thống Lớp hệ thống hệ thống bên ngồi • Ví dụ giao dịch với “hệ thống ngân hàng” Lớp hệ thống thiết bị ngoại vi • Ví dụ “Thiết bị giải mã vạch” Với cặp Actor/Use-Case có lớp biên 6/7 - 12 Use Case Analysis Vai trò lớp biên Actor Actor Mơ hình hố tương tác hệ thống môi trường bao quanh Use Case Analysis OOAD using UML 6/7 - 13 6/7 - Use Case Analysis UC Dangkyhoc: Tìm lớp biên Ít lớp biên cho cặp actor/use case Sinh viên Đăng kí học HT Monhoc API Form Dangky Use Case Analysis HT QL Monhoc Chú ý: Trong ví dụ khơng tìm cách xây dựng HT QL Mơn học, mà sử dụng lại HT bên ngồi, tác nhân 6/7 - 14 Một số ý với lớp biên Các lớp giao diện người dùng (GUI) Tập trung vào cấu trúc thông tin cần thiết cho người dùng Không tập trung vào chi tiết giao diện người dùng Các lớp giao diện hệ thống thiết bị ngoại vi (API) Tập trung vào cấu trúc liệu trao ñổi chúng Tập trung vào giao thức tương tác chúng với hệ thống mức cao Khơng quan tâm đến việc giao thức ñược thực thi liệu ñược truyền ñi Use Case Analysis OOAD using UML 6/7 - 15 6/7 - Use Case Analysis Lớp thực thể (Entity class) Là lớp mô tả thực thể xuất hệ thống Thực thể thơng tin tồn lưu trữ lâu dài hệ thống Chỉ mô tả mức trừu tượng, khơng mơ tả q chi tiết thuộc tính thực thể 6/7 - 16 Use Case Analysis Vai trò lớp thực thể Actor Actor Lưu trữ quản lý thông tin hệ thống Use Case Analysis OOAD using UML 6/7 - 17 6/7 - Use Case Analysis Tìm lớp thực thể Sử dụng luồng kiện Use-Case ñầu vào Sử dụng “khái niệm” trừu tượng hố (Key abstractions) Lọc danh từ Tìm mệnh đề danh từ luồng kiện Loại bỏ số thành phần khơng cần thiết • Thừa, lặp, không rõ ràng Loại bỏ từ mô tả cụ thể thuộc tính thơng tin đó, lưu lại để sau sử dụng cho: • Thuộc tính • Thao tác 6/7 - 18 Use Case Analysis UC Dangkyhoc: Tìm lớp thực thể Chức đăng ký học (Tạo thời khóa biểu) Xem TKB Lophoc Dang ky Mon hoc Monhoc Sinhvien Dang nhap TKB Use Case Analysis OOAD using UML Sinhvien 6/7 - 19 6/7 - Use Case Analysis Lớp ñiều khiển (Control class) ðược sử dụng ñể thực nhiều hành động hệ thống Là lớp thực chức Use Case Với Use Case thích hợp, có nhiều lớp ñiều khiển Analysis class stereotype Use Case 6/7 - 20 Use Case Analysis Vai trò lớp điều khiển Actor Actor Thể hành động, chức Use Case Use Case Analysis OOAD using UML 6/7 - 21 6/7 - 10 Use Case Analysis Nội dung trình bày Tổng quan phân tích Use Case Sơ đồ lớp phân tích (Analysis Class Diagram) Các sơ đồ tương tác (Interaction Diagram) Use Case Analysis 6/7 - 26 Phân bổ hành vi Use Case vào lớp Trong luồng kiện Use Case Tìm lớp phân tích Phân bố chức (hành vi) Use Case vào lớp tìm Thể tương tác lớp hành vi chúng mơ hình tương tác Sơ đồ trình tự Use Case Use Case Analysis OOAD using UML Sơ đồ cộng tác Các sơ đồ để thực Use-Case 6/7 - 27 6/7 - 13 Use Case Analysis Trách nhiệm lớp phân tích Lớp biên Chịu trách nhiệm thể tương tác hệ thống tác nhân bên Chịu trách nhiệm kiểm tra liệu qua lại trình tương tác Lớp thực thể Chịu trách nhiệm quản lý thơng tin ðóng gói thơng tin, thay đổi trạng thái Lớp điều khiển Chịu trách nhiệm cho Use Case Tránh để lớp điều khiển làm q việc 6/7 - 28 Use Case Analysis Sơ ñồ trình tự (Sequence diagram) Đối tượng Client Đối tượng Supplier :Client :Supplier Vòng đời đối tượng 1: //kích hoạt hàm A Thơng điệp gọi 1.1: kích hoạt hàm B Thông điệp (Message) Đoạn điều khiển Use Case Analysis OOAD using UML Đánh số thông điệp theo mức độ 6/7 - 29 6/7 - 14 Use Case Analysis UC Dangkyhoc: Sơ đồ trình tự : S inhvien : F orm D a ng k y hoc : B D K D a ng k y ho c : S inh vien : T KB : L op ho c : M on ho c : H T M on ho c A P I : //d a n g ky ( ) : HT QL M on ho c : //d a n g k y h o c ( ) : //la y lo p h o c m o tr o n g ky ( ) : //la y lop ho c m o tro ng k y ( ) : //du ng M o nh oc tuo ng un g : //d u n g lo p h o c : //la y K Q HT ( ) 8: // ki em tra tien trin h h oc tap( ) 9: // hi en t hi( ) 0: //c ho n lop ( ) 1 : //d a n g k y lo p () : //l ay t h on g ti n lo p ( ) 13 : //k iem tra h op ly ( ) : //d a n g k y lo p ( ) : //ta o T K B ( ) : //d a n g ky T K B ( ) Use Case Analysis 6/7 - 30 Sơ ñồ cộng tác (Collaboration Diagram) Đối tượng Client Quan hệ Đối tượng Supplier :Client :Supplier PerformResponsibility Thông điệp Use Case Analysis OOAD using UML 6/7 - 31 6/7 - 15 Use Case Analysis UC Dangkyhoc: Sơ ñồ cộng tác Use Case Analysis 6/7 - 32 Sơ ñồ cộng tác sơ ñồ trình tự Sơ đồ trình tự Sơ đồ cộng tác Thể rõ trình tự trình tương tác Thể mối quan hệ rõ ràng trình tương tác Thể tốt q trình cơng tác Thể rõ hiệu trình tương tác ñối tượng Thể tốt luồng cơng việc Thể tốt q trình mơ tả luồng kiện phức tạp phương diện thời gian thực Use Case Analysis OOAD using UML 6/7 - 33 6/7 - 16 Use Case Analysis Mô tả nhiệm vụ Sơ đồ tương tác :Client :Supplier // PerformResponsibility Sơ đồ lớp Supplier // PerformResponsibility Use Case Analysis 6/7 - 34 UC Dangkyhoc: Sơ ñồ lớp chi tiết Use Case Analysis OOAD using UML 6/7 - 35 6/7 - 17 Use Case Analysis Kiểm tra tính hợp lý lớp phân tích Hai lớp làm nhiệm vụ Một nhiệm vụ ñược tách rời vào nhiều lớp Một lớp có nhiệm vụ khơng có nhiệm vụ Một lớp tương tác với nhiều lớp khác 6/7 - 36 Use Case Analysis Tìm kiếm thuộc tính Thể thuộc tính, đặc tính lớp Thơng tin cần thiết để để lớp thực thi trách nhiệm (chức năng, hàm) Chú ý đến “danh từ” mà khơng đủ để trở thành lớp q trình tìm kiếm lớp phân tích Lophoc ClassName Attribute : Type = InitValue Attribute : Type = InitValue Attribute : Type = InitValue Use Case Analysis OOAD using UML attribute ID : String = "100" TGbatdau : Time TGketthuc : Time Ngay : Enum SoSV : Int 6/7 - 37 6/7 - 18 Use Case Analysis Quan hệ lớp Quan hệ lớp ñối tượng lớp gửi thơng điệp đến ñối tượng lớp Quan hệ có chiều chiều Trong UML thể đường vẽ khơng mũi tên có mũi tên Sinhvien Monhoc TKB 6/7 - 38 Use Case Analysis Tìm kiếm quan hệ PerformResponsibility Sơ đồ cộng tác :Client :Supplier Liên kết Client Supplier Sơ đồ lớp Client * * Prime suppliers Supplier PerformResponsibility() Quan hệ Thể mối quan hệ tất liên kết Use Case Analysis OOAD using UML 6/7 - 39 6/7 - 19 Use Case Analysis Kiểu quan hệ Một số kiểu quan hệ Tập hợp (aggregation/composition) Kết hợp (association) Phụ thuộc (dependencies) Tổng quát hoá (generalization) 6/7 - 40 Use Case Analysis Kết hợp ðây hình thức hai lớp, đối tượng quan hệ với theo hình thức kết hợp Chúng tồn mà khơng phụ thuộc lẫn nhau, lớp quan hệ mà lớp lại tồn Car Door Use Case Analysis OOAD using UML 2,4 6/7 - 41 6/7 - 20 Use Case Analysis Tập hợp/Thành phần Là hình thức mạnh kết hợp ðây quan hệ mang tính thành phần, lớp thành phần bị lớp chứa ñi TKB Sinhvien * 6/7 - 42 Use Case Analysis Kết hợp hay Tập hợp Nếu ñối tượng thường ñược xem xét ñộc lập, chúng ñược liên kết với Mối quan hệ kết hợp Car Door 2,4 Nếu ñối tượng có mối quan hệ tồn thể thành phần Mối quan hệ tập hợp/thành phần Car Door Use Case Analysis OOAD using UML 2,4 6/7 - 43 6/7 - 21 Use Case Analysis Vai trò lớp mối quan hệ Thể rõ vai trò lớp mối quan hệ Lophoc Chunhiem Giaovien Khoa Truongkhoa Vai trò Monhoc MonhocYCtruoc Use Case Analysis 6/7 - 44 Bội số quan hệ (Multiplicity) Bội số cho phép số lượng ñối tượng cần thiết ñể quan hệ với số lượng đối tượng khác Khơng cụ thể Một Use Case Analysis OOAD using UML Không nhiều * Không nhiều * Một nhiều * Không Khoảng cách cụ thể Khoảng cách cụ thể 2, 6/7 - 45 6/7 - 22 Use Case Analysis Bội số quan hệ Bội số quan hệ trả lời câu hỏi Sự kết hợp bắt buộc hay tuỳ chọn Số lượng nhỏ lớn đối tượng kết nối với ñối tượng lớp khác * Lophoc Monhoc * MonhocYCtruoc 6/7 - 46 Use Case Analysis UC Dangkyhoc: Quan hệ sơ ñồ lớp BDK Dangkyhoc FormDangkihoc 1 Monhoc KyHienTai Sinhvien Monhoc * Monchinh * Lophoc TKB Use Case Analysis OOAD using UML 6/7 - 47 6/7 - 23 Use Case Analysis Hợp lớp phân tích HT Monhoc API FormDangki FormDangki BDK Dangky BDK Dangky Sinhvien Sinhvien Dangkyhoc Lophoc Monhoc TKB Lophoc TKB HT Monhoc API FormDongDangky HT Monhoc API Monhoc BDK DongDangky DongDangky BDK DongDangky Sinhvien FormDongDangki Lophoc Monhoc Use Case Analysis TKB 6/7 - 48 Ví dụ UC Bán hàng mạng Mơ tả: Giả sử có hệ thống hàng ảo mạng UC Mua hàng cho phép khách hàng (KH) mua mặt hàng mong muốn Ví dụ u cầu KH phải thành tốn trực tuyến Tiền ñiều kiện: KH muốn mua hàng cửa hàng ảo KH tốn điện tử tới ngân hàng mà cửa hàng hỗ trợ Hậu ñiều kiện: Thành công KH chấp nhận mua hàng trình tốn với ngân hàng thực thành cơng Hóa đơn lập, hàng hóa dành riêng cho KH Nếu q trình tốn với ngân hàng khơng thành cơng, hóa đơn khơng lập, hàng khơng bán Thực thể: Mặt hàng, Giỏ hàng, ðơn hàng Use case liên quan: Tìm kiếm hàng, quản lý ñơn hàng (Giao hàng) Use Case Analysis OOAD using UML 6/7 - 49 6/7 - 24 Use Case Analysis Luồng kiện cho Use Case KH duyệt, tìm kiếm xem thơng tin mặt hàng muốn mua (xem Use-Case xem hàng) KH lặp lại q trình để mua tiếp mặt hàng khác Giỏ hàng khơng q trình KH tìm/mua mặt hàng khác Nếu giỏ hàng có mặt hàng này, hệ thống báo lại cho KH… Quản lý giỏ hàng 4 KH chọn chức “ðưa hàng vào giỏ hàng” Hệ thống ñưa mặt hàng vào giỏ KH nhập số lượng muốn mua (mặc ñịnh 1) Hệ thống tự ñộng cập nhật giá giỏ hàng Mỗi KH có rỏ hàng riêng rẽ khơng nhìn thấy thơng tin KH chọn chức “Xem giỏ hàng” lúc cần Hệ thống hiển thị giỏ hàng với ñầy ñủ mặt hàng KH ñã chọn, số lượng giá loại KH thay ñổi số lượng, bỏ ñi mặt hàng mà KH khơng muốn mua KH chọn chức thành toán, xem luồng phụ “Thanh toán” Use Case Analysis 6/7 - 50 Luồng phụ: Thanh toán KH chọn chức tốn KH u cầu nhập thẻ tốn địa giao hàng (???) Thơng tin tốn đưa tới ngân hàng, hệ thống chờ kết từ ngân hàng Nếu ngân hàng khơng chập nhận giao dịch (Quá trình xử lý giao dịch ngân hàng định) Hệ thống thơng báo kết tới KH, yêu cầu nhập lại thông tin Nếu ngân hàng chấp nhận (Số tiền tương ứng KH ñược chuyển sang tài khoản cửa hàng) Hệ thống lập ðơn hàng lưu lại (xem Use-Case quản lý ñơn hàng) Số lượng hàng tồn kho ñược giảm tương ứng Hệ thống thông báo thành công cho KH trang web gửi thơng tin đơn hàng qua mail KH Giỏ hàng bị xóa (Nếu mua tiếp, giỏ hàng ñược tạo mới) Use Case Analysis OOAD using UML 6/7 - 51 6/7 - 25 Use Case Analysis Sơ đồ lớp phân tích Use Case Analysis 6/7 - 52 Sơ đồ trình tự Use Case Analysis OOAD using UML 6/7 - 53 6/7 - 26 Use Case Analysis Sơ ñồ cộng tác Use Case Analysis 6/7 - 54 Tổng kết Quy trình phân tích Use Case Vai trò mơ hình phân tích Sự phát triển mơ hình phân tích tới mơ hình thiết kế Sơ đồ lớp phân tích (Analysis Class Diagram) Tìm kiếm lớp phân tích Sơ đồ lớp phân tích Các sơ đồ tương tác (Interaction Diagram) Sơ đồ trình tự, cơng tác Use Case Analysis OOAD using UML 6/7 - 55 6/7 - 27 ... Mơ hình phân tích Use- Case Thuật ngữ Hướng dẫn dự án Đặc tả Use Case bổ sung Kiến trúc phần mềm Phân tích Use- Case Mơ hình Use- Case Use Case Analysis OOAD using UML Thực Use- Case Mơ hình phân... mới) Use Case Analysis OOAD using UML 6/7 - 51 6/7 - 25 Use Case Analysis Sơ ñồ lớp phân tích Use Case Analysis 6/7 - 52 Sơ đồ trình tự Use Case Analysis OOAD using UML 6/7 - 53 6/7 - 26 Use Case. .. tương tác (Interaction Diagram) Use Case Analysis 6/7 - 26 Phân bổ hành vi Use Case vào lớp Trong luồng kiện Use Case Tìm lớp phân tích Phân bố chức (hành vi) Use Case vào lớp tìm Thể tương tác

Ngày đăng: 19/03/2018, 12:47

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN