Trong phân tích, nhà phân tích xây dựng mô hình chức năng (functional models) để thể hiện hành vi của hệ thống. Đồng thời, nhà phân tích cần hiểu được những thông tin được sử dụng và sinh ra bởi hệ thống. Mô hình cấu trúc hay mô hình quan niệm (Structuralconceptual models) giúp mô tả kết cấu của dữ liệu phục vụ cho nghiệp vụ của tổ chức. Trong pha phân tích, mô hình cấu trúc trình bày sự tổ chức dữ liệu ở mức luận lý mà không quan tâm đến khía cạnh chi tiết kỹ thuật để thực hiện điều đó. Cụ thể, nó trình bày các đối tượng của hệ thống và mối quan hệ giữa chúng: con người (people), nơi chốn (places), đồ vật (things). Và nói một cách tổng quát, ở pha phân tích, ta xây dựng nên một mô hình cấu trúc và tiếp tục phát triển nó thành mô hình thiết kế bằng việc sử dụng: thẻ CRC, sơ đồ lớp và sơ đồ đối tượng.
MỤC LỤC Mục tiêu của bài - Hiểu quy tắc dẫn hình thức để tạo thẻ CRC, sơ đồ lớp sơ đồ đối tượng - Hiểu quy trình tạo thẻ CRC, sơ đồ lớp sơ đồ đối tượng - Có thể vẽ thẻ CRC, sơ đồ lớp sơ đồ đối tượng - Hiểu mối quan hệ mơ hình cấu trúc use case GIỚI THIỆU Trong phân tích, nhà phân tích xây dựng mơ hình chức (functional models) để thể hành vi hệ thống Đồng thời, nhà phân tích cần hiểu thơng tin sử dụng sinh hệ thống Mô hình cấu trúc hay mơ hình quan niệm (Structural/conceptual models) giúp mô tả kết cấu liệu phục vụ cho nghiệp vụ tổ chức Trong pha phân tích, mơ hình cấu trúc trình bày tổ chức liệu mức luận lý mà không quan tâm đến khía cạnh chi tiết kỹ thuật để thực điều Cụ thể, trình bày đối tượng hệ thống mối quan hệ chúng: người (people), nơi chốn (places), đồ vật (things) Và nói cách tổng quát, pha phân tích, ta xây dựng nên mơ hình cấu trúc tiếp tục phát triển thành mơ hình thiết kế việc sử dụng: thẻ CRC, sơ đồ lớp sơ đồ đối tượng MƠ HÌNH CẤU TRÚC Mơ hình cấu trúc vẽ thơng qua q trình lặp, theo mơ hình trở nên ngày chi tiết, tính quan niệm giảm dần: - Đầu tiên, mơ hình vẽ mức quan niệm, tập trung mặt nghiệp vụ (tại pha phân tích) - Sau đó, mơ hình tinh chỉnh theo hướng kỹ thuật để mô tả sở liệu tệp liệu thực (tại pha sau) Và mơ hình câu trúc pha phân tích tập trung mặt nghiệp vụ, mơ hình tạo nên phận ngơn ngữ chung cho phép nhà phân tích hệ thống người sử dụng giao tiếp hiệu Mục tiêu nhà phân tích thực việc mơ hình hóa cấu trúc khai phá liệu phạm vi quan tâm (problem domain) xây dựng nên mơ hình cấu trúc đối tượng hệ thống giải pháp 2.1 Classes, Attributes, and Operations - Lớp (classes): định dạng tổng quát/khung sườn cho thể cụ thể hay đối tượng thuộc lớp (con người, nơi chốn, đồ vật) Các đối tượng lớp giống mặt cấu trúc, hành vi khác biệt giá trị thuộc tính Có loại lớp dùng phân tích: trừu tượng (“abstract”, có ích khơng có thực) cụ thể (“concrete/domain”, đối tượng có thực) (Minh họa cho tính trừu tượng) - Thuộc tính (Attributes): đặc tính giúp mơ tả trạng thái đối tượng - Hoạt động (Operations, chuyển thành methods giai đoạn sau): hành động hay chức mà lớp thực 2.2 Quan hệ (Relationships) - Quan hệ (Relationships): mô tả cách thức lớp quan hệ với nhau, hay gọi chế trừu tượng hóa liệu - loại quan hệ UML: ▪ Tổng quát hóa (generalization): cho phép việc kế thừa thuộc tính hoạt động lớp khác, thể mối quan hệ “loại” (a-kind-of relationship) ▪ Tổng hợp (aggregation): kết nối thành phần vào tổng thể, thể mối quan hệ “một phần của” (a-part-of relationship) ▪ Kết hợp (association): mối quan hệ hỗn hợp lớp lớp nó, dạng yếu mối quan hệ tổng hợp 2.3 Một vài kỹ thuật nhận dạng đối tượng (Object Identification) - Phân tích từ ngữ use case (Textual analysis of use-case information) ▪ Danh từ -> lớp (classes) ▪ Động từ -> hoạt động (operations) ▪ Đơn giản, giúp có trích ngang danh sách đối tượng - Chi tiết: - Phần mở rộng: Gây ý tưởng (Brainstorming) - người tham gia đề xuất ý tưởng ▪ Hình thành danh sách ban đầu lớp hay đối tượng ▪ Tiếp theo, thuộc tính, hoạt động mối quan hệ với lớp khác định - Danh sách đối tượng thông dụng (Common Object Lists) ▪ Những thứ vật chất, hữu hình (physical/tangible things) ▪ Sự kiện (incidents/events) ▪ Những vai trò (roles) ▪ Những tương tác/giao dịch (interactions/ transactions) - Patterns (tạm dịch, mẫu chuyên dụng/mang tính quy luật) ▪ Nhóm lớp có quan hệ hữu dụng, dùng lại, áp dụng giải pháp cho vấn đề phổ biến ▪ Các mẫu phát triển cho phép tiếp cận công việc phạm vi tương tự - Chi tiết: CRC CARDS 3.1 Trách nhiệm Cộng tác (Responsibilities and Collaborations) Trách nhiệm lớp chia thành hai loại riêng biệt: biết làm (knowing and doing) - Knowing responsibilities mà thể lớp (đối tượng) phải biết Một thể lớp hầu hết biết giá trị thuộc tính mối quan hệ - Doing responsibilities việc mà thể lớp phải thực Đơn cử, thể lớp phải thực hoạt động nó yêu cầu cá thể thứ hai, mà biết, thực hoạt động thay cho thể ban đầu Mơ hình cấu trúc mơ tả đối tượng cần thiết giúp hỗ trợ quy trình nghiệp vụ, mơ hình hóa use case Hầu hết use case liên quan đến tập hợp nhiều lớp, không lớp Các lớp tạo thành hợp tác (collaboration) Sự hợp tác cho phép nhà phân tích suy nghĩ đối tượng khách, chủ hợp đồng Một đối tượng máy khách thể lớp gửi yêu cầu đến thể lớp khác để thực thi hoạt động Đối tượng máy chủ thể nhận yêu cầu từ đối tượng khách hàng Một hợp đồng hợp thức hóa tương tác đối tượng máy khách máy chủ Ví dụ: bệnh nhân đặt lịch hẹn với bác sĩ Điều đặt nghĩa vụ cho bệnh nhân bác sĩ phải có mặt thời gian hẹn Nếu không, hậu quả, chẳng hạn toán cho bệnh nhân cho hẹn hay ta xuất hiện, bị xử lý Ngoài ra, hợp đồng nên viết rõ lợi ích khách hàng nào, chẳng hạn điều trị kê đơn cho điều bệnh nhân khoản tốn cho bác sĩ cho dịch vụ cung cấp.Một nhà phân tích sử dụng ý tưởng trách nhiệm lớp hợp tác khách hàng - máy chủ - hợp đồng Các hoạt động giúp xác định lớp, với thuộc tính, phép toán quan hệ, liên quan đến trường hợp sử dụng Một cách dễ dàng để sử dụng thẻ CRC phát triển mô hình cấu trúc thơng qua anthropomorphism - pretending lớp có đặc điểm người Điều thực cách để nhà phân tích người dùng đóng vai giả vờ chúng thể lớp xem xét Sau họ hỏi câu hỏi họ đặt câu hỏi thành viên khác nhóm phát triển Ví dụ: - Who are you or what are you? - What you know? - What can you do? 3.2 Các yếu tố thẻ CRC (Elements of a CRC Card) Class Responsibility Colaboration Card hay gọi thẻ CRC Thẻ sử dụng để mô tả: - Trách nhiệm lớp - Sự cộng tác lớp Bộ thẻ CRC chứa tất thông tin cần thiết để xây dựng mơ hình cấu trúc logic vấn đề điều tra Hình cho thấy thẻ CRC mẫu Mỗi thẻ CRC nắm bắt mô tả yếu tố thiết yếu lớp Trong nhiều năm, thẻ CRC (class-responsibility-collaboration card) sử dụng pha phân tích hướng đối tượng Đối với lớp, nhóm phát triển điền vào thơng tin như: tên lớp, chức lớp (responsibility) danh sách lớp gọi đến chức lớp (collaboration) Cách tiếp cận sau mở rộng Trước hết thẻ CRC bao hàm cách tường minh thuộc tính phương thức lớp, không chức mô tả ngôn ngữ tự nhiên Công nghệ thay đổi Thay sử dụng thẻ, số cơng ty phần mềm ghi tên lớp mẫu giấy ghi (Post-it note) dịch chuyển vòng quanh bảng trắng; đoạn thẳng vẽ bảng nối mẫu giấy để biểu thị tương tác Ngày toàn cách làm tự động hóa: cơng cụ CASE System Architect có chứa module tạo cập nhật thẻ CRC hình Điểm mạnh thẻ CRC là, làm việc theo nhóm nhờ trao đổi thành viên phát điều cịn thiếu hay khơng xác lớp Mối quan hệ lớp làm rõ Điểm mạnh kỹ thuật phân phát thẻ cho thành viên, thành viên xem xét kỹ lớp mà họ chịu trách nhiệm, đồng thời xem xét có ý kiến đóng góp cho lớp khác Nhờ làm việc trao đổi hợp tác vậy, biểu đồ lớp đầy đủ xác Điểm yếu kỹ thuật CRC khơng có phương pháp tốt để nhận diện lớp, thành viên không am hiểu nhiều lĩnh vực ứng dụng tương ứng Tuy nhiên, cách nhà phát triển xác định nhiều lớp thơng qua cộng tác, trao đổi thẻ CRC công cụ tuyệt vời để bảo đảm mơ hình lớp đưa đầy đủ xác Ví dụ: - Mặt trước thẻ cho phép ghi lại: ▪ Tên (class’s name) ▪ ID ▪ Loại (type) ▪ Mô tả (description) ▪ Danh sách trường hợp sử dụng liên quan (list of associated use cases) ▪ Trách nhiệm (responsibilities) ▪ Cộng tác (collaborator) - Mặt sau thẻ CRC chứa thuộc tính mối quan hệ lớp Các thuộc tính lớp đại diện cho trách nhiệm biết mà cá thể lớp phải đáp ứng Có ba loại mối quan hệ thường nắm bắt thời điểm này: tổng quát hóa (Generalization) , tổng hợp (Aggregation) liên kết khác (Other Associations) Ví dụ: Generalization: Person, Aggregation: Medical History, Other Associations: Appointment) Nói tóm lại, thẻ CRC sử dụng để ghi lại thuộc tính thiết yếu lớp Tuy nhiên, thẻ điền đầy đủ, nhà phân tích sử dụng thẻ việc nhập vai để tìm thuộc tính cịn thiếu cách thực tình khác liên 10 ▪ Nhất lớp ▪ OperationName(parameter:type, ): returnType ▪ Ví dụ: GetCustomerName(CustomerID:int): string - Ví dụ: 4.1.2 Relationships – Mối quan hệ giữa các lớp Relationship thể mối quan hệ Class với Mối quan hệ kiểu sau: - Ví dụ: - Realization - Generalization - Dependency - Association ▪ Aggregation ▪ Composition ● Realization (Hiên thực hoa): - Ký hiêu UML: - Hành vi tách biêt khỏi hiên thực - Trong mối quan hệ thực, thực thể (thường giao diện) xác định tập hợp chức hợp đồng thực thể (thường lớp) “hiện thực hóa” hợp đồng cách thực chức xác định hợp đồng - Hiện thực hiển thị sơ đồ lớp thành phần - Khớp nối lỏng lẻo - Mối quan hệ thực hóa lớp/thành phần giao diện cho thấy lớp / thành phần thực hoạt động cung cấp giao diện 13 - Ví dụ: ● Generalization (tổng quát): - Ký hiêu UML: - Là mối liên hệ “là loại” (“is a kind of”) - Generalization chế để kết hợp lớp đối tượng tương tự thành lớp nhất, tổng quát - Generalization xác định điểm giống tập hợp thực thể, thuộc tính, hành vi hai tạo thành superclass - Một supperclass chứa thuộc tính, hoạt động mối quan hệ chung chia sẻ với subclass - Xác định phân cấp mức độ trừu tượng hóa lớp kế thừa từ nhiều lớp cha ▪ Đơn kế thừa (Single inheritance): môt lớp kế thừa từ nhiều lớp khác ▪ Đa kế thừa (Multiple inheritance): - o Mơt lớp kế thừa từ nhiều lớp khác o Sử dụng đa kế thừa cần thiết cân thân sử dụng dẫn đến nhiều rắc rối, phức tạp o Phụ thuôc vào ngôn ngữ lâp trình Ví dụ: 14 ● Dependency (Phụ thc): - Ký hiêu UML: - Đại diên cho mối quan “use-a” - Là quan hệ phần tử mơ hình mà thay đổi phần tử (phần tử độc lập) gây thay đổi phần tử (phần tử phục thuộc) - Ví dụ: ● Association (liên kết): - Ký hiêu UML: - Đại diên cho mối quan “has-a” - Là quan hệ hai hay nhiều instance class hủy instance không ảnh hưởng tới instance khác, có bốn loại hai chiều, chiều, aggregation tự thân, hai chiều chiều hay dùng - Association liên kết class mà không sở hữu Vịng đời thể class độc lập khơng có mối quan hệ sở hữu biểu diễn - Ví dụ: ● Aggregation (tổng hợp): - Ký hiêu UML: - Là dạng liên kết đặc biệt Association, mối quan h ê kết hợp lớp đó: ▪ Là mối quan “là môt phần” (“is a part-of”) ▪ Một lớp tập hợp (Whole) chứa lớp khác (Part) đối tượng tạo thành từ đối tượng khác ▪ Vòng đời lớp chứa khơng phụ thuộc vào lớp chứa nó, Nếu lớp chứa bị hủy lớp chứa tồn 15 - Ví dụ: ● Composition (thành phần): - Ký hiêu UML: - Thể mối quan hệ thực tế phần nhiều lớp lớp - Mơt dạng Aggregation có tính sơ hữu cao chu kỳ sống - Một đường liền nét với viên kim cương lấp đầy liên kết kết nối với lớp composite - Môt dạng kết tâp với quyền sở hữu mạnh vòng đời trùng khớp hai lớp ▪ Whole sở hữu Part, tạo hủy Part ▪ Part bị bỏ Whole bị bỏ, Part tồn Whole không tồn - Ví dụ: ❖ Lưu y : Phân biệt Dependency Association - Association quan hệ cấu trúc - Dependency qua hệ phi cấu trúc ● Ngoài ra, Mối quan hệ có đa dạng (Multiplicity) - Bơi số quan số lượng thể hi ên môt lớp liên quan tới m ôt thể hi ên lớp khác - Với liên kết, có hai bôi số quan cho hai đầu liên kết 16 ● Ví dụ tổng quát: 4.2 Simplifying Class Diagrams (Đơn giản hóa sơ đồ lớp) - Chỉ hiển thị lớp cụ thể - Sử dụng chế khung nhìn: ▪ Chỉ hiển thị lớp mối quan hệ liên quan đến trường hợp sử dụng cụ thể ▪ Chỉ hiển thị kiểu quan hệ cụ thể: tập hợp, liên kết khái quát 17 ▪ Để hạn chế thông tin hiển thị với lớp - Sử dụng gói: ▪ Giúp đồ dễ đọc giữ cho mơ hình mức độ phức tạp hợp lý ▪ Các gói cấu trúc chung áp dụng cho phần tử mơ hình UML 4.3 Object Diagrams - Loại sơ đồ cấu trúc tnh thứ hai - Biểu đồ đối tượng cho thấy mối quan hệ lớp khởi tạo lớp xác định, mối quan hệ đối tượng hệ thống - Chúng hữu ích để giải thích phần nhỏ hệ thống bạn, biểu đồ lớp hệ thống bạn phức tạp đơi mơ hình hóa mối quan hệ đệ quy biểu đồ - Biểu đồ đối tượng biểu đồ lớp có liên quan chặt chẽ với sử dụng ký hiệu gần giống hệt (Cách tốt để minh họa sơ đồ đối tượng trông hiển thị sơ đồ đối tượng bắt nguồn từ sơ đồ lớp tương ứng) - Điểm khác class diagram object diagram: ▪ Biểu đồ lớp hiển thị lớp , biểu đồ đối tượng hiển thị thể lớp ( đối tượng ) ▪ Sơ đồ đối tượng cụ thể sơ đồ lớp Chúng thường sử dụng để cung cấp ví dụ hoạt động trường hợp kiểm tra cho sơ đồ lớp ▪ Chỉ khía cạnh quan tâm mơ hình thường hiển thị sơ đồ đối tượng - Ví dụ: 18 TẠO THẺ VÀ SƠ ĐỒ LỚP Việc tạo mơ hình cấu trúc q trình lặp lặp lại, theo nhà phân tích thực trích ngang mơ hình sau tinh chỉnh theo thời gian Trên thực tế, mơ hình cấu trúc trở nên phức tạp, có hệ thống có sơ đồ lớp chứa hàng trăm lớp Trong này, thực lần lặp lại việc tạo mơ hình cấu trúc Trước thực việc này, trình bày tập hợp phương pháp để xác định tinh chỉnh đối tượng ứng viên cung cấp bước cách tiếp cận để tạo mơ hình kết cấu cắt thơ ban đầu 5.1 Xây dựng thẻ CRC sơ đồ lớp Điều quan trọng cần nhớ thẻ CRC sơ đồ lớp sử dụng để mơ tả mơ hình cấu trúc tương lai hệ thống phát triển, chúng thường sử dụng cho mơ hình tương lai Có nhiều cách khác để xác định tập hợp đối tượng ứng viên để tạo thẻ CRC sơ đồ lớp Ngày nay, hầu hết việc xác định đối tượng bắt đầu với Usecase phổ biến rộng rãi Trong phần này, nhóm mơ tả quy trình bảy bước sử dụng để tạo mơ hình cấu trúc Các bước nhận dạng đối tượng mơ hình cấu trúc Tạo thẻ CRC việc thực phân tích nguyên văn Use-Case Nếu dùng phương pháp danh sách đối tượng phổ biến: Cần tìm thêm vào lớp, thuộc tích, phương thức quan hệ Sử dụng thẻ CRC phân vai cho Use-Case 19 Tạo sơ đồ lớp dựa thẻ CRC Xem lại mơ hình cấu trúc để tìm lớp, thuộc tính, phương thức quan hệ cịn thiếu khơng cần thiết Kết hợp mẫu hữu ích Duyệt lại mơ hình cấu trúc Cụ thể: - Bước 1: Tạo thẻ CRC việc thực phân tích ngun văn Use-Case Chúng ta bắt đầu tạo mơ hình cấu trúc với sơ đồ lớp thay tạo thẻ CRC Tuy nhiên, việc tạo thẻ CRC dễ dàng nên tạo thẻ CRC trước sau chuyển thơng tin từ thẻ CRC thành sơ đồ lớp Vì vậy, bước quy trình tạo thẻ CRC Trước hết, thực phân tích nguyên văn use-case Về cách nhận diện đối tượng qua phương pháp phổ biến: Phân tích nguyên văn Danh sách đối tượng phổ biến Sử dụng mẫu Cuối cùng, thực phân tích nguyên văn Usecase xong ghi lại tất thông tin tiết lộ cho đối tượng ứng viên Thẻ CRC - Bước 2: Bước thứ hai phân tích lớp, đối tượng, thuộc tính, phương thức quan hệ ứng viên bổ sung cách sử dụng phương pháp tiếp cận danh sách đối tượng phổ biến Có câu hỏi đặt rằng: Sự cố tương tác diễn miền vấn đề tiếp cận danh sách đối tượng phổ biến? Các bạn thấy dễ dàng rằng, bắt đầu với UC, có nhiều lớp, đối tượng, thuộc tích, phương thức quan hệ Các vấn đề dễ dàng mở rộng sửa đổi để nguồn thông tin đa dạng Điều rõ ràng gây việc sử dụng usecase phải sửa đổi Sau sửa đổi tiến hành cập nhật lại thông tin thẻ CRC - Bước 3: Bước thứ ba nhập vai tình use-case qua việc sử dụng thẻ CRC Mỗi thẻ CRC nên định cho cá nhân, cá nhân hình thành hoạt động cho lớp thẻ CRC Khi người biểu diễn thực vai trị họ, hệ thống có xu hướng bị phá vơ Khi điều xảy ra, lớp, đối tượng, thuộc tính bổ sung, phương thức quan hệ xác định.Cũng giống bước trước, có cập nhật thơng tin lưu lại ghi thẻ CRC tạo sửa đổi CRC thực - Bước 4: 20 Bước thứ tư tạo sơ đồ lớp dựa thẻ CRC Thơng tin có thẻ CRC chuyển đến sơ đồ lớp Theo nguyên tắc chung, thuộc tính riêng tư phương thức cơng khai.Ở bước này, nhà phân tích phải kiểm tra mơ hình sau tiến hành bổ sung để sử dụng mối quan hệ tổng hợp tổng quát hóa Các kiểu quan hệ đơn giản hóa mơ tả lớp riêng lẻ Sau đó, phải cập nhật lại thẻ CRC - Bước 5: Bước thứ năm xem xét mơ hình cấu trúc để tìm lớp, thuộc tính, phương thức quan hệ bị thiếu không cần thiết Cho đến bước này, trọng tâm q trình bổ sung thơng tin vào mơ hình phát triển Tại thời điểm này, trọng tâm bắt đầu chuyển từ việc bổ sung thông tin sang việc thách thức lý đưa thông tin có mơ hình - Bước 6: Bước thứ sáu kết hợp mẫu hữu ích vào mơ hình cấu trúc phát triển Một mẫu hữu ích mẫu cho phép nhà phân tích mơ tả đầy đủ lĩnh vực đối tượng diễn Mẫu hữu ích bao gồm vai trị đối tượng, kế hoạch, tài chính, liệu… Sau xác định mẫu hữu ích này, nhà phân tích kết hợp mẫu xác định vào sơ đồ lớp sửa đổi thẻ CRC bị ảnh hưởng Điều bao gồm thêm xóa lớp, thuộc tính, phương thức quan hệ - Bước 7: Bước cuối xác nhận mơ hình cấu trúc, bao gồm thẻ CRC sơ đồ lớp Điều thực tốt nhà phân tích trình bày với đối tượng bên người dùng để hoàn chỉnh sửa đổi, làm thẻ CRC nhiều góc độ để tạo mơ hình cấu trúc hồn thiện ÁP DỤNG CÁC KHÁI NIỆM TRONG LỰA CHỌN CD ● Bước 1: Tạo thẻ CRC Đầu tiên, Alec thực tạo thẻ CRC cách thực phân tích văn Use case Để bắt đầu, Alec chọn Use - case Đặt hàng Sau đó, Alec sử dụng quy tắc phân tích văn để xác định lớp ứng viên, thuộc tính, hoạt động mối quan hệ, từ xác định lớp Khách hàng, Yêu cầu tìm kiếm, CD, Danh sách Đánh giá Alec phát ba loại yêu cầu tìm kiếm khác nhau: Tìm kiếm theo tiêu đề, Tìm kiếm nghệ sĩ Tìm kiếm danh mục Bằng cách áp dụng quy tắc phân tích văn cho Mô tả ngắn gọn, lớp ứng cử viên bổ sung phát hiện: Thứ tự Bằng cách xem xét động 21 từ có Use - case, Alec thấy Khách hàng đặt hàng Khách hàng thực Yêu cầu tìm kiếm Để kỹ lương có thể, Alec xem xét yêu cầu ban đầu sử dụng để tạo Use - case Sau xem xét thông tin này, họ xác định tập hợp thuộc tính cho Khách hàng (tên, địa chỉ, email thẻ tín dụng) Đặt hàng (CD để mua số lượng) lớp ứng viên bổ sung phát hiện: Danh mục CD Trung tâm toán thẻ tín dụng Hơn nữa, Alec nhận lớp Tìm kiếm Danh mục sử dụng lớp Danh mục CD Cuối cùng, họ xác định ba phân lớp Danh mục CD: Rock, Jazz Classical Mục tiêu Alec, thời điểm này, hoàn thành hết mức Do đó, ơng nhận họ xác định nhiều lớp ứng viên, thuộc tính, phép tốn mối quan hệ khơng đưa vào mơ hình cấu trúc cuối ● Bước 2: Kiểm tra danh sách đối tượng chung Alec suy nghĩ lớp ứng viên bổ sung, thuộc tính, hoạt động mối quan hệ Anh yêu cầu thành viên nhóm dành phút suy nghĩ xem họ muốn lưu giữ thơng tin CD Thơng tin mà họ nghĩ số tập hợp thuộc tính - ví dụ: tiêu đề, nghệ sĩ, số lượng có, giá danh mục Sau đó, Alec yêu cầu thành viên nhóm dành thêm phút suy nghĩ thông tin nên lưu trữ đơn đặt hàng trách nhiệm đơn đặt hàng Các trách nhiệm xác định tập hợp hoạt động, bao gồm tính thuế, tính giá gia hạn, tính phí vận chuyển tính tổng Các thuộc tính (CD cần mua số lượng) Order cho khách hàng nên phép đặt hàng nhiều CD cho phép CD khác đặt đơn hàng Tuy nhiên, cấu trúc mơ hình khơng cho phép điều Do đó, Alec tạo lớp liên kết với lớp Đơn hàng lớp CD: Chi tiết Đơn hàng Lớp có thuộc tính, số lượng, có hai mối quan hệ: với Order với CD Khi xem xét lớp Khách hàng, họ định thuộc tính tên địa cần mở rộng; tên phải trở thành họ, tên chữ viết tắt, địa phải trở thành địa đường phố, thành phố, tiểu bang, quốc gia mã zip Thẻ CRC hạng Khách hàng hạng Đơn hàng cập nhật thể hình 22 ● Bước 3: Nhập vai thẻ CRC Bước thứ ba đóng vai lớp ghi thẻ CRC Mục đích bước xác nhận trạng thái mô hình cấu trúc phát triển Alec đưa thẻ CRC cho thành viên khác nhóm Sử dụng thẻ CRC, bắt đầu thực trường hợp Use - case khác , để xem liệu mơ hình cấu trúc hỗ trợ Use case hay không liệu trường hợp sử dụng có khiến hệ thống gặp cố hay khơng Bất hệ thống gặp cố, thiếu thứ đó: lớp, thuộc tính, mối quan hệ phép tốn Sau đó, họ thêm thơng tin cịn thiếu vào mơ hình cấu trúc thử thực lại Use - case Đầu tiên, Alec định khách hàng yêu cầu hệ thống thực tìm kiếm tất CD có liên quan đến nghệ sĩ cụ thể Dựa thẻ CRC tại, nhóm nghiên cứu cảm thấy hệ thống tạo danh sách xác đĩa CD Sau đó, họ cố gắng yêu cầu hệ thống cung cấp đánh giá đĩa CD Tại thời điểm tập, hệ thống gặp cố Các thẻ CRC khơng có lớp Đánh giá liên kết với lớp CD Trước đó, khơng có cách để lấy thơng tin yêu cầu Quan sát đặt câu hỏi khác: liệu có thơng tin tiếp thị khác nên cung cấp cho khách hàng Tiếp theo, Alec nhận thông tin nhà cung cấp phải lớp riêng biệt liên kết với CD khơng phải thuộc tính bổ sung CD Điều nhà cung cấp có thêm thơng tin hoạt động họ Mơ hình hóa thơng tin nhà cung cấp 23 thuộc tính CD, thơng tin hoạt động bổ sung bị Họ tiếp tục nhập trường hợp sử dụng họ cảm thấy thoải mái với khả hỗ trợ trường hợp sử dụng mơ hình cấu trúc ● Bước 4: Tạo sơ đồ lớp Bước thứ tư tạo sơ đồ lớp từ thẻ CRC Trạng thái mơ hình cấu trúc phát triển mô tả biểu đồ lớp dựa trường hợp Use- case Đặt Hàng ● Bước 5: Xem lại Sơ đồ lớp Bước thứ năm xem xét mơ hình cấu trúc để tìm lớp, thuộc tính, phép toán mối quan hệ bị thiếu / không cần thiết Tại thời điểm này, Alec thử thách tất thành phần mơ hình (lớp, thuộc tính, mối quan hệ hoạt động) dường khơng bổ sung điều hữu ích cho mơ hình Nếu thành phần khơng thể chứng minh đầy đủ, họ loại bỏ khỏi mơ hình cấu trúc Bằng cách xem xét cân thận trạng thái mơ hình cấu trúc, họ thử thách phần ba số lớp có biểu đồ lớp Khơng có thuộc tính hoạt động cho lớp Do đó, ý tưởng danh mục CD mơ hình hóa thuộc tính CD Ngồi ra, xem xét thêm lớp Yêu cầu tìm kiếm lớp nó, định lớp thực khơng nhiều tập hợp hoạt động lớp Yêu cầu Tìm kiếm Đây ví dụ phân rã quy trình len lỏi vào quy trình mơ hình hóa Từ quan điểm hướng đối tượng, phải cân thận để không cho phép điều xảy Tuy nhiên, bước trước trình làm mơ hình, Alec muốn đưa nhiều thơng tin vào mơ hình tốt Ơng cảm thấy việc loại bỏ loại thơng tin sau len lỏi vào mơ hình có lợi so với việc không nắm bắt thông tin cần thiết để giải vấn đề ● Bước 6: Kết hợp mẫu Bước thứ sáu kết hợp mẫu hữu ích vào mơ hình cấu trúc Một mẫu hữu ích mẫu Hợp đồng liệt kê Hình Bằng cách xem xét mơ hình này, Alec nhóm anh phát hai lớp lớp Khách hàng: Cá nhân Tổ chức Hơn nữa, Peter Coad xác định 12 mẫu giao dịch hữu ích cho Alec nhóm anh để điều tra thêm 24 Lựa chọn sơ CD Sơ đồ phân loại hệ thống bán hàng qua Internet (Dạng xem ca sử dụng đơn đặt hàng) ● Bước 7: Xem lại Mơ hình Bước thứ bảy cuối xem xét kỹ mơ hình cấu trúc Hình bên cho thấy dạng xem Use - case Đơn hàng Địa điểm mơ hình cấu trúc mơ tả sơ đồ lớp Alec nhóm anh phát triển Phiên sơ đồ lớp kết hợp tất sửa đổi mô tả trước Lựa chọn CD Sơ đồ lớp hệ thống bán hàng qua Internet (Dạng xem ca sử dụng đơn đặt hàng) 25 TĨM LƯỢC 7.1 Mơ hình cấu trúc Mơ hình cấu trúc mơ tả cấu trúc liệu hệ thống hướng đối tượng Trong mơ hình ca sử dụng cung cấp nhìn chức bên ngồi hệ thống phát triển (tức hệ thống làm gì), mơ hình cấu trúc cung cấp nhìn tnh bên hệ thống phát triển (tức cách đối tượng tổ chức hệ thống) Tại thời điểm phát triển hệ thống, mơ hình cấu trúc đại diện cho mơ hình logic miền vấn đề Một mục đích mơ hình cấu trúc tạo vốn từ vựng cho phép người dùng nhà phát triển giao tiếp hiệu vấn đề điều tra Mơ hình cấu trúc bao gồm lớp, thuộc tính, hoạt động mối quan hệ Có ba loại mối quan hệ thường mô tả mơ hình cấu trúc: tập hợp, tổng qt hóa liên kết Các mơ hình cấu trúc thường biểu diễn thẻ CRC, biểu đồ lớp số trường hợp biểu đồ đối tượng 7.2 Thẻ CRC Thẻ CRC mơ hình hóa lớp học, trách nhiệm họ cộng tác họ Có hai loại trách nhiệm khác nhau: biết làm Biết trách nhiệm liên kết chủ yếu với thuộc tính thể lớp, việc thực trách nhiệm liên kết chủ yếu với hoạt động thể lớp Cộng tác hỗ trợ khái niệm máy khách, máy chủ hợp đồng đối tượng Thẻ CRC nắm bắt tất yếu tố thiết yếu thể lớp Mặt trước thẻ cho phép ghi lại tên, ID, loại, mô tả, danh sách trường hợp sử dụng liên quan, trách nhiệm cộng tác viên, mặt sau thẻ chứa thuộc tính mối quan hệ 7.3 Sơ đồ lớp Sơ đồ lớp mô tả đồ họa thơng tin có thẻ CRC Nó hiển thị lớp mối quan hệ lớp Biểu đồ lớp mô tả thông tin bổ sung, khơng có thẻ CRC: khả hiển thị thuộc tính hoạt động tính đa dạng mối quan hệ Ngồi ra, đơi thân mối quan hệ có chứa thơng tin Trong trường hợp này, lớp liên kết tạo Có cung đặc biệt cho mối quan hệ (tổng hợp, tổng quát liên kết) có sơ đồ Trong hệ thống giới thực có 100 lớp, sơ đồ lớp trở nên phức tạp Để cho phép đơn giản hóa sơ đồ, sử dụng chế xem Chế độ xem hạn chế số lượng thông tin mô tả sơ đồ Một số quan điểm hữu ích là: ân tất thông tin lớp ngoại trừ tên mối quan hệ nó; hiển thị lớp liên kết với trường hợp sử dụng cụ thể; giới hạn mối quan hệ đưa vào kiểu cụ thể (tập hợp, tổng quát hóa liên kết) 26 Khi cố gắng khám phá thông tin bổ sung chi tiết lớp, hữu ích mơ tả trường hợp cụ thể lớp thay lớp Một sơ đồ đối tượng sử dụng để mô tả tập hợp đối tượng đại diện cho khởi tạo tất phần sơ đồ lớp 7.4 Tạo thẻ CRC sơ đồ lớp Tạo mơ hình cấu trúc trình lặp lặp lại Q trình mơ tả quy trình gồm bảy bước Các bước bao gồm phân tích văn trường hợp sử dụng, phân tích đối tượng bổ sung cách sử dụng danh sách đối tượng chung, nhập vai trường hợp sử dụng cách sử dụng thẻ CRC, tạo lớp sơ đồ kết hợp mẫu hữu ích 27 ... dựng nên mơ hình cấu trúc tiếp tục phát triển thành mơ hình thiết kế việc sử dụng: thẻ CRC, sơ đồ lớp sơ đồ đối tượng MƠ HÌNH CẤU TRÚC Mơ hình cấu trúc vẽ thơng qua q trình lặp, theo mơ hình trở... thống, mơ hình cấu trúc đại diện cho mơ hình logic miền vấn đề Một mục đích mơ hình cấu trúc tạo vốn từ vựng cho phép người dùng nhà phát triển giao tiếp hiệu vấn đề điều tra Mơ hình cấu trúc bao... hợp tất sửa đổi mô tả trước Lựa chọn CD Sơ đồ lớp hệ thống bán hàng qua Internet (Dạng xem ca sử dụng đơn đặt hàng) 25 TĨM LƯỢC 7.1 Mơ hình cấu trúc Mơ hình cấu trúc mơ tả cấu trúc liệu hệ thống