Công thức Halstead

Chia sẻ bởi Tôn Anh | Ngày 14/10/2018 | 34

Chia sẻ tài liệu: công thức Halstead thuộc Tư liệu tham khảo

Nội dung tài liệu:

CHỦ ĐỀ 1: VIẾT CHƯƠNG TRÌNH TÍNH ĐỘ PHỨC TẠP PHẦN MỀM THEO PHƯƠNG PHÁP CỦA HALSTEAD
GIÁO VIÊN RA ĐỀ TÀI: TRẦN CAO ĐỆ
Bộ môn : Công nghệ phần mềm
Email : [email protected]
Chủ đề 1 có thể chia thành nhiều đề tài tùy theo ngôn ngữ lập trình
MSĐT : NL3TH_0101a: Chương trình nguồn viết bằng Pascal
MSĐT : NL3TH_0101b: Chương trình nguồn viết bằng C
MSĐT : NL3TH_0101c: Chương trình nguồn viết bằng Java
MSĐT : NL3TH_0101d: Chương trình nguồn viết bằng VB6
MSĐT : NL3TH_0101e: Chương trình nguồn viết bằng C#
MSĐT : NL3TH_0101f: Chương trình nguồn viết bằng VB.NET
MSĐT : NL3TH_0101g: Chương trình nguồn viết bằng VB.NET
MSĐT : NL3TH_0101x: Chương trình nguồn viết bằng NN khác do SV lựa chọn
Tài liệu tham khảo
[1] Hans Van Vliet, Software Engineering principles and practice, John Wiley, 2000.
[2] Pressman, Roger S., Software Engineering: A Practitioner’s Approach, McGraw-Hill, 5th edition, 2003.
[3] Một số bài báo.
Mô tả:
- Input: một chương trình viết bằng một ngôn ngữ nào đó (Pascal, C, Java, VB, …)
- output:
• Các chỉ số đo độ phức tạp theo Halstead
• Kết quả kiểm chứng độ chính xác

Tóm tắt phương pháp Software science (Halstead)
• Các chỉ số cơ bản
– n1: số toán tử phân biệt
– n2: số toán hạng phân biệt
– N1: tổng số toán tử
– N2: tổng số toán hạng
• Các độ đo:
– Số từ vựng: n=n1+n2
– Độ dài chương trình (program length): N= N1+N2
Halstead ước lượng N bởi : N’=n1log2n1+n2log2n2
– Độ lớn chương trình (program volume):
V= Nlog2n (diễn dịch là số bits tối thiểu)
– Cấp độ chương trình (program level):
L=V*/V; V* là biểu diễn Compact nhất của giải thuật đang xét.
L được xấp xỉ bởi L’=(2/n1)(n2/N2)

– Công sức viết chương trình: E=V/L
– Thời gian viết chương trình: T=E/18 s

Ví dụ : cho chương trình sau
1. Procedure sort(var x:array; n:integer);
2. Var i,j,save:integer;
3. Begin
4. for i:=2 to n do
5. for j:=1 to i do
6. if x[i]7. save:=x[i];
8. x[i]:=x[j];
9. x[j]:=save
10. end
11. End;

Output sẽ là:
Operator
Số lần xuất hiện

Procedure
1

Sort()
1

Var
2

:
3

Array
1

;
6

Integer
2

,
2

Begin end
2

For do
2

If then
1

:=
5

<
1

[]
6


n1=14
N1=35
Operand
Số lần xuất hiện

X
7

N
2

I
6

J
5

Save
3

“2”
1

“1”
1


n2=7
N2=25
• Áp dụng công thức tính
– Size of vocabulary: n=21
– Program length: N=60
– Estimated program length N’=73
– Program volume V=264
– Level of abstraction L=0.044
– Estimated level of abstraction L’=0.040
– Programming effort E=6000
– Time T=333s

Kiểm chứng độ chính xác
- Viết 10 modules trong NNLT đã chọn để test chương trình
- Khi viết phải đo thời gian viết chương trình (tính bằng giờ, phút, giây)
- Tính thời gian của từng module theo PP của Halstead (thời gian ước lượng)
- So sánh thời gian viết chương trình và thời gian ước lượng
- Viết báo cáo chi tiết và đầy đủ cho từng module

CHỦ ĐỀ 2: VIẾT CHƯƠNG TRÌNH TÍNH ĐỘ PHỨC TẠP PHẦN MỀM THEO PHƯƠNG PHÁP CỦA MCCABE
GIÁO VIÊN RA ĐỀ TÀI: TRẦN CAO ĐỆ
Bộ môn : Công nghệ phần mềm
Email : [email protected]
Chủ đề 2 có thể chia thành nhiều đề tài tùy theo ngôn ngữ lập trinh
MSĐT : NL3TH_0201a: Chương trình nguồn viết bằng Pascal
MSĐT : NL3TH_0201b Chương trình nguồn viết bằng C
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Tôn Anh
Dung lượng: 45,98KB| Lượt tài: 0
Loại file: 7z
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)