Di chuyển sang Rational Systems Developer, Phần 1: Các Mô hình Rational Rose

IBM Rational Systems Developer (Nhà Phát triển Các hệ thống Rational IBM) cung cấp một môi trường dựa trên Eclipse dễ sử dụng để mô hình hoá và thiết kế các hệ thống của bạn. Hãy học cách di trú thành công các mô hình IBM Rational Rose hiện hành của bạn sang Rational Systems Developer. Hướng dẫn này sử dụng mô hình Rose mẫu do Rational Systems Developer cung cấp để chỉ cho bạn cách di trú các mô hình UML hiện hành của bạn được tạo trong Rational Rose sang môi trường mới là Rational Systems Developer dựa trên Eclipse.

Katrina Williams, Chuyên gia hỗ trợ kênh Rational, IBM

Katrina là một Chuyên gia hỗ trợ kênh cho nhãn hiệu Rational của IBM. Katrina đã dành hơn 10 năm phát triển phần mềm cho các trình mô phỏng của Quân đội và Hải quân Mỹ khi lần đầu tiên làm việc với tư cách là một nhà phát triển phần mềm và sau đó thiết kế và hỗ trợ các môi trường phát triển phần mềm như là một nhà quản trị Hệ thống /nhà quản trị Công cụ Case cho IBM và Lockheed Martin. Katrina có kinh nghiệm sử dụng các sản phẩm nhãn hiệu Rational như là một khách hàng (trong khi làm việc cho IBM và Lockheed Martin) và như là một Kỹ sư hỗ trợ khách hàng khi làm việc cho Rational Software. Bây giờ Katrina hỗ trợ tổ chức bán hàng Rational của IBM khi cung cấp các tài liệu đào tạo, các cuộc trình diễn và các tài liệu trình bày cho các sản phẩm thiết kế và xây dựng.



08 01 2010

Trước khi bạn bắt đầu

Về hướng dẫn này

Hướng dẫn này sử dụng mô hình IBM® Rational® Rose mẫu do IBM® Rational® Systems Developer (Nhà Phát triển Các Hệ thống Rational IBM ) cung cấp cùng với một số bài học từ các kinh nghiệm di trú thực tế để hướng dẫn bạn duyệt qua quy trình di trú các mô hình UML và mã Java/C++ của bạn từ Rational Rose sang Rational Systems Developer. Các trình tiện ích nhập khẩu mô hình được cung cấp bằng Phát triển Các Hệ thống Rational để tự động hoá phần nhiều quy trình di trú. Tuy nhiên, các lần di trú thành công đòi hỏi một số bước di trú trước để chuẩn bị các Mô hình Rational Rose của bạn. Hướng dẫn chỉ đạo có trong hướng dẫn này sẽ giúp bảo đảm rằng các cố gắng di trú của bạn sẽ thành công.

Hướng dẫn này là bài đầu tiên trong loạt bài hai phần đề cập đến việc di trú của các mô hình UML và mã Java/C++ hiện hành sang Rational Systems Developer. Bài hướng dẫn đầu tiên này tập trung vào việc di trú sang mô hình UML Rational Rose hiện hành và bất kỳ bộ mã nào được liên kết. Bài thứ hai tập trung vào việc di trú của các mô hình UML IBM® Rational® Rose XDE hiện hành.

Các điều kiện tiên quyết

Bạn phải được cho là đã quen thuộc với Rational Rose và Eclipse và/hoặc Rational Systems Developer, và một kiến thức làm việc về UML.

Các yêu cầu về hệ thống

Để hoàn tất hướng dẫn này, bạn phải cài đặt những thứ sau đây:

  • Rational Systems Developer (Nhà Phát triển Các Hệ thống Rational), bản v6.0.1.1.

Ghi chú: Hướng dẫn này có thể được áp dụng bằng cách sử dụng Rational Systems Developer chạy trên bất kỳ nền hỗ trợ nào.


Một luận thuyết mới

Rational Systems Developer sử dụng một luận thuyết khác với Rational Rose. Bằng cách sử dụng Rational Rose, bạn rất có thể quen với “kỹ thuật đi vòng tròn” (round trip engineering). Trong kỹ thuật đi vòng tròn, mô hình tạo phần lớn các mã, nhất là các khía cạnh về bản chất có tính kết cấu và lặp lại. Sau đó nhà phát triển sẽ đi vào và thêm các chi tiết thuật toán trực tiếp vào mã. Các bổ sung này được thay thế một cách cẩn thận giữa các bình luận được định dạng riêng nhất định mà bộ tạo (generator) có thể nhận ra. Sau đó bộ tạo nhập lại mã, xác định bất kỳ thay đổi mã nào được thực hiện mà ảnh hưởng đến các mô hình thiết kế, và đồng bộ hoá các thay đổi như vậy.

Rational Systems Developer hoạt động hơi khác một chút. Lúc đầu, mô hình xảy ra như nó thực hiện trong khi đi vòng tròn, nơi người sử dụng quy định các mô hình đến một mức chi tiết sao cho mức thiết kế của mã có thể được tạo đầy đủ sang một trạng thái có thể biên dịch được. Và như trước đây, rồi các nhà phát triển đi vào và hoàn thiện các chi tiết bổ sung. Nhưng tại điểm này, khi các thay đổi sang mã vượt quá các chi tiết bổ sung, các công cụ đi vòng tròn thông thường có xu hướng sụp đổ trong sự cố gắng của chúng. Tính chất theo lô của việc phải đảo ngược đồng bộ hoá mức thay đổi thiết kế trở lại các mô hình có thể dễ trở nên khó giải quyết, như vậy ảnh hưởng đến hiệu quả của các mô hình thực sự được dùng để tạo mã như ban đầu.

Đây là nơi Rational Systems Developer có cách tiếp cận mới. Sau việc lặp lại công việc mô hình hoá được thực hiện với mức tạo mã, các đặc tính hiển thị UML của Rational Systems Developer góp phần vào, lập tức trả về ngay thiết kế của mã hiện hành thành mẫu UML. Và khi các thay đổi xảy ra ảnh hưởng đến thiết kế, các khung nhìn UML ngay lập tức được cập nhật, không đòi hỏi có sự đồng bộ hoá đảo ngược theo lô nào.

Điều quan trọng là phải ghi nhớ sự chuyển đổi luận thuyết này khi chuẩn bị di trú các mô hình Rational Rose của bạn. Chúng ta sẽ thấy việc này ảnh hưởng như thế nào đến việc di trú khi duyệt qua hướng dẫn này.


Chuẩn bị vùng làm việc của bạn

Thiết lập mẫu dự án

Trước khi bạn có thể nhập mô hình Rose sẽ sử dụng trong hướng dẫn này, bạn phải tạo mẫu dự án. Mẫu dự án sẽ tự động được tạo cho bạn khi bạn nhấn vào liên kết Create the sample project (Tạo dự án mẫu) trên trang mẫu Rose model import (Nhập Mô hình Rose). Thực hiện các bước sau đây để khởi chạy Rational Systems Developer, bằng cách sử dụng một vùng làm việc mới và tạo mẫu dự án chứa mô hình Rose.

  1. Khởi chạy Rational Systems Developer.
  2. Tại dấu nhắc một vùng làm việc, nhập vào một địa chỉ lựa chọn của bạn để tạo một vùng làm việc mới.
  3. Đóng cửa sổ Welcome window nếu nó xuất hiện.
  4. Khởi chạy các thư viện Mẫu bằng cách sử dụng Help -> Samples Gallery.
  5. Mở rộng Technology Samples -> Rose model import.
  6. Nhấn vào Rose model để khởi động mẫu nhập khẩu mô hình Rose.
  7. Nhấn vào liên kết Create the sample project (Tạo dự án mẫu) trên trang mẫu nhập khẩu mô hình Rose.
  8. Nhấn Finish trong hộp thoại Save Rose model (Lưu mô hình Rose), chấp nhận tên dự án mặc định SampleRoseModel.
  9. Tại dấu nhắc để chuyển đến phối cảnh Tài nguyên, nhấn Yes.
Hình 1. Tạo dự án mô hình Rose mẫu
Dự án mẫu

Hai mẫu mô hình (RoseImportSample.mdl và RoseImportSample_custom.mdl) và mã nguồn Java và C++ liên quan được bổ sung vào vùng làm việc của bạn và xuất hiện trong khung nhìn Navigator. Các mô hình này không thể mở được trong định dạng hiện tại của chúng trong Rational Systems Developer. Tuy nhiên bây giờ bạn có thể nhập khẩu chúng sang Rational Systems Developer bằng cách sử dụng bộ nhập khẩu Mô hình Rose (Rose Model Importer).

Cài đặt bộ Nhập khẩu Mô hình Rose

Bộ Nhập khẩu Mô hình Rose dùng cho Rational Systems Developer là một Đặc tính Tuỳ chọn phải được cài đặt bằng cách sử dụng bộ Cập nhật Các Sản phẩm Rational. Để có nhiều thông tin và hướng dẫn chỉ đạo nhằm cài đặt đặc tính tuỳ chọn này, tham khảo Các Đặc tính Nhập khẩu Mô hình Rational IBM – Hướng dẫn cài đặt và cập nhật.

Nếu đặc tính bộ Nhập khẩu Mô hình Rose vẫn chưa được cài đặt trong bàn làm việc Rational Systems Developer của bạn, thực hiện các bước sau đây để cài đặt nó. [Chú ý: Bạn phải đang kết nối với Internet để thực hiện các bước này.]

  1. Nhấn Help -> Software Updates -> IBM RSD Product Updater để khởi chạy công cụ bộ cập nhật Sản phẩm RSD.
  2. Trong công cụ RSD Product Updater, chọn phiếu Optional Features.
  3. Đánh dấu chọn hộp có nhãn IBM Rational Rose Model Import (Nhập khẩu Mô hình IBM Rational Rose) và nhấn vào nút Install Features để cài đặt đặc tính này.
  4. Khi bạn hoàn tất việc cài đặt đặc tính này, bạn có thể được hướng dẫn để khởi động lại bàn làm việc.
Hình 2. Cài đặt đặc tính bộ Nhập Mô hình Rose
Bộ Nhập Mô hình Rose

Nhập khẩu mô hình Rose

Khi bạn đã thiết lập mẫu dự án chứa mô hình Rose mà chúng ta sẽ sử dụng cho hướng dẫn này và bạn đã đã cài đặt đặc tính bộ Nhập khẩu Mô hình Rose, bạn sẽ sẵn sàng bắt đầu nhập khẩu mô hình Rose mẫu. Do mô hình Rose mẫu là một mô hình rất đơn giản, việc nhập khẩu sẽ rất đơn giản. Tuy nhiên, mô hình Rose điển hình thường không đơn giản như thế. Do đó khi chúng ta duyệt qua quy trình nhập qua mô hình đơn giản này, tôi sẽ điểm ra các vùng mà bạn sẽ gần như chắc chắn cần thực hiện một số công việc chuẩn bị trước khi nhập mô hình Rose của bạn. Các vấn đề như các bộ và khuôn mẫu sẽ được xem xét cẩn thận trước khi nhập.

Có sẵn các thông tin bổ sung cho bạn qua mục Online Help (Trợ giúp trực tuyến ) có tên là Installing and migrating (Cài đặt và Di trú ), mà bạn sẽ chắc chắn cần điểm lại trước và trong khi bạn cố gắng tự mình di trú mô hình. Tuy nhiên, hướng dẫn này sẽ cho bạn một ý tưởng về các bước liên quan và một số vấn đề mà bạn sẽ cần lên kế hoạch trong khi bạn cố gắng tự mình di trú mô hình.

Quy định tài nguyên nhập khẩu

Vì bộ Nhập khẩu Mô hình Rose cần phải truy cập đến mô hình Rose sắp được nhập khẩu cũng như đến tất cả các thành phần được điều khiển liên quan, tốt nhất là thực hiện thủ tục nhập khẩu trên cùng máy mà bạn đã dùng để tạo mô hình Rose. Với cách này, bộ nhập khẩu Mô hình Rose sẽ có quyền truy cập đến ghi danh và bất kỳ thông tin bổ sung Rose nào, chẳng hạn như các tập cấu hình khuôn mẫu do mô hình sử dụng.

Vì mô hình Rose mẫu mà chúng ta đang nhập vào là một mô hình rất đơn giản, chúng ta sẽ không phải lo lắng về việc chỉ rõ một tệp ghi danh.

Thực hiện các bước sau đây để bắt đầu nhập khẩu mô hình Rose RoseImportSample.mdl.

  1. Trong khung nhìn Navigator, chọn mô hình RoseImportSample.mdl.
  2. Nhấn File -> Import. Cửa sổ nhập khẩu mở ra.
  3. Chọn Rational Rose Model, và sau đó nhấn Next
  4. Trên trang Import a Rose Model của thủ thuật Rational Rose Model Import, nhấn nút Source model Browse.
  5. Duyệt qua và chọn mô hình RoseImportSample.mdl, và sau đó nhấn Open.
  6. Kiểm tra lại dự án SampleRoseModel được xác định là dự án hiện hành không, và sau đó nhấn Next.
Hình 3. Nhập mô hình Rose
Nhập mô hình Rose

Giải quyết các đơn vị con (subunits) và các biểu tượng sơ đồ đường

Trong Rational Rose, một mô hình lớn có thể do một nhóm công tác sử dụng để mô hình hoá hệ thống của họ. Trong các tình huống như vậy, mô hình thường được phân chia thành các đơn vị được điều khiển riêng lẻ (các đơn vị con), nơi mỗi bộ phân tích/bộ phát triển chịu trách nhiệm một hoặc nhiều đơn vị con. Một bước trước khi di trú mà bạn phải cân nhắc để tránh các vấn đề tiềm tàng tại điểm này trong quá trình nhập là kiểm tra lại cái mà bạn đã truy cập đến tất cả các đơn vị con liên quan.

Mách nước trước khi di trú #1

Hãy mở mô hình trong Rose và tải tất cả các đơn vị con có liên kết để kiểm tra lại xem tất cả đã có trên máy mà việc nhập cần thực hiện hay chưa. Chạy một Mô hình Kiểm tra Rose (Rose Check Model) và sửa một số trong số các lỗi thấy ngay trong mô hình nguồn cũng là một ý tưởng hay. Nếu không, tất cả các vấn đề mà bạn đã bỏ qua trong Rose cũng sẽ được di trú.

Hộp thoại tiếp theo xuất hiện cho phép bạn xác minh và hiệu chỉnh bất kỳ địa chỉ đơn vị con và biểu tượng sơ đồ đường đi nào mà có thể chưa được giải quyết. Do mô hình Rose mẫu đơn giản của chúng ta không sử dụng bất kỳ đơn vị con hoặc sơ đồ đường đi nào, bạn có thể chỉ cần nhấn Next để tiếp tục duyệt qua hộp thoại này.

Hình 4. Các đơn vị con và sơ đồ đường đi
Các đơn vị con và sơ đồ đường đi

Các đơn vị con so với nhiều mô hình

Cách tiếp cận quản lý mô hình trong các sản phẩm mô hình hoá UML IBM mới, chẳng hạn như Rational Systems Developer, là một thay đổi lớn từ Rose. Trong các sản phẩm mô hình hoá UML mới, bạn quản lý và điều khiển các mô hình của bạn chỉ ở mức mô hình; khái niệm các đơn vị con không được chuyển từ Rose. Trong khi các sản phẩm mô hình hoá UML mới không sử dụng các đơn vị con, nó không có nghĩa rằng thông tin lưu lại trong các đơn vị con bị mất đi sau khi nhập.

Khi bạn nhập khẩu một mô hình Rose có tham chiếu đến các đơn vị con, bạn có hai tuỳ chọn để cân nhắc; có thể chọn nhập khẩu các gói (CAT) và gói thành phần (SUB) đơn vị con như là các mô hình riêng lẻ, hoặc có thể chọn nhập khẩu toàn bộ nội dung các đơn vị con như là các gói bên trong mô hình được nhập khẩu.

Trong khi khả năng quản lý mô hình của từng công cụ là khác nhau, bạn vẫn có thể đạt được các kết quả tương tự bởi việc phân chia mô hình của bạn ở mức mô hình chứ không phải ở mức đơn vị con.

Để có nhiều thông tin hơn về các cách tiếp cận mô hình khác nhau giữa Rose và Rational Systems Developer, xin xem chủ đề Trợ giúp trực tuyến Installing and Migrating -> Importing Rational Rose models -> Rose model migration -> Key differences for Rose users -> Multiple model approach versus Rose subunits (Cài đặt và Di chuyển -> Nhập khẩu các mô hình Rose Rational -> Di trú mô hình Rose -> Những khác biệt chủ yếu về người sử dụng Rose -> Nhiều cách tiếp cận mô hình so với các đơn vị con Rose).

Mách nước trước khi di trú #2

Khi lên kế hoạch di trú một mô hình Rose có chứa các đơn vị được điều khiển, điều quan trọng là phải suy nghĩ về cách bạn muốn phân vùng kết quả mô hình Rational Systems Developer, do Rational Systems Developer không hỗ trợ các đơn vị điều khiển được. Bạn có lẽ muốn cân nhắc việc phân tích mô hình được nhập khẩu thành một số mô hình. Đừng cảm thấy bị bắt buộc bởi việc tổ chức trước đó của các đơn vị con, khi các đơn vị con trước đó đã là phân hoạch quá mịn (hay đúng yêu cầu). Bạn phải chắc chắn dự trù thời gian giải thích bằng tài liệu cấu trúc mô hình mới và mô tả cách sử dụng dự định của nó sau khi di trú.

Hộp thoại xuất hiện tiếp theo cho phép bạn chọn giữa việc nhập khẩu mô hình Rose như là một mô hình liền khối (kết hợp tất cả các đơn vị con trở lại thành mô hình chính) hoặc nhập khẩu mỗi đơn vị con như là một mô hình riêng biệt trong Rational Systems Developer. Vì mô hình mẫu của chúng ta không chứa đơn vị con nào nên chỉ cần nhấn Next để tiếp tục hộp thoại tiếp theo.

Hình 5. Nhập khẩu các đơn vị con Rose như là các mô hình độc lập
Các đơn vị con như là các mô hình

Các thiết lập đặc tính Rose

Các đặc tính mô hình Rose là các giá trị có thể sửa đổi được mà bạn có thể đính kèm vào một mô hình Rose và các phần tử mô hình liên quan. Các bộ đặc tính đảm bảo cách để bạn định nghĩa các thông tin riêng mà không được diễn đạt bằng ký pháp UML chuẩn, nhưng điều đó là cần thiết để mở rộng UML để đáp ứng các yêu cầu miền riêng (domain-specific requirements) về mã, dự án, hoặc các quy trình của bạn.

Không như các khuôn mẫu Rose, các đặc tính mô hình Rose không xuất hiện trong bộ soạn thảo sơ đồ. Cụ thể, các bộ đặc tính được áp dụng ngầm định (tương tự như các phần mở rộng khuôn mẫu đòi hỏi trong UML) và tên của chúng không xuất hiện trong các dấu ngoặc khuôn mẫu. Các tệp thiết lập đặc tính mô hình Rose có tên mở rộng của tệp là.pty.

Một profile (hồ sơ) là một gói chứa các khuôn mẫu UML mà mở rộng các phần tử (các siêu lớp - metaclasses) của ngôn ngữ UML đối với một miền hoặc mục đích đặc biệt. Các khuôn mẫu UML có các tính chất được phân loại bởi các kiểu loại nguyên thủy UML chuẩn hoặc bởi các liệt kê và các lớp cũng được định nghĩa trong hồ sơ. Chúng cũng có thể có các hình ảnh hình dạng có thể điều chỉnh được gắn kết với chúng. Các khuôn mẫu UML kết hợp tất cả các đặc tính của các khuôn mẫu Rose và các thiết lập đặc tính thành một cơ cấu mở rộng metamodel (siêu mô hình) riêng lẻ.

Các hồ sơ xác định một tập con riêng của metamodel UML và định nghĩa các khuôn mẫu và ràng buộc mà có thể được áp dụng cho nó. Các hồ sơ UML 2.0 Cơ sở, Trung cấp, và Đầy đủ được tự động áp dụng cho mỗi mô hình.

Các tệp hồ sơ UML 2.0 có tên mở rộng của tệp là.epx. Bạn có thể quan sát các hồ sơ trong khung nhìn Model Explorer.

Hãy xem xét các đặc tính Rose nào mà nó trở nên có lý để chuyển đổi sang các hồ sơ Phát triển Các Hệ thống Rational. Tiêu chí có lẽ là: nó có gồm các thuộc tính mà sẽ cần đến sau khi nhập khẩu không? Nó có gồm các khuôn mẫu và các biểu tượng khuôn mẫu mà sẽ hữu ích sau khi nhập khẩu không? Nếu không thì không xem xét nhập khẩu các đặc tính đó vào Rational Systems Developer.

Khi bạn thực hiện nhập khẩu các đặc tính mà bạn đã quyết định giữ lại, hãy cẩn thận khi điền vào trang đặc tính trong thủ thuật nhập khẩu. Bỏ qua các đặc tính mà bạn không muốn giữ lại, tham khảo các hồ sơ bạn đã tạo từ trước trong các lần nhập khẩu trước đây, và tạo các hồ sơ mới đối với các đặc tính mà mới đối với mô hình này vào địa chỉ nơi bạn muốn để chúng ở đó. Chú ý rằng mặc định trên trang này là bỏ qua các đặc tính. Xem Migrating từ Rational Rose -> Migrating models -> Importing a Rational Rose model -> Migrating Rose model property sets to profiles trong Trợ giúp trực tuyến để có thêm chi tiết về việc nhập khẩu các đặc tính..

Mách nước trước khi di trú #3

Nếu bạn có các đặc tính mà chung cho một vài mô hình, hoặc nếu bạn muốn giảm bớt việc sử dụng bộ nhớ trong khi nhập khẩu, và nếu bạn không ghi đè lên bất kỳ giá trị đặc tính chung nào, thì bạn có thể cần cân nhắc việc nhập các đặc tính mô hình riêng.

  1. Trong Rose, kích hoạt các trình bổ sung (addins) với các đặc tính mà bạn quan tâm, tạo một mô hình rỗng mới trong Rose và lưu nó lại.
  2. Tạo một dự án mới trong Rational Systems Developer, gọi nó là cái gì đó để cho biết nó chứa các hồ sơ dùng chung.
  3. Nhập khẩu mô hình Rose rỗng (kèm các đặc tính) vào dự án hồ sơ dùng chung Rational Systems Developer, bạn phải chắc chắn kiểm tra các hồ sơ sẽ được nhập khẩu trên trang hồ sơ trong thủ thuật nhập khẩu, và bạn quy định rằng các hồ sơ mới phải được tạo.
  4. Bây giờ nhập khẩu (các) mô hình thật của bạn và trên trang hồ sơ trong thủ thuật nhập khẩu, bạn phải chắc chắn đã chọn hộp đó, nêu rõ rằng bạn sẽ tham chiếu đến hồ sơ đã nhập khẩu trước đây của bạn.

Ghi chú: Nếu một mô hình sử dụng các đặc tính riêng, các đặc tính mô hình đó phải được nhập khẩu đồng thời khi, hoặc trước khi, mô hình được nhập khẩu.

Hình 6. Ánh xạ các thiết lập đặc tính
Ánh xạ các thiết lập đặc tính

Các khuôn mẫu Rose

Bạn có thể ánh xạ các khuôn mẫu Rational Rose (được định nghĩa trong các tệp cấu hình khuôn mẫu) thành các hồ sơ mới hoặc hồ sơ hiện dùng bằng cách sử dụng trang Ánh xạ Đặc tính Thiết đặt của thủ thuật Nhập khẩu Mô hình Rose. Bạn cũng có thể chọn bỏ qua các khuôn mẫu Rose riêng trong quá trình nhập khẩu nếu chúng không quan trọng hoặc được sử dụng trong mô hình của bạn.

Nếu bạn không muốn nhập khẩu bất kỳ khuôn mẫu Rose nào vào một hồ sơ, bỏ chọn hộp Import stereotypes as UML profiles và sau đó nhấn Next để quy định các ý thích mà định nghĩa cách các phần tử sơ đồ xuất hiện như thế nào sau khi nhập khẩu.

Mách nước trước khi di trú #4

Để giữ lại các biểu tượng khuôn mẫu trong các sơ đồ, sử dụng cùng một máy tính dùng cho Rose và cả cho Rational Systems Developer, hoặc áp dụng thủ tục sau đây để tạo các tạo tác khuôn mẫu sẵn có trong lúc nhập khẩu.

  1. Xuất khẩu dữ liệu Rose từ Ghi danh của Windows hoặc MainWin của một máy đã cài đặt Rose và chuyển giao kết quả tệp cho máy tính với sản phẩm mô hình UML mới, Rational Systems Developer, đã cài đặt. Sử dụng các bước sau đây để xuất khẩu các khoá ghi danh Rose:
    1. Sử dụng công cụ regedit hoặc regedt32 để xuất khẩu khoá ghi danh sau đây: HKEY_CURRENT_USER\Software\Rational Software\Rose.
    2. Đặt tên tệp là rose_user.reg.
    3. Sử dụng regedit hoặc regedt32, xuất khoá ghi danh sau: HKEY_LOCAL_MACHINE\SOFTWARE\Rational Software\Rose.
    4. Đặt tên tệp là rose_local.reg.
    5. Kết hợp các tệp, rose_user.reg và rose_local.reg, bằng cách sử dụng một trong các phương thức sau đây:
      • Trên Windows, từ dòng lệnh, gõ: C:\> copy rose_user.reg + rose_local.reg rose.reg.
      • Trên Windows, trong Notepad, mở cả hai tệp. Sao chép các nội dung của một tệp vào phần cuối của tệp kia và lưu lại kết quả. Phải chắc chắn lưu lại nó bằng mã Unicode, quy định trong cửa sổ Save As. Đặt tên tệp là rose.reg.
      • Trên các nền Linux hoặc Unix, từ một dòng lệnh gõ: $ cat rose_user.reg rose_local.reg > rose.reg.
  2. Từ cùng một máy tính Rose, sao chép các tệp cấu hình khuôn mẫu INI từ cài đặt Rose cơ bản và tất cả các trình bổ sung đã cài đặt, cộng với tất cả các tệp hình ảnh liên kết, vào máy tính mà đang chạy Rational Systems Developer. Hãy cẩn thận duy trì cấu trúc thư mục Rose giống nhau vì thông tin ghi danh và tệp khuôn mẫu INI phụ thuộc vào cùng một cấu trúc.
  3. Trong thủ thuật Mô hình nhập khẩu Rose, chỉ rõ tệp xuất khẩu ghi danh được tạo trong bước đầu tiên trong trường Registry file trên trang đầu tiên của thủ thuật.
  4. Đi tiếp qua thủ thuật đến trang Map stereotypes và đảm bảo rằng tất cả các tệp cấu hình khuôn mẫu thu được trong bước 2 xuất hiện và được ánh xạ đến các hồ sơ UML mới hoặc hiện hành.
  5. Kết thúc thủ thuật để hoàn tất việc nhập khẩu.

Đối với mẫu nhập khẩu của chúng ta, chúng ta sẽ xoá chọn hộp kiểm có nhãn Import stereotypes as UML profiles để tránh nhập khẩu bất kỳ khuôn mẫu nào sau đó chỉ cần nhấn Next để tiếp tục.

Hình 7. Ánh xạ các khuôn mẫu Rose
Các khuôn mẫu Rose

Các ý thích mô hình Rose

Bạn có thể quy định sự xuất hiện của mô hình đã nhập khẩu bằng cách sử dụng trang Các ý thích nhập khẩu Mô hình Rational của thủ thuật Nhập khẩu Mô hình Rose Rational.

Tham chiếu đến phần trợ giúp nhạy ngữ cảnh của trang Các ý thích nhập khẩu Mô hình Rational (F1) để có thông tin chi tiết về tất cả các ý thích mà bạn có thể quy định.

Nhấn Finish để hoàn tất quá trình nhập khẩu.

Hình 8. Các ý thích Mô hình Rose
Các ý thích Mô hình

Kiểm tra các kết quả

Trò vui giờ bắt đầu! Chúng ta hãy quan sát xem những gì đã được tạo bởi bộ Nhập khẩu Mô hình Rose cho ta. Điều đầu tiên bạn sẽ để ý đến là cùng một cấu trúc gói đã được tạo như cái chúng ta đã có trong Rose, gồm Use Case View (Khung nhìn Ca Sử dụng), Logical View (Khung nhìn Lôgic), Component View (Khung nhìn Thành phần) và Deployment View (Khung nhìn Triển khai). Tất nhiên, bạn có thể đổi lại tên các gói này hoặc tạo các gói mới và bỏ đi những yếu tố mô hình nếu bạn muốn. Tuy nhiên, cách tiếp cận tốt nhất (nhất là khi làm việc với các mô hình Rose rất lớn) sẽ là xoá bất kỳ phần tử nào mà không cần thiết cho việc di trú đến Rational Systems Developer. Tôi sẽ bàn luận về việc đó chi tiết hơn khi chúng ta kiểm tra kết quả mô hình Rational Systems Developer.

Để bắt đầu, chúng ta hãy mở gói 01 Basic Use Case bên trong gói Use Case View. Nhấn đúp vào sơ đồ 01 Basic Use Case Elements để mở nó và thấy rằng nó trông giống cái mà bạn đã quen thuộc trong Rose. Các sơ đồ ca sử dụng khá đơn giản. Chúng di trú sang Rational Systems Developer với ít khác biệt và ít thay đổi.

Có sự khác biệt nhỏ giữa các sơ đồ Ca Sử dụng khi sử dụng UML 1.4 (cái mà Rose đang dựa vào) và UML 2.0 (cái được sử dụng trong Rational Systems Developer). Như vậy đối với đa số trường hợp, các sơ đồ phải di trú và trông giống nhau. Tuy nhiên, có các thay đổi có ý nghĩa trong khu vực của các sơ đồ chuỗi, sơ đồ trạng thái, các sơ đồ hoạt động và sơ đồ cộng tác mà bạn sẽ nhận ra. Nếu bạn đã sử dụng bất kỳ sơ đồ nào trong Rose, bạn sẽ muốn nghiên cứu chủ đề Trợ giúp trực tuyến Installing and migrating -> Importing Rational Rose models -> UML 1.4 and 2.0 notation mapping để tự bạn làm quen với các khác biệt và chuẩn bị kiểm tra chặt chẽ và có thể “chỉnh sửa nhỏ” các sơ đồ mà được tạo trong Rational Systems Developer khi di trú.

Hình 9. Kiểm tra các Ca Sử dụng mới
Các kết quả

Khi bạn đã dành một số thời gian nghiên cứu chi tiết gói Use Case View để kiểm tra các nội dung của nó, và tự làm quen với một chút khác biệt giữa UML 1.4 và 2.0, chúng ta hãy chuyển sang lĩnh vực khác với sự khác biệt đáng kể giữa Rational Rose và Rational Systems Developer. Gọi lại New Paradigm (Luận thuyết Mới) được nêu bật tại phần đầu của hướng dẫn này: Đi vòng tròn Rational Rose so với Rational Systems Developer. Để hiểu đầy đủ việc này ảnh hưởng như thế nào đến các cố gắng di trú Rose của bạn, mở rộng gói Logical View -> 06 Implementation Model đã tạo trong Rational Systems Developer do nhập mô hình Rose.

Bạn sẽ nhận thấy rằng hai gói C++Java đã được tạo vừa khi chúng có mặt trong mô hình Rose. Và trong các gói đó là các đặc tả lớp mức-thực-hiện (implementation-level) đã được dùng trong Rational Rose để tạo mã tương ứng. Hoặc chúng thậm chí có thể đã được tạo trong Rose bằng cách dùng kỹ thuật đảo ngược mã. Với cách nào, thì mức độ chi tiết này cũng không cần thiết và không khuyến cáo đối với môi trường “Phát triển theo Mô hình” của Rational Systems Developer. Khác với việc nhập khẩu Mô hình Thực hiện từ Rose, bạn nên xoá thực sự gói đó từ mô hình Rose trước khi nhập khẩu. Trong nhiều trường hợp, các mô hình thực hiện được phát triển trong Rational Rose nhanh chóng trở nên mất đồng bộ với mã thực. Và thay cho việc phải có các cố gắng dùng kỹ thuật đảo ngược mã để tạo một mô hình mức thực hiện chính xác của mã trong Rational Rose và sau đó nhập khẩu nó vào Rational Systems Developer, chúng ta có thể chỉ đơn giản mang bộ mã thực sang Rational Systems Developer và sử dụng các khả năng hiển thị UML trong nó để trả lại mã của chúng ta thành các miêu tả UML chính xác. Đó là chủ đề của mục tiếp theo của hướng dẫn này.

Mách nước trước khi di trú #5

Khi di trú một mô hình Rose sang Rational Systems Developer, hãy xoá các thành phần của mô hình Rose mà ở “mức mã” (code-level) của phần trích ra. Các thành phần này gồm các lớp, các phép toán và các thuộc tính mà tương ứng trực tiếp với mã. Chỉ di trú các thành phần của mô hình Rose mà ở mức cao hơn mức của phần trích (chẳng hạn như nội dung thiết kế kiến trúc và cao cấp).


Nhập khẩu và hiển thị mã

Bằng cách sử dụng đặc tính Nhập khẩu Mô hình Rose (Rose Model Import) có trong Rational Systems Developer, lúc này chúng ta đã nhập thành công mô hình UML Rational Rose của chúng ta vào Rational Systems Developer. Tại thời điểm này, bạn sẽ hầu như chắc chắn dành một số thời gian để so sánh mô hình trong Rational Systems Developer với mô hình gốc trong Rational Rose và xoá bỏ bất kỳ vấn đề định dạng nào trong các sơ đồ. Bạn cũng sẽ muốn chạy một Xác thực (Validation) trên mô hình Rational Systems Developer chỉ để xác định bất kỳ sai sót nào mà có thể đã lược bỏ. Các kiểu sai sót điển hình có thể xác định được đều liên quan đến gắn kết các yêu cầu UML 2.0, logic, cấu trúc, và cách sử dụng. Tất cả kết quả xác thực, chẳng hạn như các sai sót, cảnh báo, và các thông báo có tính thông tin, xuất hiện trong khung nhìn Problems. Bạn cũng sẽ muốn dành một số thời gian xem lại các chủ đề trợ giúp về việc ánh xạ yếu tố mô hình Rose để hiểu được các sự khác biệt trong ký pháp UML. Hầu hết các khác biệt về UML là khá nhỏ. Tuy nhiên, như đã trình bày trước đó, các khác biệt chính được tìm thấy trong các máy trạng thái (state machines), các hoạt động và tương tác.

Việc bạn làm tiếp theo phụ thuộc phần lớn vào cái mà bạn đang sử dụng Rational Rose. Nếu bạn đã sử dụng nó đúng như một công cụ lập mô hình và thiết kế UML thì công việc di trú của bạn hầu như đã hoàn tất vào lúc này. Tuy nhiên, nếu bạn đang sử dụng nó để tạo Java hoặc mã C++ từ mô hình UML của bạn, hoặc sử dụng nó để áp dụng kỹ thuật đảo ngược vào Java của bạn hoặc mã C++ để tạo các sơ đồ UML từ mã của bạn thì bạn cần phải đưa mã hiện hành của bạn vào Rational Systems Developer và bắt đầu sử dụng đặc tính hiển thị UML. Mục này của hướng dẫn tập trung vào quy trình nhập khẩu và hiển thị mã Java/C++ của bạn. Quy trình nhập khẩu và hiển thị mã gần như giống nhau đối với cả Java và C++ (trừ kiểu dự án mà bạn tạo để giữ mã), như vậy đối với các mục đích của hướng dẫn này, chúng ta sẽ nhập khẩu mã C++ do mô hình Rose mẫu cung cấp.

Trước khi bạn có thể nhập khẩu mã vào Rational Systems Developer, bạn cần tạo một dự án cụ thể để giữ mã. Hướng dẫn này sẽ không đi sâu vào các kiểu dự án sẵn có cho bạn với Rational Systems Developer. Nếu bạn vẫn chưa quen thuộc với khái niệm của các dự án và của các kiểu dự án khác nhau sẵn có cùng với Rational Systems Developer, hãy tham khảo Trợ giúp Trực tuyến như nguồn thông tin hữu ích có thể tìm thấy.

Do chúng ta sẽ nhập khẩu mã C++, bạn sẽ cần phải tạo một dự án C++ trong vùng làm việc Rational Systems Developer của bạn bằng cách thực hiện các bước sau đây.

  1. Trên thanh trình đơn chính, chọn File -> New Project.
  2. Trong hộp thoại New Project (Dự án Mới), mở rộng thư mục C++.
  3. Chọn tuỳ chọn Standard Make C++ Project và nhấn Next.
  4. Đưa vào một tên dự án, và nhấn Finish để tạo dự án.
Hình 10. Tạo một dự án C++
Dự án mã

Thật tuyệt! Bây giờ bạn đã có một dự án C++ trong đó bạn có thể nhập khẩu mã C++. Rất giống với Nhập khẩu Mô hình Rose, có thủ thuật cho phép nhập khẩu mã C++ từ hệ thống tệp. Làm theo các bước sau để nhập khẩu mã C++ vào dự án C++ mới của bạn.

  1. Từ trình đơn chính, chọn File -> Import.
  2. Trong hộp thoại Import (Nhập khẩu), chọn File system và nhấn Next.
  3. Trong hộp thoại nguồn xuất hiện tiếp sau đó, duyệt địa chỉ của mã C++ mẫu mà có trong mô hình Rose mẫu. Nó phải nằm trong thư mục con SampleRoseModel/C++ của vùng làm việc của bạn.
  4. Chọn hộp bên cạnh thư mục C++ trong trông ô cửa bên trái để làm cho toàn bộ các mã được chọn, xác minh lại địa chỉ trong trường Into folder có phải là dự án C++ mà bạn đã tạo hay không, và nhấn Finish.
Hình 11. Nhập khẩu mã C++
Nhập khẩu mã

Bây giờ chúng ta hãy quan sát cái mà đã được tạo trong quá trình nhập khẩu. Chúng ta nhìn thấy ngay lập tức các lợi ích của việc sử dụng Rational Systems Developer để làm việc với mã C++ của chúng ta. Khung nhìn Model Explorer cho phép chúng ta quan sát được các phương thức và các trường theo biểu tượng. Khung nhìn đồ họa này của mã C++ làm cho nó dễ trông thấy hơn nhiều cái mã của chúng ta thể hiện khi không cần quan sát chính mã này. Tuy nhiên, trong thực tế, với Rational Systems Developer, chúng ta lại đang quan sát chính mã này. Đây không phải là một mô hình thực hiện riêng lẻ mà chúng ta quan sát, mà là mã được miêu tả một cách trực quan hơn.

Hình 12. Kiểm tra các kết quả
Các kết quả Nhập mã

Như bạn đã thấy, khung nhìn explorer/navigator đảm bảo cách rất hay để quan sát cái mà các phương thức và các trường gắn kết với mã của chúng ta. Tuy nhiên nó không hiển thị các mối quan hệ hoặc tương tác giữa mã của chúng ta. Hãy nhớ lại rằng trong Rose chúng ta đã được tập làm quen việc tạo các sơ đồ lớp và sơ đồ chuỗi chi tiết trong mô hình UML của chúng ta và cuối cùng tạo mã từ mô hình này. Hoặc nếu mã đã có từ trước, chúng ta đã có thể dùng kỹ thuật đảo ngược mã để nhận một miêu tả UML của nó dưới dạng một sơ đồ lớp. Nhưng với Rose, sơ đồ và mô hình đó tách biệt khỏi mã. Khi mã đã thay đổi, cần cố gắng thủ công để đồng bộ hoá mô hình với mã được cập nhật. Và khi mô hình đã được cập nhật, việc đồng bộ hoá sẽ phải xảy ra một lần nữa để cập nhật mã. Với cố gắng thủ công, thường là một khi các dự án đã thực hiện, chúng ta hiếm khi dành thời gian quay trở lại và cập nhật các mô hình UML của mình.

Rational Systems Developer loại bỏ vấn đề này bằng cách cho phép chúng ta hiển thị mã trong một sơ đồ UML mà không tạo một “cá thể” tách biệt nào của mã. Khi chúng ta hiển thị mã này trong một sơ đồ Lớp, chúng ta thực tế quan sát chính mã chứ không phải sao chép nó. Chúng ta hãy tạo một sơ đồ lớp bằng cách sử dụng khả năng hiển thị của Rational Systems Developer để xem nó trông như thế nào.

  1. Nhấn chuột phải lên CCustomerDA
  2. Chọn Visualize -> Add to New Diagram File -> Class Diagram
Hình 13. Hiển thị mã
Hiển thị 1

Sơ đồ lớp mới được tạo khi hiển thị lớp được chọn. Sơ đồ này có thể được sửa đổi và bất kỳ sự thay đổi nào đã thực hiện (chẳng hạn như thêm một phương thức) sẽ tự động làm cho bộ mã ẩn dưới được cập nhật. Bạn có thể dễ dàng chuyển tới mã này bằng cách nhấn đúp vào lớp trên sơ đồ. Bạn cũng có thể hiển thị các phần tử liên quan và thông tin khác bằng cách sử dụng thực đơn ngữ cảnh, cho phép truy cập bằng cách nhấn chuột phải vào lớp trên sơ đồ. Chúng ta hãy sử dụng thực đơn ngữ cảnh này để hiển thị các phần tử liên quan.

  1. Nhấn chuột phải lên lớp CCustomerDA trên sơ đồ.
  2. Từ trình đơn ngữ cảnh, chọn Filters -> Show Related Elements.
  3. Chọn Show All Relationships (Hiển thị tất cả các mối quan hệ) và nhấn OK
Hình 14. Hiển thị mã
Hiển thị 2

Tóm tắt

Hướng dẫn này dẫn dắt bạn duyệt qua quá trình di trú một mô hình UML từ Rational Rose sang Rational Systems Developer. Trong khi Thủ thuật Nhập khẩu Rose là khá dễ sử dụng và cung cấp cho bạn khá ít tuỳ chọn để cân nhắc khi nhập khẩu mô hình của bạn, cái mà bạn thực hiện trước khi nhập khẩu mô hình này thậm chí còn quan trọng hơn. Thực hiện theo các mách nước này sẽ làm cho các cố gắng di trú của bạn trơn tru và thành công.

  • Mở mô hình trong Rose và nạp tất cả các đơn vị con liên kết để kiểm tra lại xem tất cả đã sẵn có trên máy từ đó việc nhập khẩu sẽ được thực hiện hay chưa. Nó cũng là một ý tưởng tốt khi chạy một Mô hình Kiểm tra Rose (Rose Check Model) và sửa chữa một vài trong số các sai sót hiển nhiên nhiều hơn trong mô hình nguồn. Nếu không, tất cả các vấn đề đó mà bạn đã bỏ qua trong Rose cũng sẽ được di trú.
  • Khi lên kế hoạch di trú một mô hình Rose mà chứa các đơn vị được điều khiển, điều quan trọng là phải nghĩ về cách bạn muốn phân vùng kết quả Rational Systems Developer do Rational Systems Developer này không hỗ trợ các đơn vị được điều khiển. Bạn có thể cần cân nhắc việc phân tích mô hình được nhập khẩu thành một vài mô hình. Đừng cảm thấy bị bắt buộc bởi việc tổ chức trước đó của các đơn vị con, khi các đơn vị con trước đó đã có phân hoạch mịn (hoặc nó đã đạt yêu cầu). Bạn phải chắc chắn lên lịch giải thích bằng tài liệu cấu trúc mô hình mới và mô tả cách sử dụng dự định của nó sau khi di trú.
  • Nếu bạn có các đặc tính mà chung cho một vài mô hình, hoặc nếu bạn muốn giảm bớt việc sử dụng bộ nhớ trong khi nhập khẩu, và nếu bạn không ghi đè lên bất kỳ giá trị đặc tính chung nào, thì bạn có thể cần phải cân nhắc việc nhập khẩu các đặc tính mô hình một cách tách biệt. Sau đó bạn sẽ chỉ cần tham khảo dự án hồ sơ được dùng chung trên trang hồ sơ của thủ thuật Nhập khẩu Mô hình Rose.
  • Để giữ lại các biểu tượng khuôn mẫu trong các sơ đồ, hãy sử dụng cùng máy tính dùng cho Rose cũng như Rational Sofware Modeler (bộ Lập Mô hình Phần mềm Rational), Software Architect (bộ Kiến trúc sư Phần mềm), hoặc Rational Systems Developer, hoặc theo các bước được khuyến cáo để rập khuôn theo các tạo tác sẵn có trong khi nhập khẩu.
  • Khi di trú một mô hình Rose sang công cụ phát triển ứng dụng Rational Systems Developer hãy xoá các phần của mô hình Rose với cấp độ trừu tượng hóa ở “mức mã” (code-level). Những phần này bao gồm các lớp, các phép toán, và các thuộc tính tương ứng trực tiếp với mã. Chỉ di trú các phần của mô hình Rose ở cấp độ trừu tượng hóa cao hơn (ví dụ, mức kiến trúc hay nội dung thiết kế mức cao).

Tài nguyên

Học tập

Lấy sản phẩm và công nghệ

  • Lập dự án phát triển tiếp theo của bạn với phần mềm thử nghiệm IBM, có sẵn để tải về trực tiếp từ developerWorks.

Thảo luận

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=Rational
ArticleID=972837
ArticleTitle=Di chuyển sang Rational Systems Developer, Phần 1: Các Mô hình Rational Rose
publish-date=01082010