Bài giảng Kỹ nghệ phần mềm - Nguyễn Văn Vỵ - Bài 10: Dự án, xác định dự án
Xác minh (Verification)
Kiểm tra xem phần mềm làm ra có dúng đặc tả (yêu
cầu, thiết kế) hay không
Thẩm định (Validation)
kiểm tra xem phần mềm có đáp ứng yêu cầu ng-ời
dùng không
?éây là2 hoạt động cốt yếu để đảm bảo chất l-ợng
phần mềm, diễn ra suốt quá trình phát triển
g loại này là “suy luận hợp lý theo ca kinh
nghiệm”(khoa CNTT, ĐHCN)
Ưu: chính xác khi có đủ dữ liệu cụ thể
Nhược: Không thể thực hiện khi không có dự án
tương tự
Bộ môn Công nghệ phần mềm – ĐHCN 26
NguyễnVănVỵ
Ví dụ: Phương pháp kinh nghiệm
Bài toán: triển khai 1 phần mềm cập nhập 4 loại báo cáo sai
hỏng trong sản xuất của các cơ sở và đưa ra 4 báo cáo: tổng
hợp, phân loại và phân tích sai hỏng theo kỳ.
Bảng phân tích ước lượng
Giai đoạn Xác định yêu
cầu
Phân tích
thiết kế
Lập trình
k.thử
Cài đặt,
bảo trì
Tông
cộng
Kinh nghiệm 20% 30% 30% 20% 100%
Dự án 10% 40% 40% 10% 100%
Ngày công 6Æ8 24 24 6 62
lương bình quân 6tr/tháng, làm 20 ngày Æ 300.000đ/ngày
Chi phí dự án: 300ng x 62ngày x 130% = 24.180.000đ
Bộ môn Công nghệ phần mềm – ĐHCN 27
NguyễnVănVỵ
Phân tích điểm chức năng (FPA)
A. Albrecht thuộc IBM đã phát triển phương pháp phân tích
điểm chức năng (FPA- function point analysys)
Mục đích: ước lượng số dòng lênh - LOC (lines of code) của
hệ thống:
LOC của hệ thống
= FPs của hệ thống x LOC/FP của ngôn ngữ
Trong đó: FPs- điểm chức năng
LOC/FP: số dòng lệnh cho
1 chức năng theo ngôn ngữ
Bộ môn Công nghệ phần mềm – ĐHCN 28
NguyễnVănVỵ
Phương pháp điểm chức năng (FPs)
Bao gồm các bước:
1.Tính điểm chức năng của 5 loại tiêu biểu:
y Số kiểu người dùng nhập vào: I
y Số kiểu người dùng xuất ra: O
y Số kiểu người dùng yêu cầu: E
y Số giao diện ngoại vi: F
y Số files liên quan: L
Bộ môn Công nghệ phần mềm – ĐHCN 29
NguyễnVănVỵ
Ví dụ: tính điểm chức năng
Một thành phần của hệ thống quản lý kho bao gồm chức năng
‘thêm 1 bản ghi’,’ xóa 1 bản ghi’, hiển thị 1 bản ghi’,’ sửa 1
bản ghi’, ‘in 1 bản ghi’, như vậy có:
3 kiểu nhập vào
1 kiểu xuất ra (hiển thị)
1 giao diện ngoài (in)
các điểm chức năng này được gắn với độ phức tạp tương ứng
cho mỗi loại chức năng
Bộ môn Công nghệ phần mềm – ĐHCN 30
NguyễnVănVỵ
2. Với mỗi kiểu chức năng, ước lượng độ phức tạp & nhân với số
đặc trưng rồi cộng lại.
• Độ phức tap có 3 mức: Đơn giản, Trung bình, Phức tạp
• Xác định và tính trọng số điều chỉnh cho mỗi loại (Fi)
• Tính tổng toàn bộ số điều chỉnh điểm chức năng (ΣFi)
Phương pháp điểm chức năng
Hệ số phức tạp
Các kiểu chức năng Thấp Tr.bình Cao
kiểu nhập vào 3 4 6
kiểu xuất ra 4 5 7
File chương trình 7 10 15
Giao tiếp ngoài 5 7 10
Tìm kiếm 3 4 6
Bộ môn Công nghệ phần mềm – ĐHCN 31
NguyễnVănVỵ
Tính tổng các điểm chức năng của ví dụ:
Ví dụ: tính điểm chức năng
Kiểu chức năng số lượng hệ số phức tạp điểm ch.năng
kiểu nhập vào 3 x 3
4
7
5
Tìm kiếm 0 x 3 = 0
= 9
kiểu xuất ra 1 x = 4
File chương trình 1 x = 7
Giao tiếp ngoài 1 x = 5
Tổng FPs 25
Bộ môn Công nghệ phần mềm – ĐHCN 32
NguyễnVănVỵ
3. Để tính FPs, trước hết xác định các Fi . Khi trả lời câu
hỏi đối với ví dụ, ta xác định được: F4 = 4, F10 = 4, các
Fi còn lại gán giá trị 0, nên: ΣFi = 4 + 4 = 8
4. Tính điểm chức năng theo công thức
FPs = tổng điểm x (0,65+0.01xΣFi)
Trong đó 0.65 và 0.01 là hệ số theo kinh nghiệm.
Phương pháp điểm chức năng
Nếu hệ thống sử dụng ngôn ngữ C (hệ số= 128), ta có ước
lượng số dòng lệnh:
LOC = 128 x { 25(0,65+0.01x 8)} = 128x18,25 = 2336
Bộ môn Công nghệ phần mềm – ĐHCN 33
NguyễnVănVỵ
Điểm đối tượng (OP:object point)
OP thay cho điểm chức năng khi dùng 4GL đối tượng ở
đây ≠ ngôn ngữ hướng đối tượng
Là sự đánh giá tổng hợp của các yếu tố (đối tượng) trong
phần mềm, số màn hình độc lập (giao diện), số các báo cáo
cần tạo (yêu cầu), số các module cần phải phát triển bằng
4GL
Nó dễ dàng đánh giá từ đặc tả yêu cầu, nên có thể ước
lượng từ giai đoạn sớm của dự án
Bộ môn Công nghệ phần mềm – ĐHCN 34
NguyễnVănVỵ
Mô hình ước lượng COCOMO
COCOMO (COstructive COst Model) dùng ước
lượng công sức, thời gian, số người phát triển dựa
trên kích cỡ phần mềm (LOC).
Sử dụng cho các phần mềm lớn
Cơ sở của mô hình:
y Công sức: E = a * Lb
y Thời gian: T = c * Ed
y Sô ngươi : N = E/T
Trong đó:
L: số dòng lệnh (KLOC)
a, b, c, d: tham số
Bộ môn Công nghệ phần mềm – ĐHCN 35
NguyễnVănVỵ
COCOMO: các bước tiến hành
1. Xác định kiểu dự án (cơ sở chọn tham số):
organic: cấu trúc rõ ràng, môi trường quen: dễ
semi-detached: nhiều ràng buộc chức năng, môi trường
& ứng dụng lạ: khó hơn
embeded: hệ thống gồm cả cưng-mềm, phức tạp, ràng
buộc chặt chẽ, cần nhiều kinh nghiệm: khó
2. Phân rã môđun chức năng & ước lượng số dòng
lệnh từng môđun
3. Tính lại số dòng lệnh trên cơ sở tái sử dụng
4. Tính nỗ lực phát triển E cho từng mô đun
Bộ môn Công nghệ phần mềm – ĐHCN 36
NguyễnVănVỵ
5. Tính lại E dựa trên độ phức tạp của dự án, độ tin
cậy, độ lớn CSDL & yêu cầu về tốc độ, bộ nhớ
6. Tính thời gian và số người tham gia
Đặc trưng ứng dụng a b c d
organic 3.2 1.05 2.5 0.38
semi-detached 3.0 1.12 2.5 0.35
embeded 2.8 1.2 2.5 0.32
Bảng
tham số
cơ sở
COCOMO: các bước tiến hành
Bộ môn Công nghệ phần mềm – ĐHCN 37
NguyễnVănVỵ
Ví dụ về COCOMO
Ví dụ: Phần mềm có kích cỡ 33.3 KLOC, mức
khó là tương đối (semi-detached), nên
Chọn: a = 3.0 b = 1.12 c = 2.5 d = 0.35
Tính toán ta được:
E = 3.0 * 33.31.12 = 152 người-tháng
T = 2.5 * E0.35 = 14.5 tháng
N = E/T = ~ 11 người
Bộ môn Công nghệ phần mềm – ĐHCN 38
NguyễnVănVỵ
Khó khăn trong ước lượng
y áp dụng các mô hình khác nhau
y tiến hành ước lượng nhiều lần
y ước lượng lại khi dự án tiến triển
y thảo luận, lấy ý kiến chung
Các thông số không trực quan
Khó đánh giá tính đúng đắn của tham số
Không có mô hình tổng quát
Các kỹ thuật ước lượng đang thay đổi
Thiếu tham số tham khảo (số thống kê)
Bộ môn Công nghệ phần mềm – ĐHCN 39
NguyễnVănVỵ
Độ chính xác của ước lượng
4x
.
.
XuÊt phÈm
x.®.yªu cÇu ThiÕt kªKh¶ thi M∙ ho¸
2x
0.25x
0.5x
Bộ môn Công nghệ phần mềm – ĐHCN 40
NguyễnVănVỵ
Đánh giá khả thi về kinh tế
Phân tích khả thi về kinh tế được thực
hiên thông qua phân tích chi phí - lợi
nhuận của dự án được chọn.
Quá trình phân tích tiến hành qua 3 bước:
Nhận biết và ước lượng các khoản mục chi
phí và thu nhập của việc thực hiện dự án
Biểu diễn bằng đơn vị có thế so sánh được
Tính các chỉ tiêu hiệu quả, so sánh & đánh
giá
Bộ môn Công nghệ phần mềm – ĐHCN 41
NguyễnVănVỵ
Phân tích chi phí và lợi nhuận
Thu nhập hệ thống mang lại chỉ khi nó vận hành. nên
cần tính cho mỗi năm (5 năm).
Thu nhập chia làm 3 loại:
Thu nhập trực tiếp thấy được (tangible)
Thu nhập gián tiếp có thể đánh giá được và
Thu nhập tiềm năng (không nhìn thấy-intangible)
Khi phân tích hiệu quả kinh tế thường chỉ có thể
tính đươc 2 loại đầu tiên.
Lợi nhuận = thu nhập – chi phí
Bộ môn Công nghệ phần mềm – ĐHCN 42
NguyễnVănVỵ
Một chỉ tiêu quan trọng của đầu tư là hệ số hoàn
vốn (return on investment – ROI)
ROI =
hay thời gian hoàn vốn:
T (hoàn vốn) = năm
Các số này được đem so sánh với số trung bình
tương ứng của ngành. Nếu lớn hơn hoặc bằng thì
dự án đầu tư là có hiệu quả
1
ROI
Hệ số hoàn vốn
Lợi nhuận bình quân năm
Tổng đầu tư
Bộ môn Công nghệ phần mềm – ĐHCN 43
NguyễnVănVỵ
Ví dụ: phân tích chi phí-lợi nhuân
Loại hình Công việc thực hiện Số tiền($)
Chi phí 1 lần Phát triển 65.000
Chi phí 1 lần Phần cứng 50.000
Chi phí hoạt động Bảo trì 2.000/năm
Tiết kiệm (thu) Liên quan đến tự động đặt hàng 12.000/năm
Tiết kiệm (thu) Tính toán chính xác chuyên chở 15.000/năm
Tiết kiệm (thu) Quản lí thông tin, tài nguyên tốt hơn 12.000/năm
Bảng chi phí và thu nhập của dự án lựa chọn
Bộ môn Công nghệ phần mềm – ĐHCN 44
NguyễnVănVỵ
Ví dụ: phân tích chi phí- lợi nhuận
NămChỉ tiêu 0 1 2 3 4 5
- Thu nhập
- Hệ số chuyển đổi
(tỷ lệ chiết khấu 12%)
Thu nhập quy đổi
0
1
0
39,000
0.89286
34,821
39,000
0.79719
65,912
39,000
0.71778
93,671
39,000
0.63552
118,457
39,000
0.56759
140,586 140,586
- Chi phí 1 lần
- Chi phí bảo trì
- hệ số chuyển đổi
(tỷ lệ chiết khấu 12%)
- Chi phí quy đổi năm
Tổng chi phí tích luỹ
115,000
0
1
115,000
2,000
0.89287
1,786
116,786
2,000
0.79714
1,594
118,380
2,000
0.71178
1,424
119,804
2,000
0.63352
1,271
121,075
2,000
0.56743
1,135
122,210 122,210
Thu nhập ròng/năm 33,04 64,32 92,25 117,2 139,5 446,237
Hệ số hoàn vốn 0.24
tổng cộng
Bộ môn Công nghệ phần mềm – ĐHCN 45
NguyễnVănVỵ
Đánh giá hiệu quả kinh tế
Như vậy, sau hơn 4 năm hòa vốn (ROI =0,24).
Lợi ích thấy được chưa đưa vào là giảm lao động
Lợi ích không thấy được: tăng chất lượng quản lý, đáp ứng
được với quy mô tăng lên không cần đầu tư
BIỂU ĐỒ TÍNH ĐIỂM HÒA VỐN
0
20
40
60
80
100
120
140
160
1 2 3 4 5
năm
$
thu nhập
chi phí t.lũy
Bộ môn Công nghệ phần mềm – ĐHCN 46
NguyễnVănVỵ
Những mốc lớn lịch trình dự án
Mốc lớn lịch trình cần chỉ ra:
Thời gian kết thúc dự án
Các giai đoạn chính đánh dấu bằng việc kết thúc 1 giai đoạn
với sản phẩm của nó và thời gian lịch tương ứng
Các mốc lớn thường được chọn lập lịch là:
Kỹ nghệ hệ thống
Xác định yêu câu
Thiết kế
Lập trình-kiểm thử đơn vi
Kiểm thử thẩm định
Cài đặt và vận hành
Bộ môn Công nghệ phần mềm – ĐHCN 47
NguyễnVănVỵ
Ví dụ: lịch trình dự án
Lịch trình phát triển hệ thống quản lý kho(bản đầu tiên)
Thiết kế vật lý
2 12 tuần
28/7/97 17/10/97
Mã hoá
3 6 tuần
20/10/97 28/11/97
Kiểm thử
4 3 tuần
1/12/97 19/12/97
Làm tài liệu
5 1 tuần
Đào tạo
6 1 tuần
Chuyển đổi/vận hành
7 4 tuần
21/12/97 17/01/98
Thiết kế lôgic
1 4 tuần
30/6/97 25/7/97
Bộ môn Công nghệ phần mềm – ĐHCN 48
NguyễnVănVỵ
C©u hái «n tËp
1. Dù ¸n lμ g×? c¸c ®Æc tr−ng?
2. Môc tiªu, ph−¬ng ch©m qu¶n lý dù ¸n lμ gi?
3. C¸c ho¹t ®éng vμ c¸c chøc n¨ng qu¶n lý dù ¸n?
4. Nªu tiến tr×nh x¸c định dự ¸n - b¶n ®Ò xuÊt dù ¸n?
5. Néi dung cña b¶n ®Ò xuÊt dù ¸n?
6. C¸c b−íc ®Ó chän dù ¸n?
7. Nõu c¸c −íc l−îng cña dù ¸n vμ ph−¬ng ph¸p x¸c ®Þnh
chóng?
8. §¸nh gi¸ kh¶ thi gồm nh÷ng kh¶ thi nμo?
9. C«ng cô vμ chØ tiªu g× luận chøng kh¶ thi kinh tÕ?
10. C«ng cô g× ®Ó luận chøng tá kh¶ thi thêi gian?
Bộ môn Công nghệ phần mềm – ĐHCN 49
NguyễnVănVỵ
C©u hái và thảo luận
File đính kèm:
Bài giảng Kỹ nghệ phần mềm - Nguyễn Văn Vỵ - Bài 10 Dự án, xác định dự án.pdf

