Phương pháp kiểm chứng phần mềm dựa trên Aspect

Một phần của tài liệu TÓM TẮT KHÓA LUẬN TỐT NGHIỆP CHUYÊN NGÀNH COOG NGHỆ PHẦN MỀM (Trang 60)

, có thể chia thành 3 hướng tiếp cận chính.

4.Phương pháp kiểm chứng phần mềm dựa trên Aspect

Nguyễn Thùy Nhung MSV 0420280

Email: nhungnt.it@gmail.com

Cán bộ hướng dẫn : TS. Nguyễn Việt Hà

1. Giới thiệu

Khóa luận được thực hiện theo đề tài: Nghiên cứu phương pháp kiểm chứng phần mềm dựa trên Aspect. Đây là một đề tài mang ý nghĩa thực tiễn, nhất là trong thời điểm hiện nay, khi mà yêu cầu về chất lượng phần mềm ngày càng cao. Nội dung của khóa luận trình bày kiến thức cơ bản xung quanh các vấn đề: kiểm chứng phần mềm; thiết kế phần mềm với UML (Unified Modeling Language) và OCL (Object Constraint Language); phương pháp lập trình hướng khía cạnh (AOP) và ứng dụng AOP vào bài toán kiểm chứng. Trên cơ sởđó, chúng tôi phân tích, làm rõ lợi ích và quy trình thực hiện kiểm chứng phần mềm theo phương pháp “Kiểm chứng phần mềm dựa trên Aspect”. Trong nội dung chính của khóa luận, chúng tôi trình bày phương pháp xây dựng Aspect kiểm chứng các ràng buộc OCL cơ bản của chương trình hướng đối tượng và tiến hành cài đặt thử nghiệm các Aspect kiểm chứng ràng buộc bất biến (invariant), điều kiện trước (pre- condition), điều kiện sau (post-condition) trên một số ví dụđơn giản.

2. UML & OCL

Ngôn ngữ mô hình hóa thống nhất UML là ngôn ngữ được sử dụng rộng rãi nhất hiện nay trong việc thiết kế và đặc tả thiết kế các hệ thống phần mềm. Hỗ trợ cho UML, ngôn ngữ ràng buộc OCL ra đời nhằm mô tả một cách rõ ràng và chính xác các ràng buộc đối với các đối tượng, các thuộc tính và phương thức của các lớp trong mô hình UML.

OCL định nghĩa 4 loại ràng buộc cơ bản: bất biến (invariant), điều kiện trước (pre- condition), điều kiện sau (post-condition) và guard.

3. Lập trình hướng khía cạnh và AspectJ

Phương pháp lập trình hướng khía cạnh (Aspect Oriented Programming)– viết tắt là AOP

– được định nghĩa là : “công nghệ mới dùng để

phân tích vấn đề trong phát triển phần mềm, cho phép đơn thể hóa những vấn đềđan nhau của hệ

thống phần mềm”

AOP được xây dựng dựa trên các phương pháp lập trình khác như lập trình hướng đối tượng, lập trình hướng thủ tục và có bổ sung thêm các khái niệm, các tổ chức mới nhằm mô

đun hóa các mối quan tâm cắt ngang. AOP được sử dụng kết hợp với các phương pháp lập trình truyền thống, tức là với các mối quan tâm chính ta có thể cài đặt bằng phương pháp lập trình chính đã chọn (ví dụ như OOP,...), còn với các mối quan tâm cắt ngang sử dụng phương pháp lập trình hướng khía cạnh.

AOP phân chia trách nhiệm rõ ràng giữa các mô đun riêng lẻ, AOP làm tăng tính mô đun hóa của hệ thống, Với AOP hệ thống dễ dàng

được mở rộng, Tăng tính tái sử dụng…

Quy trình xây dựng một ứng dụng AOP gồm 3 bước cơ bản: Phân rã bài toán theo khía cạnh - Cài đặt các mối quan tâm - Tích hợp các khía cạnh.

AspectJ là ngôn ngữ hướng khía cạnh có khả năng ứng dụng lớn, dễ dàng cài đặt vào các môi trường phát triển phổ biến như

Eclipse,...Aspectj được xây dưng trên cơ sở mở

rộng ngôn ngữ lập trình java, thêm vào các thành phần mới hỗ trợ AOP

Các khái niệm cơ bản trong AspectJ : thực thi cắt ngang tĩnh, thực thi cắt ngang động, joinpoint, pointcut, advice, Aspect

4. Phương pháp kiểm chứng phần mềm dựa trên Aspect trên Aspect

“Phương pháp kiểm chứng phần mềm dựa trên Aspect” là phương pháp kiểm chứng trong đó công việc kiểm chứng được tách biệt hoàn toàn với việc phát triển mã nguồn. Các Aspect chứa

mã kiểm chứng được xây dựng độc lập với chương trình nguồn, sau đó các Aspect này được tựđộng đan vào chương trình chính để tạo thành hệ thống cuối cùng có khả năng tự kiểm chứng Phương pháp kiểm chứng này có nhiều lợi ích: Theo dõi chặt chẽ chương trình trong thời gian chạy, có thể xây dựng mã kiểm chứng độc lập với phát triển mã nguồn, hứa hẹn khả năng lớn trong việc tựđộng hóa,...

Các bước thực hiện:

Bước 1: Mã nguồn được được lập trình viên cài

đặt theo đúng thiết kế

Bước 2: Song song với việc phát triển mã nguồn, mã kiểm chứng được cài đặt trong các Aspect. Tùy theo khía cạnh cần kiểm chứng, các Aspect

sẽ có nội dung khác nhau.

Bước 3: Đan Aspect vào chương trình nguồn để (adsbygoogle = window.adsbygoogle || []).push({});

tạo thành hệ thống thống nhất có khả năng tự

kiểm chứng

Áp dụng “Phương pháp kiểm chứng phần mềm dựa trên Aspect” để kiểm chứng ràng buộc OCL của các chương trình hướng đối tượng, sơđồ các bước kiểm chứng như sau:

Trong đó các aspect kiểm chứng ràng buộc OCL

được xây dựng theo 3 bước: Bước 1: Xác định các quy tắc đan

Bước 2: Xác định các hành vi đan vào hệ thống Bước 3: Tổng hợp Aspect

5. Thực nghiệm

Sử dụng AspectJ cài đặt Aspect kiểm chứng bất biến, điều kiện trước, điều kiện sau, của đối tượng Java trong thời gian chạy.

Tài liệu tham khảo

[1] Nguyễn Thị Thu Trang. Mô hình hóa và kiểm chứng Aspect, Luận văn thạc sĩ khoa học. Trường Đại học Bách Khoa Hà Nội. Năm 2007, tr.60-81.

[3] G. Booch, J. Rumbaugh, and I. Jacopson. The Unified Modeling Language User Guide, 2nd edition. Addison-Wesley, 2005.

[4] OMG. Object Constraint Language. OMG, Version 1.5 March 2003.

[5] Ho Tat Thanh, Nguyen Thi Thu Trang, Truong Ninh Thuan, Nguyen Viet Ha. An approach for verifying invariants of Java objects at runtime. In Proceeding of the Japan- Vietnam Workshop on Software Engineering IoIT, Ha Noi, 2007

Một phần của tài liệu TÓM TẮT KHÓA LUẬN TỐT NGHIỆP CHUYÊN NGÀNH COOG NGHỆ PHẦN MỀM (Trang 60)