ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Vương Văn Trường
KIỂM CHỨNG CÀI ĐẶT BIỂU ĐỒ TƯƠNG TÁC
VỚI UML 2.0
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghphần mềm
HÀ NỘI - 2010
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Vương Văn Trường
KIỂM CHỨNG CÀI ĐẶT BIỂU ĐỒ TƯƠNG TÁC
VỚI UML 2.0
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ phần mềm
n bhướng dẫn: TS Trương Anh Hoàng
n bộ đồng hướng dẫn: ThS Phạm Thị Kim Dung
HÀ NỘI - 2010
Lời cảm ơn
Trước tiên tôi xin gửi lời cảm ơn chân thành tới TS.Trương Anh Hoàng, Bộ
môn Công nghphần mềm, Khoa Công nghệ thông tin, Trường Đại học Công nghệ,
Đại học Quốc Gia Hà Nôi người đã định hướng đề tài và tận tình hướng dẫn chỉ bảo
tôi trong suốt quá trình thực hiện khóa luận tốt nghiệp này.
Tôi cũng xin chân thành cảm ơn ThS Phạm Thị Kim Dung, Bmôn Công nghệ phần
mềm, Khoa Công nghệ thông tin, Trường Đại học Công nghệ, Đại học Quốc Gia Hà
Nội Người đồng hướng dẫn và chbảo tôi trong quá trình thực hiện khóa luận của
này.
Tôi cũng xin trân trọng cảm ơn quý thầy trong Khoa Công nghệ thông tin, Trường
Đại học Công nghệ, Đại học Quốc Gia Hà Nội đã tận tình giảng dạy, truyền đạt kiến
thức quý báu trong suốt bốn năm học làm nền tảng cho i thực hiện khóa luận tốt
nghiệp này.
Con xin cảm ơn cha mẹ gia đình đã sinh ra và nuôi dạy con khôn lớn, luôn
cạnh động viên và ủng hộ con trên con đường mà con đã yêu thích và lựa chọn.
Cảm ơn các bạn sinh viên Khoa Công nghthông tin khóa 2006 2010. Các
bạn giúp đỡ và ủng hộ tôi rất nhiều cũng như đóng góp nhiều ý kiến quý báu, qua đó,
tôi hoàn thiện khóa luận tốt hơn.
Mặc dù đã rất nỗ lực, cố gắng nhưng chắc hẳn khóa luận của tôi vẫn còn nhiu
sót. Tôi rất mong nhận được nhiều những ý kiến đánh giá, phê bình của quý thầy của
các anh chị và các bạn.
Một lần nữa, tôi xin chân thành cảm ơn.
Hà Nội, tháng 5 năm 2010
Vương Văn Trường
m tt
Phần mềm ngày càng được xây dựng và phát triển mạnh mẽ. Phần mềm
được tạo ra phải đảm bảo chất lượng. Kiểm chứng phần mm là một trong
những giai đoạn quan trọng trong quy trình sn xuất phần mm. Kim chứng
động phần mềm nhằm phát hiện và tìm lỗi trong giai đoạn kiểm thử phần mm.
Phương pháp lập trình hướng khía cnh ( Aspect Oriented programming - AOP)
cùng với công nghệ AspectJ ra đời tạo ra hướng phát trin mới cho kiểm chứng
phần mm, ng cao khả ng tìm sửa lỗi phần mềm mà không nh hưởng
đến mã ngun hệ thống. Từ yêu cu thực tế, khi hình UML đang slựa
chọn phổ biến cho hình hóa hthống phần mm giai đoạn thiết kế, việc
kim chứng các ràng buộc giữa các tương tác trong biểu đồ trình tUML là rt
cần thiết. Cùng với yêu cu thực tế đề ra và lựa chọn AOP là gii pháp giải
quyết vấn đề, trong phạm vi khóa luận, tôi xin trình y phương pháp sinh mã
AspectJ tđộng phục vụ cho việc kiểm chứng phần mềm với công clà plugin
Create Aspect tđộng sinh mã AspectJ dựa trên phương pháp này. Nội dung
chính của phương pháp này dựa trên c kiến thức về AOP, UML, XML,
ANNOTATIONS để chuyển đổi c giao thức ràng buộc đối tượng đặc tả bời
biu đồ UML sang modun aspect phục vụ cho việc kiểm chứng. Ý nghĩa thực
tin là việc sinh ra mã aspect s đan xen vào chương chình thực hiện việc kiểm
chứng các ràng buộc giữa các đối tượng trong thời gian chạy.
Mục lục
Chương 1. M đầu .......................................................................................................................... 1
1.1. Đặt vấn đề............................................................................................................................. 1
1.2. Nội dung bài toán .................................................................................................................. 2
1.3. Tổng quan phương pháp “kiểm chứng cài đặt biểu đồ tươngc với UML 2.0”...................... 2
1.4 . Cấu trúc khóa luận................................................................................................................ 4
Chương 2. Annotaions , Aspects và UML 2.0................................................................................... 5
2.1. Annotations ........................................................................................................................... 5
2.1.1. Khái niệm annotaions ..................................................................................................... 5
2.1.2. Ưu điểm của annotations................................................................................................. 5
2.1.3. Cấu trúc annotaions ........................................................................................................ 6
2.1.4. Target annotions ............................................................................................................. 6
2.2. Aspect................................................................................................................................... 7
2.2.1. Lập trình hướng khía cạnh AOP..................................................................................... 7
2.2.2. AspectJ........................................................................................................................... 9
2.3. UML 2.0 ..............................................................................................................................10
2.3.1. khai niệm về UML.........................................................................................................10
2.3.2. Biu đồ trình tự UML ....................................................................................................11
2.4. Xây dựng máy trạng thái từ biểu đồ trình t..........................................................................16
2.4.1. Cấu trúc dữ liệu mô tả biểu đồ trình t..........................................................................16
2.4.2. Xây dựng máy trạng thái(FSM)......................................................................................18
2.5. Tổng kết chương ..................................................................................................................19
Chương 3 . Xây dựng cộng cụ tự động sinh Aspect từ máy trạng thái ...........................................20
3.1. Biu đồ trình tự và các đoạn gộp...........................................................................................20
3.2. Sinh Aspect t biêu đồ trình t............................................................................................21
3.3. Kết luận................................................................................................................................23
Chương 4. Thực nghiệm.................................................................................................................24
4.1. Xây dựng công cụ.................................................................................................................24
4.2. Kiểm chứng một số giao thức thực tế....................................................................................27
4.2.1. Kiểm chứng biểu đồ truy cập thông tin cơ bản của một máy ATM .................................27
4.2.2. Kiểm chứng biểu đồ loop...............................................................................................32
4.2.3. Kiểm chứng biểu đồ tổng quát .......................................................................................36
4.3. Kết luận................................................................................................................................44