Xây dựng chương trình trợ giúp cho quá trình đánh giá phần mềm hướng đối tượng - pdf 27

Download miễn phí Xây dựng chương trình trợ giúp cho quá trình đánh giá phần mềm hướng đối tượng



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
 
 





Để tải tài liệu này, vui lòng Trả lời bài viết, Mods sẽ gửi Link download cho bạn ngay qua hòm tin nhắn.

Ket-noi - Kho tài liệu miễn phí lớn nhất của bạn


Ai cần tài liệu gì mà không tìm thấy ở Ket-noi, đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:


P’ q P (đầy đủ: P phức tạp hơn P’ hay P’ phức tạp hơn P).
P q P’, P’ q P” Þ P q P” (bắc cầu: P phức tạp hơn P’ và P’ phức tạp hơn P” dẫn đến P phức tạp hơn P”).
Để có thể tiến hành đo đạc trên sơ đồ thiết kế hướng đối tượng, hệ thống quan hệ nêu trên cần được chuyển sang hệ thống quan hệ dựa trên trị số (biểu diễn thay thế).
Hệ thống quan hệ dựa trên trị số F được định nghĩa:
F º (C, S1...Sn, B1...Bn)
trong đó:
C là tập các phần tử (ví dụ là số thực)
S1...Sn là các quan hệ trên C ( ví dụ >, <, =)
B1...Bn là các phép toán nhị phân trên C (ví dụ +,-,*)
Việc chuyển đổi như trên được thực hiện qua ánh xạ từ hệ thống quan hệ D sang hệ thống quan hệ dựa trên trị số F, ánh xạ này được gọi là phép đo m. Với mỗi thực thể aÎD, m(a)ÎF. Phép đo m phải bảo toàn tất cả các quan hệ của hệ thống quan hệ, mỗi quan hệ trong D phải có một quan hệ trong F tương ứng.
c. Một số khái niệm
Một đối tượng trong hệ thống được biểu diễn bởi:
X = trong đó x là dấu hiệu hay tên để nhận dạng X trong hệ thống, p(x) là tập hữu hạn các thuộc tính và cách của đối tượng.
Cố kết (cohesion) là sự liên quan, gắn bó giữa các thành phần trong cùng một lớp. Đây là một thuộc tính quan trọng. Xu hướng tốt là tăng tính cố kết giữa các cách trong một lớp sẽ đảm bảo sự thực hiện ẩn, tăng khả năng bảo trì.
s(M1, M2) = I1 Ç I2
trong đó:
s(M1, M2): mức độ liên quan giữa cách M1 và M2
Ii : tập các biến được sử dụng bởi Mi
Ví dụ: I1 = {a, b, c, d, e} và I2 = {a, b, e} thì s(M1, M2) = {a, b, e}.
Nếu một lớp có nhiều cách cùng tác động lên một tập các biến, ta nói lớp đó có tính cố kết cao.
Kết dính (coupling) là sự liên quan gắn bó giữa các thực thể trong hệ thống (đối tượng). Một lớp được gọi là kết dính với một lớp khác nếu nó phụ thuộc vào lớp ấy, ví dụ nó truy cập vào thuộc tính hay kích hoạt cách của lớp khác. Các lớp có tính kết dính cao không thể coi là một thành phần độc lập của hệ thống. Khi sửa chữa các lớp này, các thành phần khác của hệ thống cũng có khả năng phải sửa chữa theo. Tính kết dính nhỏ thể hiện một thiết kế tốt, làm tăng tính độc lập giữa các modul, tăng khả năng tái sử dụng.
Giả sử ta có 2 đối tượng X = , Y =
p(x) = MX È IX
p(y) = MY È IY
trong đó Mi là tập các cách và Ii là tập các thuộc tính của đối tượng i.
Kết dính là sự kiện MX gọi MY hay MX truy cập IY và ngược lại. Một cách của lớp X nếu gọi tới cách hay sử dụng thuộc tính của lớp Y thì X có tính kết dính với Y.
Độ phức tạp của một lớp: độ phức tạp của một đoạn mã lệnh tỷ lệ với công sức cần để hiểu, viết ra nó hay sửa chữa đoạn mã lệnh đó. Tuy nhiên việc đo trực tiếp giá trị đó là không thể thực hiện được. Chúng ta dùng một cách đo tương đối bằng cách cộng độ phức tạp của các cách trong lớp đó ta được độ phức tạp của lớp. Độ đo này gọi là WMC (Weighted Method per Class). Độ phức tạp của một cách có thể đo bằng số dòng mã lệnh (LOC - lines of code) hay độ phức tạp cyclomatic. Độ phức tạp cyclomatic dựa vào tổng số các con đường đi độc lập qua đồ thị điều khiển của chương trình. Trường hợp đơn giản, WMC của một lớp chỉ cần tính bằng tổng số các cách trong lớp đó, độ phức tạp của mỗi cách bằng 1.
Độ phức tạp của = |p(x)| (|p(x)| là lực lượng của p(x) ).
Cây thừa kế : Cây thừa kế là đồ thị có hướng không có chu trình với các lớp là các nút, gốc và lá. Thừa kế là một tính chất quan trọng của lập trình hướng đối tượng. Sử dụng thừa kế rút ngắn thời gian phát triển qua việc sử dụng lại mã. Tuy nhiên sử dụng thừa kế nhiều sẽ gây khó khăn cho việc thiết kế và bảo trì. Hai độ đo tính thừa kế được giới thiệu là độ sâu và độ rộng của cây thừa kế.
Độ đo chiều sâu cây thừa kế (Depth of Inheritance Tree – DIT). Độ sâu thừa kế của một lớp là chiều dài đường đi từ nút của lớp đó đến lớp là gốc của cây thừa kế. Độ sâu này càng lớn thì lớp hậu duệ càng có khả năng có nhiều thuộc tính và cách thừa kế, càng khó kiểm soát các hành vi của nó. Độ sâu lớn đồng nghĩa với độ phức tạp thiết kế tăng, nhưng cũng đồng thời tăng tính tái sử dụng.
Độ đo số con của một lớp (Number Of Children – NOC) là số lớp được thừa kế trực tiếp từ lớp đó. Nó biểu hiện tiềm năng ảnh hưởng của một lớp lên toàn hệ thống. Một lớp có nhiều con sẽ cần được kiểm tra kỹ lưỡng vì chất lượng của nó ảnh hưởng đến các con. Độ đo này ảnh hưởng đến việc đánh giá thiết kế, kiểm tra, tái sử dụng.
Thông điệp giữa các lớp: Các đối tượng tương tác qua sự trao đổi các thông điệp. Đối tượng đáp lại thông điệp bằng cách kích hoạt một cách có chức năng xử lý thông điệp đó. Như vậy các cách là sự đáp lại các thông điệp mà lớp nhận được.
RFC (Responce set For a Class) = tập tất cả các cách có thể bị kích hoạt để đáp lại thông điệp mà lớp nhận được.
RFC có thể gồm cả những cách bên ngoài lớp vì lớp có thể gọi các cách bên ngoài lớp để đáp lại các thông điệp. Tập này là hữu hạn vì số cách của mỗi lớp là hữu hạn và số lớp cũng là hữu hạn. Trong pha triển khai hay bảo trì, tập này có thể thay đổi khi các lớp được tạo thêm các chức năng xử lý thông điệp mới.
Tổ hợp các lớp: Thiết kế lớp một quá trình lặp lại các hoạt động: tạo lớp con (tạo lớp mới dựa trên các lớp đã có), phân chia (chia nhỏ một lớp thành các lớp nhỏ hơn), tổ hợp (nhóm các lớp đã có vào trong một lớp mới). Tổ hợp của hai lớp là một lớp bao gồm các thuộc tính của cả hai lớp con hợp lại.
Giả sử X = và Y = là hai lớp, thế thì X+Y được ký hiệu là Z = trong đó p(z) = p(x) È p(y).
Giả sử lớp foo_a có các thuộc tính (cách và biến) a, b, c, d và lớp foo_b có các thuộc tính a, l, m, n thì foo_a + foo_b có các thuộc tính là a, b, c, d, l, m, n.
Kết quả của sự tổ hợp là một không gian trạng thái thống nhất cho các cách và biến cho hai lớp cũ, loại bỏ các thông điệp giữa hai lớp thành phần trước đây.
2.1.2 Các tính chất của phép đo hướng đối tượng.
Tính phân biệt:
Cho lớp P và hệ đo m, luôn luôn có thể tìm được lớp Q sao cho m(P) m(Q). Tính chất này nghĩa là tất cả mọi lớp không thể có cùng độ đo, nếu không sẽ mất ý nghĩa là một phép đo.
Tính không duy nhất
Có thể tồn tại lớp P và lớp Q sao cho m(P) = m(Q). Điều đó nghĩa là hai lớp khác nhau có thể có chung một độ đo, ví dụ hai lớp có cùng độ phức tạp.
Tính phụ thuộc vào chi tiết thiết kế
Hai lớp P và Q có cùng chức năng không đảm bảo rằng m(P) = m(Q). Chi tiết của việc thiết kế lớp mới ảnh hưởng quyết định đến độ đo của lớp.
Tính đơn điệu
Với hai lớp P và Q, tính chất sau phải được thỏa mãn: m(P) < m(P+Q) và m(Q) < m(P+Q), trong đó P+Q là lớp tổ hợp của hai lớp P và Q. Độ đo của lớp tổ hợp không bé hơn độ đo của hai lớp thành phần.
Tính khác nhau của tương tác
$ P, $ Q, $ R thỏa mãn:
m(P) = m(Q) nhưng m(P+R) m(Q+R).
Tương tác giữa lớp P và lớp R kh...
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status