Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (28.72 MB, 82 trang )
-45-
- U M L có bicu đồ tuần tự; SDL có MSC (Message Sequence Chari )
Khác nhau:
-
T rong SDL, khái niệm hệ thống là trung tâm. Một hệ thống có định
nghĩa giao diện tốt và bao gồm các tác nhân hoạt động tương tranh và
truyền thông bởi các thông điệp không dồng bộ. M ột hệ thống mô
hình một phán sự thực hiện cúa thế giới thực nhưng có thể định nghĩa
hởi cách tham khao đến m ột hệ thống. Trong U M L kh ô n g có khái
niệm hệ thông. Chỉ có các lớp và các liên kết giữa chúng. Cấu trúc
đối tượng có thể được mô tả nhưng chỉ với mục tiêu là rõ. U M L có 5
view thể hiện các khía cạnh khác nhau của hệ thống, tạo nên một bức
tranh toàn cảnh của hệ thống cần xây dựng, do vậy không có khái
niệm hệ thống tồn tại trong ƯML. Có thể coi SDL chỉ có 1 view, khi
xây dựng hệ thống với SDL nó nhìn toàn bộ hệ thống một cách bao
quát trên một khía cạnh nào đó.
-
U M L có tính m ở với nghĩa: U M L có thể m ở rộng cho m ọi công ty có
thể xúy dựng các bộ công cụ riêng cho m ình dựa trên các khái niệm
của U M L. Tuỳ thuộc vào yêu cầu của mình họ có the xây dựng một
ngôn ngữ tuân theo các khái niệm của UM L. Với SDL thì tính m ở
yếu hơn, nó không được dùng phổ biến để xây dựng cho mọi hệ thống
phần mềm, mà phần lớn nó chỉ được áp dụng trong các hệ thống phân
tán, các hệ thống truyền thông, hệ thống thời gian thực.
-
Trong SDL, một tác nhân có thể được làm từ một cấu trúc phức tạp
của các tác nhân khác và từ đó có thể định nghĩa một dạng tác nhân
ghép. Trong trường hợp này, một kiểu ghép có thể được định nghĩa và
sử dụng như một phần lử với giao diện định nghĩa tốt. U M L thiếu một
khái niệm lương ứng với các kiểu ghép. Sự ghép này là một liên kết
đặc biệt giữa các lớp trong UM L.
-
Trong SDL, sự Iương tranh và truvcn thông không đồng bộ giữa các
tác nhân là mộl quy tắc. Các máy trạng thái định nghĩa dãy các hành
vi của các tác nhân. Trong U M L, tương tranh và truyền thông không
đống bộ là một sự lựa chọn.
-
U M L có các use - case dùng để nắm bắt các yêu cầu, các biểu đồ
cộng tác mà SDL không có các thành phần này.
-
SDL có các kiểu đặc tả, các sự chuyển dịch có thực hiện trong dạng
chi tiết đầy đủ, trong U M L không trợ giúp cho các quá trình này.
Hình sau chỉ ra phần chung, các biêu đồ và các khái niệm có thể dùng
được trong U M L và SDL. Chúng chia sẻ sự đặc tả cho cấu trúc tĩnh, hành vi
và các kịch bản (scenario).
So sách các đặc trưng giữa U M L và SDL.
1.2. Phát triển phần mềm dựa trên UML và SDL.
Việc sử dụng Ư M L có nghĩa là chúng ta xây dựng các đặc tả trong Ư M L
và thực hiện trong các ngôn ngữ lập trình hướng đối tượng như
c++,Java,.....
Như vậy Ư M L có các khái niệm cho phép xây dựng các bộ công cụ để có thể
tự động dịch các mô hình đặc tả ra mã chương trình. Tuy nhiên đôi với các hệ
thống thời gian thực việc sử dựng U M L còn gặp nhiều vấn để không thuận lợi.
Cụ thế là đối với các hệ thống lớn, phức tạp trong truyén thông. SDL lại có ưu
Ihố trong vấn đc này.
Để phát tricn các tiến trình phần mềm thông Ihường chúng ta bắt đầu lừ
những use case đơn gián, vì như vậy chúng ta dễ dàng nấm bắt được hệ thống
cúa chúng ta thông qua các use case; sau đó chuyển các use case này vào các
bicu đồ SDL. Như vậy để thực hiện các liến trình phần mềm chúng ta sẽ bất
đầu với U M L và sau đó chuyển đốn SDL cho các giai đoạn sau của tiến trình
phần mềm. U M L trợ giúp rất mạnh cho các giai đoạn sớm của quá trình phát
iriển phần mềm còn SDL có nhiều thuận lợi trong giai đoạn thiết kế và giai
đoạn thực hiện sau đó [2].
Ph—
Phân tích hệ thống
.... ..
......
位
SDL
Thiết kế hệ thống
Thiết kế chi tiết
:;
r
■珥
r= 》
'
: ': r : :
_
Sự tương quan giữa U M L và SDL trong các giai đoạn phát triển phần mềm
Trong giai đoạn thiết kế, U M L được sử dụng rất tốt, trong giai đoạn này
chúng ta sử dụng các use case và các biểu đồ tuần tự để mô tả yêu cầu và các
hoại độnơ của hệ thống. Hơn nữa các biểu đồ lớp không hình thức có thế được
dùng cho việc mô tả đồ hoạ cho các vấn đề đặc biệt. Sau khi hoàn thành các
bước này Ihì chúng ta đã thực hiện xong việc đặc tả yêu cầu (R-Spec). Các
hicu đồ triển khai cung cấp một cái nhìn khái quát toàn bộ hệ thống trong
giai đoạn thiết kế. Sau đó các biểu đồ trạng thái và các biểu đồ tuần tự có thể
dịch trực tiếp ra mã chương trình thông qua SDL. Điều này có nghĩa rằng, kết
quả thu được trong giai đoạn thiết kế không chỉ có giá trị cung cấp tài liệu cho
đặc tả chức năng và đặc tả dữ liệu cũng như với đặc tả yêu cầu mà kết quả này
còn được sử dụng để trực tiếp dịch ra mã chương trình.
Do SDL và U M L có các khái niệm tương tự nhau và dựa vào những so
sánh trên chúng la thấy rằng việc kếl hợp giữa U M L và SDL SC cho chúng ta
một ngôn ngữ đặc tả rất tốt cho quá trình phát triển phần mềm. Trong hai phấn
sau lỏi đưa ra cách chuyển đổi các mô hình từ U M L sang SDL và ngược lại.
II. CHUYỂN ĐỔI TỪUML SANÍỈ SDL
Các ánh xạ để làm cho các thông tin trong mô hình U M L liên hộ với các
thòng tin trong hệ thống SDL hầu hết là có tính chất hướng cú pháp. V í dụ
một lớp trong U M L ánh xạ vào tiến trình trong SDL, nhưng một số ánh xạ là
có ncữ nghĩa lớn hơn, ví dụ sự truyền thông giữa các lớp ánh xạ trên sự truyén
thôníỉ giữa các tiến trình. Sự dịch chuyển hoàn toàn các mô hình và các thay
đổi trong mô hình cơ sở dựa trên các ánh xạ này. Chúng tôi sẽ làm rõ sự dịch
chuyển của một mô hình U M L đầy đủ trong một ví dụ cụ thể.
2.1. Ánh xạ các biểu đổ lớp từ UML sang SDL
/ . Các lớp
Để tạo ra một cấu trúc lớp tương tự trong SDL giống như ƯM L, chúng ta
cần tạo ra một số nguyên mẫu (stereotype). Các nguyên mẫu này là mờ rộng
của Ư M L và được tạo ra để cho sự dịch chuyển trở nên trực giác và đơn gián
hơn. Có các nguyên mầu sau: block, process và newtypc
-
Mội lớp trong U M L mà không có chứa nguyên mẫu được chuyển
sang thành một tiến trình trong SDL, hoặc một lớp chứa (là kết hợp
của nhiều lớp) được dịch sang các block.
Sau đáv là các lớp nguyên mảu block, process và newtypc
« b lo c k »
« p ro c e s s »
« n e v v tv p e »
A
B
c
V a rl: Boolean
S igl(P arl::real)
S igl(P arl ::real)
Sig2()
O p l(): boolean
V a rl: boolean
Var2: Pid
O p l(P a rl: int): boolean
Một lớp có thể có các thuộc tính và các thao tác. M ột thuộc tính có tên
và kieu, kiểu có thể là bỏ qua. M ộ t Ihao tác có tôn, nó có thể chứa các tham số
và các giá trị trá lại. Một thao tác với giá trị trả lại được chuyến đến một thủ
tục lừ xa, ngược lại nó chuyển sang một tín hiệu.
Các luật chung cho các tính chất của lớp:
-
Một lớp với tính chất = true ánh xạ đến một dạng biểu đồ trong SDL
-
Một lớp với tính chất = false ánh xạ đến một biểu đồ không kiêu trong
SDL
-
Một lớp mà ánh xạ đến m ột block với tính chất MgmProcess = true
ánh xạ đến một tiến trình với cùng tên với block thu được.
-
Một lớ p mà ánh xạ đến một process và với tính chất MgmProcess =
false ánh xạ đến một tiến trình với cùng tên với block thu được.
Block: Một lớp B lock dịch
chuyển
vào m ột dạng blo ck trong SDL. L ớ p
block có thể có thuộc tính và thao tác. Nếu một lớp block chứa các thuộc tính,
thì một tiến trình cùng tên block sẽ được tạo ra trong block. Tiến trình này
được gói gọn trong định nghĩa biến và có cùng định nghĩa giao diện như
block. Tiên trình được tạo ra gọi là tiến trình quản lý nó có cùng tên với block
chứa nó.