KIẾN TRÚC HỆ THỐNG VÀ PHÁT SINH MÃ TRèNH
7.6.3 Phỏt sinh mó trỡnh bằng Rose
Cú sỏu bước cơ bản thực hiện để phỏt sinh mó chương trỡnh: 1. Thiết lập cỏc thuộc tớnh của mụ hỡnh
2. Kiểm tra mụ hỡnh 3. Tạo lập cỏc thành phần 4. Gỏn cỏc lớp vào thành phần
6. Phỏt sinh mó chương trỡnh.
Khụng phải ngụn ngữ nào cũng cần đầy đủ cỏc bước nờu trờn. Vớ dụ, khi phỏt sinh mó chương trỡnh bằng C++ (hay Java) cho cỏc lớp đó được thiết kế chi tiết thỡ chỉ cần thực hiện bước 5 và 6, hay bước một cũng khụng bắt buộc phải thực hiện. Tuy nhiờn, về mặt qui trỡnh cụng nghiệp nờn thực hiện cả sỏu bước trờn.
Bước 1: Thiết lập cỏc đặc tớnh của mụ hỡnh
Cú nhiều đặc tớnh được sử dụng để phỏt sinh mó nguồn cú thể gỏn cho lớp, vai trũ
(Role), thuộc tớnh, hàm và cỏc thành phần khỏc của lớp.
+ Cỏc đặc tớnh của lớp bao gồm: cỏc toỏn tử tạo lập, huỷ tử, toỏn tử tạo lập nhõn
bản, phộp đối sỏnh, cỏc phương thức truy cập dữ liệu (get/set methods)
+ Cỏc đặc tớnh của vai trũ bao gồm: thiết lập cỏc phương thức truy cập, lớp chứa + Cỏc đặc tớnh của phương thức bao gồm: những phộp toỏn chung như phương
thức abstract, virtual, static, firend, v.v.
Cỏc đặc tớnh này điều khiển việc phỏt sinh mó chương trỡnh tự động. Vớ dụ, đặc tớnh GenrateGetOperation trong C++ sẽ điều khiển để sinh mó cỏc hàm cú tiếp đầu
ngữ là getX để đọc dữ liệu bị che giấu (khai bỏo private) trong lớp nếu nú được chọn. Trước khi phỏt sinh mó chương trỡnh nờn xem xột cỏc đặc tớnh của mụ hỡnh và cú thể bổ sung, hay thay đổi chỳng nếu cần.
Để quan sỏt đặc tớnh của mụ hỡnh cú thể chọn Tools > Options (hoặc nhấn đỳp vào Model Properties từ Browser), sau đú chọn ngụn ngữ lập trỡnh, vớ dụ chọn C++ như hỡnh 7-9.
Bạn cú thể thay đổi Value và Source của cỏc đặc tớnh bằng nhấn chuột vào những đặc tớnh cần thay đổi và lựa chọn cỏc đại lượng tương ứng trong thực đơn đầy xuống.
Tập đặc tớnh tạm thời. Thay vỡ những đặc tớnh mặc định, ta cú thể tạo lập đặc tớnh
tạm thời để sử dụng. Để tạo lập tập đặc tớnh tạm thời cho C++, bạn cú thể chọn
Tools > Model Properties > Edit > C++ tab > Edit Set
sau đú nhấn nỳt Close trong cửa sổ Clone the Property Set và nhập tờn mới cho tập
đặc tớnh đú. Khi khụng cũn cần đến tập đặc tớnh tạm thời thỡ cú thể chọn Remove để loại bỏ nú.
Hỡnh 7-9 Cỏc đặc tớnh của mụ hỡnh để sinh mó cho lớp trong C++
Bước 2: Kiểm tra mụ hỡnh
Chức năng Check Model ở Tools được thiết kế để kiểm tra sự nhất quỏn giữa cỏc đơn thể khi mụ hỡnh của bạn được lưu trành nhiều đơn vị điều khiển. Kiểm tra mụ hỡnh để phỏt hiện những sai phạm, những điểm khụng thống nhất và cỏc lỗi trong mụ hỡnh. Sau khi chọn Tools > Check Model, lỗi của mụ hỡnh sẽ được hiển thị ở cửa sổ Log. Cỏc lỗi hay
xảy ra là cỏc thụng điệp trong biểu đồ tương tỏc khụng được ỏnh xạ thành cỏc phương thức của lớp tương ứng. Mục Access Violation sẽ tỡm ra những vi phạm khi cú những quan hệ giữa hai lớp ở hai gúi khỏc nhau, nhưng hai gúi đú lại khụng cú quan hệ với nhau. Chọn Report > Show Access Violation để biết được những vi phạm đú.
Bước 3: Tạo lập thành phần hay mở biểu đồ thành phần
Ta cú thể sinh mó trỡnh cho từng lớp hoặc cho từng thành phần chứa một số lớp nhất định và cỏc mẫu rập khuụn (stereotype). Cỏc thành phần cần thiết để ỏnh xạ cỏc
lớp trong mụ hỡnh sang ngụn ngữ lập trỡnh đó xỏc định và cỏc đơn thể phần mềm. Cú
nhiều loại thành phần như thành phần chứa mó nguồn, tệp thực thi (.exe), tệp thư viện, v.v. Cỏc lớp và cỏc giao diện phải được gỏn vào một thành phần của một ngữ cài đặt hoặc được gỏn vào một số thành phần của cựng một ngụn ngữ.