intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài thực hành số 02: Class Design

Chia sẻ: Gacon | Ngày: | Loại File: DOC | Số trang:8

169
lượt xem
21
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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):

Chủ đề:
Lưu

Nội dung Text: Bài thực hành số 02: Class Design

  1. 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 Diem #m_diem + c huvi() : double - x : double 1 1..* + dientich() : double - y : double + docten() : string + ganten(string) : void ChuNhat Tam Giac # d: double # a: double # r: double # b: double # c : double + c huvi() : double + dientich() : double + c huvi() : double + dientich() : double Vuong
  2. 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 + c huvi() : double Diem #m_diem + dientich() : double + docten() : string - x : double 1 1..* + ganten(string) : void - y : double «property get» + getdiem() : Diem «property set» + s etdiem(Diem) : void Tam Giac ChuNhat # a: double # d: double # b: double # r : double # c : double + c huvi() : double + c huvi() : double + dientich() : 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.
  3. 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; } }
  4. 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 Diem + c huvi() : double + dientich() : double #m_diem - x : double + docten() : string - y : double + f inalize() : void 1 1..* + ganten(string) : void + Diem() + Hinh() + f inalize() : void «property get» + getdiem() : Diem[] «property set» + s etdiem(Diem[]) : void ChuNhat Tam Giac # d: double # a: double # r : double # b: double # c : double + ChuNhat() + c huvi() : double + c huvi() : double + dientich() : double + dientich() : double + f inalize() : void + f inalize() : void + TamGiac() Vuong + f inalize() : void + V uong()
  5. 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.
  6. 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.
  7. 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:
  8. -HẾT BÀI 2-
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2