ĐẠI HC QUC GIA HÀ NI
TRƯỜNG ĐẠI HC CÔNG NGH
Đỗ Duy Hưng
NG DNG RELATIONAL INTERFACE CHO JAVA
KHOÁ LUN TT NGHIỆP ĐẠI HC H CHÍNH QUY
Ngành: Công ngh thông tin
n bộ hướng dn: Ths. Phm Th Kim Dung
HÀ NI – 2010
ng dng Relational Interface cho Java Đỗ Duy Hưng
I
Li cm ơn
Trước tiên, tôi xin gi li cảm ơn và lòng biết ơn sâu sắc đến thc s Phm Th
Kim Dung, người đã tn tình ch bảo hướng dn tôi trong sut quá trình thc hin khoá
lun tt nghip.
Tôi xin bày t li cảm ơn sâu sắc đến các thầy cô giáo đã ging dy tôi trong sut
bốn năm học qua, đã cho tôi nhiu kiến thức quý báu để tôi vững bước trên con đường
hc tp ca mình.
Tôi xin gi li cm ơn tới các bn trong lp K51CB, K51CNPM đã ng h
khuyến khích tôi trong sut quá trình hc tp tại trường.
cui cùng, tôi xin bày t nim biết ơn hn ti b m, những người bn
thân luôn bên cạnh, động viên tôi trong sut quá trình thc hin khoá lun tt nghip.
Hà Ni, ngày 22 tháng 05 năm 2010
Sinh Viên
Đỗ Duy Hưng
ng dng Relational Interface cho Java Đỗ Duy Hưng
II
TÓM TT NI DUNG
Hin nay, thiết kế da trên thành phn (Component-based design) đang được ng
dng phát trin mnh nhng li ích mà mang li cho ngành công ngh phn
mm. Thiết kế da trên thành phn giúp cho vic xây dng các h thng phc tp, như
h thng nhúng, h thng vt tr nên hiu quđáng tin cy. Vi kích cđộ
phc tp ln ca h thng này không cho phép thiết kế toàn b tđầu, hoc xây dng
như một đơn vị đơn lẻ. Thay vào đó, hệ thng phải được thiết kế như một tp
hp các thành phn, mt số được xây dng từ đầu, mt s kế tha li.
Giao din (Interface) đóng mt vai trò quan trng trong thiết kế da trên thành
phn chúng cung cấp phương tiện để t cho thành phn. Mt interface th
được xem như một bn m tt, một đại din ca thành phn: gi li các thông tin
cn thiết ca thành phn, giu thông tin không cn thiết m cho t thành phn
trở nên đơn giản và hiu quhơn.
Trong khóa lun tt nghip này, bng vic s dng thuyết v relational
interface, tôi xây dng mt công c t động phân tích, trích rút các thành phn có
trong file ngun Java biến đổi thành các relational interface, thc hin vic
kết hp tđộng các interface này vi nhau. Đ tđó, ta th biết được khnăng kết
hp ca các thành phn này vi nhau. Interface mới được kết hp vn gi nguyên tính
cht ca các interface cũ. Qua đó, ta cũng thể dđoán được giá trđầu ra ca c
thành phn nếu biết được giá trị đầu vào thông qua các tính cht.
ng dng Relational Interface cho Java Đỗ Duy Hưng
III
MC LC
Bng các kí hiu nghĩa tiếng anh..............................................................................V
Danh mc hình v................................................................................................... VI
CHƯƠNG 1: MỞ ĐẦU .............................................................................................1
1.1 Đặt vấn đề.......................................................................................................1
1.2 Ni dung bài toán............................................................................................1
1.3 Cu trúc khóa lun ..........................................................................................2
CHƯƠNG 2: GIỚI THIU CHUNG VỀ ĐC TGIAO DIN .....................3
2.1 Công ngh phn mềm hướng thành phn.........................................................3
2.2 Đặc t hình thc..............................................................................................3
2.2.1 Các phương pháp hình thc ............................................................................... 4
2.2.2 Đặc t................................................................................................................ 4
2.2.3 Đặc tnh thc ................................................................................................ 5
2.3 Giao din ........................................................................................................5
2.3.1 Đặc t giao din................................................................................................. 5
2.3.2 Thành phn và giao din.................................................................................... 6
2.3.3 Các loi interface............................................................................................... 6
2.3.4 Statelful và stateless interface ............................................................................ 7
2.3.5 Relational interface............................................................................................ 8
CHƯƠNG 3: NI DUNG LÝ THUYT V RELATIONAL INTERFACE .......10
3.1 Sơ bộ v bài viết và các ký hiu ....................................................................10
3.2 Relational interfaces......................................................................................12
3.3 Môi trường và khả năng lắp ghép..................................................................19
3.4 Kết hp .........................................................................................................23
CHƯƠNG 4: XÂY DỰNG CÔNG C CHUYỂN ĐỔI T ĐỘNG T JAVA
SANG RELATIONAL INTERFACE.....................................................................34
4.1 C s lý thuyết..............................................................................................34
4.1.1 Các thành phn ca lp trong ngôn ng lp trình hướng đối tượng .................. 34
4.1.2 Relational interface.......................................................................................... 35
4.1.3 Mt s kiến thc v logic ................................................................................ 36
4.2 Mc tiêu ca bài toán....................................................................................41
4.3 Hướng gii quyết bài toán .............................................................................41
4.3.1 To relational interface tự động từ phương thc............................................... 41
4.3.2 Tính input assumption tự động ........................................................................ 43
4.3.3 Tính ξ mới được to ra tự đng........................................................................ 44
4.3.4 Thc hin vic kết hp tự động........................................................................ 45
ng dng Relational Interface cho Java Đỗ Duy Hưng
IV
4.4 Mô t các thành phn ca công c.................................................................46
4.4.1 Lp SourceFormat.java ................................................................................... 47
4.4.2 Lp RInterface.java......................................................................................... 48
4.4.3 Lp JavaFile.java ............................................................................................ 49
4.4.4 Lp JavaClass.java.......................................................................................... 50
4.4.5 Lp Tools.java ................................................................................................ 51
4.4.6 Lp Expresstion.java....................................................................................... 56
4.4.7 Lp FOLOptimizer.java .................................................................................. 59
CHƯƠNG 5: CÀI ĐẶT VÀ TH NGHIM .........................................................60
5.1 Xây dng công c.........................................................................................60
5.2 D liu th nghim .......................................................................................61
5.3 Kết qu th nghim.......................................................................................62
5.3.1 Phân tích file mã ngun................................................................................... 62
5.3.2 Chuyn những phương thức này thành relational interface............................... 63
5.3.3 Kết hp các interface....................................................................................... 65
5.3.4 Dự đoán kết qu: ............................................................................................. 68
5.4 Đánh giá........................................................................................................69
CHƯƠNG 6: KT LUN .......................................................................................69
6.1 Kết lun v khóa lun....................................................................................69
6.2 Hướng phát triển trong tương lai ...................................................................70
Ph lc......................................................................................................................71
Ph lc 1: Ni dung mã ngun file th nghim Sample.java.................................71