You are on page 1of 8

BÀI TẬP THỰC HÀNH

Môn TKPMHĐT
---
Bài thực hành số 02: Class Design
1. Tạo project mới trên EA, thêm một Class Diagram tên là Association Class để lập
lược đồ sau:
class Association Class

SinhVien HocPhan
- ID: string - CourseID: string
3..10 0..*
- ten: string - ten: string

KetQua

- diem: double

2. Lập sơ đồ lớp cho các lớp (trong logical view) như hình vẽ sau (lưu ý lớp trừu
tượng, các phương thức thuần ảo và việc kế thừa):
class Logical View

Hinh

# ten: string
#m_diem Diem
+ chuvi() : double
- x: double
+ dientich() : double 1 1..*
- y: double
+ docten() : string
+ ganten(string) : void

ChuNhat Tam Giac

# d: double # a: double
# r: double # b: double
# c: double
+ chuvi() : double
+ dientich() : double + chuvi() : double
+ dientich() : double

Vuong
3. Sử dụng chức năng Transformation để chuyển toàn bộ lược đồ trên thành mô hình
lớp của các ngôn ngữ khác nhau (C#, Java, …). Lược đồ lớp trên Java thu được
như sau:
class Logical View

Hinh

# ten: string

+ chuvi() : double
Diem
+ dientich() : double #m_diem
+ docten() : string - x: double
+ ganten(string) : void 1 1..*
- y: double
«property get»
+ getdiem() : Diem
«property set»
+ setdiem(Diem) : void

ChuNhat Tam Giac

# d: double # a: double
# r: double # b: double
# c: double
+ chuvi() : double
+ dientich() : double + chuvi() : double
+ dientich() : double

Vuong

4. Dùng chức năng Generate Code để sinh mã cho các lớp trên (các tập tin .java), lưu
vào một thư mục riêng.
5. Mở tập tin HINH.java để điều chỉnh lại một số nội dung như sau (thay đổi ở những
dòng tô đỏ):
public abstract class Hinh {

protected string ten;


protected Diem m_diem[];

public Hinh(){

public void finalize() throws Throwable {

public abstract double chuvi();

public abstract double dientich();

public string docten(){


return "";
}

/**
*
* @param t
*/
public void ganten(string t){

public Diem[] getdiem(){


return m_diem;
}

/**
*
* @param newVal
*/
public void setdiem(Diem newVal[]){
m_diem = newVal;
}

}
6. Dùng chức năng Synchonize để cập nhật lại mô hình từ code (Reverse Engineering)
cho lược đồ lớp Java trên.

Kết quả thu được như hình sau:


class Logical View

Hinh

# m_diem: Diem ([])


# ten: string

+ chuvi() : double Diem


+ dientich() : double
#m_diem - x: double
+ docten() : string - y: double
+ finalize() : void 1 1..*
+ ganten(string) : void + Diem()
+ Hinh() + finalize() : void
«property get»
+ getdiem() : Diem[]
«property set»
+ setdiem(Diem[]) : void

ChuNhat Tam Giac


# d: double # a: double
# r: double # b: double
# c: double
+ ChuNhat()
+ chuvi() : double + chuvi() : double
+ dientich() : double + dientich() : double
+ finalize() : void + finalize() : void
+ TamGiac()

Vuong

+ finalize() : void
+ Vuong()
7. Dùng chức năng Export để xuất toàn bộ lược đồ trên (dưới dạng Java) ra dạng XMI
(tập tin XML), lưu vào một vị trí nào đó. Sau đó mở một Project mới Import lại tập tin
này để đưa mô hình này trở vào.
8. Thêm một package mới có tên là ChoMuonSach, đồng thời tạo lược đồ lớp mới cho
gói này.
9. Phát sinh mã nguồn cho package ChoMuonSach ở trên, sau đó sửa đổi code  cập
nhật lại mô hình và sửa đổi mô hình, cập nhật lại code thông qua chức năng
Synchronize Package With Code…

10. Xuất package ở trên ra dạng XMI. Sau đó điều chỉnh lại mô hình và thực hiện tính
năng so sánh giữa mô hình và tập tin XMI:
-HẾT BÀI 2-

You might also like