Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 51 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
51
Dung lượng
1,28 MB
Nội dung
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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 - cã thĨ ø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 vµ cã thĨ 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ø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 Ngời sử dụng 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 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đố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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com http://www.ebook.edu.vn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com quan hÖ cã mét ý 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 phụ thuộc chức hay nhiều phần tử nhận vào hay nhiều phần tử cho Quan hệ phụ thuộc 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 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ử cụ 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 cña UML http://www.ebook.edu.vn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 liệu thuộc 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 thÕ giíi thùc http://www.ebook.edu.vn 10 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 : 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 + operation Signal {from Core} ChangeEvent changeExpression : BooleanExpression 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com +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ơ mét tỉ chøc ActivityGraph http://www.ebook.edu.vn 39 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 Package Một ModelElement package 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 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 >>