Software Engineering Departmnet – Hanoi University of Technology Faculty of Information pdf

51 396 0
Software Engineering Departmnet – Hanoi University of Technology Faculty of Information pdf

Đ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

Software Engineering Departmnet – Hanoi University of Technology Faculty of Information Technology UML OOAD phân tích thiết kế phần mềm hớng đối tợng hớng thành phần Đỗ Văn Uy Nguyễn Ngọc Bình Thạc Bình Cờng Lơng Mạnh Bá Huỳnh Quyết Thắng Bùi Thị Hoà Lê Tấn Hùng Lê Đức Trung Các nghiên cứu đợc hỗ trợ kinh phí từ đề tài nghiên cứu khoa học KHCB 230701 LUu HANH NOI BO Hà nội 2001 Chơng Tổng quan vỊ UML 1.1 Giíi thiƯu Trong thËp kû võa qua có nhiều phơng pháp ngôn ngữ phân tích thiết kế hớng đối tợng đà đợc pháp triển Mặc dù phơng pháp có mục đích chung nhiên chúng có thuật ngữ ký hiệu khác nên gây nhiều khó khăn so sánh mô hình dùng lại thiết kế Các phơng pháp phơng pháp bật phơng pháp khác Trong tình hình UML đời, đa ngôn ngữ chuẩn cho mô hình hoá hớng đối tợng UML - Unified Modeling Language - ngôn ngữ mô hình hợp Nó phơng tiện giúp cho tổ chức nhận thức cách tốt lợi cạnh tranh thông qua việc nắm bắt, truyền đạt, trao đổi nâng cao tri thức lĩnh vực công nghệ phần mềm Chính xác UML ngôn ngữ mô hình hóa dùng để đặc tả, trực quan hóa, xây dựng làm su liệu cho hệ thống phần mềm Unified (hợp nhất) UML đợc đa lần hÃng Rational ba chuyên gia phơng pháp luận hàng đầu lĩnh vực hệ thèng th«ng tin/ kü tht c«ng nghƯ Grady Booch, James Rumbaugh, Ivar Jacobson Nó hợp phơng pháp cũ (Booch, OMT, OOSE ), kết hợp với kinh nghiệm, kiến thức thực tế (mô hình hóa) giúp hiểu đợc giới thực, mô hình hóa giới thực để hiểu đợc đặc trng, tính toán thông số dự đoán kết đạt đợc Modeling Language (ngôn ngữ) chức UML nh phơng tiện để bày tỏ trao đổi tri thức Nó có bốn đặc điểm chủ yếu phân biệt với ngôn ngữ mô hình hóa khác ã General-purpose - đa mục đích ã Broadly applicable - ứng dụng rộng rÃi ã Tool-supported - đợc hỗ trợ công cụ ã Industry standardized - chuẩn công nghiệp UML ngôn ngữ mô hình hóa chuẩn nhng qui trình phát triển phần mềm chuẩn Mặc dù UML phải đợc áp dụng phạm vi qui trình cụ thể, qui trình phát triển thờng khác tổ chức phát triển phần mềm, vấn đề thuộc lĩnh vực khác Do đó, nhà phát triển UML đà cố gắng tập trung vào định nghĩa mức siêu mô hình (metamodel) để thống khái niệm ngữ nghĩa ký hiệu, hỗ trợ cho nhiều ngôn ngữ lập trình qui trình phát triển phần mềm khác UML tổng hợp phơng pháp Booch, OMT OOSE tạo thành ngôn ngữ mô hình hóa chung sử dụng rộng rÃi cho ngời trớc đà quen với ba phơng pháp hay phơng pháp khác Ngoài ra, UML http://www.ebook.edu.vn mở rộng phạm vi mô hình hóa phơng pháp có mô hình hóa đầy đủ hệ thống đồng thời hay phân tán UML ngôn ngữ đợc sử dụng cho nhiều mục đích khác UML cung cấp chế tổ chức phân loại tri thức theo ngữ cảnh vấn đề cần giải Các tri thức đợc nắm bắt đầy đủ mô hình bao gồm nhiều thành phần đợc thể qua tập biểu đồ khác có liên hệ chặt chẽ với Hơn nữa, biểu đồ nắm bắt vấn đề khía cạnh khác qua khái niệm, cấu trúc, thành phần mô hình thể ngữ nghĩa tri thức khác Các biểu đồ mô tả nội dung giao tiếp thành viên qui trình phát triển phần mềm đợc tích hợp với để tạo nên tri thức mô tả hệ thống, vấn đề nh cách thức thực để giải chúng Các lợi ích UML ã Có thể mô hình hóa nhiều loại hệ thống, dùng giai đoạn khác qui trình phát triển phần mềm UML thống khái niệm mô hình hóa nhà nghiên cứu phát triển công nghệ hớng đối tợng UML cung cấp số tính sau Đầy đủ ngữ nghĩa ký hiệu để giải trực tiếp vấn đề mô hình hóa Đầy đủ ngữ nghĩa để giải số khó khăn tơng lai mô hình hóa đặc biệt có liên quan đến công nghệ thành phần, xử lý phân tán, framework executability Cơ chế mở rộng siêu mô hình cho mô hình hóa ứng dụng đặc biệt Cơ chế khiến cho hớng tiếp cận mô hình hóa tơng lai phát triển dựa tảng UML Đầy đủ ngữ nghĩa để dễ dàng chuyển đổi mô hình công cụ hỗ trợ phân tích thiết kế khác nh định rõ giao tiếp với repository để lu trữ chia xẻ thành phần mô hình ã §èi víi ng−êi sư dơng UML cung cÊp mét ng«n ngữ mô hình hóa trực quan mang tính diễn đạt cao để phát triển trao đổi mô hình Một ngôn ngữ mô hình hóa nói chung đợc cấu trúc dựa thành phần mức siêu-siêu mô hình Nếu cấu trúc thay đổi theo tập khái niệm mô hình hóa khác theo phơng pháp khác việc chuyển đổi mô hình không tránh khỏi thông tin Để khắc phục vấn đề này, UML đà tập hợp khái niệm mô hình hóa cốt lõi (core modeling concepts) đợc sử dụng nhiều phơng pháp công cụ mô hình hóa khác Các khái niệm hỗ trợ cho phạm vi lớn ứng dụng Ngoài ra, khái niệm mô hình hóa mức thấp cụ thể cho việc giao tiếp đợc định nghĩa cho ngời sử dụng để mô hình hóa hệ thống cụ thể ã UML cung cấp chế mở rộng đặc biệt hóa để mở rộng khái niệm sở ã Dựa khái niệm đà đợc định nghĩa này, OMG mong đợi UML khả biến đổi để đáp ứng yêu cầu phạm vi http://www.ebook.edu.vn ứng dụng đặc biệt Các nhà phát triển UML không muốn có thay đổi khái niệm cốt lõi phải đợc định nghĩa lại Vì vậy, họ tin việc đa chế mở rộng cho UML hỗ trợ xu h−íng ph¸t triĨn míi Ng−êi sư dơng cã thĨ khai thác tính sau UML Xây dựng mô hình cách sử dụng thành phần đà đợc định nghĩa không sử dụng chế mở rộng cho hầu hết ứng dụng thông thờng Thêm khái niệm ký hiệu cho vớng mắc không giải đợc với khái niệm Đặc biệt hóa khái niệm, ký hiệu ràng buộc cho phạm vi ứng dụng (application domain) cụ thể ã UML đẩy mạnh tái sử dụng công nghệ phần mềm Tái sử dụng vấn đề đợc quan tâm hàng đầu công nghệ phần mềm Nguyên tắc tái sử dụng dựa thành phần có đà đợc kiểm chứng chất lợng xây dựng thành phần thực cần thiết Điều giúp đơng đầu với mức độ phức tạp ngày cao ứng dụng mà giảm chi phí, giảm thời gian phát triển tăng khả cạnh tranh nhà phát triển phần mềm UML cho phép tái sử dụng hiệu thành phần hệ thống đợc xây dựng tảng hớng đối tợng Ngoài ra, UML hỗ trợ khái niệm phát triển phần mềm mức cao nh collabarations, frameworks, patterns components Ngữ nghĩa chúng đợc định nghĩa rõ ràng điều giúp đạt đợc giá trị thực đầy đủ hớng đối tợng tái sử dụng 1.2 Kiến trúc UML Siêu mô hình UML định nghĩa ngữ nghĩa đầy đủ để biểu diễn mô hình sử dụng UML Nã sư dơng tËp kh¸i niƯm cđa UML ngữ nghĩa để xác định thân siêu mô hình UML đợc định nghĩa nh tầng kiến trúc siêu mô hình bốn tầng, đợc minh hoạ hình 4.1 Tầng Mô tả Siêu-siêu mô hình (meta-metamode) Siêu mô hình (metamode) Mô hình (model) Ví dụ Là sở để mô hình MetaClass, hoá kiến trúc Định nghĩa MetaAttribute ngôn ngữ xác định siêu mô hình Một thể siêusiêu mô hình Định nghĩa ngôn ngữ để xác định mô hình Class, Attribute Một thể siêu mô hình Định nghĩa ngôn ngữ để mô tả loại thông tin http://www.ebook.edu.vn Đối tợng ngời sử Một thể mô dụng (User object) hình Định nghĩa loại thông tin cụ thể Hình 4.1 Kiến trúc UML ã Tầng siêu-siêu mô hình gồm có thành phần UML dựa vào khái niệm Thing để biểu diễn định nghĩa Mức trừu tợng đợc sử dụng để hình thức hoá khái niệm định nghĩa ngôn ngữ để xác định siêu mô hình ã Tầng siêu mô hình gồm thành phần cấu tạo nên UML, bao gồm khái niệm từ biểu đồ hớng đối tợng hớng thành phần Mỗi khái niệm tầng thể khái niệm siêu - siêu mô hình Thing Tầng trừu tợng đợc sử dụng để hình thức hoá khái niệm biểu đồ định nghĩa ngôn ngữ để xác định mô hình ã Tầng mô hình gồm có mô hình UML Đây tầng mà việc mô hình hoá toán, lời giải hay hệ thống đợc thực Mỗi khái niệm tầng thể khái niệm tầng siêu mô hình Tầng trừu tợng đợc sử dụng để hình thức hoá khái niệm định nghĩa ngôn ngữ để trao đổi từ ngữ chủ trớc Các mô hình tầng thờng đợc gọi mô hình lớp hay mô hình kiểu ã Tầng đối tợng ngời sử dụng bao gồm thành phần để minh hoạ mô hình UML Mỗi khái niệm tầng thể khái niệm tầng mô hình Tầng trừu tợng đợc sử dụng để hình thức hoá từ ngữ cụ thể chủ đề cho trớc Các mô hình tầng thờng đợc gọi mô hình đối tợng hay mô hình thể Trong ngữ cảnh này, khái niệm siêu đợc sử dụng để biểu thị mối quan hệ tập phi-siêu khái niệm (non-metaconcepts) siêu khái niệm chúng Khái niệm siêu đặc tính mô hình, nhng lại có vai trong mối quan hệ mô hình: siêu - siêu mô hình quan hệ với siêu mô hình theo cách giống nh siêu mô hình quan hệ với mô hình giống nh cách mà mô hình quan hệ với đối tợng ngời sử dụng Về biểu diễn siêu khái niệm siêu khái niệm khái niệm trừu tợng bao gồm việc đa vào siêu khái niệm biĨu diƠn bao gåm thÝ dơ minh ho¹ (hay dÉn chứng cụ thể) siêu khái niệm trừu tợng tập phi - siêu khái niệm http://www.ebook.edu.vn http://www.ebook.edu.vn Chơng Ngữ nghĩa cú pháp phần tử UML (UML Semantic) 2.1 Giới thiệu UML gồm có siêu mô hình UML mô hình UML siêu mô hình UML giữ chức định nghĩa phần tử cú pháp UML Mô hình UML mô tả ký hiệu phần tử biểu đồ dựa siêu mô hình UML siêu mô hình UML bao gồm phần tử số quy tắc cú pháp Ngoài việc phần tử UML mang ý nghĩa xác định, cú pháp UML mô tả cách liên kết phần tử với để tạo ý nghĩa góc độ mô hình hóa, phần tử UML phân chia làm ba loại phần tử mô hình hóa tĩnh, phần tử mô hình hóa tơng tác phần tử quan hệ có chức liên kết hai phần tử với siêu mô hình UML giữ vai trò hớng dẫn ngời sử dụng UML cú pháp mô hình hóa Ngoài ra, siêu mô hình UML đợc sử dụng nhà phát triển CASE tool để mô hình hóa liệu cho CASE tool hỗ trợ UML Mô hình liệu sử dụng lại định nghĩa phần tử UML để thiết kế lớp bổ sung thêm lớp tùy theo chức CASE tool cung cấp cho ngời sử dụng Mô hình UML biểu diễn ký hiệu phần tử UML ®ång thêi cung cÊp cho ng−êi sư dơng c¸c biĨu đồ UML cụ thể để mô hình hóa nh làm ngôn ngữ giao tiếp thành viên nhóm trình phát triển phần mềm Nói cách khác, biểu đồ Mô hình UML thể cú pháp tơng ứng siêu mô hình UML siêu mô hình UML đợc chia thành nhiều gói thành phần (package) dựa ý nghĩa cú pháp đợc mô tả Mỗi gói định nghĩa phần tử khác mô tả nhóm cú pháp dựa phần tử Trong gói lại bao gồm gói Việc phân chia giúp cho định nghĩa siêu mô hình UML rõ ràng hơn, quan tâm đến phần tử gói loại bỏ phần tử không cần thiết vợt khỏi phạm vi ngữ nghĩa cần mô tả gói Gói đợc biểu diễn nh sau Tê n g ã i H×nh 2.1 Ký hiƯu gãi 2.2 Tổng quan loại quan hệ phần tử Trong trình định nghĩa phần tử cần phải mô tả mối liên hệ phần tử với phần tử khác nên UML sử dụng tập hợp quan hệ Mỗi http://www.ebook.edu.vn quan hệ có ý nghĩa xác định Các quan hệ bao gåm quan hƯ tỉng qu¸t hãa (generalization), quan hƯ kết hợp (association), quan hệ phụ thuộc (dependency) Mỗi phần tử có ngữ nghĩa riêng Để biểu diễn phần tử quan hệ phần tử, UML sử dụng ký hiệu riêng Một phần tử có ký hiệu nh sau: T ên ph ần tử C ác thu ộc tính Hình 2.2 Ký hiệu phần tử Phần sau trình bày sơ lợc loại quan hệ Chi tiết loại quan hệ phần tử đợc trình bày chơng sau 2.2.1 Quan hệ tổng quát hoá (generalization) Quan hệ tổng quát hoá quan hệ phần tử tổng quát phần tử đặc biệt Phần tử đặc biệt chứa đầy đủ đặc điểm phần tử tổng quát có thông tin riêg Quan hệ tổng quát hóa có ký hiệu nh sau: Hình 2.3 Ký hiệu quan hệ tổng quát hoá 2.2.2 Quan hƯ kÕt hỵp (association) Quan hƯ kÕt hỵp thể liên hệ mặt ngữ nghĩa hai phần tử Nghĩa phần tử có sử dụng hay nhận biết thông tin phần tử Quan hệ kết hợp bao gồm hai loại quan hệ ngữ nghĩa thông thờng (association) quan hệ kết tập (aggregation) Quan hệ ngữ nghĩa thông thờng Hình 2.4 Ký hiệu quan hệ kết hợp Quan hệ kết tập: phần tử chứa phần tử theo nghÜa vËt lý http://www.ebook.edu.vn H×nh 2.5 Ký hiƯu quan hƯ kÕt tËp 2.2.3 Quan hƯ phơ thc (dependency) Quan hƯ phơ thc thĨ hiƯn sù phơ thc chøc hay nhiều phần tử nhận vào hay nhiỊu phÇn tư cho Quan hƯ phơ thc kÐm chi tiết mức độ ngữ nghĩa quan hệ kết hợp thờng sử dụng để mô tả phụ thuộc lẫn gói Hình 2.6 Ký hiƯu quan hƯ phơ thc 2.3 Tỉng quan vỊ c¸c phần tử cấu trúc siêu mô hình UML 2.3.1 Phân loại phần tử siêu mô hình UML góc độ định nghĩa, phần tử UML đợc chia làm hai loại phần tử trừu tợng phần tử cụ thể Các phần tử trừu tợng có tính tổng quát cao giữ chức tham gia vào định nghĩa phần tử khác Các phần tư thĨ th−êng cã quan hƯ tỉng qu¸t hãa qua nhiều tầng với phần tử trừu tợng, có quan hệ kết hợp (association) với phần tử khác Chỉ phần tử cụ thể có ký hiệu Mô hình UML đợc sử dụng mô hình hóa 2.3.2 Cấu trúc siêu mô hình UML Siêu mô hình UML bao gồm ba gãi chÝnh nh− sau Behavioral Elements M odel M anagement Foundation Hình 2.7 Các gói UML http://www.ebook.edu.vn Foundation Package (Gói tảng) gói bao gồm phần lớn phần tử trừu tợng số phần tử cụ thể mang tính chất Các phần tử gói đợc sử dụng hai gói BehavioralElements Package (gói phần tử hành vi) ModelManagement Package (gói quản trị mô hình) gói định nghĩa phần tử sử dụng cho việc mô tả trình vận động phần tử hay tơng tác phần tử giới thực BehavioralElements Package ModelManagement gói định nghĩa phần tử cho việc quản lý mô hình ngời sử dụng 2.4 Package Foundation Package (gói tảng) Foundation Package định nghĩa phần tử UML Foundation Package bao gồm ba gói Core Package (gói bản), gói Data Types Package (gói kiểu liệu) Extension Mechanism Package (gãi kü thuËt më réng) Extension M echanism Core Data T ypes Hình 2.8 Core Package định nghĩa phần tử bao gồm phần tử quan hệ đa số mức trừu tợng Extension Mechanism Package định nghĩa chế mở rộng cho phần tử UML để bổ sung phần tử Data Types Package định nghĩa kiểu liệu đợc sử dụng siêu mô hình UML Các thuộc tính phần tử siêu mô hình UML cã kiĨu d÷ liƯu thc vỊ Data Types Core Package 2.4.1 Core Package (gói bản) Core package bao gồm phần tử đợc mô tả năm mô hình Backbone (xơng sống), Relationships (quan hệ), Dependencies (phụ thuộc), Classifiers (phân loại) Auxiliary Elements (bổ sung) Core package giới thiệu cú pháp cho mô hình hóa tĩnh, không quan tâm đến trình vận động tơng tác đối tợng giới thực http://www.ebook.edu.vn 10 Trạng thái mặc định Trạng thái kết hợp B1 Trạng thái kết hợp C1 C2 Tạm dừng H Hình 2.29 Ví dụ trạng thái giả trạng thái kếp hợp Transition (chuyển trạng thái) định nghĩa quan hệ chuyển đổi trạng thái StateVertex nguồn StateVertex đích Một Transition gắn với Guard (cảnh giới) Guard biểu thức logic gắn với Transition Khi kiện tác động lên phần tử gắn với StateMachine, Transition đợc kích hoạt để phần tử chuẩn bị chuyển trạng thái Đối với Transition có Guard biểu thức Guard đợc lợng giá Sự chuyển trạng thái xảy biểu thức có giá trị true, ngợc lại bị hủy bỏ Transition CompositeState (trạng thái phức) đại diện cho trạng thái phức bao gồm nhiều điểm trạng thái (StateVertex) Do điểm trạng thái biểu diễn trạng thái đơn nên CompositeState bao gồm nhiều trạng thái đơn CompositeState bao gồm CompositeState khác Composite State StateMachine phần tử mô tả trạng thái biến đổi trạng thái qua kiện cho phần tử gắn với StateMachine StateMachine bao gồm hai phần tử State (trạng thái) Transition (chuyển trạng thái) StateMachine 2.5.5 Mô hình Events (sự kiện) Event kiện tác động lên ModelElement bao gồm đặc biệt hóa sau http://www.ebook.edu.vn 37 Call Event : Operation đợc kích hoạt : biểu thức logic chuyển sang giá trị true ChangeEvent SignalEvent TimeEvent : Signal đợc gửi ®i : kÕt thóc mét giíi h¹n thêi gian Model Element {from Core} {ordered} Parameter {from Core} SignalEvent Event + parameter * CallEvent TimeEvent when : TimeExpression + occurrence * * + occurrence + signnal 1 ChangeEvent changeExpression : BooleanExpression + operation Signal {from Core} Operation {from Core} Hình 2.30 Mô hình Event 2.5.6 Activity Graphs Package (gói biểu đồ hành động) đặc biệt hoá từ StateMachine Activity Graphs mô tả phần tử cú pháp cho mô hình hóa hành động chuyển đổi hành động phần tử với để thực tác vụ Activity Graphs tập trung vào trình tự điều kiện xảy hành động, phân chia hành động cho phần tử liªn quan Activity Graphs http://www.ebook.edu.vn 38 +behavior StateMachine {from State Machine} * +context Model Element {from Core} ActivityGraph +top Partition +partition * 1 * State {from State Machine} +top +inState CompositeState SimpleState isConcurrent: Boolean {from State Machine} +type Classifier {from Core} ActionState SubmachineState isDynamic : Boolean {from State Machine} dynamicArgument: : ArgListExpression dynamicMultiplicity : Multiplicity SubactivityState CallState +type * ObjectFlowState isSynch: Boolean +state * +parameter * Parameter {from Core} * ClassifierState isDynamic : Boolean dynamicArgument: : ArgListExpression dynamicMultiplicity : Multiplicity H×nh 2.31 Mô hình Activity Graphs 2.5.6.1 ActionState (trạng thái hành ®éng) kÕ thõa SimpleState tõ StateMachine ®¹i diƯn cho viƯc thi hành hành động ActionState 2.5.6.2 ActivityGraph (đồ thị hành động) mô tả xử lý phần tử liên quan, phần tử đảm nhận xử lý chuyển giao xử lý phần tử với ActivityGraph đợc gắn với classifier (bao gồm UseCase) đợc sử dụng để mô hình hóa quy trình nghiệp vụ tổ chức ActivityGraph http://www.ebook.edu.vn 39 * Khách hàng Bộ phận bán hàng Kho hàng Yêu cầu mua hàng Nhận đặt hàng Cung cấp hàng Thanh toán Giao hàng Nhận hàng Hình 5.32 Ví dụ biểu đồ hoạt động 2.5.6.3 ObjectFlowState (trạng thái đối tợng luân chuyển) ObjectFlowState mô tả trao đổi liệu đối tợng trạng thái hành động ActivityGraph ObjectFlowState chứa thông tin classifier trạng thái xác định đóng vai trò trao đổi thông tin ActionState 2.5.6.4 Partition (vùng) Parttion phân chia State ActivityGraph thành nhóm thờng tơng ứng với đơn vị cấu trúc tổ chức Partition đợc sử dụng để phân loại trạng thái hay tài nguyên hệ thống có liên quan đến nhóm trạng thái 2.6 Model Management Package (gói quản trị mô hình) Model Management bao gồm phần tử có chức tập hợp phần tử khác thành nhóm Các phần tử đợc định nghĩa Model Management có ý nghĩa logic hệ thống đợc mô hình hóa Chức chúng phân http://www.ebook.edu.vn 40 chia hệ thống thành phần giúp cho việc quản lý mô hình nh mô hình hóa thuận lợi +importedElement Model Element {from Core} * + ownedElement * ElementOwnerShip {from Core} Element Import NameSpace {from Core} visibility : visibilityKind alias : Name Classifier {from Core} * + nameSpace GeneralizableElement {from Core} Package Subsystem Model isInstantiable: Boolean Hình 5.33 Gói Model Management 2.6.1 ElementImport định nghĩa danh tầm vực ModelElement đợc ®−a vµo mét Package Mét ModelElement package sÏ cã danh khác với định danh ModelElement ElementImport 2.6.2 Model (mô hình) Mô hình trừu tợng hóa hệ thống cho mục đích cụ thể Mục đích giúp xác định thành phần hệ thống đợc phản ánh mô hình, tất thành phần hệ thống tồn mô hình Do mô hình thể hệ thống góc độ phù hợp với mục đích 2.6.3 Package (gói) tập hợp logic phần tử Package không đóng vai trò trình mà hóa phần mềm Tuy nhiên Package giúp quản lý mô hình với chức chứa phần tử Package Các thành phần Package có tầm vực đợc xác định qua thuộc tính visibility cho thành phần Package tham chiếu đến Package http://www.ebook.edu.vn 41 Quan hệ "access" (là stereotype quan hệ Permission)giữa hai Package mang ý nghĩa phần tử có visibility "public" Package cho tham chiếu phần tư Package nhËn Quan hƯ "import" (lµ mét stereotype quan hệ Permission)giữa hai Package mang ý nghĩa phần tử có visibility "public" Package cho đợc thêm vào Package nhận với danh khác (để tránh trùng tên với danh phần tử có sẵn) đợc tham chiếu phần tử có sẵn qua danh 2.6.4 Subsystem (hệ thống con) Subsystem nhóm phần tử mô tả hành động hệ thống Subsystem bao gồm Operation (mô tả phơng thức) cung cấp Interface (giao diện) Các thành phần Subsystem chia làm hai loại thành phần mô tả hành động thành phần thực thi hành động http://www.ebook.edu.vn 42 Chơng Khung nhìn biểu đồ UML 3.1 Cấu trúc UML Một hệ thống đợc phân tích dới góc độ khác nhau: yêu cầu chức năng, yêu cầu phi chức năng, cách tổ chức hệ thống Vì để mô hình hoá hệ thống cách chi tiết, UML định nghĩa cấu trúc khung nhìn (view) Mỗi khung nhìn cách nhìn hệ thống dới góc độ khác nhau, bao gồm biểu đồ khác Khung nhìn ngời dùng Khung nh×n cÊu tróc (Logical View, Structure model view, Static view) Khung nhìn động thái Khung nhìn thực thi (User model view, Use case view, Scenario view ) (Behavioral model view, Dynamic hc Process ) (Implementation model, Component view) Khung nh×n triĨn khai (Deployment View, Environment model view) Khung nh×n ngời dùng Biểu đồ lớp Biểu đồ đối tợng Khung nhìn thực thi Biểu đồ thành phần Khung nhìn ngời dùng Biểu đồ trờng hợp sử dụng Khung nhìn động thái Khung nhìn triển khai Biểu đồ diễn tiến Biểu đồ trạng thái dịch chuyển Biểu đồ hoạt động Biểu đồ phân bổ Hình 3.1 Cấu trúc khung nhìn cách nhìn hệ thống đứng phía ngời sử dụng Nó bao gồm vấn đề cách giải vấn đề theo ngời sử dụng hay nhóm ngời sử dụng riêng lẻ Khung nhìn bao gồm biểu đồ trờng hợp sử dụng Khung nhìn ngời dùng cách nhìn hệ thống giải vấn đề theo cấu trúc tĩnh Khung nhìn xem cách nhìn hệ thống theo cách nhìn tĩnh hay vật lý Khung nhìn bao gồm biểu đồ lớp biểu đồ đối tợng Khung nhìn cấu trúc cách nhìn hệ thống giải theo hành vi, giao lu ứng xử đối tợng cách nhìn động Khung nhìn gồm cách nhìn động, trình, đồng thời, hợp tác Khung nhìn Khung nhìn động thái http://www.ebook.edu.vn 43 bao gồm biểu đồ diễn tiến, biểu đồ hợp tác, biểu đồ trạng thái, biểu đồ hoạt động cách nhìn hệ thống theo mô đun, chơng trình con, hệ (cách nhìn theo cấu trúc) hành vi (các luồng thực hiện) Khung nhìn bao gồm biểu đồ thành phần Khung nhìn thực thi cách nhìn hệ thống theo phân bổ cấu trúc hành vi vào thành phần vật lý nh Khung nhìn bao gồm biểu đồ phân bổ Khung nhìn triển khai 3.2 Các loại biểu đồ ký hiệu Trong UML định nghĩa chín loại biểu đồ - Biểu đồ trờng hợp sử dụng - Biểu đồ lớp - Biểu đồ đối tợng - Biểu đồ diễn tiến - Biểu đồ cộng tác - Biểu đồ trạng thái - Biểu đồ hoạt động - Biểu đồ thành phần - Biểu đồ phân bổ 3.2.1 Biểu đồ lớp Biểu đồ lớp biểu đồ dùng để mô hình hoá cấu trúc tĩnh hệ thống Nó miêu tả lớp, giao tiếp (interface), cộng tác mối quan hệ thành phần mô hình Biểu đồ dùng để mô tả cộng tác, mối quan hệ lớp Một biểu đồ lớp gồm thành phần: lớp, quan hệ Lớp đại diện cho tập đối tợng có đặc tính tơng tự nhau, ký hiệu lớp nh sau Tên lớp Các thuộc tính Các thao tác Hình 3.2 Ký hiệu lớp Quan hệ gồm loại quan hệ kết hợp, quan hƯ kÕt tËp, quan hƯ tỉng qu¸t ho¸ http://www.ebook.edu.vn 44 quan hệ mặt cấu trúc hai nhiều lớp đối tợng Trên quan hệ kết hợp có hai tên theo hai hớng ngợc chiều Bản số (multiplicity) đợc mô tả quan hƯ kÕt hỵp vÝ dơ (0 1) Quan hệ kết hợp đợc ký hiệu nh sau Quan hệ kết hợp Sinh viên Trờng Ngời Cơ quan sử dụng Giáo viên Hình 3.3 Quan hệ kết hợp trờng hợp riêng quan hệ kết hợp Nó phản ánh quan hệ toàn thế, phận Quan hệ kết tập đợc biểu diễn Quan hệ kết tập Đ ộng 1 Ô tô B ánh xe H×nh 3.4 Quan hƯ kÕt tËp Quan hƯ tỉng quát hoá quan hệ lớp đặc biệt lớp khái quát hơn, quan hệ tổng quát hoá đợc hiểu nh quan hệ kế thừa 3.2.2 Biểu đồ trờng hợp sử dụng Biểu đồ trờng hợp sử dụng đợc tạo nên từ ba yếu tố tác nhân, trờng hợp sử dụng quan hệ đợc biểu diễn hình nhân nhỏ, diễn tả cho vai trò ngời hay có tơng tác với hệ thống Tác nhân Tác nhân Hình 3.5 Ký hiệu tác nhân đợc biểu diễn hình oval, diễn tả khái quát kịch mà hệ thống tơng tác với tác nhân Trờng hợp sử dụng http://www.ebook.edu.vn 45 Tên trờng hợp sử dụng Hình 3.6.Ký hiệu tr−êng hỵp sư dơng Quan hƯ biĨu diƠn b»ng mét mũi tên nối tác nhân với trờng hợp sử dụng nối trờng hợp sử dụng với trờng hợp sử dụng khác Các quan hệ đợc sử dụng quan hệ trao đổi, quan hệ dùng, quan hệ mở rộng Quan hệ trao đổi (kết hợp) nối tác nhân với trờng hợp sử dụng khởi phát đầu mối khởi ph át Trờng hợp sử dụng tác nhân Hình 3.7 Quan hệ trao ®ỉi Quan hƯ sư dơng (phơ thc) nèi hai tr−êng hỵp sư dơng, biĨu diƠn mét tr−êng hỵp sư dơng bao gồm hành vi trờng hợp sử dụng >>

Ngày đăng: 27/06/2014, 02:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan