Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Chương IV. Tổng quan về ngôn ngữ mô hình hóa thống nhất uml và phương pháp hướng đối tượng pot
Nội dung xem thử
Mô tả chi tiết
CHƯƠNG IV – TỔNG QUAN VỀ NGÔN NGỮ MÔ HÌNH HÓA THỐNG NHẤT
UML VÀ PHƯƠNG PHÁP HƯỚNG ĐỐI TƯỢNG.
1. Sự ra đời của phương pháp hướng đối tượng
Phân tích hệ thống theo phương pháp hướng đối tượng (object-oriented
analysis, OOA) là một kỹ thuật đặc tả nửa hình thức. Hiện nay cũng có khá
nhiều kỹ thuật phân tích hướng đối tượng, nhưng về bản chất chúng tương
đương nhau. Giống như các kỹ thuật nửa hình thức, phân tích hướng đối
tượng cũng dùng các biểu tượng đồ họa để biểu diễn các đối tượng và các quá
trình xử lý. OOA ra đời vào đầu những năm 90 của thế kỷ trước. Năm 1991,
Rumbaugh (New york) và các cộng sự đưa ra kỹ thuật mô hình hóa hướng đối
tượng (object modeling technique, OMT), được sử dụng cho phân tích và
thiết kế hướng đối tượng. Năm 1994 Grady Booch (Rational, California) cũng
phát triển một kỹ thuật OOA mà về bản chất cũng tương tự như của
Rumbaugh. Năm 1994 Rumbaugh gặp Booch tại Rational và hai ông đã cùng
nhau phát triển công cụ gọi là phương pháp luận thống nhất (unified
methodology), tuy nhiên hai ông đã nhanh chóng nhận ra rằng thực chất
không phải là phương pháp, mà đơn thuần chỉ là các biểu tượng dùng để biểu
diễn sản phẩm phần mềm hướng đối tượng (HĐT), và đã đổi tên công cụ
thành "ngôn ngữ mô hình hóa thống nhất" (unified modeling language, gọi tắt
là UML). Năm 1995 Ivar Jacobson, người tiên phong trong lĩnh vực công
nghệ phần mềm HĐT, đã gặp Rumbaugh và Booch tại Rational. Jacobson đã
nghiên cứu phương pháp HĐT từ năm 1967 và năm 1992 cho ra đời phương
pháp mang tên "công nghệ phần mềm hướng đối tượng" (object-oriented
software engineering). Phiên bản 1.0 của ngôn ngữ UML đã được xuất bản
năm 1997, được coi là công trình chung của ba tác giả Rumbaugh, Jacobson
và Booch. UML hiện nay trở thành chuẩn quốc tế, đang được hiệu chỉnh,
phát triển dưới sự giám sát của nhóm quản lý hướng đối tượng (Object
Management Group), là hiệp hội các công ty trên phạm vi toàn thế giới có
hoạt động tích cực trong phương pháp HĐT.
Jacobson, Booch và Rumbaugh đã cùng nhau xây dựng công cụ được gọi
là Rational Unified Process là quy trình phát triển phần mềm thống nhất dựa
trên UML đầu tiên. (Quy trình này có tên là Rational, là nơi công cụ này ra
đời). Một phương pháp quan trọng khác dựa vào UML là Catalysis do
D'Souza và Wills xây dựng năm 1999. UML được chấp nhận rộng rãi trên
toàn thế giới và có thể khẳng định gần như chắc chắn rằng, các phương pháp
phát triển phần mềm trong tương lai cũng sẽ lấy UML làm cơ sở.
62
Trong tài liệu này UML được dùng để biểu diễn cả phân tích và thiết kế
HĐT.
Phân tích hướng đối tượng chính là cách nhìn nhận phần mềm được tạo
thành bởi các đối tượng có mối liên quan với nhau. Vì OOA hay OOD đều
sử dụng UML làm công cụ diễn đạt, do đó trước hết chúng ta sẽ tìm hiểu qua
về ngôn ngữ này.
2. Tổng quan về ngôn ngữ mô hình hoá thống nhất UML
2.1. UML là gì?
UML là ngôn ngữ trực quan (tức là sử dụng các biểu tượng để mô
tả các vấn đề và công việc) được dùng trong pha phân tích và pha thiết kế
trong quy trình xây dựng một phần mềm hướng đối tượng. UML là một ngôn
ngữ đặc tả nửa hình thức (semiformal specification language, tuy nhiên cũng
có tài liệu cho rằng UML là ngôn ngữ hình thức).
Giống như những ngôn ngữ khác (ngôn ngữ tự nhiên, ngôn ngữ lập trình,
ngôn ngữ cho người khiếm thính...), UML cũng có một tập các phần tử và tập
các quy tắc để diễn đạt vấn đề. Tuy nhiên UML không phải là ngôn ngữ lập
trình, nghĩa là bạn không thể sử dụng nó để viết chương trình. UML cũng
không phải là một phương pháp, phương pháp luận hay quy trình phát triển
phần mềm.
Hầu hết các phần tử của UML là các biểu tượng đồ họa như đoạn thẳng,
hình chữ nhật, hình ôvan... Các phần tử này thường có nhãn để chỉ rõ tác dụng
của nó. Có thể sử dụng UML để tạo ra một mô hình có dạng chuẩn dữ liệu
(giống như CORBA và XMI DTD). Tuy nhiên cách biễu diễn bằng hình ảnh
của UML vẫn được sử dụng nhiều vì dễ hiểu hơn.
2.2. Một số khái niệm và thành phần cơ bản của UML
2.2.1. Mô hình (Model)
Theo từ điển tiếng Việt, từ mô hình có hai nghĩa:
1. Là vật cùng hình dạng nhưng làm thu nhỏ lại nhiều lần, dùng để mô
phỏng cấu tạo và hoạt động của một vật khác với mục đích trưng bày và
nghiên cứu (ví dụ: mô hình máy bay triển lãm mô hình nhà ở kiểu mới).
2. Là hình thức diễn đạt hết sức gọn theo một ngôn ngữ nào đó các đặc
trưng chủ yếu của một đối tượng để nghiên cứu đối tượng ấy. Mô hình hóa
(modeling) là tạo ra mô hình để trên mô hình ấy nghiên cứu một đối tượng
nào đó.
63
Trong UML từ mô hình được hiểu theo nghĩa thứ hai, nhưng ngôn ngữ sử
dụng là ngôn ngữ trực quan. Tuy nhiên, thường thì mô hình không chỉ một
biểu diễn cụ thể, mà là tập hợp của một số biểu diễn, ví dụ mô hình use-case
có nghĩa là tập hợp các biểu đồ use-case, mô hình động là tập hợp các biểu đồ
biểu diễn sự thay đổi theo thời gian như biểu đồ trạng thái, biểu đồ tương tác,
biểu đồ hoạt động...
2.2.2. Hướng nhìn
Hướng nhìn (có một số tài liệu gọi là khung nhìn, hay góc nhìn)
là một khái niệm trong UML, chứ không phải là một thành phần biểu diễn có
thể nhìn thấy được như use-case, biểu đồ, lớp... Trong đời thường, khi quan
sát một vật thể phức tạp ta phải nhìn từ nhiều hướng khác nhau. Khi biểu diễn
các vật đó trên giấy cũng không thể chỉ biểu diễn trong một bản vẽ duy nhất
mà phải dùng nhiều bản vẽ, mỗi bản vẽ biểu diễn vật từ một hướng nhìn. Với
một phần mềm phức tạp cũng vậy, ta cũng phải quan sát từ những hướng khác
nhau. Tuy nhiên hướng ở đây không còn được hiểu theo nghĩa đen nữa, vì
phần mềm không phải là một vật có thể quan sát một cách rõ ràng như ngôi
nhà, chiếc cầu... Hướng nhìn ở đây được hiểu là các khía cạnh khác nhau cần
mô tả, mô hình hoá và trừu tượng hoá của hệ thống. Mỗi hướng nhìn gồm một
số loại biểu đồ khác nhau.
Các hướng nhìn thường sử dụng là:
Use-case view (Hướng nhìn theo trường hợp sử dụng).
Mô tả các chức năng của hệ thống có ý nghĩa cho các tác nhân. Tác nhân ở
đây có thể là người sử dụng hoặc một hệ thống khác. Hướng nhìn use-case
mang tính trung tâm, vì nó là cơ sở cho các hướng nhìn khác.
Logical view (Hướng nhìn logic).
Ngược lại với hướng nhìn use-case, hướng nhìn logic nhìn vào bên trong
hệ thống. Nó mô tả các cấu trúc tĩnh (lớp, đối tượng, quan hệ), cũng như
tương tác động giữa các đối tượng.
Component view (Hướng nhìn theo thành phần).
Deployment view (Hướng nhìn triển khai).
Concurrency view (Hướng nhìn song song).
Trong các hướng nhìn trên đây thì hướng nhìn use-case và hướng nhìn
logic đóng vai trò quan trọng cốt yếu trong phân tích và thiết kế hướng đối
tượng.
64