hình chuẩn.
Một trong những tính năng mạnh mẽ nhất của Rational Rose là khả năng tạo ra mã đại diện cho một mô hình của nó. Trong chương này, chúng tôi sẽ đưa ra các bước cơ bản mà bạn phải thực hiện trước khi bạn có thể tạo ra mã từ mô hình Rose của bạn.
Các bước chính mà bạn phải làm đó là: 1. Kiểm tra mô hình Rose
2. Cài đặt các thuộc tính3. Sinh mã. 3. Sinh mã.
1. Kiểm tra các mô hình.
Để kiểm tra mô hình trong Rose (Check model). 1.1. Vào Tool -> Check model Hoặc Tool -> Java/J2EE -> Syntax Check.
1.2. Tạo các thành phần (components)
Ở bước này ta sẽ tạo các biểu đồ thành phần. (Đã được tạo trong chương 4) 1.3. Ánh xạ các lớp tới các thành phần thích hợp.
- Click chuột phải vào component hoặc các Biểu đồ component-> Chọn Open Specification.
- Chọn Realizes tab.
- Trong Realizes tab. Bạn lựa chọn những lớp mà ánh xạ tới các component. Click chuột phải vào class đó và chọn Assign
- Các trình duyệt sẽ hiển thị tên thành phần trong ngoặc đơn sau tên lớp trong Logical View.
2. Cài đặt các thuộc tính cho bảng mã
Để xem các thuộc tính tạo mã ta vào Tool ->Options Hộp thoại Options xuất hiện
- Có nhiều ngôn ngữ được xuất hiện trong hộp thoại Options. Khi bạn vào mỗi tab ngôn ngữ và cài đặt 1 thuộc tính bất kỳ vào đó thì nó sẽ ảnh hưởng tới tất cả các mô hình của bạn có trong Rose.
5. Lựa chọn lớp, thành phần hoặc các gói.
- Khi tạo mã, bạn có thể lựa chọn 1 class, 1 biểu đồ lớp trong khung nhìn Logic, 1 component, 1 biểu đồ thành phần trong khung nhìn component hay cũng có thể là 1 package có trong browser. Khi lựa chọn 1 package thì mã cho tất cả các biểu đồ có trong package đó sẽ được tạo ra.
3. Xuất code.
Khi sử dụng Rational Rose Enterprise hoặc Professional bạn sẽ có 1 số tùy chọn khác: select the Add−Ins → Add−In Manager menu option.
VD: Khi bạn muốn tạo code với Java
Thì bạn cần lựa chọn các tùy chọn cài đặt trong hộp thoại Specification. Sau đó click chuột phải vào class bạn đã chọn:
Code Java sẽ tự động được tạo ra nếu các sơ đồ của bạn không có lỗi và những cài đặt là đúng:
//Source file: C:\\Flight.java public class Flight
{
private int FlightNumber; private long DepartureDate; private int GateNumber; public Flight()
{ } /**
@roseuid 3942C4F50253 */
public boolean AddPassenger(int PassengerID) {
} /**
@roseuid 3942C4FE02B0 */
public boolean RemovePassenger(int PassengerID) {
} /**
@roseuid 3942C5060211 */
public boolean SwitchGate(int NewGate) {
}