Các công cụ

Một phần của tài liệu Tìm hiểu công cụ phân tích thiết kế hệ thống hướng đối tượng bằng UML và ứng dụng vào hệ thống save home (Trang 35 - 67)

II. Đánh giá giữa phân tích thiết kế theo hớng chức năng và hớng đố

2.6. Các công cụ

Dùng một mô hình ngôn ngữ đầy đủ và mở rộng là UML thì yêu cầu là phải có sự trợ giúp của các công cụ. Dù bản phác thảo đầu tiên của một mô hình đã đợc làm xong và đang sử dụng một hộp trắng (nh việc vẽ các mô hình bằng tay). Việc duy trì, đồng bộ và cung cấp một số mô hình rất quan trọng đối với một công cụ.

Mô hình hoá công cụ hay công cụ CASE từ các phiên bản đầu tiên đợc sử dụng để sản xuất các chơng trình. Đa số ở đây là công cụ dùng để vẽ, với các phép kiểm tra độ tin cậy, hoặc việc hiểu biết phơng pháp hay mô hình ngôn ngữ hiện thời, nh vậy là vẫn có sự cải tiến và ngày nay ngời ta đang lựa chọn các công cụ từ phiên bản đầu tiên nh

đặc trng mà những phần mềm ứng dụng gốc không có, nh là cắt và dán. Các công cụ đợc giới hạn bởi tất cả mô hình ngôn ngữ mà chúng ta có hoặc ít hơn những cái mà chúng ta định nghĩa về ngôn ngữ. Với phiên bản của UML, công cụ mà ngời cung cấp có thể đa ra ngay là rất quan trọng cho việc định nghĩa các phơng thức và ngôn ngữ mới.

Một công cụ CASE hiện đại sẽ có các chức năng sau:

Vẽ sơ đồ: công cụ phải đáp ứng đợc yêu cầu đơn giản của các sơ đồ trong mô hình

ngôn ngữ. Công cụ sẽ đủ thông minh để hiểu đợc mục đích của các sơ đồ, biết đợc ngữ nghĩa đơn giản cũng nh các quy luật, do vậy nó có thể cảnh báo hoặc ngăn cản việc sử dụng không đúng, không thích hợp của các mô hình.

Hành động nh là một kho: các công cụ phải đáp ứng đợc một kho chung, do vậy

nó đã thu đợc một số thông tin về mô hình và lu vào một vị trí nào đó. Nếu tên của lớp bị chuyển đổi trong sơ đồ thì sự chuyển đổi đó phải đợc phản ánh trong tất cả các sơ đồ khác với các lớp đã đợc sử dụng.

Trợ giúp việc điều hành: công cụ đợc sinh ra phải dễ dàng điều khiển đợc mô

hình, từ vết của thành phần trong sơ đồ này tới sơ đồ khác, hoặc rộng ra là sự giải mã của một thành phần.

Tạo ra sự trợ giúp đa dụng: công cụ phải trợ giúp ngời sử dụng và họ có thể làm

việc trên một mô hình không có giao diện hoặc đang bị sáo trộn với những mô hình khác.

Sinh mã: một công cụ đợc cải tiến có thể sinh mã, tất cả thông tin trong mô hình

đã đợc chuyển vào trong mã chính, nó đợc sử dụng nh là cơ sở của các pha thực hiện.

Xây dựng sự ngịch đảo: một công cụ cao cấp có khả năng đọc đợc sự tồn tại của

mã tạo ra các mô hình từ đó. Nh vậy có thể mô hình đợc tạo ra và sự tồn tại của mã hay sự phát triển đó có thể bị lặp lại giữa công việc mô hình hoá công cụ hay lập trình.

Tích hợp với các công cụ khác: một công cụ sẽ có thể tích hợp với các công cụ

khác và với môi trờng phát triển nh là chức năng soạn thảo, dịch, sửa lổi với các công cụ khác nh sự điều hành xác nhận và phiên bản của các hệ điều hành.

Sự phủ của mô hình ở tất cả các mức trừu tợng: công cụ sẽ dễ dàng mô tả hệ

một phơng thức đặc trng của lớp, khi đó bạn sẽ nhắp chuột vào phơng thức trong sơ đồ.

Sự chuyển đổi các mô hình: một mô hình hay một sơ đồ riêng từ một mô hình có

thể đợc xuất ra từ một công cụ và đa vào một công cụ khác. Nó nh là sự chuyển đổi các mô hình trong việc định nghĩa một ngôn ngữ.

2.6.1. Trợ giúp vẽ:

Một công cụ phải nhanh và dễ dàng vẽ đợc sơ đồ. Trong một thời gian dài khi một công cụ cấp cao nh công cụ CASE có thể tự gọi nó. Nó không những cung cấp các công cụ tiên tiến cho máy tính thực hiện việc chọn, đặt, kết nối và định nghĩa các thành phần trong một sơ đồ, Mà nhiều công cụ còn trợ giúp cho việc mô hình hoá các thành phần trong khi hiệu chỉnh một sơ đồ.

Công cụ có thể hiểu đợc ngữ nghĩa của các thành phần do vậy nó có thể đa ra cảnh báo nếu một thành phần đợc sử dụng không đúng hoặc việc thể hiện một phơng thức không tơng thích với phơng thức khác.

Công cụ cũng hổ trợ cho việc bố trí thiết kế các sơ đồ, những công cụ này cho phép ngời mô hình hoá sắp xếp lại các thành phần và tự đông sắp xếp lại các message, do vậy chúng không thể giao với mỗi công cụ khác. Nhiều hệ thống thiết kế có sự trợ giúp của máy tính (CAD), và máy tính có những giải thuật thông minh để làm những công việc đó, ngoài ra nhiều công cụ cũng cung cấp công cụ có thể học đợc giống nh những hệ thống trên.

2.6.2. Mô hình kho:

Công cụ CASE phải duy trì một mô hình kho, nó đa ra đợc một cơ sở dữ liệu với tất cả thông tin của một số thành phần đợc sử dụng trong mô hình. Kho này sẽ chứa những thông tin cơ sở về toàn bộ mô hình, với mô hình xuyên suốt một số mô hình nh hình 2.21.

Những nhiệm vụ mà công cụ có thể thực hiện đợc từ sự trợ giúp của một kho là:

Kiểm tra sự tơng thích: nếu một thành phần đã đợc sử dụng không tơng thích

với các sơ đồ khác, khi đó công cụ phải đa ra cảnh báo hoặc ngăn cản nó. Sơ đồ phát triển phải đa ra đợc những cảnh báo khi một mô hình có thể xoá các thành phần trong một sơ đồ mà thành phần đó còn đợc sử dụng trong sơ đồ khác. Còn nếu nhất định xoá đi các thành phần đó thì nó phải đợc xoá trong tất cả các sơ đồ

Sơ đồ

Use-case Sơ đồLớp Sơ đồ trạng thái Tuần tựSơ đồ Cộng tácSơ đồ

Sơ đồ kích

hoạt Sơ đồ thành phần

Sơ đồ phát triển

Kho chung

khác có nó, khi đó ngời phát triển phải đi ngợc lại và cập nhật vào tất cả các sơ đồ khác.

Sự phê chuẩn: sử dụng thông tin trong một kho, một công cụ có thể phê chuẩn

một mô hình, các phần điểm vào không thể thể hiện hay ứng dụng mô hình Heuristics, nó thể hiện lỗi ở vấn đề hay giải pháp không hợp lý.

Sự tổng kết: Công cụ có thể tự động sinh ra toàn bộ và mở rộng tài liệu của tất

cả các thành phần là các lớp hay các sơ đồ trong mô hình nh hàng loạt thuật ngữ của dữ liệu.

Sử dụng lại các thành phần hoặc các sơ đồ: một kho có thể cung cấp để sử

dụng lại, các giải pháp mô hình hoá đó hoặc các phần của một giải pháp trong một dự án có thể dễ dàng đợc sử dụng lại ở dự án khác. Các thành phần trong mô hình UML là sự tích hợp của mã nguồn, do vậy cả mô hình và mã có thể đợc sử dụng lại trong những dự án khác.

Hình 2.21: Kho chung chứa tất cả các thông tin từ những sơ đồ có khả năng tạo ra một mô hình thích hợp và có khả năng sinh ra các công cụ.

2.6.3. Sự điều hành:

Khi một số View và sơ đồ đợc sử dụng cùng với mô tả một hệ thống thì điều quan trọng ở đây là có thể dễ dàng quản lý chúng, khi đó công cụ phải hỗ trợ để thực hiện quản lý một cách dễ dàng hơn, nó phải dễ dàng tìm duyệt trên các sơ đồ khác nhau và thực hiện tìm kiếm với các phần tử mô hình.

Phần tử sẽ có các siêu liên kết, những liên kết đó ta không thể nhìn thấy khi sơ đồ đợc in ra, nhng chúng có thể truy nhập thông qua công cụ. Nó có thể click bằng chuột phải lên phần tử và sẽ hiện lên một menu pop-up hiển thị các phơng thức cho khả năng điều hành. Nh tìm kiếm một sơ đồ khác ở một phần tử hiện thời hay những truy nhập thông tin chi tiết về một phần tử. Các phần của một sơ đồ có thể đợc mở rộng ra hoặc chia nhỏ, nó sẽ dễ dàng mở rộng và một khung nhìn bao quanh các gói.

Cách khác để điều hành sơ đồ một cách đầy đủ là định nghĩa các bộ lọc, nó có thể phân tách hay ấn định một vài khía cạnh quan tâm đến sơ đồ, ví dụ nó chỉ ra một kiểu quan hệ hoặc lớp. Bộ mô hình hoá sẽ điều khiển những cái đó, vì vậy chúng ta có thể chỉ nghiên cứu phần quan trọng tại thời điểm đã cho.

2.6.4. Hỗ trợ đa ngời dùng:

Công cụ sẽ cho phép nhiều ngời dùng làm việc hợp tác trên một mô hình nh nhau. Đó là bỏ qua sự nhiễu loạn hay giao thoa với nhau, điển hình: ngời dùng làm việc trên một sơ đồ sẽ xem nh không có gì có thể thay đổi nó tại một thời điểm. Hơn nữa bất cứ sự thay đổi nào tạo ra các phần tử đợc chia sẻ trong kho sẽ đợc định danh bởi công cụ. Nhng các quyết định về thay đổi hợp lệ phải đợc giải quyết bởi ngời dùng.

2.6.5. Sản sinh mã:

Các công cụ hiện đại có hỗ trợ cho việc sản sinh mã, vì thế giá lu trữ của các phần công việc trong giai đoạn mô hình hoá không phải đợc tạo lại khi giai đoạn bắt đầu thực hiện. Những công cụ điển hình sinh ra các mã chính cho ngôn ngữ đích và chuyển thông tin từ các mô hình thành mã của ngôn ngữ, kiểu của mã đã đợc sinh ra luôn là thông tin tĩnh, nh sự khai báo lớp gồm sự khai báo các thuộc tính và các phơng thức, phần thân của các phơng thức chứa mã thực thờng có dấu trống bên trái, đợc điền bởi lập trình viên. Mặc dù về mặt lý thuyết các phần của mô hình động có thể đ- ợc chuyển thành thân mã. Sự sinh mã có thể đặt các tham số bởi ngời sử dụng, trong đó các chỉ dẫn cho chúng về cách mã đợc sinh ra.

Các kiểu ngôn ngữ đích khác nhau thờng đợc ding là các ngôn ngữ hớng đối tợng nh C++, Java. Nhng ngôn ngữ SQL, hay IDL có thể cũng đợc dùng. Tuy nhiên một công cụ sẽ có khả năng ghép nối các bộ sinh mã khác nhau của các ngôn ngữ khác nhau.

2.6.6. Công nghệ nghịch đảo:

Một chức năng công nghệ nghịch đảo hầu nh đối lập với chức năng sinh mã. Mã đợc đọc và phân tích bằng các công cụ và các sơ đồ đợc tạo thể hiện cấu trúc của mã. Điển hình là chỉ các sơ đồ có cấu trúc tĩnh nh là sơ đồ lớp đợc cấu trúc từ mã, không có thông tin động đợc rút trích từ mã. Chức năng nghịch đảo đợc sử dụng cả hai: mã cha biết mã và mã đợc sinh ra với chức năng sinh mã. Khi áp dụng mã cha biết thì kết quả sinh mã có thể đợc tăng lên hay giảm xuống phụ thuộc vào cấu trúc mã. Mã đó cha đợc cấu trúc thờng bị lộ khi có sự nghịch đảo trong một sơ đồ. Khi mua các th viện lớp công nghệ nghịch đảo thờng có một sơ đồ biểu diễn cấu trúc của th viện, vì thế các lớp trong th viện đó có thể đợc sử dụng ở nhiều sơ đồ. Khi sự sinh mã và công nghệ nghịch đảo là sự tổ hợp, nó đợc nói đến nh công nghệ quay lui (round-trip engineering). Để sử dụng công nghệ này thì bộ phát triển có thể lặp giữa mô hình hoá và thực hiện,vì vậy mô hình đợc định nghĩa, đợc khảo sát và bị thay đổi trong môi tr- ờng phát triển sau đó công nghệ nghịch đảo trở lại mô hình.Tiến trình phát triển khi đó trở thành lặp thực sự.

2.6.7. Sự tích hợp:

Những công cụ mô hình hoá truyền thống đã và đang đợc tích hợp với các công cụ khác sử dụng trong việc phát triển hệ thống (nh hình 2.22). Từ khi công cụ mô hình hóa lu trữ toàn bộ mô hình của hệ thống, nó thực sự là trung tâm của các công cụ khác nh:

Môi trờng phát triển: với các công cụ này nó có thể đi trực tiết từ phần tử mô

hình trong sơ đồ tới môi trờng phát triển. ở đó mã đợc soạn thảo, đợc dịch và đợc sửa lỗi. Điều ngợc lại vẫn đúng. Công cụ sẽ đi trực tiếp từ việc soạn thảo

modul mã tới việc xác định vị trí của nó trong các mô hình logic và vật lý của hệ thống.

Các công cụ quản

lý dự án Các công cụ tạo dạng và hình học Metrics

Xem / soạn thảo

Dịch / sửa lỗi Xây dựng GUI Các công cụ quản lý kiểm tra Các công cụ Kiểm tra Các công cụ hỗ Trợ tiến trình Các công cụ

Tài liệu hoá Điều khiển phiên

bản Quản lý cấu hình Các công cụ đặc tả những yêu cầu Mô hình hoá công cụ

Hình 2.25: Các công cụ đã đựơc tích hợp với một mô hình hoá công cụ .

Điều khiển phiên bản và cấu hình: Công cụ thực hiện công việc cấu hình khác

nhau của hệ thống và phiên bản khác nhau của cả hệ thống và các phần tử riêng biệt. Điều khiển phiên bản tức là điều khiển cả mô hình và mã.

Các công cụ tài liệu hoá: Các công cụ có thể sinh ra tài liệu một cách tự động từ

kho mô hình. Công cụ cũng có thể sinh ra cơ sở thống kê trên thông tin đợc tìm kiếm.

Các công cụ kiểm tra: Các công cụ kiểm tra là quản trị chính của tiến trình kiểm

tra, thu nhập và duy trì báo cáo kiểm tra. Việc kiểm tra thực sự là xác minh và đánh giá tiến trình phát triển. Các mô hình chứa rất nhiều thông tin để kiểm tra tiến trình sẽ đợc chuyển đến các công cụ kiểm tra.

Các bộ xây dựng giao diện đồ hoạ cho ngời dùng (GUI- Graphic User Interface): ý kiến hay để liên kết từ các lớp trong mô hình tới biểu diễn giao diện

đồ họa của chúng trong bộ xây dựng giao diện đồ họa, ở đó sự tổ chức của giao diện ngời dùng đợc lu trữ. Nó cũng có thể sinh ra một dạng giao diện đồ họa cho các lớp một cách tự động trong mô hình. Ví dụ: nếu các thuộc tính trong lớp đợc đọc, các trờng của kiểu phù hợp trong một dạng sẽ đợc sinh ra cho các thuộc tính đó.

Những công cụ đặc tả yêu cầu: UML sử dụng các trờng hợp để thu thập các yêu

cầu về chức năng của hệ thống. Tuy nhiên có những khía cạnh không phải chức năng của hệ thống, điều đó có thể đợc mô tả sử dụng các công cụ đặc tả yêu cầu.

Các kỹ thuật phơng thức thích hợp sử dụng các trờng hợp cho công nghệ yêu cầu và cần thiết cho những công cụ khác.

Các công cụ quản lý dự án và hỗ trợ tiến trình: Công cụ quản lý dự án đã đợc

phát minh để trợ giúp ngời quản lý dự án định nghĩa bản kế hoạch cấp phát tài nguyên và tiến trình thực hiện theo sau nó. Từ khi sản phẩm của các mô hình là phần lớn của dự án, lợi ích của nó là ngời quản trị dự án có thể dễ dàng kiểm tra sự tiến bộ của mô hình hoá công việc. Sự tơng tác với các công cụ hỗ trợ tiến trình có lẽ không phải ở mức độ u tiên cao. Các công cụ hỗ trợ tiến trình trợ giúp cách dùng một tiến trình hay một phơng thức chỉ định, tự nhiên sản phẩm của các mô hình là phần quan trọng của phơng thức hay tiến trình nào đó. Chú ý rằng: không phải tất cả các công cụ cần thiết để sử dụng trong mọi dự án. Hiện nay

Một phần của tài liệu Tìm hiểu công cụ phân tích thiết kế hệ thống hướng đối tượng bằng UML và ứng dụng vào hệ thống save home (Trang 35 - 67)

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

(143 trang)
w