I T P TH C HÀNH
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 Association Class đ l p
l c đ sau:ượ
class Association Class
SinhVien
- ID: string
- ten: string
HocPhan
- CourseID: string
- ten: string
KetQua
- diem: double
3..10 0..*
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
Hi nh
# ten: string
+ chuvi() : double
+ dientich() : double
+ docten() : string
+ ganten(string) : void
Diem
- x: double
- y: double
ChuNhat
# d: double
# r: double
+ chuvi() : double
+ dientich() : double
Tam Giac
# a: double
# b: double
# c: double
+ chuvi() : double
+ dientich() : double
Vuong
1
#m_diem
1..*
3. S d ng ch c năng Transformation đ chuy n toàn b l c đ trên thành 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
ChuNhat
# d: double
# r: double
+ chuvi() : double
+ dientich() : double
Diem
- x: double
- y: double
Hi nh
# ten: string
+ chuvi() : double
+ dientich() : double
+ docten() : string
+ ganten(string) : void
«property get»
+ getdiem() : Diem
«property set»
+ setdiem(Diem) : void
TamGiac
# a: double
# b: double
# c: double
+ chuvi() : double
+ dientich() : double
Vuong
1
#m_diem
1..*
4. ng ch c năng Generate Code đ sinh 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 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
ChuNhat
# d: double
# r: double
+ ChuNhat()
+ chuvi() : double
+ dientich() : double
+ finalize() : void
Diem
- x: double
- y: double
+ Diem()
+ finalize() : void
Hi nh
# m_diem: Diem ([])
# ten: string
+ chuvi() : double
+ dientich() : double
+ docten() : string
+ finalize() : void
+ ganten(string) : void
+ Hinh()
«property get»
+ getdiem() : Diem[]
«property set»
+ setdiem(Diem[]) : void
TamGiac
# a: double
# b: double
# c: double
+ chuvi() : double
+ dientich() : double
+ finalize() : void
+ TamGiac()
Vuong
+ finalize() : void
+ Vuong()
1
#m_diem
1..*
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. ư