Họ sản phẩm (họ ứng dụng)

Một phần của tài liệu Sử dụng lại theo hướng tiếp cận miền ứng dụng và vận dụng trong phát triển phần mềm hướng đối tượng (Trang 44)

Họ ứng dụng hay dũng sản phẩm là tập hợp cỏc ứng dụng cú kiến trỳc miền chung. Tuy nhiờn, mỗi ứng dụng lại đƣợc chuyờn biệt húa theo một cách nào đó. Phần cốt lừi chung của họ ứng dụng đƣợc sử dụng lại mỗi khi mà cú một ứng dụng mới đƣợc yờu cầu. Quỏ trỡnh phỏt triển ứng dụng mới cú thể cần phải viết thờm một số thành phần bổ sung và làm thớch nghi cỏc thành phần sử dụng lại để thỏa món yờu cầu mới.

Cú nhiều kiểu chuyờn biệt húa khỏc nhau của một họ ứng dụng:

Chuyên biệt hóa nền

Cỏc phiờn bản khỏc nhau của ứng dụng đƣợc phỏt triển cho cỏc nền khác nhau (Window NT, Linux, Solaris). Trong trƣờng hợp này, chức năng của cỏc ứng dụng không thay đổi, chỉ cỏc thành phần mà giao tiếp với phần cứng và hệ điề u hành mới phải thay đổi.

Chuyờn biệt húa cấu hỡnh

Cỏc phiờn bản khỏc nhau của ứng dụng đƣợc tạo để điều khiển cỏc thiết bị ngoại vi khác nhau. Trong trƣờng hợp này, chức năng có thể thay đổi để tƣơng ứng với chức năng của cỏc thiết bị ngoại vi và cỏc thành phần giao tiếp với cỏc thiết bị này sẽ phải thay đổi.

Chuyờn biệt húa hàm

Cỏc phiờn bản khỏc nhau của ứng dụng đƣợc tạo cho khỏch hàng với cỏc yờu cầu khác nhau. Trong trƣờng hợp này, cỏc thành phần cài đặt cỏc chức năng có thể đƣợc sửa đổi và cũng cú thể cần thờm cỏc thành phần mới.

Vớ dụ, hỡnh 2-12 là kiến trỳc chung của cỏc hệ thống quản lý tài nguyờn. Cỏc hệ thống quản lý tài nguyờn đƣợc sử dụng để kiểm soỏt cỏc tài sản. Vớ dụ, ở các

trƣờng đại học cần cú hệ thống này để theo dừi cỏc trang thiết bị đƣợc sử dụng ở cỏc phũng thớ nghiệm.

Cỏc hệ thống quản lý tài nguyờn khỏc nhau phụ thuộc vào loại tài nguyên đƣợc quản lý và thụng tin đƣợc yờu cầu cho mỗi tài nguyờn. Vớ dụ, cú hệ thống khụng cần phải cho phộp vị trớ của các tài nguyên đƣợc thay đổi nhƣng với hệ thống ở trƣờng đại học thỡ cần phải kiểm soỏt việc di chuyển của cỏc trang thiết bị từ phũng thớ nghiệm này sang phũng thớ nghiệm khỏc.

2.1.9. Mô hình miền

Là sản phẩm của quỏ trỡnh phõn tớch miền, cung cấp sự thể hiện cỏc yờu cầu của miền. Mụ hỡnh miền mụ tả các đối tƣợng, cỏc chức năng, các cấu trỳc dữ liệu, cỏc luồng thụng tin, cỏc ràng buộc, cỏc quan hệ và các điều khiển bờn trong miền. Mụ hỡnh miền thể hiện kiến trỳc chung của cỏc hệ thống trong miền, cung cấp cơ sở chung để viết cỏc yờu cầu cho cỏc hệ thống mới. Vớ dụ, qua quỏ trỡnh phõn tớch miền Giỏo dục và Đào tạo, các đối tƣợng miền đƣợc nhận ra là Sinh viên, Giáo viên, Môn học, Lớp học,… Các đối tƣợng này đƣợc mụ tả chi tiết về đặc điểm, vai trũ và quan hệ của chỳng với các đối tƣợng khỏc trong mụ hỡnh miền.

Người truy cp Chương trnh truy cp

Thm Xúa Truy vn Sa Qun tr Bo co

Ngun đich Đc t màn hnh Đc t báo cáo

Ngun d liu

Cỏc mụ hỡnh miền biểu diễn thể hiện đồ họa tiến trỡnh phỏt triển phần mềm. Bƣớc này trong tiến trỡnh sử dụng lại là để hiểu cỏc yờu cầu của khỏch hàng và biểu diễn cỏc yờu cầu này bằng cỏc mụ hỡnh logic. Mụ hỡnh miền quyết định các đối tƣợng miền và thiết lập cỏc mối quan hệ giữa các đối tƣợng trong cơ sở hạ tầng miền.

Cỏc mụ hỡnh miền gồm cú: - Mụ hỡnh cấu trỳc

- Mụ hỡnh khung cảnh

- Mụ hỡnh quan hệ thực thể (mụ hỡnh khỏi niệm) - Mụ hỡnh đặc tính

- Mụ hỡnh chức năng - Từ điển thuật ngữ

- Mụ hỡnh tƣơng tác tiến trỡnh - Lƣợc đồ cấu trúc mô đun

2.2. Phƣơng pháp phân tích miền hƣớng đặc tính (Feature

Oriented Domain Analysis - FODA)

Phƣơng pháp phân tích miền hƣớng đặc tính đƣợc đánh giá là phƣơng pháp hƣớng tới sử dụng lại ở mức cao nhất. Phƣơng pháp này tập trung vào việc nhận ra các đặc tớnh nổi bật hay các đặc tính đặc biệt của cỏc hệ thống phần mềm trong miền. Các bƣớc cần thực hiện theo phƣơng pháp này gồm cú:

- Phõn tớch khung cảnh - Mụ hỡnh húa miền - Mụ hỡnh húa kiến trỳc

2.2.1. Phân tích khung cảnh

Phõn tớch khung cảnh là xác định phạm vi của một miền để cung cấp cỏc sản phẩm cú thể khai thác đƣợc. Trong giai đoạn phõn tớch khung cảnh, cần phõn tớch

mối quan hệ giữa một miền và cỏc yếu tố bờn ngoài miền, đánh giá các mặt dễ thay đổi của miền và các điều kiện bờn ngoài. Kết quả của phõn tớch miền cựng với cỏc yếu tố khác nhƣ là tính khả dụng của cỏc ý kiến chuyờn gia miền, dữ liệu miền và cỏc ràng buộc dự án đƣợc sử dụng để xác định phạm vi miền. Kết quả cuối cựng của phõn tớch miền đƣợc làm tài liệu trong một mụ hỡnh miền. Mụ hỡnh miền này xác định phạm vi của miền.

Mụ hỡnh húa khung cảnh chứa một hoặc nhiều biểu đồ cấu trỳc và biểu đồ luồng dữ liệu. Một biểu đồ cấu trỳc là một khối đồ họa phi hỡnh thức. Miền đƣợc đặt trong biểu đồ cấu trỳc trong mối quan hệ với cỏc miền cựng mức, mức trờn và mức dƣới. Bất kỳ miền nào khác mà tƣơng tác với miền này cũng phải đƣợc đặt trong biểu đồ. Một biểu đồ luồng dữ liệu cho biết luồng dữ liệu giữa miền này và tất cả cỏc miền khỏc, cỏc thực thể cựng với cỏi mà miền giao tiếp với cỏc chuẩn hay cỏc kết quả phõn tớch miền khỏc mà ỏp dụng cho cỏc thực thể bên ngoài nên đƣợc xác định trong biểu đồ. Đối với mỗi thực thể trong mụ hỡnh khung cảnh, thông tin sau đây cần đƣợc đƣa vào trong tài liệu:

- Tên của thực thể (đối tƣợng)

- Mô tả chức năng cho thực thể chức năng hoặc mô tả nội dung cho thực thể dữ liệu

- Cỏc chuẩn cú thể ỏp dụng hay cỏc thành phần cú thể sử dụng lại

- Bản mô tả các tính chất dễ thay đổi, gồm có phạm vi, tần xuất xuất hiện, thời gian liên kết - thời gian biên dịch, thời gian kích hoạt và thời gian chạy.

- Cỏc phần tử khỏc mụ tả cỏc thuộc tớnh của thực thể - Nguồn thụng tin hay thụng tin bổ sung

Một trong các điều kiện cần thiết cho việc xõy dựng phần mềm là nắm đƣợc cỏch thức phần mềm sử dụng lại đƣợc kết hợp và đƣợc thao tỏc trong cỏc khung cảnh khỏc nhau. Mụ hỡnh khung cảnh xác định phạm vi của phõn tớch miền. Cỏc hoạt động phân tích khác nhƣ là mô hỡnh húa đặc tớnh, mụ hỡnh húa chức năng,

mô hỡnh húa quan hệ thực thể và mụ hỡnh húa kiến trúc đƣợc thực hiện bờn trong phạm vi đă đƣợc định nghĩa trong biểu đồ khung cảnh.

Cỏc hoạt động cần thực hiện trong phõn tớch khung cảnh:

- Nhận ra các ứng dụng đang tồn tại trong miền hay các ứng dụng sử dụng miền. Nhận ra nguồn thông tin và bất cứ công việc nào trƣớc đó trong miền, gồm có các sản phẩm phõn tớch miền, cỏc chuẩn, cỏc sỏch hay tài liệu cụng nghệ.

- Đối với mỗi ứng dụng đƣợc nhận ra cho phân tích, mô tả khung cảnh của miền dƣới dạng các biểu đồ cấu trúc và các biểu đồ luồng dữ liệu. Kiểm chứng biên giới vật lý của miền cựng với ứng dụng.

2.2.2. Mô hình hóa miền

a. Phân tích đặc tính

công cụ trung gian để giao tiếp với cỏc khỏch hàng và cỏc nhà thiết kế về cỏc yờu cầu. Cỏc khỏch hàng cần biết cỏc tiềm năng thiết yếu của cỏc ứng dụng thỏa món sự cần thiết của họ. Cỏc tiềm năng này bao gồm các đặc tớnh sau:

- Các dịch vụ đƣợc cung cấp bởi ứng dụng sự kiện bàn phớm chuột B phn qun tr nhp Tham s ràng buc B phn qun tr tiến trnh B phn qun tr màn hnh Bộ phận quản trị Cửa sổ các ràng buộc cập nhật màn hỡnh thay đổi cửa sổ thay đổi tiến trỡnh Hỡnh 2-13: Lược đồ ngữ cảnh : Luồng dữ liệu chính hệ thống quản trị Cửa sổ

- Hiệu năng của ứng dụng

- Nền phần cứng đƣợc yêu cầu bởi ứng dụng - Chi phớ

Các đặc tớnh là cỏc thuộc tớnh của hệ thống mà ảnh hƣởng trực tiếp tới ngƣời dựng cuối cùng. Các đặc tớnh cần cú tờn phõn biệt, đƣợc định nghĩa và cần đƣợc đƣa vào từ điển thuật ngữ. Ngƣời dựng cuối phải lƣu tâm tới tớnh khả dụng của các đặc tớnh và họ phải hiểu ngữ nghĩa của chúng để sử dụng hệ thống. Hỡnh 2-14 là một minh họa về các đặc tớnh của xe ụ tụ.

Tiến trỡnh phõn tớch đặc tớnh gồm cỏc hoạt động sau đây: - Thu thập cỏc tài liệu miền

- Nhận ra các đặc tính

- Trừu tƣợng hóa và phân lớp các đặc tính đƣợc nhận ra - Định nghĩa các đặc tính

- Làm hợp lệ mụ hỡnh

b. Mô hình quan hệ thực thể

. Những ngƣời bảo trỡ và sử dụng lại phần mềm cần cú tri thức này để hiểu cỏc vấn đề mà

t

Đặc tính tùy chọn Đặc tính bắt buộc

Mă lc Điu hũa

Đặc tính lựa chọn

T đng Bng tay

Khi đng

hiện tri thức miền một cỏch rừ ràng dƣới dạng cỏc thực thể miền và cỏc quan hệ giữa chỳng.

Cỏc khối xõy dựng của mụ hỡnh là cỏc lớp thực thể và cỏc quan hệ. Cỏc lớp thực thể thể hiện sự trừu tƣợng của các đối tƣợng trong miền ứng dụng và cỏc quan hệ tập hợp thể hiện cỏc cấu trỳc kết hợp giữa cỏc thực thể, cỏc quan hệ tổng quỏt húa/chuyờn biệt hóa đặc tả phần chung và phần riờng giữa cỏc thực thể. Một vớ dụ của biểu đồ quan hệ thực thể đƣợc đƣa ra trong hỡnh 2-15.

c. Phân tích chức năng

Phõn tớch chức năng nhận ra cỏc chức năng chung và riêng giữa cỏc ứng dụng trong miền. Nú trừu tƣợng húa và cấu trỳc cỏc chức năng chung trong một mụ hỡnh. Mụ hỡnh đặc tớnh và mụ hỡnh quan hệ thực thể đóng vai trũ hƣớng dẫn quỏ trỡnh xõy dựng mụ hỡnh chức năng. Các đặc tớnh bắt buộc và cỏc thực thể là cơ sở để định nghĩa một mụ hỡnh chức năng trừu tƣợng. Cụ thể húa của mụ hỡnh chức năng đƣợc xếp vào loại cụ thể húa của cỏc chức năng và cụ thể húa của hành vi. Cụ thể húa của cỏc chức năng mô tả khớa cạnh cấu trỳc của một ứng dụng bằng các

CA S CHÍNH lin kết là ca đt ti BIU TƯỢNG CA S TIN TRèN H MÀN HèN H CON TR m con 1 cha 1 1 1 m m m m Hnh 2-15 : Lược đ quan h thc th qun lý ca s

thông tin đầu vào, đầu ra, cỏc hoạt động, dữ liệu bờn trong, cỏc cấu trỳc logic xử lý và cỏc mối quan hệ luồng dữ liệu giữa chỳng. Cụ thể húa của cỏc hành vi mụ tả cỏch ứng xử của ứng dụng bằng cỏc sự kiện, đầu vào, trạng thái, điều kiện và cỏc chuyển trạng thỏi. Sử dụng cỏc mụ hỡnh này để hiểu vấn đề và sử dụng lại cỏc mụ hỡnh trong bƣớc phõn tớch yờu cầu hệ thống.

2.2.3. Mô hình hóa kiến trúc

Một mụ hỡnh kiến trỳc phải hƣớng vào cỏc vấn đề đƣợc xác định trong miền sao cho nó có thể thích nghi đƣợc với các thay đổi của các vấn đề nảy sinh và cụng nghệ. Khả năng thích nghi này có thể nhận đƣợc bằng kiến trỳc phõn tầng nhƣ sau:

- Kiến trúc đƣợc định nghĩa với nhiều mức trừu tƣợng khác nhau để có thể sử dụng lại một thể hiện ở nó ở mức phù hợp với một ứng dụng cụ thể. - Đóng gói các chức năng miền và các đối tƣợng miền

Nhiều quyết định đƣợc thực hiện trong giai đoạn thiết kế một hệ thống phần mềm. Một ứng dụng đƣợc phõn thành một tập các chƣơng trỡnh (cỏc tiến trỡnh) cú thể đƣợc biờn dịch độc lập và đƣợc thực hiện song song. Mỗi tiến trỡnh phải đƣợc thiết kế nhƣ một hệ phân cấp các mô đun với sự phõn phối của cỏc chức năng và các đối tƣợng dữ liệu đƣợc định nghĩa trong mụ hỡnh luồng dữ liệu. Các mô đun chung hƣớng miền cú thể đƣợc sử dụng qua cỏc ứng dụng phải đƣợc nhận ra để tăng khả năng sử dụng lại. Cỏc quyết định thiết kế phải đƣợc đƣa ra trong nhiều cụng nghệ triển khai khác nhau nhƣ là các cơ chế giao tiếp và các cơ chế đồng bộ hóa, các phƣơng pháp lập lịch tiến trỡnh, cỏc hệ thống quản lý cơ sở dữ liệu và cỏc ngụn ngữ đƣợc lựa chọn.

Kiến trỳc phõn tầng của cỏc hệ thống cú thể đƣợc định nghĩa trong hỡnh 2-16, dựa trờn cỏc kiểu quyết định thiết kế đƣợc bàn luận ở trờn và chuỗi cỏc quyết định thiết kế này. Tầng trờn cựng là một mụ hỡnh chỉ ra cỏc tiến trỡnh miền xảy ra đồng thời và cỏc kết nối giữa chỳng. Mụ hỡnh này đƣợc gọi là mụ hỡnh tƣơng tác tiến trỡnh trong phƣơng pháp phân tích miền hƣớng đặc tính (FODA) và đƣợc thể hiện bằng cỏch sử dụng phƣơng pháp DARTS [41]. Tầng ngay bên dƣới là tầng tiện ớch

giữa chúng. Đây đƣợc gọi là

Structure Chart [41]). Các mô đun hƣớng miền chung cho cỏc ứng dụng trong miền cũng đƣợc xác định. Vớ dụ, trong miền hệ thống quản lý cửa sổ, thƣ viện cỏc tiện ớch miền quản lý cửa sổ (nhƣ là Xlib) đƣợc sử dụng để phỏt triển cỏc ứng dụng cửa sổ và cỏc tiện ích này đƣợc xác định ở đây. Tầng tiện ớch chung chứa các mô đun mà có thể đƣợc sử dụng trong cỏc miền khác nhau. Các mô đun cho giao tiếp và đồng bộ húa tiến trỡnh (nhƣ là một triển khai hàng đợi thông điệp, một bộ tiếp nhận sự kiện) và các mô đun cho quản lý dữ liệu là của tầng này.

Phƣơng pháp này tập trung vào hai tầng trờn của kiến trỳc phõn tầng, đó là, phát triển kiến trúc hƣớng miền ứng dụng. Nú là kiến trỳc mức cao, ở đó đóng gói các hàm và các đối tƣợng trong các mô đun phần mềm là mục tiờu chớnh. Cỏc nhiệm vụ đồng thời đƣợc nhận ra, cỏc giao tiếp và các đồng bộ húa giữa cỏc nhiệm vụ đƣợc định nghĩa sử dụng cỏc ký hiệu DARTS. Mỗi nhiệm vụ đƣợc thiết kế nhƣ một chƣơng trỡnh tuần tự bằng cỏch phõn phối cỏc chức năng và dữ liệu cụ thể của mỗi ứng dụng sử dụng thiết kế cú cấu trỳc (khụng cú quyết định nào nhƣ là triển khai các cơ chế giao tiếp và đồng bộ đƣợc làm ở mức này).

Cỏc thành phần trong mỗi tầng ở trờn cú thể đƣợc tiếp tục phõn tầng dựa trờn cỏc mức của cỏc mụ hỡnh khỏi niệm cú thể định nghĩa cho thành phần. Vớ dụ, trong miền hệ thống quản lý cửa sổ, một thiết kế phõn tầng cú thể đƣợc phỏt triển nhƣ đƣợc chỉ ra trong hỡnh 2-17.

Tầng ở mức thấp nhất, tầng Virtual Device Driver, cung cấp một mụ hỡnh khỏi niệm dƣới dạng cỏc thao tỏc mức điểm ảnh ẩn đi các tính chất riờng của cỏc

Tầng kiến trỳc miền Tng tin ch min

Tng tin ch chung cho nhiu min Tầng hệ thống

thiết bị cụ thể trong phạm vi hệ thống. Tầng tiếp trên đó cung cấp một mụ hỡnh khỏi niệm ở mức “graphics”. Ở tầng này, cỏc kiều đƣờng kẻ và cỏc hỡnh đƣợc định nghĩa và cung cấp cỏc thao tỏc tạo, di chuyển và huỷ chỳng. Tầng trờn tiếp theo đƣợc định nghĩa dựa trờn khỏi niệm cỏc cửa sổ và cỏc thao tỏc cửa sổ: một cửa sổ cú một hỡnh dạng, chứa thụng tin, cú cỏc thuộc tớnh hiển thị,…; các thao tác để tạo cửa sổ, hiển thị nội dung và thay đổi cỏc thuộc tính đƣợc cung cấp. Tầng trờn cựng chứa cỏc kiểu cửa sổ khỏc nhau gồm cú cỏc nỳt bấm, các thanh trƣợt, cỏc thực đơn,

Một phần của tài liệu Sử dụng lại theo hướng tiếp cận miền ứng dụng và vận dụng trong phát triển phần mềm hướng đối tượng (Trang 44)

Tải bản đầy đủ (PDF)

(135 trang)