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,37 MB
Nội dung
Software Engineering Departmnet Hanoi University of Technology Faculty of Information Technology UML OOAD phântíchthiếtkếphầnmềm hớng đối tợng và hớng thànhphần 1. Đỗ Văn Uy 2. Nguyễn Ngọc Bình 3. Thạc Bình Cờng 4. Lơng Mạnh Bá 5. Huỳnh Quyết Thắng 6. Bùi Thị Hoà 7. Lê Tấn Hùng 8. Lê Đức Trung Các nghiên cứu đợc hỗ trợ kinh phí từ đề tài nghiên cứu khoa học cơ bản KHCB 230701 LUu HANH NOI BO Hà nội 2001 http://www.ebook.edu.vn Chơng 1. 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 và ngôn ngữ phântíchvàthiếtkế hớng đối tợng đã đợc pháp triển. Mặc dù các phơng pháp này đều có một mục đích chung tuy nhiên chúng đều có thuật ngữ và ký hiệu khác nhau nên gây nhiều khó khăn khi so sánh các mô hình và dùng lại các thiết kế. Các phơng pháp này không có phơng pháp nào nổi bật hơn những phơng pháp khác. Trong tình hình đó UML ra đời, và đa ra một ngôn ngữ chuẩn cho mô hình hoá hớng đối tợng. UML - Unified Modeling Language - là ngôn ngữ mô hình hợp nhất. Nó là một phơng tiện giúp cho các tổ chức có thể nhận thức một cách tốt nhất lợi thế cạnh tranh thông qua việc nắm bắt, truyền đạt, trao đổivà nâng cao tri thức trong lĩnh vực công nghệ phần mềm. Chính xác hơn UML là một ngôn ngữ mô hình hóa dùng để đặc tả, trực quan hóa, xây dựng và làm su liệu cho các hệ thống phầnmềm Unified (hợp nhất) UML đợc đa ra lần đầu tiên bởi hãng Rational và ba chuyên gia về phơng pháp luận hàng đầu trong lĩnh vực hệ thống thông tin/ kỹ thuật công nghệ Grady Booch, James. Rumbaugh, Ivar Jacobson. Nó là sự hợp nhất giữa những phơng pháp cũ (Booch, OMT, OOSE ), kết hợp với những kinh nghiệm, những kiến thức thực tế. Modeling (mô hình hóa) giúp chúng ta hiểu đợc thế giới thực, mô hình hóa thế giới thực để có thể hiểu đợc những đặc trng, tính toán các thông số và dự đoán kết quả sẽ đạt đợc. Language (ngôn ngữ) chức năng của UML nh là một phơng tiện để bày tỏ và trao đổi tri thức. Nó có bốn đặc điểm chủ yếu có thể phân biệt với các 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ợ bởi các công cụ Industry standardized - chuẩn công nghiệp UML là một ngôn ngữ mô hình hóa chuẩn nhng không phải là một qui trình phát triển phầnmềm chuẩn. Mặc dù UML phải đợc áp dụng trong phạm vi một qui trình cụ thể, các qui trình phát triển này thờng khác nhau ở các tổ chức phát triển phần mềm, ở các vấn đề thuộc các lĩnh vực khác nhau. Do đó, các 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 nhất các khái niệm về ngữ nghĩa và ký hiệu, có thể hỗ trợ cho nhiều ngôn ngữ lập trình và qui trình phát triển phầnmềm khác nhau. UML là tổng hợp các phơng pháp của Booch, OMT và OOSE tạo thành một ngôn ngữ mô hình hóa chung và có thể sử dụng rộng rãi cho những ngời trớc đây đã quen với ba phơng pháp trên hay các phơng pháp khác. Ngoài ra, UML 2 http://www.ebook.edu.vn mở rộng phạm vi mô hình hóa của các phơng pháp hiện có và có thể mô hình hóa đầy đủ các hệ thống đồng thời hay phân tán. UML là ngôn ngữ có thể đợc sử dụng cho nhiều mục đích khác nhau. UML cung cấp cơ chế tổ chức vàphân loại tri thức theo ngữ cảnh của vấn đề cần giải quyết. Các tri thức này đợc nắm bắt đầy đủ bởi mô hình bao gồm nhiều thànhphầnvàđợc thể hiện qua tập các biểu đồ khác nhau có liên hệ chặt chẽ với nhau. Hơn nữa, mỗi biểu đồ nắm bắt vấn đề ở những khía cạnh khác nhau qua các khái niệm, cấu trúc, các thànhphần mô hình thể hiện những ngữ nghĩa và tri thức khác nhau. Các biểu đồ này mô tả nội dung giao tiếp giữa các thành viên trong qui trình phát triển phầnmềmvàđợctích hợp với nhau để tạo nên tri thức mô tả hệ thống, những vấn đề cũng nh cách thức thực hiện để giải quyết chúng. Các lợi ích của UML Có thể mô hình hóa nhiều loại hệ thống, có thể dùng trong những giai đoạn khác nhau của qui trình phát triển phần mềm. UML là sự thống nhất các khái niệm mô hình hóa của những nhà nghiên cứu và phát triển công nghệ hớng đối tợng. UML cung cấp một số tính năng sau Đầy đủ ngữ nghĩa và ký hiệu để giải quyết trực tiếp các vấn đề hiện tại trong mô hình hóa. Đầy đủ ngữ nghĩa để giải quyết một số khó khăn tơng lai trong 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 và executability. Cơ chế mở rộng siêu mô hình cho mô hình hóa các ứng dụng đặc biệt. Cơ chế này cũng khiến cho các hớng tiếp cận mô hình hóa tơng lai có thể phát triển dựa trên nền tảng UML. Đầy đủ ngữ nghĩa để dễ dàng chuyển đổi mô hình giữa các công cụ hỗ trợ phântíchthiếtkế khác nhau cũng nh định rõ giao tiếp với các repository để lu trữ và chia xẻ các thànhphầ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 và trao đổi giữa các mô hình. Một ngôn ngữ mô hình hóa nói chung đợc cấu trúc dựa trên các thànhphần cơ bản nhất ở mức siêu-siêu mô hình. Nếu cấu trúc này thay đổi theo một tập các khái niệm mô hình hóa khác nhau theo các phơng pháp khác nhau thì việc chuyển đổi giữa các mô hình sẽ không tránh khỏi mất thông tin. Để khắc phục vấn đề này, UML đã tập hợp các khái niệm mô hình hóa cốt lõi (core modeling concepts) đợc sử dụng trong nhiều phơng pháp và công cụ mô hình hóa khác nhau. Các khái niệm này có thể hỗ trợ cho phạm vi lớn các ứng dụng. Ngoài ra, các khái niệm mô hình hóa ở mức thấp hơn và cụ thể hơn cho việc giao tiếp cũng đợc định nghĩa cho ngời sử dụng để mô hình hóa một hệ thống cụ thể. UML cung cấp cơ chế mở rộng và đặc biệt hóa để mở rộng các khái niệm cơ sở. Dựa trên những khái niệm đã đợc định nghĩa này, OMG mong đợi ở UML khả năng biến đổi để đáp ứng các yêu cầu mới của những phạm vi 3 http://www.ebook.edu.vn ứng dụng đặc biệt. Các nhà phát triển UML không muốn rằng mỗi khi có thay đổi. thì các khái niệm cốt lõi phải đợc định nghĩa lại. Vì vậy, họ tin rằng việc đa ra cơ chế mở rộng cho UML sẽ hỗ trợ những xu hớng phát triển mới. Ngời sử dụng có thể khai thác các tính năng sau của UML Xây dựng mô hình bằng cách sử dụng những thànhphần cơ bản đã đợc định nghĩa không sử dụng cơ chế mở rộng cho hầu hết các ứng dụng thông thờng. Thêm các khái niệm và ký hiệu mới cho những vớng mắc không giải quyết đợc với các khái niệm cơ bản. Đặc biệt hóa các khái niệm, ký hiệu và ràng buộc cho một phạm vi ứng dụng (application domain) cụ thể. UML đẩy mạnh tái sử dụng trong nền công nghệ phần mềm. Tái sử dụng là một trong những vấn đề đợc quan tâm hàng đầu trong công nghệ phần mềm. Nguyên tắc của tái sử dụng là dựa trên các thànhphần hiện có đã đợc kiểm chứng về chất lợng và chỉ xây dựng các thànhphần mới khi thực sự cần thiết. Điều này không những giúp đơng đầu với mức độ phức tạp ngày càng cao của ứng dụng mà còn giảm chi phí, giảm thời gian phát triển và tăng khả năng cạnh tranh của nhà phát triển phần mềm. UML cho phép tái sử dụng hiệu quả các thànhphần của một hệ thống vì đợc xây dựng trên nền tảng hớng đối tợng. Ngoài ra, UML còn hỗ trợ các khái niệm phát triển phầnmềm mức cao nh collabarations, frameworks, patterns và components. Ngữ nghĩa của chúng đợc định nghĩa rất rõ ràng và điều này giúp đạt đợc những giá trị thực sự đầy đủ của hớng đối tợng và tái sử dụng. 1.2. Kiến trúc của UML Siêu mô hình UML định nghĩa các ngữ nghĩa đầy đủ để biểu diễn các mô hình sử dụng UML. Nó sử dụng tập con khái niệm của UML và các ngữ nghĩa để xác định bản thân nó. siêu mô hình UML đợc định nghĩa nh là một trong các tầng của kiến trúc siêu mô hình bốn tầng, đợc minh hoạ trong hình 4.1. Tầng Mô tả Ví dụ Siêu-siêu mô hình (meta-metamode) Là cơ sở để mô hình hoá kiến trúc. Định nghĩa ngôn ngữ xác định các siêu mô hình MetaClass, MetaAttribute Siêu mô hình (metamode) Một thể hiện của siêu- siêu mô hình. Định nghĩa ngôn ngữ để xác định mô hình. Class, Attribute Mô hình (model) Một thể hiện của siêu mô hình. Định nghĩa ngôn ngữ để mô tả loại thông tin. 4 http://www.ebook.edu.vn Đối tợng ngời sử dụng (User object) Một thể hiện của mô hình. Định nghĩa một 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ó các thànhphần cơ bản nhất trên đó UML dựa vào khái niệm Thing để biểu diễn bất cứ những gì có thể định nghĩa. Mức trừu tợng này đợc sử dụng để hình thức hoá khái niệm và định nghĩa một ngôn ngữ để xác định các siêu mô hình. Tầng siêu mô hình gồm những thànhphần cấu tạo nên UML, bao gồm các khái niệm từ các biểu đồ hớng đối tợng và hớng thành phần. Mỗi khái niệm trong tầng này đều là một thể hiện của khái niệm siêu - siêu mô hình Thing. Tầng trừu tợng này đợc sử dụng để hình thức hoá các khái niệm của biểu đồ và định nghĩa ra một ngôn ngữ để xác định các mô hình. Tầng mô hình gồm có các mô hình UML. Đây là tầng mà tại đó việc mô hình hoá các bài toán, các lời giải hay các hệ thống đợc thực hiện. Mỗi khái niệm trong tầng này là một thể hiện của khái niệm trong tầng siêu mô hình. Tầng trừu tợng này đợc sử dụng để hình thức hoá các khái niệm và định nghĩa một ngôn ngữ để trao đổi các từ ngữ về một chủ để cho trớc. Các mô hình trong tầng này thờng đợc gọi là các mô hình lớp hay mô hình kiểu. Tầng các đối tợng ngời sử dụng bao gồm các thànhphần để minh hoạ các mô hình UML. Mỗi khái niệm trong tầng này là một thể hiện của khái niệm trong tầng mô hình. Tầng trừu tợng này đợc sử dụng để hình thức hoá các từ ngữ cụ thể về một chủ đề cho trớc. Các mô hình trong tầng này thờng đợc gọi là các mô hình đối tợng hay mô hình thể hiện. Trong ngữ cảnh này, khái niệm siêu đợc sử dụng để biểu thị mối quan hệ giữa một tập các phi-siêu khái niệm (non-metaconcepts) và siêu khái niệm của chúng. Khái niệm siêu không phải là đặc tính của mô hình, nhng lại có vai trong trong mối quan hệ giữa các mô hình: một siêu - siêu mô hình quan hệ với một siêu mô hình theo cách giống nh một siêu mô hình quan hệ với một mô hình và cũng giống nh cách mà một mô hình quan hệ với đối tợng ngời sử dụng. Về cơ bản thì biểu diễn siêu khái niệm của siêu khái niệm trong đó khái niệm trừu tợng bao gồm việc đa vào siêu khái niệm và biểu diễn bao gồm thí dụ minh hoạ (hay dẫn chứng cụ thể) một siêu khái niệm là sự trừu tợng một tập các phi - siêu khái niệm. 5 http://www.ebook.edu.vn 6 http://www.ebook.edu.vn Chơng 2. Ngữ nghĩa và cú pháp các phần tử trong UML (UML Semantic) 2.1. Giới thiệu UML gồm có siêu mô hình UML và mô hình UML. siêu mô hình UML giữ chức năng định nghĩa các phần tử và cú pháp UML. Mô hình UML mô tả ký hiệu các phần tử và các biểu đồ dựa trên siêu mô hình UML. siêu mô hình UML bao gồm các phần tử và một số quy tắc về cú pháp. Ngoài việc phần tử UML mang một ý nghĩa xác định, cú pháp UML còn mô tả cách liên kết những phần tử nào với nhau để tạo ra ý nghĩa nào đó. ở góc độ mô hình hóa, các phần tử UML có thể phân chia làm ba loại là các phần tử mô hình hóa tĩnh, các phần tử mô hình hóa tơng tác và các phần tử quan hệ có chức năng liên kết giữa hai phần tử trên với nhau. siêu mô hình UML giữ vai trò hớng dẫn ngời sử dụng UML về cú pháp trong mô hình hóa. Ngoài ra, siêu mô hình UML còn đợc sử dụng bởi các nhà phát triển CASE tool để mô hình hóa dữ liệu cho một CASE tool hỗ trợ UML. Mô hình dữ liệu này sử dụng lại định nghĩa phần tử UML để thiếtkế các lớp cơ bản và bổ sung thêm các lớp mới tùy theo chức năng CASE tool cung cấp cho ngời sử dụng. Mô hình UML là biểu diễn ký hiệu của các 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 cũng nh làm ngôn ngữ giao tiếp giữa các thành viên của nhóm trong quá trình phát triển phần mềm. Nói cách khác, các biểu đồ trong Mô hình UML là thể hiện của các cú pháp tơng ứng trong siêu mô hình UML. siêu mô hình UML đợc chia thành nhiều gói thànhphần (package) dựa trên ý nghĩa của cú pháp đợc mô tả. Mỗi gói định nghĩa các phần tử khác nhau và mô tả một nhóm cú pháp dựa trên các phần tử này. Trong mỗi gói lại có thể bao gồm các gói con. Việc phân chia này giúp cho định nghĩa của siêu mô hình UML rõ ràng hơn, chỉ quan tâm đến các phần tử trong gói và loại bỏ các phần tử không cần thiết vợt ra khỏi phạm vi ngữ nghĩa cần mô tả của 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 về các loại quan hệ giữa các phần tử Trong quá trình định nghĩa phần tử cần phải mô tả các mối liên hệ giữa phần tử này với các phần tử khác nên UML sử dụng một tập hợp các quan hệ. Mỗi 7 http://www.ebook.edu.vn quan hệ có một ý nghĩa xác định. Các quan hệ này 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ử đều có ngữ nghĩa riêng. Để biểu diễn phần tử và quan hệ giữa các phần tử, UML sử dụng các 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 các loại quan hệ. Chi tiết về các loại quan hệ giữa các phần tử đợc trình bày trong chơng sau. 2.2.1. Quan hệ tổng quát hoá (generalization) Quan hệ tổng quát hoá là quan hệ giữa một phần tử tổng quát hơn và một phần tử đặc biệt hơn. Phần tử đặc biệt hơn chứa đầy đủ các đặc điểm của phần tử tổng quát hơn và ngoài ra còn có những 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ể hiện liên hệ về mặt ngữ nghĩa giữa hai phần tử. Nghĩa là phần tử này có sử dụng hay nhận biết các thông tin của phần tử kia. Quan hệ kết hợp có thể bao gồm hai loại con là quan hệ ngữ nghĩa thông thờng (association) và 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ử này chứa phần tử kia theo nghĩa vật lý. 8 http://www.ebook.edu.vn Hình 2.5 Ký hiệu quan hệ kết tập 2.2.3. Quan hệ phụ thuộc (dependency) Quan hệ phụ thuộc thể hiện sự phụ thuộc chức năng của một hay nhiều phần tử nhận vào một hay nhiều phần tử cho. Quan hệ phụ thuộc kém chi tiết về mức độ ngữ nghĩa hơn quan hệ kết hợp và thờng sử dụng để mô tả sự phụ thuộc lẫn nhau giữa các gói. Hình 2.6 Ký hiệu quan hệ phụ thuộc 2.3. Tổng quan về các phần tử và cấu trúc siêu mô hình UML 2.3.1. Phân loại phần tử trong siêu mô hình UML ở góc độ định nghĩa, các phần tử trong UML có thể đợc chia làm hai loại là phần tử trừu tợng và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 năng tham gia vào định nghĩa các 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 các phần tử trừu tợng, ngoài ra còn có các quan hệ kết hợp (association) với các phần tử khác. Chỉ các phần tử cụ thể mới có ký hiệu trong Mô hình UML vàđợc sử dụng trong 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 Foundation Model Management Behavioral Elements Hình 2.7. Các gói chính của UML 9 http://www.ebook.edu.vn Foundation Package (Gói nền tảng) là gói bao gồm phần lớn các phần tử trừu tợng và một số phần tử cụ thể mang tính chất cơ bản. Các phần tử trong gói này đợc sử dụng bởi hai gói là BehavioralElements Package (gói phần tử hành vi) và ModelManagement Package (gói quản trị mô hình). BehavioralElements Package là gói định nghĩa các phần tử sử dụng cho việc mô tả quá trình vận động của một phần tử hay tơng tác giữa các phần tử trong thế giới thực. ModelManagement là gói định nghĩa các phần tử cho việc quản lý mô hình của ngời sử dụng. 2.4. Package Foundation Package (gói nền tảng) Foundation Package định nghĩa những phần tử UML cơ bản. Foundation Package bao gồm ba gói con là Core Package (gói cơ bản), gói các Data Types Package (gói kiểu dữ liệu) và Extension Mechanism Package (gói kỹ thuật mở rộng). Data Types Core Extension Mechanism Hình 2.8 Core Package Core Package định nghĩa những phần tử cơ bản bao gồm cả các phần tử quan hệ và đa số là ở mức trừu tợng. Extension Mechanism Package định nghĩa cơ chế mở rộng cho các phần tử UML để bổ sung các phần tử mới. Data Types Package định nghĩa các kiểu dữ liệu đợc sử dụng trong siêu mô hình UML. Các thuộc tính của các phần tử trong siêu mô hình UML có kiểu dữ liệu thuộc về Data Types . 2.4.1. Core Package (gói cơ bản) Core package bao gồm các phần tử cơ bản vàđợc mô tả bởi năm mô hình là Backbone (xơng sống), Relationships (quan hệ), Dependencies (phụ thuộc), Classifiers (phân loại) và 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 quá trình vận động và tơng tác giữa các đối tợng trong thế giới thực. 10 [...]... vào recordset là Bindding Hình 2.14 Ví dụ về component và interface http://www.ebook.edu.vn 16 2.4.1.4 Mô hình Dependencies (các quan hệ phụ thuộc) Dependency mô tả sự phụ thuộc chức năng giữa hai thànhphần cho vàthànhphần nhận Thànhphần cho đóng vai trò cung cấp dịch vụ cho thànhphần nhận Dependency định nghĩa phụ thuộc giữa hai phần tử ModelElement nên hầu nh tất cả các phần tử cụ thể thừa kế. .. quan hệ giữa các phần tử UML bao gồm hai loại quan hệ cơ bản là generalization (quan hệ tổng quát hóa), association (quan hệ kết hợp) đợc định nghĩa là sự liên hệ giữa hai phần tử Phần tử đặc biệt hơn gọi là phần tử con (child) vàphần tử tổng quát hơn là phần tử cha (parent) Generalization Association (Quan hệ kết hợp) mô tả nhiều Classifier tham gia vào nhiều AssociationEnd (mối kết hợp) Association... thờng chứa các ràng buộc và các giá trị thẻ Mỗi StereoType quy định loại phần tử ModelElement mà stereotype này có thể tác động Phần tử đợc tác động này là các phần tử trong siêu mô hình UML ví dụ nh Class, Association, Component Khi gắn stereotype vào các phần tử này thì đợcphần tử mới thừa kếphần tử cũ và có tên của stereotype Ví dụ nh Component có các stereotype là "document,"executable,"table... Classifier Các phần tử này có quan hệ với nhau và có quan hệ với Classifier đợc mô tả trong mô hình Backbone bao gồm: (phần tử) : Element là một phần tử trừu tợng ở mức cao nhất, tổng quát nhất trong các phần tử UML Element (phần tử mô hình) : ModelElement là phần tử đợc định danh trong mô hình và là tổng quát hóa cấp cao nhất thứ hai cho các phần tử khác sau Element ModelElement là phần tử đợc xác... dữ liệu của ngời sử dụng tùy thuộc vào môi trờng phát triển phầnmềm nên thờng các CASE tool đảm nhận chức năng định nghĩa các kiểu dữ liệu này DataType Node (nút) là phần tử đại diện cho một tài nguyên vật lý có bộ nhớ và khả năng xử lý tính toán Các node thờng đại diện cho các máy tính và mô tả việc phân bố các máy tính trên mạng Node Component (thành phần) là một phần riêng biệt ở mức vật lý của hệ... tạo từ Template đó là thànhphần nhận của Dependency Binding bao gồm các đối số phù hợp với các tham số của Template Abstraction (trừu tợng hóa) mô tả mối liên hệ giữa các phần tử ở các mức trừu tợng hóa khác nhau Ví dụ nh chuyển một khái niệm ở mức phântích sang mức thiết kế bằng quan hệ Abstraction Abstraction http://www.ebook.edu.vn 17 Usage (sử dụng) là quan hệ giữa một phần tử ModelElement có... đợc gắn với một phần tử cần mở rộng để áp đặt các điều kiện lên phần tử này và có tác dụng thay đổi hay giới hạn ngữ nghĩa Phần tử mở rộng phải thỏa mãn các ràng buộc này để đảm bảo sự chính xác về ngữ nghĩa Constraint cũng có thể đợc gắn với stereotypes để tác động lên các phần tử có quan hệ với stereotypes này 2.4.2.3 Stereotype Là cơ chế phân loại một phần tử theo quan hệ kết hợp của phần tử này với... định nghĩa phần tử Classifier Classifier là phần tử trừu tợng đóng vai trò tổng quát hóa trực tiếp của phần lớn các phần tử cụ thể khác Ngoài ra, các phần tử cơ bản của UML đợc định nghĩa trong Core bao gồm attribute (thuộc tính), operation (hoạt động) và method (phơng thức), parameter (tham số) và constraint (ràng buộc) Backbone Để phục vụ cho quá trình định nghĩa Classifier, UML đa ra các phần tử trừu... theo quan hệ kết hợp của phần tử này với các stereotype Mỗi stereotype gắn một phần tử sẽ cho một phần tử mới thừa kếphần tử cũ ngoài ra có thêm các thông riêng Stereotype chính là sự khác nhau về ngữ nghĩa của hai phần tử cùng cấu trúc Ví dụ nh trong quy trình phát triển phầnmềm Rational Unified Process, các stereotype cho phần tử Class đợc định nghĩa thêm trong đó có stereotype "boundary Stereotype... mở rộng này là phân loại các Class theo chức năng phục vụ cho quá trình phântích http://www.ebook.edu.vn 20 Phân tích Class với stereotype là "boundary" Giao diện ngời sử dụng Giao diện ngời sử dụng Hình 2.18 Ví dụ Stereotype 2.4.2.4 Tagged Value (thẻ giá trị) Là các thuộc tính đính kèm cho một phần tử mở rộng Tagged Value có thể chứa những thông tin bất kỳ cần thiết bổ sung cho một phần tử mới 2.4.3 . hai thành phần cho và thành phần nhận. Thành phần cho đóng vai trò cung cấp dịch vụ cho thành phần nhận. Dependency định nghĩa phụ thuộc giữa hai phần tử ModelElement nên hầu nh tất cả các phần. Technology Faculty of Information Technology UML OOAD phân tích thiết kế phần mềm hớng đối tợng và hớng thành phần 1. Đỗ Văn Uy 2. Nguyễn Ngọc Bình 3. Thạc Bình Cờng 4 đổi mô hình giữa các công cụ hỗ trợ phân tích thiết kế khác nhau cũng nh định rõ giao tiếp với các repository để lu trữ và chia xẻ các thành phần mô hình. Đối với ngời sử dụng UML cung cấp một