Đề tài Tìm hiểu ngôn ngữ UML (Unified Modeling Language)

MỤC LỤC

Trang

Lời Mở Đầu 3

I. Quá trình hình thành và nguyên nhân ra đời 3

I.1. Quá trình hình thành UML 3

I.2. Nguyên nhân ra đời 4

II Khái quát về UML 4

II.1 Giới thiệu UML 4

II.2 Mô hình khái niệm của UML 5

II.2.1 Phần tử mô hình trong UML 5

II.2.2 Các quan hệ trong UML 8

II.2.3 Kiểu dữ liệu 10

II.3 Biểu đồ UML 10

II.3.1 Biểu đồ trường hợp sử dụng (Use case _ UC) 10

II.3.2 Biểu đồ trình tự (sequence) 11

II.3.3 Biểu đồ cộng tác (collaboration) 12

II.3.4 Biểu đồ lớp (class) 13

II.3.5 Biểu đồ chuyển trạng thái (State transition) 14

II.3.6 Biểu đồ thành phần (component) 15

II.3.7 Biểu đồ triển khai (deployment) 16

II.3.8 Biểu đồ đối tượng 17

II.3.9 Biểu đồ hoạt động 18

II.4 Kiến trúc hệ thống 18

II.4.1 Khung nhìn UC 19

II.4.2 Khung nhìn thiết kế 19

II.4.3. Khung nhìn cài đặt 19

II.4.4. Khung nhìn triển khai 20

II.4.5. Khung nhìn tiến trình 20

III Tiến trình phát triển ứng dụng với UML 20

III.1Các kỹ thuật mô hình hoá hợp nhất (Unified modeling) 20

III.1.1 Xây dựng lược đồ Use case 20

III.1.2 Xây dựng lược đồ lớp 21

III.1.3 Xây dựng lược đồ tuần tự 22

III.1.4 Xây dựng lược đồ cộng tác 23

III.1.5 Xây dựng lược đồ hoạt động 23

III.1.6 Xây dựng lược đồ trạng thái 24

III.1.7 Xây dựng lược đồ thành phần 25

III.2 Công cụ (case tool) mô hình hoá hệ thống Rational Rose 25

IV Xây dựng hệ thống quản lý thư viện trên Rational Rose 27

IV.1 Hệ thống quản lý thư viện 27

IV.1.1 Phát biểu bài toán 27

IV.1.2 Phân tích bài toán 27

IV.2 Xây dưng mô hình bài toán trên Rational Rose 28

IV.2.1 Lược đồ use case mức tổng thể 28

IV.2.2 Lược đồ lớp mức thô 29

IV.2.3 Lược đồ use case chi tiết và các lược đồ tuần tự mô tả các use case 30

Kết luận 37

Tài liệu tham khảo 38

 

 

doc38 trang | Chia sẻ: maiphuongdc | Lượt xem: 3465 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đề tài Tìm hiểu ngôn ngữ UML (Unified Modeling Language), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
u kí tự có cú pháp. Tính nhiều (multiplicity): là tập không rỗng của các số nguyên dương và kí hiệu * (để biểu thị tính nhiều vô hạn ). Tên (name): là xâu kí tự cho khả năng đặc tả phần tử. Số nguyên (integer): là kiểu cơ bản và là phần tử của tập vô hạn các số nguyên âm và dương . Xâu (string): là trật tự của các kí tự , được sử dụng làm tên . Thời gian (time): xâu kí tự biểu diễn giá trị tuyệt đối hay khoảng tương đối. Không lí giải (uninterpreted): là cái gì đó mà ý nghĩa của nó phụ thuộc vào lĩnh vực. II.3 Biểu đồ UML Biểu đồ là biểu diễn đồ hoạ tập các phần tử mô hình, vẽ biểu đồ để biểu diễn hệ thống đang xây dựng dưói các góc độ quan sát khác nhau. UML cho khả năng xây dựng các loại biểu đồ sau: Biểu đồ trường hợp sử dụng Biểu dồ trình tự Biểu đồ cộng tác Bểu đồ lớp Biểu đồ thành phần Biểu đồ triển khai Biểu đồ chuyển trạng thái Biểu đồ đối tượng Biểu đồ hoạt động. II.3.1 Biểu đồ trường hợp sử dụng (Use case _ UC) Biểu đồ này chỉ ra tương tác giữa các UC và tác nhân. UC biểu diễn các chức năng của hệ thống. Tác nhân là con người hay hệ thống khác cung cấp hay thu nhận thông tin từ hệ thống đang được xây dựng. Biểu đồ UC tập trung vào quan sát trạng thái tĩnh của các UC trong hệ thống. Nó rất quan trọng trong việc tổ chức và mô hình hoá hệ thống. Vì UC biểu diễn yêu cầu hệ thống từ góc độ người dùng, cho nên UC là chức năng mà hệ thống phải có. Biểu đồ này chỉ ra tác nhân nào khởi động UC và khi nào tác nhân nhận thông tin từ hệ thống. Ví dụ: Biểu đồ UC của ATM, chỉ ra tương tác của UC và tác nhân của hệ thống rút tiền Trong đó: Hình 2.3 Biểu đồ UC của ATM Khách hàng (tác nhân) : có khả năng khởi động một số UC như rút tiền, gửu tiền, chuyển tiền, xem số dư tài khoản, thay đổi số căn cước cá nhân và thanh toán. Nhân viên ngân hàng (tác nhân) : có khả năng khởi động UC thay đổi số căn cước cá nhân. Trường hợp sử dụng thanh toán có có mũi tên đi đến tác nhân hệ thống tín dụng cho biết UC trả lại thông tin cho tác nhân. II.3.2 Biểu đồ trình tự (sequence) Biểu đồ nà chỉ ra luồng chức năng xuyên qua các UC. Nó là biểu đồ mô tả tương tác giữa các đối tượng và tập trung vào mô tả trật tự các thông điệp theo thời gian. Biểu đồ trình tự trên đã mô tả toàn bộ luồng xử lý cho UC rút tiền thông qua ví dụ trường hợp ông Văn rút 100.000đ. Khách hàng có thể thấy được tiến trình tác nghiệp cụ thể của hệ thống qua biểu đồ. Phân tích viên thấy được luồng tiến trình, người phát triển thấy được các đối tượng cần xây dựng và các thao tác cho các đối tượng này, kỹ sư kiểm tra chất lượng có thể thấy chi tiết của tiến trình để xây dựng quy trình thử nghiệm, kiểm tra. Nói chung biểu đồ này có ích với mọi người tham gia dự án. Ví dụ về biểu đồ trình tự của hệ thống ATM được thể hiện trên hình 2.6 Hình 2.6.Biểu đồ trình tự của hệ thống ATM II.3.3 Biểu đồ cộng tác (collaboration) Biểu đồ này chỉ ra các thông tin như biểu đồ trình tự nhưng theo cách khác, nó tập trung vào tổ chức cấu trúc của các đối tượng gửi và nhận thông điệp. Biểu đồ cộng tác và biểu đồ trình tự thuộc loại biểu đồ tương tác và có thể biến đổi qua lại. Trong biểu đồ cộng tác, đối tượng đặt trong hình chữ nhật, tác nhân là người hình cây. Trong khi biểu đồ trình tự biểu diễn tương tác đối tượng và tác nhân theo thời gian thì biểu đồ cộng tác không quan tâm đến thời gian. Ví dụ biểu đồ cộng tác ông Văn rút 100.000 đ Hình 2.7.Sơ đồ cộng tác ông Văn rút 100.000 đ Tuy cùng chỉ ra các thông tin như biểu đồ trình tự, nhưng biểu đồ cộng tác sử dụng vì mục đích khác. Kỹ sư kiểm tra chất lượng và kiến trúc sư hệ thống thấy được việc phân bổ tiến trình giữa các đối tượng thông qua biểu đồ này. II.3.4 Biểu đồ lớp (class) Biểu đồ chỉ ra tương tác giữa các lớp trong hệ thống. Các lớp được xem như kế hoạch chi tiết của các đối tượng. Người phát triển sử dụng biểu đồ lớp để xây dựng các lớp. Các công cụ phần mềm như Rose phát sinh mã trình xương sống cho các lớp, sau đó người phát triển phải chi tiết hoá nó bằng ngôn ngữ lập trình. Kiến trúc sư quan sát thiết kế hệ thống thông qua biểu đồ lớp. Hình 2.8.Biểu đồ lớp của UC rút tiền Biểu đồ này chỉ quan hệ giữa các lớp hình thành nên UC rút tiền. Nó gồm bốn lớp: máy đọc thẻ, tài khoản, màn hình ATM và máy trả tiền. Mỗi lớp trong biểu đồ được biểu diễn bằng hình chữ nhật chia làm ba phần: Tên lớp (ví dụ trên lớp tài khoản ) Thuộc tính (lớp tài khoản chứa ba thuộc tính: số tài khoản, số căn cước cá nhân-PIN và cân đối tài khoản ) Thao tác (ví dụ lớp tài khoản có bốn thao tác: mở tài khoản, rút tiền, trừ tiền trong tài khoản và kiểm tra số tiền trong tài khoản ). Đường nối giữa các phần tử biểu đồ lớp là quan hệ giao tiếp giữa chúng. Phía trái một số thuộc tính và thao tác có gắn biểu tượng khoá, có nghĩa là đó là các thuộc tính và thao tác riêng. II.3.5 Biểu đồ chuyển trạng thái (State transition) Biểu đồ này mô tả vòng đời của đối tượng, từ khi nó được sinh ra cho đến khi bị phá huỷ. Biểu đồ chuyển trạng thái cung cấp cách thức mô hình hoá các trạng thái khác nhau của đối tượng. Nó được sử dụng để mô hình hoá các hành vi động của hệ thống. Hình 2.9.Biểu đồ trạng thái của lớp tài khoản Biểu đồ chuyển trạng thái chỉ ra hành vi của đối tượng. Ví dụ đối tượng tài khoản trong ngân hàng có thể có một vài trạng thái như: mở, đóng hay rút quá mức. Tài khoản sẽ ứng xử khác nhau với mỗi trạng thái khác nhau. Biểu đồ ở hình 2.9 cho thấy các trạng thái và quá trình chuyển trạng thái của tài khoản. Ví dụ khi tài khoản đang mở và khách hàng yêu cầu đóng tài khoản thì nó chuyển sang trạng thái đóng. Yêu cầu của khách hàng gọi là sự kiện. Sự kiện là cái gây ra các biến đổi từ trạng thái này sang trạng thái khác. Nếu tài khoản đang mở và khách hàng rút tiền thì có thể dẫn tới trạng thái rút quá. Trạng thái này xảy ra khi khách hàng còn nợ ngân hàng hay tài khoản < 0. Điều kiện này gọi là điều kiện gác. Điều kiện gác điều khiển việc xảy ra hay không xảy ra của biến đổi trạng thái. Các tiến trình xảy ra khi đối tượng đang trong trạng thái nào đó gọi là hành động. Ví dụ tài khoản bị rút quá thì thông báo được gửi tới khách hàng, việc gửi này gọi là hành động . Thông thường chỉ tạo lập biểu đồ chuyển trạng thái cho các lớp phức tạp. Biểu đồ này chỉ dành cho việc làm tài liệu. Rose không phát sinh mã trình từ biểu đồ này. II.3.6 Biểu đồ thành phần (component) Biểu đồ này cho ta cái nhìn vật lý của mô hình. Cho thấy các thành phần mềm trong hệ thống và quan hệ giữa chúng. Hai loại thành phần trong biểu đồ: thành phần khả thực và thành phần thư viện. Trong Rose, mỗi lớp trong mô hình được ánh xạ đến một thành phần mã nguồn. Có thể có nhiều biểu đồ thành phần cho một hệ thống, số lượng này phụ thuộc vào các hệ thống con của chúng. Mỗi hệ thống con là gói thành phần, gói là tập hợp các đối tượng. Bất kỳ ai có trách nhiệm dịch chương trình đều quan tâm đến biểu đồ này. Nó cho thấy trình tự dịch của các mođun trong hệ thống. Đồng thời nó cũng cho biết rõ thành phần nào được tạo ra khi chạy chương trình. Biểu đồ thành phần chỉ ra ánh xạ của lớp vào các thành phần cài đặt. Dưới đây là một số ví dụ về biểu đồ thành phần: Hình 2.10.Biểu đồ thành phần của máy chủ ATM Hình 2.11.Biểu đồ thành phần của ATM client II.3.7 Biểu đồ triển khai (deployment) Biểu đồ này chỉ ra bố trí vật lý của mạng và các thành phần hệ thống sẽ đặt ở đâu. Hình 2.12.Biểu đồ triển khai của hệ thống ATM Biểu đồ này cho thấy máy trạm ATM sẽ chạy trên nhiều địa điểm khác nhau. chúng giao tiếp với máy chủ ATM thông qua mạng riêng. Máy chủ ATM sẽ giao tiếp với máy chủ CSDL thông qua mạng LAN. Như vậy hệ thống ATM có kiến trúc ba tầng: tầng CSDL, tầng máy chủ và tầng máy trạm. II.3.8 Biểu đồ đối tượng Biểu đồ đối tượng mô hình hoá các thể hiện của các phần tử có trong biểu đồ lớp. Nó chỉ ra một tập các đối tượng và các mối quan hệ giữa chúng trong một thời điểm nhất định. Ta sử dụng biểu đồ đối tượng để mô hình khung nhìn thiết kế tĩnh và kkhung nhìn tiến trình động của một hệ thống. Điều này liên quan đến việc mô hình hoá một ảnh tạm thời của hệ thống và biểu diễn tập đối tượng, trạng thái và quan hệ của chúng. Trong UML ta sử dụng biểu đồ lớp để mô hình hoá sắc thái tĩnh của các khối cấu trúc của hệ thống. Ta cũng sử dụng biểu đồ tương tác để mô hình hoá sắc thái động của hệ thống, bao gồm tập các thể hiện của các khối trên và các thông báo hình thành giữa chúng. Biểu đồ đối tượng do đó diễn tả phần tĩnh của biểu đồ tương tác, bao gồm các đối tượng và kết nối giữa chúng nhưng không chứa các thông báo như ở biểu đồ tương tác. Thông thường ta mô hình hoá với biểu đồ đối tượng trong khía cạnh của các thể hiện thực và nguyên mẫu. Điều đó có nghĩa là cách nhìn này hỗ trợ các yêu cầu về chức năng hay là dịch vụ mà hệ thống cung cấp tới người sử dụng. Biểu đồ đối tượng cho phép ta mô hình các cấu trúc dữ liệu tĩnh. Khi ta mô hình khung nhìn thiết kế tĩnh hoặc khung nhìn tiến trình tĩnh, cách thức ta sử dụng biểu đồ là mô hình các cấu trúc đối tượng. Mô hình cấu trúc đối tượng liên quan đến việc nhận được một ảnh của các đối tượng trong hệ thống tại một thời điểm nhất định. Biểu đồ đối tượng biểu diễn một khung ảnh trong một bộ phim được biểu diễn bởi biểu đồ tương tác. II.3.9 Biểu đồ hoạt động Biểu đồ hoạt động mô tả luồng từ hoạt động đến hoạt động. Một hoạt động là một sự thực hiện đang diễn ra ở trong máy trạng thái. Các hoạt động cuối cùng tạo ra kết quả ở một số hành động. Mỗi hành động tạo thành một sự tính toán nguyên tố có thể thực thi. Một sự tính toán nguyên tố có đặc điểm là làm thay đổi trạng thái của hệ thống hoặc của giá trị trả về. Các hành động bao gồm việc gọi các thao tác khác, gửi một tín hiệu, tạo hoặc phá huỷ một đối tượng hoặc là một vài sự tính toán khác như là đánh giá một biểu thức. Biểu diễn của biểu đồ hoạt động là một đồ thị gồm có các cung và nút . Hình 2.13. Biểu đồ hoạt động Các phần tử đặc trưng cho biểu đồ hoạt động bao gồm: Các trạng thái hoạt động (activity state) và trạng thái hành động (action state) Chuyển dịch (transition) Đối tượng II.4 Kiến trúc hệ thống Kiến trúc hệ thống là trừu tượng hoá các khía cạnh quan trọng nhất của hệ thống. Nó cung cấp khung trong đó thiết kế sẽ được xây dựng. Nó mô tả tầm cỡ, sức mạnh của hệ thống, thu thập các UC quan trọng nhất và các yêu cầu ứng dụng. Nó thể hiện phần mềm sẽ được tổ chức như thế nào và cung cấp các giao thức trao đổi dữ liệu và giao tiếp giữa các mođun. Kiến trúc hệ thống là vật phẩm quan trọng nhất, được sử dụng để quản lý các điểm nhìn khác nhau để điều khiển phát triển hệ thống tăng dần và lặp trong suốt chu kỳ sống. Kiến trúc là tập các quyết định về: Tổ chức của hệ thống phần mềm Lựa chọn các phần tử cấu trúc và giao diện cho hệ thống Hành vi của chúng thể hiện trong hợp tác giữa các phần tử Tổ hợp các phần tử cấu trúc và hành vi của con lớn hơn. Kiến trúc phần mềm không chỉ liên quan đến cấu trúc và hành vi mà cả chức năng, tính sử dụng lại, dễ hiểu, ràng buộc công nghệ … Kiến trúc hệ thống được mô tả bằng các khung nhìn. Các khung nhìn ánh xạ vào tổ chức và cấu trúc hệ thống, mỗi khung nhìn tập trung vào khía cạnh cụ thể của hệ thống. Có 5 khung nhìn sau: Khung nhìn trường hợp sử dụng (Use case view) Khung nhìn logic (logical view) Khung nhìn cài đặt (implennentation view) Khung nhìn triển khai (deployment view) Khung nhìn tiến trình (process view) II.4.1 Khung nhìn UC Khung nhìn này đứng trước mọi khung nhìn khác. Nó được hình thành từ giai đoạn phân tích yêu cầu và thúc đẩy phần việc còn lại của thiết kế. Nó mô tả các hành vi của hệ thống theo cách nhìn của khách hàng, phân tích viên và kỹ sư kiểm tra, thử nghiệm: Khung nhìn UC chứa các tác nhân, UC, biểu đồ UC trong hệ thống. Chúng cũng có thể bao gồm vài biểu đồ trình tự, biểu đồ cộng tác và gói. Khung nhìn UC tập trung vào mức cao của các hệ thống sẽ làm, không quan tâm đến hệ thống làm như thế nào. II.4.2 Khung nhìn thiết kế Rose gọi khung nhìn này là khung nhìn logic. Nó biểu diễn tổ chức của các lớp có ý nghĩa nhất và các quan hệ của chúng với nhau. Khung nhìn logic tập trung vào hệ thống cài đặt hành vi trong UC như thế nào. Nó bao gồm các lớp, biểu đồ lớp, biểu đồ đối tượng, biểu đồ tương tác, biểu đồ biến đổi trạng thái và các gói. Thông thường đội ngũ phát triển phần mềm tiếp cận khung nhìn logic theo hai bước: Bước 1: Là nhận ra các lớp phân tích (analysis class). Các lớp này độc lập với ngôn ngữ. Bước 2: Sau khi đã nhận ra các lớp phân tích thì đội ngũ phát triển phần mềm chuyển chúng sang lớp thiết kế. Khung nhìn logic tập trung vào cấu trúc logic của hệ thống. Từ khung nhìn này giúp ta nhận ra các bộ phận hệ thống, khảo sát thông tin và hành vi cho lớp, nhóm các lớp … khảo sát quan hệ giữa các lớp và gói để đảm bảo khả năng sử dụng lại. II.4.3. Khung nhìn cài đặt Rose gọi khung nhìn này là khung nhìn thành phần (component view). Thành phần là mođun vật lý hay tệp mã trình để lắp ráp thành hệ thống vật lý. Khung nhìn thành phần bao gồm: thành phần, biểu đồ thành phần và gói. Người quan tâm nhất đến khung nhìn thành phần là người có trách nhiệm quản lý mã trình, dịch chương trình và triển khai ứng dụng. Một vài thành phần là thư viện, một số khác là mã trình khả thực (.exe) và thư viện (.dll). II.4.4. Khung nhìn triển khai Khung nhìn này tập trung vào phân bổ vật lý của tài nguyên và phân bổ nhiệm vụ giữa các tài nguyên. Khung nhìn triển khai liên quan đến triển khai vật lý của hệ thống, khác với kiến trúc logic. Thí dụ, hệ thống có kiến trúc ba tầng logic, bao gồm giao diện, logic tác nghiệp và logic CSDL tách biệt nhau. Nhưng triển khai có thể chỉ có hai tầng, trong đó logic tác nghiệp và logic CSDL trên cùng một máy. Khung nhìn triển khai bao gồm tiến trình (luồng thực hiện trong vùng nhớ riêng), bộ xử lý và thiết bị . Khung nhìn triển khai chỉ ra các tiến trình và thiết bị trên mạng và các kết nối vật lý giữa chúng. Biểu đồ triển khai cũng hiển thị tiến trình và chỉ ra tiến trình nào chạy trên máy nào. II.4.5. Khung nhìn tiến trình Khung nhìn tiến trình biểu diễn phân tách các luồng thực hiện chương trình (tiến trình - process, luồng – thread, nhiệm vụ - task …), đồng bộ giữa các luồng, phân bổ các đối tượng và lớp cho các luồng thực hiện khác nhau. Khung nhìn tiến trình tập trung vào các nhiệm vụ tương tranh tương tác với nhau như thế nào trong hệ thống đa nhiệm. Trong biểu đồ của phần mềm công cụ Rose 2000 không có khung nhìn này. III Tiến trình phát triển ứng dụng với UML III.1Các kỹ thuật mô hình hoá hợp nhất (Unified modeling) Trong kỹ nghệ phần mềm có một số cách để tiếp cận một mô hình. Hai cách phổ biến trong số này là mô hình hoá hướng chức năng và hướng đối tượng. Mô hình hoá hướng chức năng thể hiện ở chỗ phần tử mô hình cơ bản là các chức năng. Quan điểm này dẫn đến việc xây dựng hệ thống chú trọng vào yếu tố điều khiển và quá trình phân chia các chức năng lớn thành các chức năng nhỏ hơn. Nhược điểm của phương pháp mô hình này là khi yêu cầu về hệ thống thay đổi thì hệ thống phần mềm rất khó bảo trì. Mô hình hoá hướng đối tượng xem các lớp và đối tượng là các phần tử mô hình cơ bản của hệ thống. Các đối tượng là khái niệm được phát hiện từ không gian vấn đề và giải pháp. Thông thường các yếu tố này rất ít thay đổi khi hệ thống phát sinh các đòi hỏi mới. Trong phần này các kỹ thuật mô hình hoá hướng đối tượng được giới thiệu nhằm mục đích xây dựng các mô hình của hệ thống trên UML. III.1.1 Xây dựng lược đồ Use case Việc xây dựng lược đồ use case đòi hỏi các kỹ thuật mô hình hoá sau: - Mô hình hoá ngữ cảnh của hệ thống Ngữ cảnh của hệ thống bao gồm tất cả các yếu tố bên ngoài tương tác với hệ thống. Ngữ cảnh xác định môi trường tồn tại của hệ thống. Để mô hình ngữ cảnh của hệ thống ta tiến hành các công việc sau: Nhận biết các tác nhân bao quanh hệ thống bằng cách xác định xem các nhóm yếu tố nào đòi hỏi sự giúp đỡ của hệ thống để thực hiện công việc của chúng, các nhóm nào thực hiện các chức năng của hệ thống, các nhóm nào tưong tác với các hệ thống phần cứng hoặc phần mềm khác và các nhóm nào là thực hiện các chức năng phụ như là bảo trì và quản trị . Tổ chức các tác nhân theo quan hệ tổng quát hoá Cung cấp các stereotype cho các tác nhân Nhận biết lược đồ use case với các tác nhân này và xác định đường truyền thông giữa các tác nhân và use case của hệ thống. -Mô hình hoá các đòi hỏi của hệ thống Xác định xem hệ thống làm gì chứ không phải là nó làm như thế nào. Kỹ thuật mô hình hoá được mô tả như sau: Thiết lập ngữ cảnh của hệ thống bằng các xác định các tác nhân tồn tại xung quanh hệ thống. Với mỗi tác nhân, xác định các hành vi mà các tác nhân đó đòi hỏi ở hệ thống. Đặt tên cho các hành vi này và xem chúng như là các use cases Phân chia các hành vi chung thành các use case mới như là một trình cung cấp tính năng. III.1.2 Xây dựng lược đồ lớp - Mô hình từ điển hệ thống Ta sử dụng các lớp để mô hình hoá phần lớn các trừu tượng tồn tại trong không gian bài toán và giải pháp (phạm vi công nghệ sử dụng để giải quyết vấn đề). Mỗi trừu tượng là một phần tử của từ điển hệ thống. Nó biểu diễn các yếu tố quan trọng đối với khách hàng và nhà phát triển. Để mô hình hoá từ điển ta tiến hành các công việc sau: Nhận biết các yếu tố mà khách hàng và phát triển viên dùng để mô tả vấn đề và giải pháp.Ta sử dụng kỹ thuật CRC cards và phân tích dựa trên use case để thực hiện công việc này. Đối với mỗi trừu tượng, tiến hành nhận biết các nhiệm vụ gắn với nó. Các lớp phải được xác định một cách sinh động và các nhiệm vụ được phân tán cân bằng giữa các lớp. Cung cấp các thuộc tính và thao tác để thực hiện các nhiệm vụ của lớp. - Mô hình hoá các quan hệ - Quan hệ phụ thuộc Nhận biết quan hệ phụ thuộc bằng cách nhận biết các thao tác trong lớp mà tham số của các thao tác có chứa các lớp khác. - Quan hệ tổng quát hoá Trong quá trình mô hình từ điển hệ thống, xuất hiện các lớp có cấu trúc và hành vi hầu như là giống nhau. Cách tốt nhất để tổ chức các lớp này là trích các đặc điểm cấu trúc và hành vi chung và đặt chúng trong các lớp tổng quát hơn. Để mô hình quan hệ thừa kế ta tiến hành: Tìm kiếm các điểm chung giữa các lớp như là nhiệm vụ, thuộc tính và thao tác. Đặt các đặc tính chung đó vào một lớp tổng quát hơn. Nếu cần thiết có thể tạo một lớp mới (số mức thừa kế không nên nhiều quá). Xác định các quan hệ tổng quát giữa các lớp tổng quát và các lớp thừa kế nó. - Quan hệ cấu trúc hay liên kết Quan hệ liên kết xác định cấu trúc tương tác Trong khi quan hệ phụ thuộc là quan hệ là quan hệ sử dụng, quan hệ tổng quát hoá là quan hệ “là một loại của” thì quan hệ liên kết xác định cấu trúc tưong tác giữa các đối tượng của các lớp. Để mô hình quan hệ cấu trúc ta tiến hành công việc sau: Đối với mỗi cặp lớp, ta xác định một quan hệ cấu trúc giữa chúng nếu ta có thể xác định một lớp này từ lớp kia. Đây là khung nhìn hướng dữ liệu của quan hệ cấu trúc. Đối với mỗi cặp lớp mà nếu các đối tượng của một lớp cần tương tác với các đối tượng của lớp kia như là các tham số trong thao tác. Ta xác định quan hệ cấu trúc giữa cặp lớp này. Đây là khung nhìn hướng hành vi của quan hệ cấu trúc. Với mỗi liên kết trên, xác định multiplicity và vai trò ở mỗi đầu của liên kết Xác định quan hệ kết tập (aggregation) giữa hai lớp nếu quan hệ giữa chúng là toàn thể - bộ phận. - Mô hình các cộng tác đơn giản Khi ta mô hình một lược đồ lớp, ta chỉ mô hình các yếu tố tạo nên khung nhìn thiết kế của hệ thống. Các yếu tố này bao gồm các phần tử và quan hệ giữa chúng. Với lý do này mỗi một lược đồ lớp nên đặt trọng tâm vào một cộng tác tại một thời điểm. Để mô hình hoá một cộng tác: Nhận biết cơ cấu cần mô hình. Một cơ cấu biểu diễn chức năng hoặc hành vi của một phần của hệ thống cần mô hình. Cơ cấu này được thực hiện bởi một cộng tác bao gồm tập các lớp, giao diện và các phần tử khác. Với mỗi cơ cấu, nhận biết các lớp, giao diện và cộng tác tham gia vào cơ cấu Nhận biết mối quan hệ giữa chúng . Sử dụng kịch bản để đánh giá tính đúng đắn và đầy đủ của cộng tác này. Xác định nội dung của các phần tử trong cộng tác. - Mô hình hoá lược đồ cơ sở dữ liệu quan niệm Nhận biết các lớp mà trạng thái của nó phải vượt quá thời gian sống của ứng dụng. Tạo một lược đồ lớp chứa các lớp này và đánh dấu chúng như là persístent (một giá trị nhãn chuẩn). Mở rộng các chi tiết cấu trúc của các lớp này. Điều này nghĩa là ta chỉ định chi tiết các thuộc tính, chú trọng liên kết giữa các lớp. Xem xét các mẫu phổ biến tạo nên sự phức tạp trong thiết kế các cơ sở dữ liệu vật lý. Khi cần có thể tạo các trừu tượng trung gian để đơn giản hoá cấu trúc logic. Xem xét hành vi của các lớp này bằng cách mở rộng các thao tác của chúng. Điều này rất quan trọng đối với sự truy nhập và tính toàn vẹn dữ liệu. Sử dụng các công cụ để biến đổi thiết quan niệm thành thiết kế vật lý nếu cần. III.1.3 Xây dựng lược đồ tuần tự Để xây dựng lược đồ tuần tự ta phải xác định các tương tác theo thứ tự thời gian. - Mô hình hoá luồng điều khiển theo trình tự thời gian. Thiết lập ngữ cảnh cho một tương tác, xem xét nó trong toàn bộ hệ thống, trong một lớp, một thao tác, một kịch bản của use case hay là một cộng tác. Thiết lập giai đoạn cho tương tác bằng cách nhận biết các đối tượng nào tham gia một vai trò trong tương tác. Đặt các đối tượng này vào trong lược đồ tương tác từ trái qua phải, đối tượng quan trọng hơn đạt ở bên trái sau đó là các đối tượng gần gũi với nó. Xác định đường sống cho mỗi đối tượng. Phần lớn các trường hợp một đối tượng tồn tại trong toàn bộ một tương tác. Với các đối tượng có thời gian sống nằm trong một tương tác thì ta phải xác định các đường sống của chúng, chỉ định thời điểm sinh và phá huỷ của đối tượng với các stereotype thích hợp. Bắt đầu cùng với một thông báo khởi tạo tương tác. Xếp các thông báo tiếp theo theo thứ tự từ trên xuống dưới giữa các đường sống, chỉ ra các thuộc tính của thông báo (tham số) để giải thích ngữ nghĩa của một tương tác. Thêm vào lược đồ tam điều khiển nếu cần phảibiểu diễn trực quan các thông báo lồng nhau. Thêm vào lược đồ các ràng buộc về thời gian và không gian thich hợp nếu cần. Thêm vào lược đồ các điều kiện trước và sau cho mỗi thông báo nếu cần. III.1.4 Xây dựng lược đồ cộng tác Mục đích sử dụng lược đồ tương tác là biểu diễn quá trình truyền các thông báo trong ngữ cảnh của cấu trúc đối tượng. - Mô hình hoá luồng điều khiển theo tổ chức các đối tượng Thiết lập ngữ cảnh cho một tương tác, xem xét nó trong toàn bộ hệ thống, trong một lớp, một thao tác, một kịch bản của use case hay là một cộng tác. Thiết lập giai đoạn cho tương tác. Thiết lập đặc tính ban đầu cho mỗi đối tượng. Xác định các kết nối giữa các đối tượng, và các thông báo truyền trên các kết nối đó: Xếp các kết nối cấu trúc đầu tiên, đây là các kết nối quan trọng nhất bởi vì chúng biểu diễn các quan hệ cấu trúc. Kế tiếp là xếp các kết nối khác vào trong lược đồ với các streotype thích hợp (global hay local). Bắt đầu cùng với một thông báo khởi tạo tương tác, gắn mỗi thông báo kế tiếp vào một kết nối thích hợp, thiết lập số thứ tự của thông báo. Gắn vào mỗi thông báo các ràng buộc về không gian và thời gian nếu cần. Gắn vào mỗi thông báo các điều trước và điều kiện sau nếu cần. Áp dụng kỹ nghệ tiến đối với lược đồ tương tác: Ta có thể tạo mã từ các lược đồ tương tác (cả tuần tự lẫn cộng tác) đặc biệt là trong ngữ cảnh của một thao tác. III.1.5 Xây dựng lược đồ hoạt động Lược đồ hoạt động được có thể được gắn vào bất kỳ một phần tử mô hình nào nhằm biểu diễn trực quan, đặc tả, xây dựng và lập tài liệu cho hành vi của phần tử đó. Ta có thể gắn lược đồ hoạt động vào các lớp, giao diện, thành phần, use case và cộng tác. Thành phần phổ biến nhất sử dụng lược đồ hoạt động là thao tác. - Mô hình hoá một thao tác Xác định các trừu tượng liên quan đến thao tác, bao gồm các tham số thao tác (bao gồm kiểu giá trị trả về), các thuộc tính và các lớp liên quan. Nhận biết các điều kiện trước tại trạng thái khởi đầu của thao tác và điều sau tại trạng thái cuối cùng của thao tác. Xuất phát từ trạng thái ban đầu của thao tác, xác định các hoạt động và hành động lần lượt xảy ra, sau đó biểu diễn chúng bằng các trạng thái hành động và hoạt động. Sử dụng cấu trúc rẽ nhánh nếu cần thiết để chỉ định các đường điều kiện và vòng lặp. Nếu thao tác được sở hữu bởi các lớp active, sử dụng cơ chế phân chia và hợp nhất để xác định các luồng điều khiển song song. III.1.6 Xây dựng lược đồ trạng thái Mục đích sử dụng lược đồ trạng thái là để mô hình hoá các hành vi của các đối tượng tương tác, đặc bịêt là các thể hiện của lớp, use case và toàn bộ hệ thống. Trong khi các tương tác mô hình hoá hành vi của tập các đối tượng tương tác với nhau thì lược đồ trạng thái mô hình hành vi của một đối tượng riêng lẻ trong thời gian sống của nó. Trong khi lược đồ hoạt động mô hình hoá luồng điều khiển từ hoạt động đến hoạt động thì lược đồ trạng thái mô hình luồng điều khiển từ từ sự kiện đến sự kiện. Khi ta mô hình hành vi phản ứng của đối tượng riêng lẻ thì ta phải xác định ba phần tử cơ bản sau: các trạng thái ổn định, các sự kiện gây nên sự dịch chuyển trạng thái và các hành động x

Các file đính kèm theo tài liệu này:

  • doc35978.doc