Professional Documents
Culture Documents
Nhóm 13:
Huỳnh Ngọc Ân MSSV : 070003T
Ngô Thị Mỹ Hạnh MSSV : 070096T
Lê Thị Mỹ Hằng MSSV : 070078T
Mục Tiêu (Objectives )
Mục tiêu của chương này là để giới thiệu các kỹ thuật lập dự toán
chi phí và nỗ lực cần thiết cho sản xuất phần mềm:
a. Hiểu được nguyên tắc cơ bản của phần mềm chi phí và lý do tại sao
giá của phần mềm có thể không được trực tiếp liên quan đến chi phí
phát triển của nó.
b. Mô tả các số liệu để đánh giá năng suất phần mềm
c. Giải thích tại sao các kỹ thuật khác nhau nên được sử dụng để ước
lượng phần mềm
d. Hiểu các nguyên tắc của mô hình COCOMO II ,thuật toán dự toán
chi phí.
Nội Dung (Contents)
26.1 Năng suất (Productivity)
4. Chi phí của cơ sở trung ương như là một thư viện hoặc cơ sở giải trí
5. Chi phí an sinh xã hội lợi ích như lương hưu, bảo hiểm y tế.
Chi Phí Và Giá Cả
Một khi dự án được triển khai, quản lý dự án phải thường xuyên cập
nhật chi phí và dự toán kế hoạch. Điều này giúp quá trình lập kế hoạch
và sử dụng hiệu quả các nguồn lực.
Nếu chi phí thực tế lớn hơn nhiều so với dự toán, người quản lý dự án
phải áp dụng các nguồn lực bổ sung cho dự án, sửa chữa các công việc
phải làm.
Phần mềm định giá phải được tiến hành khách quan với mục đích dự
đoán chính xác các chi phí phát triển phần mềm. Tuy nhiên, mối quan
hệ giữa chi phí dự án và giá tính phí cho khách hàng thường không
đơn giản.
Các tổ chức kinh tế, chính trị và kinh doanh được xem xét ảnh hưởng
tới giá tính phí.
26.1 Năng suất (Productivity)
Năng suất là số đơn vị đầu ra trên số giờ làm việc
Hình 26.1 yếu tố ảnh hưởng phần mềm giá cả
-Nếu
các yêu cầu có khả năng thay đổi, một tổ
- Yêu cầu, biến chức có thể hạ giá thấp hơn để giành được một hợp
động (Requirement; đồng Sau khi nhận được hợp đồng, giá cao có thể
volatility) được tính phí cho các thay đổi đối với yêu cầu.
- Tài chính y tế Phát triển trong tài chính khó khăn có thể thấp hơn
-
Năng suất ước tính thường được đo lường dựa trên các thuộc tính của
phần mềm chia cho tổng số nỗ lực cần thiết để phát triển. Các loại số liệu
đã được sử dụng:
Số lượng điểm đối tượng trong một chương trình là một ước tính trọng lượng của:
1. Số lượng màn hình riêng biệt đó là màn hình hiển thị đơn giản được tính là 1
đối tượng điểm, màn hình phức tạp vừa phải tính là 2, và màn hình rất phức tạp
tính là 3 điểm đối tượng.
26.1 Năng suất Phần mềm.
2. Số lượng các báo cáo được sản xuất đối với báo cáo đơn giản là 2
điểm đối tượng, đối với báo cáo vừa phức tạp là 5, và cho các báo cáo
rằng có thể sẽ là khó khăn để sản xuất là 8 điểm đối tượng.
3. Số lượng module bằng các ngôn ngữ lập trình bắt buộc như Java,
C++ mà phải được phát triển để bổ sung mã lập trình cơ sở dữ liệu,
mỗi một module được tính là 10 điểm đối tượng.
Ưu điểm của điểm đối tượng trên điểm chức năng là được dễ dàng hơn
để ước tính từ một đặc điểm kỹ thuật phần mềm cấp cao, điểm đối
tượng chỉ quan tâm đến màn hình, báo cáo và các module bằng các
ngôn ngữ lập trình thông thường. Không quan tâm đến chi tiết thực
hiện, và các yếu tố phức tạp tính toán đơn giản hơn nhiều.
26.1 Năng suất Phần mềm.
Ước tính kích thước mã cho một ứng dụng được tính như sau:
- Kinh nghiệm miền ứng dụng -Kiến thức về các miền ứng dụng là rất
(Application domain cần thiết cho các kỹ sư phát triển phần
experience) mềm .
-Quá trình phát triển có thể ảnh hưởng
- Chất lượng quy trình dự án
đáng kể đến năng suất. (chương 28)
(Process quality )
(Working environment ) khu vực làm việc tư nhân góp phần cải
thiện năng suất.
26.2 Các kỹ thuật ước lượng
(Estimation techniques)
Không có cách nào đơn giản để thực hiện một ước tính chính xác các
nỗ lực cần thiết để phát triển một hệ thống phần mềm
• Ước tính ban đầu được dựa trên các thông tin không đầy đủ trong
yêu cầu người sử dụng.
• Các phần mềm có thể chạy trên các máy tính không quen thuộc
hoặc sử dụng công nghệ mới.
• Những người tham gia trong dự án này có thể chưa biết.
Tất cả những kỹ thuật dựa vào những đánh giá trên kinh nghiệm của
người quản lý dự án, sử dụng kiến thức của họ về các dự án trước đây
để đi đến ước tính của các nguồn lực cần thiết cho dự án.
26.2 Các kỹ thuật ước lượng
(Estimation techniques)
Tuy nhiên, có thể có sự khác biệt quan trọng giữa các dự án trong quá
khứ và tương lai. Nhiều phương pháp phát triển mới và kỹ thuật đã
được giới thiệu trong 10 năm qua. Một số ví dụ về những thay đổi có
thể ảnh hưởng ước tính dựa trên kinh nghiệm bao gồm:
Kỹ thuật Mô tả
- Thuật toán xây dựng mô hình -Một mô hình được phát triển bằng cách
chi phí (Algorithmic cost: sử dụng chi phí thông tin lịch sử có liên
modelling) quan một số phần mềm số liệu (thường
là kích thước) với ước tính chi phí dự
án được làm từ đó số liệu và mô hình
dự báo các nỗ lực cần thiết.
-
A: là một yếu tố hằng số phụ thuộc vào thực tiễn địa phương tổ chức và
phần mềm được phát triển.(độ phức tạp)
Size: Kích thướt mã phần mềm(số đo năng suất)
26.3 Mô hình chi phí thuật toán
(Algorithmic cost modelling )
B: Giá trị B thường giữa từ 1 đến 1,5 phản ánh các nổ lực không cân
xứng cho yêu cầu các dụ án lớn.
M: phụ thuộc vào quá trình và năng suất
Hầu hết các mô hình đều tương tự nhưng sử dụng các giá trị A, B, M
khác nhau
Chú ý:
• Rất khó dự đoán Size trong giai đoạn đầu.
• B và M là khách quan và có thể thay đổi từ người này sang người
khác.
26.3.1 Mô hình COCOMO
Mô hình COCOMO là một mô hình thực nghiệm được thực hiện bằng
cách thu thập dữ liệu từ một số lượng lớn các dự án phần mềm.
Những dữ liệu này được phân tích để tìm ra công thức phù hợp nhất.
Liên kết các công thức kích thước của hệ thống, sản phẩm dự án, và
các yếu tố nỗ lực để phát triển hệ thống.
Phiên bản đầu tiên của mô hình COCOMO (COCOMO 81) là một mô
hình ba cấp. Cấp độ đầu tiên (cơ bản) cung cấp một ước tính ban đầu
khó khăn.Mức thứ hai sửa đổi lần này bằng cách sử dụng một số dự án
và quá trình hệ số và mức độ chi tiết nhất được sản xuất ước tính cho
giai đoạn khác nhau của dự án.
Phần mềm hiện nay thường được phát triển bởi
- Chuyên sâu PM = 3.6 (KDSI) 1,20 x M -Kết hợp chặt với nhau
(Lồng nhau) về phần cứng, phần
(KDSI: số lệnh nguồn theo mềm, quy định và thủ
đơn vị nghìn) tục hoạt động
26.3.1 Mô hình COCOMO
Các mô hình con là một phần của mô hình COCOMO II là:
• Một ứng dụng mô hình thành phần : được tạo ra từ các thành phần
tái sử dụng (hiện có).
• Thiết kế mô hình lúc đầu: sử dụng khi yêu cầu được cung cấp
nhưng chưa bắt đầu thiết kế.
• Tái sử dụng mô hình : được sử dụng để tính toán nỗ lực cần thiết
để tích hợp các thành phần tái sử dụng.
• Một mô hình kiến trúc, một khi các kiến trúc hệ thống đã được
thiết kế, dự toán chính xác hơn về kích thước phần mềm có thể
được thực hiện
Hình 26,7 Các mô hình COCOMO II
Dựa trên Ứng
Ứng Được dùng Thử nghiệm các hệ thống
Số
Sốđiểm
điểm dụng
dụngmô
môhình
hình phát triển sử dụng kịch
ứng
ứngdụng
dụng Cho.
thành
thànhphần
phần bản, DB lập trình, vv
Số lượng các Dựa trên Mô hình kiến Được dùng Nỗ lực phát triển dựa trên
dòng mã trúc thiết kế hệ thống
Cho. đặc điểm kỹ thuật
nguồn
26.3.1 Mô hình COCOMO
Ứng dụng mô hình thành phần
Ứng dụng mô hình thành phần được đưa vào COCOMO II hỗ trợ lập
dự toán nỗ lực cần thiết để tạo mẫu dự án và cho các dự án phần mềm
được phát triển bởi các thành phần tái sử dụng rông rãi.
Nó được dựa trên ước tính trọng điểm ứng dụng (điểm đối tượng) chia
cho một ước tính tiêu chuẩn của ứng dụng năng suất điểm.
Dựa trên các ước tính tiêu chuẩn của các nhà phát triển năng suất
trong các ứng dụng(đối tượng) điểm / tháng.Có sử dung cng cụ Case.
Hình 26,8 Cho thấy mức độ năng suất của đối tượng điểm được đề
xuất bởi các nhà phát triển mô hình (Boehm, et al, 1995.).
26.3.1 Mô hình COCOMO
Công thức tính nổ lực:
PM= (NAP x (1- % reuse/100))/PROD
Kinh nghiệm, năng lực của nhà Very low Low Nominal High Veryhigh
phát triển
CASE phát triển và năng lực Very low Low Nominal High Veryhigh
Ước tính sản xuất trong giai đoạn này được dựa trên công thức tiêu
chuẩn cho các mô hình thuật toán, cụ thể là:
B= A x SizeB x M
A=2,14 trong hiệu chỉnh ban đầu trong KSLOG
M = PERS x RCPX x RUSE x PDIF x PREX x FCIL x SCED
B: dao động từ 1,1 đến 1,24 phụ thuộc vào tinh hình dự án, tính linh hoạt
trong phát triển và phương pháp tính rủi ro.
26.3.1 Mô hình COCOMO
Kích thước của hệ thống được thể hiện trong KSLOC, đó là hàng ngàn
số dòng mã nguồn. Tính KSLOC bằng cách ước tính số lượng các
điểm chức năng trong phần mềm.
Hệ số phản ánh năng lực của nhà phát triển, các chức năng yêu cầu..
Có thể tăng hoặc giảm các nỗ lực cần thiết. Những đặc điểm này được
sử dụng trong thiết kế mô hình ban đầu.
• RCPX là sản phẩm đáng tin cậy và phức tạp.
• RUSE Tái sử dụng yêu cầu.
• PDIF: nền tảng khó khăn.
• PERS: năng lực nhân viên.
• PREX kinh nghiệm nhân viên.
• SCED yêu cầu tiến độ
• FCIL: phương tiện hỗ trợ.
26.3.1 Mô hình COCOMO
Tái sử dụng mô hình
COCOMO II xem xét sử dụng lại mã có hai loại:
• Black-box: đưa mã vào hộp đen để tái sử dụng mà không thay đổi,
mã được điều chỉnh để tích hợp với mã mới.
• White-box: sử dụng lại mã được sửa đổi, một ước tính kích thước
tương đương với số dòng mã nguồn mới được tính.
Một số nỗ lực phát triển là cần thiết để tái sử dụng này bởi vì nó phải
được hiểu và sửa đổi trước khi nó có thể hoạt động được trong hệ
thống.
Đối với các mã được tự động tạo ra, công thức tính toán nỗ lực là:
Ước tính số lượng tương đương các dòng mã mới tính toán bằng
thay đổi.
Hình 26.9 Miêu tả các yếu tố được sử dụng trong
việc tính toán số mũ COCOMO II
Đánh giá các giá trị được sử dụng trong tính toán số mũ là:
Tiền tệ là một dự án mới cho các tổ chức xếp hạng thấp(4).
Phát triển tính linh hoạt không có sự tham gia của khách hàng
V. thấp (5).
Nhóm nghiên cứu gắn kết - đội mới - danh nghĩa (3)
Quá trình trưởng thành - một số kiểm soát - danh nghĩa (3)
Hình 26.9 Miêu tả các yếu tố được sử dụng trong
việc tính toán số mũ COCOMO II
Tiền tệ Phản ánh những kinh nghiệm trước đây của tổ chức.
Rất thấp có nghĩa là không có kinh nghiệm trước đó.
Thêm có nghĩa là cao mà tổ chức này hoàn toàn
quen thuộc với ứng dụng tên miền.
Phát triển tính linh Phản ánh mức độ linh hoạt trong quá trình phát
hoạt triển.Rất thấp có nghĩa là một quá trình theo quy
định được sử dụng; Extra có nghĩa là cao mà khách
hàng chỉ đặt mục tiêu chung.
Hình 26.9 Miêu tả các yếu tố được sử dụng trong
việc tính toán số mũ COCOMO II
Kiến trúc / nguy cơ Phản ánh mức độ phân tích nguy cơ thực hiện. Rất
giải quyết thấp có nghĩa là ít phân tích. Extra cao có nghĩa là một
hoàn thành và triệt để phân tích rủi ro.
Nhóm nghiên cứu gắn Phản ánh như thế nào nhóm phát triển biết nhau và làm
kết việc cùng nhau. Rất thấp có nghĩa là tương tác rất khó
khăn. Extra cao có nghĩa là một nhóm hợp và hiệu quả
không có vấn đề truyền thông.
Quá trình trưởng
thành Phản ánh quá trình trưởng thành của tổ chức. Các
tính toán giá trị này phụ thuộc vào trưởng thành CMM
Bảng câu hỏi, nhưng ước tính có thể đạt được bằng
cách trừ đi quá trình CMM mức độ trưởng thành từ 5.
Hình 26.10 Chi phí dự án điều khiển
Các thuộc tính (hình 26.10) được sử dụng để điều chỉnh
dự toán ban đầu. Mô hình kiến trúc sau thành bốn nhóm:
1.Sản phẩm phần mềm được phát triển có thuộc tính liên quan
đến các thuộc tính cần thiết.
2.Các phần mềm bị hạn chế bởi các phần cứng của máy tính.
3.Các thuộc tính là kinh nghiệm, khả năng của những người làm
việc dựa trên các dự án.
4. Thuộc tính dự án có liên quan với các đặc điểm cụ thể của dự
án phát triển phần mềm.
Hình 26.10 Chi phí dự án điều khiển
RUSE Sản phẩm Yêu cầu tỷ lệ phần trăm của các thành
phần tái sử dụng
Hình 26.10 chi phí dự án điều khiển
TIME Máy tính Thời gian thực hiện
chế