Đồ Án ứng dụng relational interface cho java

Thảo luận trong 'Công Nghệ Thông Tin' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    170
    Điểm thành tích:
    0
    Xu:
    0Xu
    TÓM TẮT NỘI DUNG


    Hiện nay, thiết kế dựa trên thành phần (Component-based design) đang được ứng dụng và phát triền mạnh vì những lợi ích mà nó mang lại cho ngành công nghệ phần mềm. Thiết kế dựa trên thành phần giúp cho việc xây dựng các hệ thống phức tạp, như là hệ thống nhúng, hệ thống vật lý trở nên hiệu quả và đáng tin cậy. Với kích cỡ và độ phức tạp lớn của hệ thống này không cho phép thiết kế toàn bộ từ đầu, hoặc xây dựng nó như là một đơn vị đơn lẻ. Thay vào đó, hệ thống phải được thiết kế như là một tập hợp các thành phần, một số được xây dựng từ đầu, một số kế thừa lại.

    Giao diện (Interface) đóng một vai trò quan trọng trong thiết kế dựa trên thành phần vì chúng cung cấp phương tiện để mô tả cho thành phần. Một interface có thể được xem như là một bản tóm tắt, một đại diện của thành phần: giữ lại các thông tin cần thiết của thành phần, giấu thông tin không cần thiết và làm cho mô tả thành phần trở nên đơn giản và hiệu quả hơn.

    Trong khóa luận tốt nghiệp này, bằng việc sử dụng lý thuyết về relational interface, tôi xây dựng một công cụ tự động phân tích, trích rút các thành phần có trong file mã nguồn Java và biến đổi nó thành các relational interface, thực hiện việc kết hợp tự động các interface này với nhau. Để từ đó, ta có thể biết được khả năng kết hợp của các thành phần này với nhau. Interface mới được kết hợp vẫn giữ nguyên tính chất của các interface cũ. Qua đó, ta cũng có thể dự đoán được giá trị đầu ra của các thành phần nếu biết được giá trị đầu vào thông qua các tính chất.



    MỤC LỤC

    Bảng các kí hiệu nghĩa tiếng anh V

    Danh mục hình vẽ VI

    CHƯƠNG 1: MỞ ĐẦU 1

    1.1 Đặt vấn đề 1

    1.2 Nội dung bài toán 1

    1.3 Cấu trúc khóa luận 2

    CHƯƠNG 2: GIỚI THIỆU CHUNG VỀ ĐẶC TẢ VÀ GIAO DIỆN 3

    2.1 Công nghệ phần mềm hướng thành phần 3

    2.2 Đặc tả hình thức 3

    2.2.1 Các phương pháp hình thức 4

    2.2.2 Đặc tả 4

    2.2.3 Đặc tả hình thức 5

    2.3 Giao diện 5

    2.3.1 Đặc tả giao diện 5

    2.3.2 Thành phần và giao diện 6

    2.3.3 Các loại interface 6

    2.3.4 Statelful và stateless interface 7

    2.3.5 Relational interface 8

    CHƯƠNG 3: NỘI DUNG LÝ THUYẾT VỀ RELATIONAL INTERFACE 9

    3.1 Sơ bộ về bài viết và các ký hiệu 9

    3.2 Relational interfaces 10

    3.3 Môi trường và khả năng lắp ghép 13

    3.4 Kết hợp 15

    CHƯƠNG 4: XÂY DỰNG CÔNG CỤ CHUYỂN ĐỔI TỰ ĐỘNG TỪ JAVA SANG RELATIONAL INTERFACE 21

    4.1 Cở sở lý thuyết 21

    4.1.1 Các thành phần của lớp trong ngôn ngữ lập trình hướng đối tượng 21

    4.1.2 Relational interface 22

    4.1.3 Một số kiến thức về logic 23

    4.2 Mục tiêu của bài toán 25

    4.3 Hướng giải quyết bài toán 25

    4.3.1 Tạo relational interface tự động từ phương thức 25

    4.3.2 Tính input assumption tự động 27

    4.3.3 Tính ξ mới được tạo ra tự động 27

    4.3.4 Thực hiện việc kết hợp tự động 27

    4.4 Mô tả các thành phần của công cụ 28

    4.4.1 Lớp SourceFormat.java 30

    4.4.2 Lớp RInterface.java 30

    4.4.3 Lớp JavaFile.java 31

    4.4.4 Lớp JavaClass.java 32

    4.4.5 Lớp Tools.java 33

    4.4.6 Lớp Expresstion.java 37

    4.4.7 Lớp FOLOptimizer.java 39

    CHƯƠNG 5: CÀI ĐẶT VÀ THỬ NGHIỆM 41

    5.1 Xây dựng công cụ 41

    5.2 Dữ liệu thử nghiệm 42

    5.3 Kết quả thử nghiệm 43

    5.3.1 Phân tích file mã nguồn 43

    5.3.2 Chuyển những phương thức này thành relational interface 44

    5.3.3 Kết hợp các interface 46

    5.3.4 Dự đoán kết quả: 47

    5.4 Đánh giá 48

    CHƯƠNG 6: KẾT LUẬN 49

    6.1 Kết luận về khóa luận 49

    6.2 Hướng phát triển trong tương lai 49

    Phụ lục 51

    Phụ lục 1: Nội dung mã nguồn file thử nghiệm Sample.java 51


    CHƯƠNG 1: MỞ ĐẦU


    1.1 Đặt vấn đề

    Hiện nay, với sự phát triển mạnh mẽ của công nghệ thông tin, nhiều hệ thống lớn được xây dựng nên nhằm mục đích giải quyết những bài toán với độ phức tạp tương đương. Với kích thước và độ phức tạp của những hệ thống như vậy, đòi hỏi phải có một phương pháp thiết kế hợp lý, hiệu quả và đáng tin cậy. Phương pháp thiết kế dựa trên thành phần đáp ứng được yêu cầu này, bởi vì, thay vì phải thiết kế toàn bộ từ đầu, hệ thống được thiết kế như là một tập các thành phần. Các thành phần này hoặc là được xây dựng lại từ đầu, hoặc là được thừa kế từ những thành phần khác. Do vậy mỗi thành phần phải có tính độc lập cao và chuẩn đặc tả rõ ràng. Điều này thường được thể hiện qua interface (giao diện) của thành phần. Một interface có thể coi như một đặc tả của một thành phần. Việc kết hợp các thành phần cũng thông qua việc kết hợp các interface.

    1.2 Nội dung bài toán

    Trong phương pháp thiết kế dựa trên thành phần, interface chính là đặc tả của thành phần, nên quá trình đặc tả interface là một trong những bước quan trọng, cần được quan tâm. Do vậy, trong khóa luận này tôi muốn đề cập đến phương pháp xây dựng interface cho mỗi thành phần một cách tự động.

    Hiện nay có rất nhiều lý thuyết về interface được đưa ra để mô tả thành phần. Tuy nhiên, các các interface này thường gặp phải một số khó khăn như không bắt được quan hệ giữa giá trị đầu vào và đầu ra, hay khó khăn trong việc kết hợp các interface với nhau. Để khắc phục những nhược điểm này, tôi đề xuất việc sử dụng relational interface trong đặc tả interface cho mỗi thành phần.

    Nhiệm vụ chính của bài toán là xây dựng công cụ chuyển đổi các thành phần có trong mã nguồn của ngôn ngữ lập trình hướng đối tượng thành relational interface, rồi kết hợp các interface này với nhau một cách tự động.

    1.3 Cấu trúc khóa luận

    Phần còn lại của khóa luận được cấu trúc như sau:

    Chương 2: Giới thiệu chung về kỹ nghệ hướng thành phần, phương pháp hình thức, đặc tả hình thức, đặc tả giao diện. Một số loại interface (giao diện) cùng với những ưu điểm, hạn chế của chúng. Giới thiệu chung về relational interface.

    Chương 3: Mô tả nội dung lý thuyết của relational interface, về môi trường và khả năng lắp ghép. Lý thuyết về kết hợp relational interfaces [7].

    Chương 4: Áp dụng lý thuyết về relational interface và một số lý thuyết khác để xây dựng công cụ tự động chuyển đổi từ file mã nguồn Java sang relational interface.

    Chương 5: Thử nghiệm công cụ và đánh giá.

    Chương 6: Kết luận.
     

    Các file đính kèm:

Đang tải...