1
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Thânn Đức
KIỂM CHỨNG CÁC GIAO THỨC BẰNG AOP
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2010
2
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Thânn Đức
KIM CHỨNG CÁC GIAO THỨC BẰNG AOP
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bhướng dẫn: Ths.Phm Thị Kim Dung
HÀ NỘI - 2010
3
Lời cảm ơn
Trong quá trình thực hiện đề tài, tôi đã gặp rất nhiều khó khăn và bngỡ. Nếu không
có sgiúp đỡ và li động viên chân thành của nhiều người có lẽ tôi khó có th hoàn thành
tốt khóa luận này.
Đầu tiên tôi xin t lòng biết ơn sâu sắc đến Phm Thị Kim Dung đã tận tình
hướng dẫn trong suốt quá trình viết khóa luận tốt nghiệp.
Tôi muốn gửi lời cảm ơn đến các thầy giáo giáo trong hội đồng bảo v. Những ý
kiến đóng góp của là cùng hữu ích, giúp tôi nhận ra c khuyết điểm của khóa
luận.
Tôi xin chân thành cm ơn quý Thầy, và bạn bè trong khoa Công nghệ thông tin,
trường Đại học Công Nghệ- Đại học Quốc Gia- Nội đã tận tình truyền đạt kiến thức,
sát cánh và trải nghiệm cùng tôi trong suốt 4 năm học tập. Với vốn kiến thức được tiếp
thu trong quá trình học không chỉ là nền tảng cho quá trình nghiên cứu khóa luận mà n
là hành trang quí báu để tôi bước vào đời một cách vững chắc và tự tin.
Con xin cảm ơn cha mẹ, những nời đã công sinh thành, dưỡng dục và nuôi dạy
con nên người.
Cuối cùng tôi kính chúc quý thầy, dồi dào sức khỏe, đạt được nhiều thành công
trong công việc và cuộc sống.
4
TÓM TẮT NỘI DUNG
Kiểm chứng phần mềm có một vai trò quan trọng trong việc đảm bảo tính đúng đắn
của hệ thống phần mềm trong suốt quá trình thực thi,kim chứng giúp phát hiện,m ra lỗi
thông báo lỗi cho nhà phát triển. Phương pháp lập trình hướng khía cạnh (AOP) cùng
với công nghệ AspectJ ra đời đã tạo ra một hướng phát triển mới cho kiểm chứng phần
mềm, giúp nâng cao khả năng dò tìm lỗi, thông báo lỗi không ảnh hưởng tới mã nguồn
hthống. Trong thực tế, biểu đồ UML là slựa chọn rất phổ biến cho việc mô hình hóa
hthống phần mm giai đoạn thiết kế hiện nay. Trong đó, biểu đtuần t(sequence
diagram) là một biểu đồ quan trọng, miêu tcác cách thức đối tượng tương tác giao
tiếp với nhau. Việc kiểm chứng thiết kế và kim chứng các giao thức ràng buộc trong biểu
đồ trình t rất cần quan trọng vì nếu thiết kế biểu đồ tuần tự sai kéo theo các hoạt động
của hệ thống hoặc trình thệ thống cần thực hiện sẽ bị sai dẫn tới toàn bhệ thống thiết
kế sai. Trong phm vi khóa luận, tôi xin trình bày phương pháp sinh mã aspect phục vụ
cho mục đích kiểm chứng phần mềm tbiểu đồ tuần tự kết hợp với máy trạng thái
công c tự động sinh mã aspect dựa trên phương pháp này. aspect tạo ra từ công cụ có
thdùng đan vào chương trình để thực hiện nhiệm vụ kiểm chứng các ràng buộc giữa các
đối tượng tính đúng đắn của hệ thống nhằm giảm thiểu tối đa lỗi khi viết mã cài đặt
cho hệ thống.
5
MỤC LỤC
Chương 1. Mở Đầu ....................................................................................................8
1.1. Đặt vấn đề .........................................................................................................8
1.2.Bài tn..............................................................................................................8
1.3. Tổng quan về phương pháp giải quyết bài toán..................................................9
1.4. Cấu trúc khóa luận.............................................................................................9
Chương 2. Ngôn ngữ UML và biu diễn biểu đồ trong UML bằng XMI..............11
2.1. Giới thiệu chung về UML:...............................................................................11
2.2. Các loại biểu đồ UML .....................................................................................12
2.2.1. Nhóm biểu đồ về cấu trúc ........................................................................12
2.2.2. Nhóm biểu đồ hành vi..............................................................................12
2.3. Biểu đồ tuần tự trong UML2.0(Sequence diagram) .........................................12
2.4. Một số thành phần chính trong biểu đồ tuần tự ................................................14
2.4.1. Đường đời (lifeLine)................................................................................14
2.4.2. Thông điệp (Message)..............................................................................15
2.4.3. Đoạn gộp (Combind Fragment)................................................................16
2.5. Biểu diễn biểu đồ tuần tự :...............................................................................19
2.5.1. Biểu diễn Đường đời (LifeLine ):.............................................................19
2.5.2. Biểu diễn Thông điệp:..............................................................................19
2.5.3. Lời chú giải (Comment)...........................................................................19
2.5.4. Các đoạn gộp (CombindedFragment).......................................................19
2.6. Sơ lược về XML..............................................................................................20
2.7. Biểu diễn tài liệu XML....................................................................................21
2.8. TƯƠNG TÁC VỚI TÀI LIỆU XML...............................................................23
2.8.1 DOM........................................................................................................23
2.8.2 XML DOM :.............................................................................................23
2.8.3 XMI:.........................................................................................................25
2.9. Máy trạng thái FSM. .......................................................................................25
2.9.1. Tổng quan về các thành phần trong máy trạng thái FSM..........................25
2.9.2. Xây dng máy hữu hạn trạng thái từ các thành phần của biểu đ ...................26
CHƯƠNG 3..............................................................................................................30
Aspect và lp trình hướng khía cạnh......................................................................30
3.1 Tổng quan về lập trình hướng khía cạnh...........................................................30
3.2 Biên dịch AOP: ................................................................................................31