Tải bản đầy đủ (.pdf) (2 trang)

043_Kiểm chứng các ứng dụng Java hướng đối tượng với OCL

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (195.42 KB, 2 trang )

-30-

KIỂM CHỨNG CÁC ỨNG DỤNG JAVA HƯỚNG
ĐỐI TƯỢNG VỚI OCL

Vũ Viết Định
MSV:0320084
Email:

Cán bộ hướng dẫn: TS.Trương Ninh
Thuận
Cán bộ đồng hướng dẫn: TS. Nguyễn
Việt Hà

1. Giới thiệu
Khi khoa học máy tính ra đời, một
trong những mục đích chính của kỹ
nghệ phầm mềm là có thể tự động hóa
tiến trình phát triển phầm mềm khi có
thể. Trong thực tế, cộng đồng kỹ nghệ
phầm mềm đối mặt với một thực tế là
tất cả các pha của phát triển phần mềm,
kỹ nghệ phần mềm chỉ giới hạn những
đặc tả của hệ thống thông tin trong khi
những pha (thiết kế chính, cài đặt và
kiểm thử) sẽ được làm tự động
2. Lập trình hướng đối tượng,
UML, Java
Lập trình hướng đối tượng được viết
tắt là OOP (object-oriented
programming) là kĩ thuật lập trình hỗ


trợ công nghệ đối tượng. OOP được
xem là giúp tăng năng suất, đơn giản
hóa độ phức tạp khi bảo trì cũng như
mở rộng phần mềm bằng cách cho
phép lập trình viên tập trung vào các
đối tượng phần mềm ở bậc cao hơn.
UML là một ngôn ngữ mô hình
hóa chuẩn để
thiết kế phần mềm hướng
đối tượng. Nó được hợp nhất từ nhiều
thành tựu và kinh nghiệm trong việc
nghiên cứu và triển khai thuộc công
nghệ thông tin của các nhà khoa học,
những chuyên gia nghiên cứu và triển
khai. James Rumbaugh, Grady Booch
và Ivar Jacobson là các tác giả chính
của ngôn ngữ UML.

3. Ngôn ngữ ràng buộc OCL
Trong thực tiễn cho thấy rằng
những ràng buộc được mô tả bằng ngôn
ngữ tự nhiên luôn gây ra nhập nhằng về
ngữ nghĩa. Vì lý do đó mà ngôn ngữ hình
thức được phát triển. Vấn đề của những
ngôn ngữ hình thức truyền thống là chúng
có thể được sử dụng với những người có
những cơ sở toán học cơ bản nhưng rất khó
cho những nhà doanh nghiệp hoặc cho
những người mô hình hóa để sử dụng ngôn
ngữ hình thức.

OCL đã được phát triển để giải
quyết vấn đề trên. OCL là một ngôn ngữ
hình thức nhưng rất dễ đọc và viết với cả
người sử dụng và người phát triển hệ phần
mềm. OCL được phát triển như là một
ngôn ngữ mô hình nghiệp vụ.

4. Các Phương pháp kiểm chứng
chương trình Java
JPF là một hệ thống kiểm chứng sự
thực thi của chương trình Java bytecode.
Trong dạng cơ bản, nó là một máy ảo Java
(JVM) được sử dụng như một trạng thái
tường minh kiểm tra mô hình phần mềm,
khảo sát có hệ thống tất cả các khả năng
thực thi các phần của chương trình để tìm
ra những vi phạm của những thuộc tính
giống như sự bế tắc (deadlocks) hoặc
ngoại lệ không được bắt. Không giống như
chương trình gỡ lỗi truyền thống, JPF
thông báo toàn bộ phần thực thi lỗi. JPF thì
đặc biệt phù hợp để tìm kiếm những lỗi
xảy ra đồng thời khó để kiểm tra trong đa
luồng
-31-

ESC/Java viết tắt của từ “Extended
Static Checker for Java” là một công
cụ để tìm những lỗi run-time thông
thường trong chương trình Java bằng

cách phân tích tĩnh (static analysis)
chương trình nguồn Java. Người dùng
có thể điều khiển số lượng và những
loại kiểm tra bằng cách chèn những
giải thích (annotating) vào mã chương
trình với một định dạng mà ESC/Java
cung cấp.
JUnit là một framework đơn giản
dùng cho việc tạo các unit testing tự
động, và chạy các test có thể lặp đi lặp
lại. Nó chỉ là một phần của họ kiến
trúc xUnit cho việc tạo các unit testing.
JUnit là một chuẩn trên thực tế cho
unit testing trong Java. JUnit về nguồn
gốc được viết bởi 2 tác giả Erich
Gamma và Kent Beck.
5. Đề xuất phương pháp và cài
đặt công cụ

Phương pháp kiểm chứng
chương trình Java mà chúng tôi đề
xuất này sẽ sử dụng biểu đồ lớp
của UML để đặc tả hệ thống và
OCL để đặc tả ràng buộc cho hệ
thống.
Tài liệu tham khảo

[1]. Cormac Flanagan, K.Rustan
M.Leino, Mark Lillibridge, Greg
Nelson, James B.Save Raymie

Stata. Extended Static Checking for
Java, 2002.
[2]. Graig Larman, Applying UML and
Patterns. An Introduction to Object
– Oriented Analysis and Design.
Prentice Hall,1998.
[3]. Jos Warmer, Anneke Kleppe.
Object Contraint Language.
Addison Wesley, August 29, 2003.
[4]. OMG Available Specification
Version 2.0. Object Constraint
Lanuage. Object Management
Group, 2006.

×