Cỏc khỏi niệm trong UML
G 15.9 Cụng cụ (Tool)
15.9- Cụng cụ (Tool)
Sử dụng một ngụn ngữ mụ hỡnh húa phức tạp và rộng mở như UML cần thiết sự trợ giỳp của cụng cụ. Mặc dự phỏc thảo đầu tiờn của một mụ hỡnh cú thể được thực hiện bằng bảng trắng cựng giấy và mực, nhưng cụng việc bảo trỡ, đồng bộ húa và đảm bảo sự nhất quỏn trong một loạt cỏc biểu đồ khỏc nhau thường lại khụng thể trở thành khả thi nếu khụng cú cụng cụ.
Thị trường cụng cụ mụ hỡnh húa đó dừng trong mức độ sơ khởi suốt một thời gian dài kể từ khi xuất hiện ý tưởng đầu tiờn về cỏc chương trỡnh trợ giỳp cho việc tạo chương trỡnh. Rất nhiều cụng cụ trong thực tế chỉ thụng minh hơn cỏc chương trỡnh vẽ một chỳt, sử dụng một vài quy chế kiểm tra tớnh nhất quỏn hoặc một vài kiến thức về phương phỏp và ngụn ngữ mụ hỡnh húa. Mặc dự đó cú một vài bước tiến nhất định và nhiều cụng cụ hụm nay đó tới gần sỏng kiến khởi thủy kia nhiều hơn (Rational Rose), nhưng thị trường vẫn cũn khụng ớt cụng cụ chưa được gọt giũa, vẫn cũn chứa lỗi hoặc những nột kỳ quặc, kể cả những vấn đề đơn giản như copy và dỏn. Những cụng cụ này cũn hạn chế ở phương diện rằng tất cả bọn chỳng đều cú ngụn ngữ mụ hỡnh húa riờng, hay ớt nhất thỡ cũng cú những định nghĩa riờng của chỳng về ngụn ngữ này.
Cựng với sự ra đời của ngụn ngữ UML, cỏc nhà cung cấp cụng cụ mụ hỡnh húa giờ đõy cú thể dành nhiều thời gian hơn cho việc nõng cấp cụng cụ, bởi họ khụng cần phải dồn tõm dồn sức cho việc định nghĩa cỏc phương phỏp mới cũng như cỏc ngụn ngữ mới.
Một cụng cụ mụ hỡnh húa hịờn đại cần phải cung cấp cỏc chức năng sau:
Vẽ biểu đồ: cần phải tạo điều kiện dễ dàng vẽ ra cỏc biểu đồ trong ngụn ngữ mụ hỡnh
húa. Cụng cụ cần phải đủ khả năng thụng minh để hiểu mục đớch của cỏc biểu đồ và biết được những ngữ nghĩa cũng như cỏc quy tắc đơn giản, đủ để nú cú thể cảnh bỏo hoặc ngăn chặn việc sử dụng khụng thớch hợp cỏc phần tử mụ hỡnh.
Hoạt động như một nhà kho (Repository): cụng cụ cần phải hỗ trợ một nhà kho trung tõm để tất cả cỏc thụng tin về mụ hỡnh được lưu trữ trong cựng một chỗ. Nếu vớ dụ tờn của một lớp bị thay đổi trong một biểu đồ, thỡ sự thay đổi này cần phải xảy ra trong tất cả cỏc biểu đồ khỏc cú sử dụng lớp này.
Hỗ trợ định hướng (Navigation): cụng cụ cần phải tạo điều kiện dễ dàng cho người sử dụng định hướng và chuyển dịch trong mụ hỡnh để theo dừi một phần tử từ biểu đồ này sang biểu đồ khỏc, hoặc để mở rộng lời miờu tả của một phần tử.
Hỗ trợ nhiều người sử dụng (multiuser support): Cụng cụ cần hỗ trợ cho nhiều người sử dụng, và tạo điều kiện cho họ cựng làm việc với một mụ hỡnh mà khụng ngăn chặn hoặc quấy phỏ lẫn nhau.
Tự động tạo code (code generate): một cụng cụ cao cấp cần phải cú khả năng tạo ra code, nơi tất cả cỏc thụng tin trong mụ hỡnh được chuyển tải thành cỏc khung code (code skeletons), được sử dụng làm nền tảng cho giai đoạn xõy dựng chương trỡnh.
Tỏi tạo mụ hỡnh (Reserve engineer): Một cụng cụ cao cấp cần phải cú khả năng đọc những thành phần code đang tồn tại và từ đú sản xuất ra mụ hỡnh. Từ đú suy ra, một mụ hỡnh cú thể được làm từ những dũng code đó tồn tại; hoặc một nhà phỏt triển cú thể dễ dàng chuyển đi chuyển về giữa cụng việc mụ hỡnh húa và cụng việc lập trỡnh.