Kiến trúc trong UML

Một phần của tài liệu Hệ thống kết nối thanh toán điện tử Paymentconnect (Trang 29)

Kiến trúc phần mềm cho ta một cái nhìn khái quát nhất về hệ thống phần mềm ở các góc độ khác nhau. Kiến trúc của hệ thống phần mểm chuyên sâu được mô tả tốt nhất bằng năm loại khung nhìn tương tác với nhau. M ỗi khung nhìn phản ánh về một khía cạnh' của tổ chức và cấu trúc của hệ thống

Hệ thống kết nối thanh toân diện tử - PaymentConnect - Trang 29 -

mà tập trung vào từng mặt cụ thể giúp cho ta hiểu và sử dụng hệ thống tốt nhất.

Hình 9.Kiến trúc phần mềm qua các khung nhìn.

• Khung nhìn ca sử dụng cho ta cách sử dụng chức năng để mô tả hành vi của hệ thống khi nhìn nhận hệ thống dưới góc độ của người dùng cuối cùng, của nhà phân tích và người kiểm thử.

• Khung nhìn thiết kế bao gồm các lớp, các giao diện, các công tác tạo nên từ vựng để đặc tả các vấn đề và các giải pháp cho nó. Khung nhìn này hỗ trợ việc xác định các yêu cầu chức năng của hệ thống, nghĩa là các dịch vụ mà hệ thống sẽ cung cấp cho người dùng cuối cùng.

• Khung nhìn tiến trình của hệ thống chứa đựng các luồng và tiến trình công việc tạo nên cơ chế hoạt động tương tranh và đồng bộ của hệ thống. Khung nhìn này chủ yếu diễn đạt hiệu năng, quy mô và năng lực thông qua của hệ thống.

• Khung nhìn triển khai của hệ thống bao gồm các thành phần và các file được kết hợp lại và đưa ra các hệ thống vật lý. Khung nhìn này trước hết hướng đến việc quản lý cấu hình hệ thống.

• Khung nhìn cài đặt bao gồm các nút của hệ thống tạo nên kết cấu phần cứng mà trên đó hệ thống vận hành. Khung nhìn này chủ yếu hướng đến sự phân tán và cài đặt cụ thể của hệ thống.

1.3.3. Mỏ hình khái niệm của UML (conceptional model)

Ba thành phần chính tạo nên U M L là: các khối xây dựng cơ bản của U M L, các quy tắc ngữ nghĩa và một số cơ chế chung được áp dụng cho việc mô hình hoá.

1.3.3.1. Các khối xây dựng (building blocks)

Các sự vật (things) là các trừu tượng hoá và là những phần tử lớp đầu tiên (những viên gạch) để xây dựng lên các mô hình trong U M L. Các quan hệ

Hệ thống kết nối thanh toân điện tử - PaymentConnect - Trang 30 -

(relationships) gắn kết các sự vật lại với nhau; các biểu đồ (diagrams) nhóm các sự vật được quan tâm lại tạo nên ngữ nghĩa của nó (cho một mô hình).

a. Các sự vật cấu trúc (structural things) a l. Lớp (class)

M ột lớp mô tả một tập hợp các đối tượng có chung các thuộc tính, các tác vụ, các mối quan hệ và ngữ nghĩa. Một lớp có trách nhiệm thực hiện một hay nhiều giao diện. Lớp được biểu diễn bằng một hình chữ nhật bên trong có tên, các thuộc tính và các tác vụ.

a2. Giao diện (interface)

M ột giao diện là một tập hợp các tác vụ đặc tả một dịch vụ của một lóp hoặc một thành phần.

a3. Sự cộng tác (collaboration)

Sự cộng tác xác định các hoạt động bên trong hệ thống và là một bộ các nguyên tắc và các phần tử khác nhau cùng làm việc để cung cấp một hành vi hợp tác lớn hơn tổng hành vi của tất cả các phần tử. M ột sự công tác được ký hiệu bằng một hình elip với đường đứt nét và thường chỉ gồm có tên.

a4. Ca sử dụng (use case)

M ột ca sử dụng mô tả tập hợp các dãy hành động mà hệ thống thực hiện để cho một kết quả quan sát được các giá trị đối với một tác nhân. Một ca sử dụng được ký hiệu bằng một hình elip nét liền, thường chỉ bao gồm có tên

a5. Thành phần (component)

Thành phần là một bộ phận vật lý có thể thay thế được của một hệ thống được làm phù hợp với những điều kiện cụ thể và cung cấp phương tiện (tác vụ) thực hiện một tập các giao diện. Một thành phần biểu diễn một gói vật lý các phần tử logic khác nhau như các lớp, các giao diện và sự cộng tác. Một thành phần được ký hiệu bằng một hình chữ nhật với các bảng và thường bao gồm chỉ có tên của nó

a6. Lớp hoạt động (active class)

M ột lớp hoạt động là một lớp mà các đối tượng của nó sở hữu một hay một số tiến trình hoạt các dãy thao tác. Bởi vậy nó có thể khởi động hoạt động điểu khiển. M ột lớp hoạt động được ký hiệu như một lớp nhưng có đường viền đậm.

a7. Nút (node):

M ột nút là một phần tử vật lý tồn tại trong thời gian thực và biểu diễn một nguồn lực tính toán, thường có ít nhất bộ nhớ và khả năng xử lý. M ột nút ký hiệu bằng một hình hộp thường bao gồm tên của nó.

b. Các sự vật hành vi (behavioral things)

Các sự vật hành vi là những bộ phận động của các mô hình U M L mô tả hành vi của hệ thống theo theo thời gian và không gian. Có hai loại hành vi sơ cấp của sự vật: (adsbygoogle = window.adsbygoogle || []).push({});

b l. Sự tương tác (Interaction)

Hệ thống kết nối thanh toán điện tử - PaymentConnect - Trang 31 -

Sự tương tác là một hành vi bao gồm một tập các thông báo được trao đổi giữa một tập các đối tượng trong một khung cảnh cụ thể nhằm thực hiện một mục tiêu xác định. M ột thông báo được ký hiệu bằng một đường thắng có

hướng, gồm tên của tác vụ.

b2. Máy trạng thái (State machine)

M ột máy trạng thái gồm một số các phần tử biểu diễn các trạng thái, các chuyển dịch (từ một trạng thái sang một trạng thái khác), các sự kiện (các sự vật kích hoạt một chuyển dịch). M ột trạng thái được ký hiệu bàng một hình chữ nhật góc tròn trong đó có tên trạng thái và các trạng thái con của nó (nếu có).

c. Các sự vật nhóm gộp (grouping things) d. Sự vật giải thích (Annontional thing) e. Các quan hệ (relationships)

e l. Sự phụ thuộc (dependency) e2. Sự kết hợp (association)

e3. Tổng quát hoá (generalization) e4. Sự thực hiện (realization)

Bốn mối quan hệ này là các sự vật quan hệ cơ bản trong U M L . Có thể có những biến thể khác của chúng, chẳng hạn như làm mịn (refinement), lần vết (trace), bao hàm (include) và mở rộng (extend) (cũng là những mối quan hệ phụ thuộc).

f. Các biểu đồ trong U M L

M ột biểu đổ là một biểu diễn đổ' thị của một tập các phần tử (các từ vựng) thường được thể hiện như một đổ thị liên thông với các đỉnh (là các sự vật) và các cung (là các mối quan hệ).

f l . Biểu đồ lớp (class diagram)

Biểu đồ lớp chỉ một tập các lớp, các giao diện và các sự công tác và các mối quan hệ của chúng. Ta sử dụng biểu đồ lớp để mô hình hoá khung n h ìn

thiết kế tĩnh của hệ thống. Ta thường sử dụng biểu đồ lớp để: - M ô hình hoá bảng từ vựng của hệ thống - M ô hình hoá các sự cộng tác đơn giản - M ô hình hoá cơ sở dữ liệu logic

f2. Biểu đồ đối tượng (object diagram)

Biểu đồ đối tượng mô hình hoá các thể hiện của các sự vật trong một biểu đồ lớp. M ột biểu đồ đối tượng đưa ra một tập các đối tượng và các mối quan hệ giữa chúng tại một thời điểm. Ta sử dụng biểu đổ đối tượng để mô hình hoá các khía cạnh thiết kế tĩnh hoặc các khía cạnh tiến trình tĩnh của hệ thống. Nó cũng được sử dụng để mô hình hoá cấu trúc của đối tượng.

f3. Biểu đồ ca sử dụng (use case diagram)

Biểu đồ ca sử dụng để mô hình hoá các khía cạnh động của hệ thống. Nó là trung tâm để mô hình hoá hành vi của hệ thống, một hệ thống con, một

Hệ thống kết nối thanh toán diện tử - PaymentConnect - Trang 32 -

lớp. M ỗi biểu đồ chỉ ra một tập các ca sử dụng, các tác nhân và các mối quan hệ giữa chúng.

Ta sử dụng biểu đồ ca sử dụng để:

- M ô hình hoá ngữ cảnh của hệ thống

- M ô hình oá các yêu cầu của một hệ thống f4. Biểu đồ tương tác (interaction diagram)

Biểu đồ tuần tự (sequence diagram) và biểu đồ cộng tác (collaboration diagram) là hai dạng của biểu đồ tương tác. Chúng dùng để mô hình hoá các khía cạnh động của hệ thống. Nó bao gồm một tập các đối tượng và các mối quan hệ truyền thông báo giữa chúng. Biểu đồ tuần tự nhấn mạnh tới trình tự thời gian của các thông báo; còn biểu đổ cộng tác nhấn mạnh tới tổ chức cấu trúc của các đối tượng gửi và nhận thông báo.

Ta có thể sử dụng hai biểu đồ tương tác này thay thế cho nhau và dùng để:

- M ô hình hoá các luồng điều khiển (sự kiện) theo trình tự thời gian

- M ô hình hoá các luồng điều khiển của tổ chức f5. Biểu đồ sơ đồ trạng thái (statechart diagram)

Biểu đồ trạng thái biểu diễn một máy trạng thái. Nó biểu diễn dòng điều khiển từ trạng thái này tới trạng thái khác. Nó nhấn mạnh dòng điều khiển từ hoạt động này đến hoạt,động khác đang xảy ra bên trong một máy trạng thái.

f6. Biểu đổ hoạt động (activity diagram) (adsbygoogle = window.adsbygoogle || []).push({});

Biểu đồ hoạt động là trường hợp đặc biệt của biểu đồ trạng thái. Nó chỉ dòng điều khiển chính từ hoạt động này đến hoạt động khác, nó cũng bao gồm việc mô hình hoá các bước tuần tự (có thể là đồng thời) trong một tiến trình xử lý. Biểu đồ trạng thái và biểu đồ hoạt động biểu diễn khía cạnh động của hệ ihống. Chúng có thể dùng cho việc mô hình hoá vòng đời của một đối tượng. Ta sẽ dùng biểu đồ hoại động để:

- M ô hình hoá luồng công việc (có thể có rẽ nhánh, phân nhánh, sát nhập).

- M ô hình hoá một tác vụ (một thủ tục tính toán). Í7. Biểu đồ thành phần (component diagram)

Các biểu đồ thành phần sử dụng để mô hình hoá mặt vật lý của các hệ thống hướng đối tượng. Nó cho ta cách nhìn việc bố trí và thực thi tĩnh của một hệ thống. Ta sử dụng biểu đồ thành phẩn để:

- M ô hình mã hoá nguồn

- M ô hình hoá xuất phẩm có thể thực hiện được - M ô hình hoá các cơ sở dữ liệu vật lý

- M ô hình hoá các hệ thống có thể làm thích ứng được f8. Biểu đồ bố trí (deployment diagram)

Hệ thống kết nối thanh toán điện tử - PaymentConnect V - Trang 33 -

Biểu đồ bố trí mô hình hoá các khía cạnh vật lý của một hệ thống hướng đối tượng. Nó biểu diễn cấu hình các nút xử lý đang vận hành và các thành phán hoạt động ở trên chúng. Ta sẽ sử dụng các biểu đồ bố trí để:

- Mô hình h o á các hệ thống nhúng

- Mô hình hoá các hệ thống máy khách/máy dịch vụ

- Mô hình h o á các hệ thống phân tán đ ầ y đủ

Mặc dù chín biểu đổ trên đã vượt xa nhu cầu chung nhất mà ta thường gặp trong thực tế phát triển phần mềm hướng đối tượng. Tuy nhiên, ƯML còn

cung cấp những loại biểu đồ khác cho phép mô hình hoá những trường hợp tinh tế hơn.

1.3.3.2. Các quy tắc của U M L (rules o f U M L)

Mô hình hoá một hệ thống không đơn giản là lắp ghép các khối được

xây dựng của U M L một cách ngẫu nhiên. Giống như mọi ngôn ngữ, U M L

một số quy tắc chỉ ra rằng, một mô hình được xây dựng tốt là mô hình có một ngữ nghĩa chắc chấn và đồng bộ với tất cả mô hình có quan hệ với nó.

U M L đưa ra các quy tắc ngữ nghĩa sau đây:

• Tên gọi: là cái mà ta gọi các sự vật, các mối quan hệ và các biểu đồ • Phạm vi: là khung khổ cho ý nghĩa cụ thể đối với một tên gọi

• Tính trực quan: các tên này có thể nhìn tháy và được những phần tử khác sử dụng

• Tính tích hợp: các sự vật có thể liên kết một cách đặc biệt và chắc

chắn với sự vật khác như thế nào

• Tính thực hiện được: nó có ý nghĩa gì để vận hành và mô phỏng một mô hình động

Những nguyên tắc khác cần biết để xây dựng tốt các mô hình là:

• Sự lược đi: một số phần tử được dấu đi làm đơn giản việc nhìn nhận mô hình

• Sự không đ ầ y đủ: một số phần tử có thể tạm bỏ qua

• Sự không chắc chắn: sự tích hợp của mô hình có thể là chưa đảm bảo 1.3.3.3. Các cơ chế chung trong U M L (common mechanisms).

U M L cũng cung cấp bốn cơ chế chung để áp dụng trong khi mô hình

h o á: (adsbygoogle = window.adsbygoogle || []).push({});

• Các đặc tả • Các bài trí

• Sự phân hoạch chung • Các cơ chế mở rộng a. Đặc tả (specification)

U M L mạnh hơn một ngữ đồ hoạ: V ì rằng, bên cạnh các ký hiệu đổ hoạ nó còn cung cấp một các diễn tả vượt trội bằng văn bản theo cú pháp và ngữ nghĩa của khối đồ hoạ sử dụng. V í dụ như một tập đầy đủ các thuộc tính, các

Hệ thống kết nối thanh toán điệĩVtử - PaymentConnect - Trang 34 -

tác vụ và các hành vi mà lớp đó chứa. Nhờ vậy ta dùng các ký hiệu đồ hoạ đế làm trực quan hoá hệ thống, dùng các dặc tả của Ư M L để chỉ ra các chi tiết hệ thống.

b. Các bài trí (adornments)

Hầu hết các phần tử trong U M L đều có ký hiệu đồ hoạ duy nhất, trực tiếp để cung cấp một sự thể hiện trực quan về khía cạnh quan trọng nhất của phần tử đó. V í dụ: kí hiệu về lớp cũng đưa ra khía cạnh quan trọng nhất của một lớp, như tên, thuộc tính, các tác vụ của nó.

c. Các phân hoạch chung (common divisions)

Các khái niệm mô hình hoá trong U M L thường được phân thành cặp theo hai cách:

Cách 1: Đó là sự phân hoạch của lớp và đối tượng. Một lớp là một trừu tượng, một đối tượng là một biểu hiện cụ thể của lớp đó. Hầu hết mọi khối xây dựng trong U M L cùng một loại đều thuộc lớp hay đối tượng. U M L thường phân biệt lớp và đối tượng của lớp đó bằng cách gạch chân tên của đối tượng.

Cách 2: Đó là sự phân chia giữa giao diện và triển khai một giao diện, khai báo hợp đồng và sự thực thi hợp đồng để thể hiện việc thi hành cụ thể của hợp đồng. Trong U M L, ta có thể mô hình hóa cả giao diện và sự triển khai.

d. Các cơ chế mở rộng (extensibility mechanisms)

U M L cung cấp ngôn ngữ chuẩn để viết các bản thiết kế phần mềm, nhưng nó không đủ để diễn đạt mọi sắc thái có thể của các mô hình trong mọi lĩnh vực và trong mọi thời điểm. Vì thế, Ư M L được thiết kế mở cho phép nó có khả năng mở rộng theo cách có thể quản lý đựoc. Các cơ chế dùng để mở

rộng là:

• Các khuôn mẫu (stereotypes) • Các giá trị thẻ (tagged values) • Các ràng buộc (constraints)

Hệ thống kết nối thanh toán diện tử - PaymentConnect - Trang 35 -

CHƯƠNG 2: KHÁI QUÁT VỂ QUY TRÌNH PHÁT TRIEN PHÂN

MỂM HƯỚNG ĐỐI TƯỢNG [1], [11].

2.1-ĐẶC TRUNG PHÁT TRIỂN PHẨN MỂM h ư ớ n g đ ố i t ư ợ n g v ớ i

ƯML

Quá trình phát triển phần mềm hướng đối tượng có thể sử dụng các công cụ khác nhau. Quá trình phát triển phần mềm được trình bày trong tài liệu này là quá trình phát triển sử dụng công cụ U M L. Quá trình này có ba đặc trưng sau:

• Ca sử dụng điều khiển quá trình phát triển • Lấy kiến trúc làm trung tâm

• Tiến trình phát triển là quá trình lặp và tăng dần

2.1.1. Ca sử dụng điều khiển toàn bộ quá trình phát triển

M ột hệ thống phần mềm được tạo ra là để phục vụ người dùng. Thuật ngữ người dùng ở đây chỉ người dùng hệ thống hay các hệ thống ngoài khác tưcmg tác với hệ thống mà chúng ta xây dựng.

M ột ca sử dụng (use case) là một phần chức năng của hệ thống cung cấp cho người dùng để đem lại một kết quả nào đó khi sử dụng nó. Các ca sử dụng dùng để nắm bắt các yêu cầu chức năng. Tập hợp tất cả các ca sử dụng lập thành mô hình ca sử dụng mô tả chức năng đầy đủ của hệ thống. Mô hình này sẽ thay thế cho đặc tả chức năng hệ thống bằng phương pháp truyền thống. M ột đặc tả chức năng thường trả lời câu hỏi: hệ thống được dự kiến sẽ làm gì? Nhưng đối với ca sử dụng thì câu hỏi lại là: hệ thống dự kiến sẽ làm được gì cho mỗi người sử dụng?

Ca sử dụng không chỉ là một công cụ để đặc tả các yêu cầu của hệ

Một phần của tài liệu Hệ thống kết nối thanh toán điện tử Paymentconnect (Trang 29)