Luận Văn Đánh giá phần mềm hướng đối tượng

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ÀI : Đánh giá phần mềm hướng đối tượng


    Lời cảm ơn
    ​Để có được đồ án tốt nghiệp này, tôi xin bày tỏ lũng biết ơn sâu sắc tới tập thể các thầy giáo, cô giáo trường Đại học Bách khoa Hà Nội nói chung và khoa Công nghệ thông tin nói riêng đó tận tỡnh giảng dạy truyền đạt cho tôi những kiến thức, kinh nghiệm quý báu trong suốt những năm học vừa qua.
    Tôi xin chân thành cảm ơn thầy giáo tiến sĩ Huỳnh Quyết Thắng, bộ môn Công nghệ Phần mềm, khoa Công nghệ Thông tin, trường Đại học Bách khoa Hà Nội đó khuyến khớch, gúp ý và rất tận tỡnh hướng dẫn tôi trong suốt quỏ trỡnh làm đồ án. Nhờ sự quan tâm chỉ bảo và những ý kiến đóng góp quý báu của thầy, tôi mới có thể hoàn thành đồ án này.
    Trong thời gian sửa chữa hoàn thiện đồ án, tôi đó nhận được sự chỉ bảo tận tỡnh của thầy giỏo tiến sĩ Nguyễn Ngọc Bỡnh, trưởng bộ môn Công nghệ Phần mềm, khoa Công nghệ Thông tin, trường Đại học Bách khoa Hà Nội. Tôi xin chân thành cảm ơn thầy đó dành cho tụi sự quan tõm và những ý kiến quý bỏu để tôi có thể hoàn thành đồ án này.
    Đồ án này cũng không thể hoàn thành nếu thiếu sự hỗ trợ về tư liệu và cơ sở vật chất từ phía trung tâm xuất khấu phần mềm Fsoft-fpt Hà Nội, tôi xin chân thành cảm ơn anh Phan Phương Đạt đó khuyến khớch, động viên, giúp đỡ và tạo mọi điều kiện để tôi hoàn thành đồ án này.
    Cuối cùng, xin chân thành cảm ơn gia đỡnh và bạn bố, những người đó luụn ở bờn tụi trong suốt những năm học vừa qua.MỤC LỤC
    ​MỞ ĐẦU 8
    1. Đặt vấn đề 8
    2. Nhiệm vụ và bố cục của đồ án 9
    CHƯƠNG 1: TỔNG QUAN VỀ Lí THUYẾT ĐO PHẦN MỀM 10
    1.1 Lý thuyết đo 10
    1.1.1 Cơ bản về lý thuyết đo 10
    1.1.2 Lý thuyết đo – cách tiếp cận 12
    1.2 Cơ sở lý thuyết về phép đo phần mềm 14
    1.2.1. Vai trũ của phộp đo phần mềm. 14
    1.2.2. Mục đích và đối tượng của phép đo phần mềm 16
    1.2.3 Các yêu cầu đối với một phép đo phần mềm 18
    1.2.4 Các bước của quá trỡnh đo phần mềm 18
    1.2.5 Một ví dụ về phép đo phần mềm 18
    1.2.6 Một số mụ hỡnh đo phần mềm 19
    Ước tính chi phí và nhân lực 20
    Mụ hỡnh đánh giá chất lượng 21
    Mụ hỡnh đánh giá độ tin cậy 24
    Mụ hỡnh đánh giá hiệu năng 25
    Mụ hỡnh đánh giá độ phức tạp 25
    1.3 Một số vấn đề về đo phần mềm 26
    1.3.1 Phân biệt các đối tượng đo : sản phẩm, quá trỡnh, nguồn lực. 26
    Phép đo quá trỡnh. 26
    Phép đo sản phẩm 27
    Phép đo nguồn lực 27
    1.3.2 Phõn biệt thuộc tớnh trong và thuộc tớnh ngoài 28
    Kết luận chương 1: 28
    CHƯƠNG 2: PHÉP ĐO PHẦN MỀM HƯỚNG ĐỐI TƯỢNG 30
    2.1. Bộ các phép đo CK 31
    2.1.1 Cơ sở lý thuyết của các phép đo CK 31
    a. Cơ sở lý thuyết phỏt triển phần mềm hướng đối tượng 31
    b. Cơ sở lý thuyết đo 32
    c. Một số khỏi niệm 33
    2.1.2 Cỏc tớnh chất của phép đo hướng đối tượng. 35
    2.1.3 Các phép đo trong hệ đo CK 36
    1. WMC (Weight Method per Class) 36
    2. DIT (Depth of Inheritance Tree) 37
    3. NOC (Number Of Children) 37
    4. CBO (Coupling Between Object) 38
    5. RFC (Responce For a Class) 38
    6. LCOM (Lack of Cohesion in Methods) 39
    2.1.4 Tổng kết về các phép đo CK: 39
    2.1.5 Một ví dụ về các phép đo CK 40
    2.2 Mụ hỡnh đánh giá chất lượng phần mềm hướng đối tượng. 42
    Mụ hỡnh REBOOT (ReusE Based on Object Oriented Technology) 42
    Mụ hỡnh QMOOD (Quality Model for Object Oriented Design). 44
    Kết luận chương 2: 47
    CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM TRỢ GIÚP ĐO PHẦN MỀM HƯỚNG ĐỐI TƯỢNG 48
    3.1 Phõn tớch cỏc yờu cầu 48
    3.2 Các chức năng chính của chương trỡnh 51
    3.3 Cơ sở dữ liệu của chương trỡnh 51
    3.4 Chọn lựa cụng cụ thực hiện 52
    3.5 Xây dựng chương trỡnh 53
    a. Mô tả cơ sở dữ liệu 53
    b. Giao diện của chương trỡnh 55
    c. Xõy dựng cỏc chức năng của chương trỡnh 55
    3.6 Giới thiệu chương trỡnh: 60
    Mô tả chương trỡnh nguồn: 60
    Mô tả giao diện chương trỡnh: 62
    CHƯƠNG 4: MỘT SỐ KẾT QUẢ ĐO PHẦN MỀM HƯỚNG ĐỐI TƯỢNG 68
    4.1 Kết quả các phép đo CK 69
    4.1.1. Kết quả độ đo LCOM 70
    4.1.2 Kết quả độ đo DIT 71
    4.1.3. Kết quả độ đo CBO 72
    4.1.4 Kết quả độ đo NOC 73
    4.1.5 Kết quả độ đo RFC 75
    4.1.6 Kết quả độ đo WMC 76
    4.1.7. Tổng hợp kết quả các độ đo CK 78
    4.1.8 Quan hệ ảnh hưởng giữa các độ đo CK và các thuộc tính khác. 79
    4.2 Kết quả đo sử dụng mô hỡnh QMOOD 82
    4.2.1. Quỏ trỡnh đo sử dụng mô hỡnh QMOOD 82
    4.2.2. Quan hệ ảnh hưởng giữa các kết quả đo và các thuộc tính khác 85
    Nhận xét đánh giá về các kết quả đo thực nghiệm: 86
    KẾT LUẬN 88
    TÀI LIỆU THAM KHẢO 90

    DANH MỤC CÁC HèNH VẼ
    Hỡnh 1.1: Vớ dụ về phộp đo kích thước chương trỡnh 11
    Hỡnh 1.2: Vớ dụ kết quả phộp đo phần mềm (Fsoft-fpt) 17
    Hỡnh 1.3: Mụ hỡnh FCM 21
    Hỡnh 1.4: Mụ hỡnh đánh giá phần mềm ISO 9126 22
    Hỡnh 1.5: Mụ hỡnh đánh giá khả năng bảo trỡ của IEEE 23
    Hỡnh 1.6: Đánh giá độ phức tạp qua lưu đồ chương trỡnh 25
    Hỡnh 2.1: Vớ dụ minh họa về cỏc phộp đo CK 41
    Hỡnh 2.2: Mụ hỡnh REBOOT 43
    Hỡnh 2.3: Mụ hỡnh QMOOD. 46
    Hỡnh 3.1: Quy trỡnh đo phần mềm hướng đối tượng 49
    Hỡnh 3.2: Sơ đồ hoạt động của chương trỡnh 50
    Hỡnh 3.3: Cỏc chức năng chính của chương trỡnh 51
    Hỡnh 3.4: Cỏc bảng trong cơ sở dữ liệu của chương trỡnh 52
    Hỡnh 3.5: Chức năng nhập dữ liệu của chương trỡnh 63
    Hỡnh 3.6: Chức năng tính toán và hiển thị độ đo trên mô hỡnh 64
    Hỡnh 3.7: Chức năng tạo mới và sửa đổi mô hỡnh 65
    Hỡnh 3.8: Chức năng mở CSDL 66
    Hỡnh 3.9: Chức năng phân tích kết quả đo. 67
    Hỡnh 4.1: Kết quả độ đo LCOM 71
    Hỡnh 4.2: Kết quả độ đo DIT 72
    Hỡnh 4.3: Kết quả độ đo CBO 73
    Hỡnh 4.4: Kết quả độ đo NOC. 74
    Hỡnh 4.5: Kết quả độ đo RFC 76
    Hỡnh 4.6: Kết quả độ đo WMC 77
    Hỡnh 4.7: Biểu đồ độ đo CK của cỏc phần mềm 78
    Hỡnh 4.8: Dự đoán thuộc tính chất lượng dựa trên các độ đo CK 81
    Hỡnh 4.9: Kết quả đo một số thuộc tính của mô hỡnh QMOOD 84

    DANH MỤC CÁC BẢNG

    Bảng 1.1: Phân công nhiệm vụ đo trong một tổ chức phần mềm 16
    Bảng 1.2: Cỏc hệ số trong mụ hỡnh COCOMO 20
    Bảng 1.3: Các nhân tố chất lượng và tiêu chuẩn chất lượng trong ISO 9126. 23
    Bảng 2.1: Vai trũ của cỏc độ đo CK trong các giai đoạn thiết kế lớp 40
    Bảng 2.2: Các dạng hàm chuẩn hóa độ đo 44
    Bảng 2.3: Các tiêu chuẩn và độ đo trong mụ hỡnh QMOOD. 45
    Bảng 2.4: Mối liờn hệ giữa cỏc thuộc tớnh ngoài và thuộc tớnh trong của mụ hỡnh QMOOD 46
    Bảng 3.1: Một số công cụ đo phần mềm hướng đối tượng 49
    Bảng 3.2: Cụng thức tớnh tham số cho cỏc dạng hàm chuẩn húa 58
    Bảng 4.1: Danh sách các dự án được đo 69
    Bảng 4.2: Tổng cộng số lớp các dự án được đo 69
    Bảng 4.3: Kết quả độ đo CK của các phần mềm 78
    Bảng 4.4: Hệ số tương quan giữa các độ đo CK và các chỉ số chất lượng. 80
    Bảng 4.5: Các hệ số của phương trỡnh tuyến tớnh biểu diễn phụ thuộc giữa thuộc tính chất lượng và độ đo 81
    Bảng 4.6: Kết quả các độ đo của mô hỡnh QMOOD 82
    Bảng 4.7: Lựa chọn ngưỡng cho các hàm chuẩn hóa các độ đo 83
    Bảng 4.8: Ngưỡng cho các hàm chuẩn hóa các độ đo QMOOD. 83
    Bảng 4.9: Kết quả đo một số thuộc tính của mô hỡnh QMOOD 84
    Bảng 4.10: Hệ số tương quan giữa các thuộc tính của mô hỡnh QMOOD với các thuộc tính chất lượng khác 85
    Bảng 4.11: Hệ số tương quan giữa các độ đo và các chỉ số chất lượng 86
    Bảng 4.12: Mối quan hệ ảnh hưởng giữa các độ đo và các chỉ số chất lượng 86

    BẢNG GHI CHÚ CÁC THUẬT NGỮ

    Viết tắt Viết đầy đủ Giải nghĩa
    ADO Active Data Object Đối tượng để truy cập cơ sở dữ liệu
    ANA Average Number of Ancesters Trung bỡnh số cỏc lớp cha
    API Application Programming Interface Giao diện lập trỡnh ứng dụng
    CAM Cohesion Among Methods in Class Tính cố kết giữa các phương thức trong cùng một lớp
    CBO Coupling Between Object class Độ kết dính giữa các lớp
    CIS Class Interface Size Kích thước giao diện lớp (số phương thức public)
    CK Chidamber, Kemerer Bộ các phép đo hướng đối tượng do Chidamber, Kemerer đề xuất [6]
    COCOMO Constructive Cost Model Mụ hỡnh ước tính chi phí cho các dự án phần mềm
    CSDL Cơ sở dữ liệu
    DAM Data Access Metric Khả năng truy cập dữ liệu (tỷ lệ số thuộc tớnh public)
    DCC Direct Class Coupling Số lớp cú tớnh kết dớnh với một lớp
    DIT Depth of Inheritance Tree Độ sâu cây thừa kế
    DSC Design Size in Classes Số lớp của chương trỡnh
    FCM Factor-Criteria-Metrics Mụ hỡnh nhõn tố-tiờu chuẩn-độ đo để đánh giá chất lượng phần mềm
    GNU GNU Library General Public
    License Thư viện C++ của cộng đồng mó nguồn mở
    ISO 9126 International Standard Organization Mụ hỡnh đánh giá chất lượng phần mềm của tổ chức tiêu chuẩn quốc tế
    JBOOMT Jade Bird Object Oriented Metric Tool Công cụ đo phần mềm hướng đối tượng
    JDK Java Developer Kit Thư viện lập trỡnh Java của Sun Microsystem
    LCOM Lack of Cohesion among Methods Độ thiếu cố kết giữa các phương thức (trong cùng 1 lớp)
    LOC Lines of code Số dũng mó lệnh
    MFA Measure of Functional Abstraction Độ đo mức độ sử dụng thừa kế của một lớp
    MFC Microsoft Foundation Class Thư viện lập trỡnh C++ của Microsoft
    MFM Measure of Functional Modularity Độ đo về tính độc lập chức năng
    MOA Measure of Aggregation Sự tổ hợp giữa cỏc lớp
    MTBF Mean Time Between Failure Thời gian giữa cỏc sai hỏng
    MTTF Mean Time To Failure Thời gian đến sai hỏng
    MTTR Mean Time To Repair Thời gian để sửa chữa
    NOC Number Of Children Số con trực tiếp của một lớp
    NOH Number Of Hierarchies Số cỏc mức phõn cấp
    NOM Number of Methods Số phương thức trong lớp (độ phức tạp của lớp)
    NOP Number of Polymorphic Methods Số phương thức đa hỡnh
    ODBC Open Database Connectivity Đối tượng để truy cập cơ sở dữ liệu
    OLEDB Object Linking Embedding – Database Đối tượng để truy cập cơ sở dữ liệu
    QMOOD Quality Model for Object Oriented Design Mụ hỡnh chất lượng cho phần mềm hướng đối tượng
    REBOOT ReusE Based on Object Oriented Technology Mụ hỡnh sử dụng lại cho phần mềm hướng đối tượng
    RFC Responce set For Class Tập trả lời của lớp (các phương thức bị gọi bởi lớp đó)
    STL Standard Template Library Thư viện lập trỡnh C++ cung cấp cỏc tớnh năng mở rộng
    WMC Weight Metric per Class Độ phức tạp của một lớp

    MỞ ĐẦU
    1. Đặt vấn đề
    Đo phần mềm là một trong những nhiệm vụ đóng vai trũ quan trọng trong cỏc hoạt động kỹ thuật phần mềm. Trong khi kỹ nghệ phần mềm đề cập đến các hoạt động liên quan đến quá trỡnh phỏt triển phần mềm, đo phần mềm liên quan đến các đối tượng trong kỹ nghệ phần mềm mà có thể định lượng được. Một số ví dụ điển hỡnh là đo và dự đoán chi phí dự án, đo và dự đoán chất lượng của sản phẩm phần mềm. Tất cả các ngành công nghệ đều xác định rừ vai trũ quan trọng của phộp đo khi tiến hành bất kỳ một hoạt động sản xuất nào. Một dự án phần mềm được tiến hành mà không gắn liền với quỏ trỡnh đo có thể dẫn tới không thể kiểm soát được thời gian hoàn thành sản phẩm, chất lượng sản phẩm bàn giao cho khách hàng không được đảm bảo. Nếu không thể đánh giá một sản phẩm, chúng ta cũng không thể đánh giá một phương pháp phát triển phần mềm mới là tốt hay không tốt. Như vậy, có thể nói đo phần mềm đóng một vai trũ quan trọng trong kỹ nghệ phần mềm. Thực hiện đo phần mềm trong các dự án phần mềm nhằm các mục đích: kiểm soát quá trỡnh xõy dựng phần mềm, đảm bảo hoàn thành sản phẩm đúng thời hạn, kiểm soát chất lượng sản phẩm, dự đoán khắc phục các sự cố có thể xảy ra, cải tiến quy trỡnh sản xuất phần mềm.
    Các hệ thống thông tin ngày nay ngày càng có độ lớn độ phức tạp, yêu cầu phải được xây dựng trong một thời gian ngắn mà vẫn phải đảm bảo chất lượng. Trước yêu cầu đó, kỹ nghệ phần mềm đó đưa ra những phương pháp phát triển mới nhằm đáp ứng những đũi hỏi bức xỳc đó. Phương pháp phát triển phần mềm hướng đối tượng là một trong những cách tiếp cận cho phép rút ngắn thời gian phát triển phần mềm qua việc sử dụng lại mó. Mỗi phương pháp phát triển mới đều đũi hỏi cú những phương tiện đánh giá phù hợp (đánh giá về quá trỡnh, đánh giá sản phẩm). Các phép đo phần mềm trước đây như đo số dũng mó lệnh khụng thể hiện được tính chất hướng đối tượng của sản phẩm. Như vậy cần có những phương pháp, công cụ phù hợp để đánh giá phần mềm hướng đối tượng.
    Xuất phát từ các yêu cầu thực tiễn nêu trên, trong đồ án này, chúng tôi tập trung nghiên cứu phép đo sản phẩm phần mềm được xây dựng trong môi trường hướng đối tượng. Cơ sở lý thuyết của đề tài dựa trờn lý thuyết đo phần mềm nói chung và đo phần mềm hướng đối tượng nói riêng (các phép đo CK và mô hỡnh chất lượng ISO 9126). Phần phát triển của chúng tôi là đề xuất quy trỡnh đo phần mềm gồm 4 pha, xây dựng công cụ trợ giúp đo phần mềm hướng đối tượng, tiến hành đo và phân tích kết quả đo một số phần mềm hướng đối tượng.

    2. Nhiệm vụ và bố cục của đồ án
    Đồ án này tập trung vào các vấn đề xoay quanh phép đo phần mềm hướng đối tượng: lý thuyết đo phần mềm, tổng hợp các kết quả nghiên cứu về đo phần mềm hướng đối tượng, đề xuất hướng nghiên cứu và phân tích các kết quả đo thực nghiệm. Ba nhiệm vụ chính của đồ án như sau:
    1. Tỡm hiểu lý thuyết đo phần mềm, tổng hợp các kết quả nghiên cứu trên thế giới về đo phần mềm. Chương 1 trỡnh bày cỏc vấn đề: cách tiếp cận lý thuyết đo phần mềm dựa trờn lý thuyết đo nói chung; các yêu cầu, vai trũ, mục đích đối với một phép đo phần mềm; một số kết quả nghiên cứu trên thế giới và các phương pháp đo phần mềm được sử dụng rộng rói trong cụng nghệ phần mềm.
    Tỡm hiểu lý thuyết đo phần mềm hướng đối tượng, các kết quả nghiên cứu về đo phần mềm hướng đối tượng. Chương 2 trỡnh bày về cỏc phộp đo hướng đối tượng, các mô hỡnh đánh giá phần mềm hướng đối tượng.
    2. Đề xuất và xây dựng công cụ trợ giỳp cho quỏ trỡnh đo phần mềm hướng đối tượng (chương 3). Nhiệm vụ đặt ra là đề xuất một khung cho quá trỡnh đo phần mềm và xây dựng công cụ trợ giúp quy trỡnh đó. Quy trỡnh đo phần mềm được đề xuất gồm có 4 bước: chọn lựa mô hỡnh, thu thập dữ liệu, tớnh toỏn trờn mụ hỡnh và phõn tớch kết quả. Cụng cụ trợ giỳp đo phần mềm hướng đối tượng được xây dựng nhằm mục đích hỗ trợ quy trỡnh đo phần mềm đó. Các mô hỡnh và độ đo được lưu trữ trong cơ sở dữ liệu, người sử dụng có thể sửa đổi mô hỡnh hoặc xõy dựng mụ hỡnh mới.
    3. Tiến hành đo thực nghiệm và phân tích các kết quả đo được. Các kết quả đo phần mềm được trỡnh bày trong chương 4 là kết quả đo 8 dự án phần mềm ở trung tâm xuất khẩu phần mềm Fsoft-fpt Hà Nội và 4 thư viện lập trỡnh hướng đối tượng gồm có MFC, JDK, GNU, STL. Công cụ xây dựng ở trên được sử dụng để trợ giúp cho quá trỡnh đo. Các kết quả đo được phân tích về các khía cạnh: so sánh các giá trị đo giữa hai nhóm phần mềm, mối liên quan ảnh hưởng giữa các độ đo và chất lượng phần mềm. Quá trỡnh phân tích cho thấy các kết quả đo phù hợp với lý thuyết về các phép đo hướng đối tượng của Chidamber và Kemerer, rút ra những nhận xét về mối quan hệ ảnh hưởng giữa các độ đo và chất lượng phần mềm. Các số liệu thống kê được chúng tôi trỡnh bày trờn bảng và biểu đồ nhằm thể hiện tính trực quan tới người đọc.
    Nội dung của đồ án được chia thành 4 chương như trên, phần cuối là kết luận, đánh giá các kết quả đạt được và đề ra phương hướng phát triển tiếp theo của đề tài trong tương lai.

     
Đang tải...