Bài giảng Nhập môn công nghệ phần mềm - Chương 10: Một số chủ đề khác

MỘT SỐ CHỦ ĐỀ KHÁC  
• Ước lượng chi phí phần mềm (SE Cost Estimation)  
1. Năng suất (Productivity)  
NHẬP MÔN  
CÔNG NGHỆ PHẦN MỀM  
(INTRODUCTION TO SOFTWARE  
ENGINEERING)  
2. Các kỹ thuật ước lượng (Estimation Techniques)  
3. Mô hình chi phí thuật toán (Algorithmic Cost Model)  
4. Nhân lực và thời gian dự án (Project duration and  
staffing)  
• Quản lý chất lượng (Quality Management)  
• Cải tiến quy trình (Process Improvement)  
• Khác  
1
2
1
2
2. Các kỹ thuật ước lượng  
(Estimation Techniques)  
1. Năng suất (Productivity)  
• Năng suất là số đơn vị đầu ra trên số giờ làm  
• Mô hình chi phí thuật toán: sử dụng các thông  
tin có tính lịch sử (thường là kích thước)  
– Ý kiến chuyên gia  
việc  
• Trong SE, năng suất có thể ước lượng bởi một  
số thuộc tính chia cho tổng số nỗ lực để phát  
triển:  
– Đánh giá tương tự: chỉ áp dụng khi có nhiều dự án  
trong cùng một lĩnh vực  
– Luật Parkinson: chi phí phụ thuộc thời gian và số  
– Số đo kích thước (thí dụ số dòng lệnh)  
nhân công  
– Số đo chức năng (số chức năng tạo ra trên 1  
– Giá để thắng thầu: phụ thuộc khả năng KH  
khoảng thời gian )  
SE-VI.3  
SE-VI.4  
3
4
3. Mô hình chi phí thuật toán  
(Algorithmic Cost Model)  
a. Mô hình COCOMO (Boehm 1981)  
• Nguyên tắc: Dùng một phương trình toán học để dự  
• Mô hình COCOMO tuân theo PT trên, với các  
lựa chọn sau:  
đoán (Kitchenham 1990a) dạng:  
Cố gắng = C x PMs x M với:  
– C là độ phức tạp  
– PM là số đo năng suất  
– M là hệ số phụ thuộc và quá trình, năng suất  
– Đơn giản: PM = 2,4 (KDSI)1,05 x M  
– Khiêm tốn: PM = 3,0 (KDSI)1,12 x M  
– Lồng nhau: PM = 3,6 (KDSI)1,20 x M  
– s được chọn gần với 1, phản ánh độ gia tăng của yêu cầu  
với các dự án lớn  
• với KDSI (kilo delivered source instructions) là số  
lệnh nguồn theo đơn vị nghìn  
• Chú ý:  
– Rất khó dự đoán PM vào giai đoạn đầu  
– Việc dự đoán C và M là khách quan và có thể thay đổi từ  
người này sang người khác.  
SE-VI.5  
SE-VI.6  
5
6
c. Mô hình chi phí thuật toán trong  
lập kế hoạch dự án  
b. Mô hình định cỡ (calibrate model)  
• Dùng để đánh giá chi phí đầu tư nhằm giảm chi phí  
• Sử dụng một mô hình ước đoán có hiệu quả,  
do vậy cần có 1 CSDL về phân lịch và các cố  
gắng của một dự án trọn vẹn.  
• Có 3 thành phần phải xem xét trong khi tính chi phí DA.  
– Chi phí phần cứng của HT  
– Chi phí phương tiện, thiết bị (máy tính, phần mềm) trong  
phát triển HT  
• Có thể dùng kết hợp với mô hình COCOMO  
– Chi phí của các nỗ lực yêu cầu  
• Chi phí phần mềm (Software Cost) được tính:  
– SC = Basic Cost x RELY x TIME x STOR x TOOL x EXP x lương  
TB 1 người/tháng  
với: STOR là không gian lưu trữ, TIME là thời gian cần thiết,  
TOOL là công cụ, EXP là kinh nghiệm,  
RELY là độ tin cậy (có thể chọn là 1,2)  
7
SE-VI.8  
7
8
4. Nhân lực và thời gian dự án  
(Project duration and staffing)  
• Mô hình COCOMO cũng dự đoán lịch cho một  
DA trọn vẹn:  
MỘT SỐ CHỦ ĐỀ KHÁC  
• Ước lượng chi phí phần mềm (SE Cost Estimation)  
• Quản lý chất lượng (Quality Management)  
1. Đảm bảo chất lượng quá trình  
2. Xem xét lại chất lượng  
– Dự án đơn giản: TDEV = 2.5 (PM)0.38  
– Dự án trung bình: TDEV = 2.5 (PM)0.35  
– Dự án lồng: TDEV = 2.5 (PM)0.32  
3. Các chuẩn phần mềm  
4. Các chuẩn tài liệu  
5. Độ đo phần mềm  
với TDEV là tổng thời gian cần thiết cho một DA  
6. Độ đo chất lượng sản phẩm  
• Cải tiến quy trình (Process Improvement)  
• Khác  
SE-VI.9  
10  
9
10  
Đảm bảo chất lượng quy trình(tiếp)  
1. Đảm bảo chất lượng quy trình  
• Đảm bảo chất lượng quy trình là một khái niệm đa  
chiều. chưa có định nghĩa rõ ràng. Nhìn chung khái  
niệm này có thể xem như là phát triển SP phải đáp ứng  
được đặc tả của nó (Crossby, 1979)  
Định nghĩa  
Quá trình  
Phát triển  
sản phẩm  
KĐ chất lượng  
sản phẩm  
• Đặc tả phải hướng về đặc trưng SP mà KH muốn  
• Chúng ta không biết đặc tả thế nào về chất lượng  
• Đặc tả phần mềm luôn luôn không đầy đủ  
K
• Quản lý chất lượng là đáp ứng 3 loại hoạt động sau:  
• Đảm bảo chất lượng  
Quá trình  
cải tiến  
Quá trình  
chuẩn hoá  
Chất lượng  
C
• Kế hoạch chất lượng: chọn thủ tục tương ứng, chuẩn và kích thước  
• Điều khiển chất lượng: các thủ tục và chuẩn phải được tôn trọng  
Chất lượng dựa vào quá trình  
SE-VI.11  
SE-VI.12  
11  
12  
2. Xem xét lại chất lượng  
3. Các chuẩn phần mềm  
• Là phương pháp chính để khẳng định chất lượng của quá trình sản  
• Vai trò quan trọng của ĐBCLPM là chuẩn hoá  
xuất  
• 3 kiểu xem xét:  
– Thanh tra thiết kế hay chương trình  
– Xem xét tiến triển  
– Xem xét chất lượng  
xem xét  
các sản phẩm và quá trình  
• Tầm quan trọng:  
– Cung cấp SP tương ứng và thực tế  
đầy đủ  
– Cung cấp các framework để cài đặt cá quá trình  
Lựa chọn đội ngũ  
ĐBCL  
Xem xét  
– Đảm bảo tính liên tục: công việc thực hiện bởi 1  
Sắp xếp vị trí  
và thời gian  
người có thể thực hiện tiếp bởi người khác  
Phân bố tài liệu  
SE-VI.13  
SE-VI.14  
13  
14  
5. Độ đo phần mềm (Software Metric)  
4. Các chuẩn tài liệu  
• Tài liệu là 1 phần quan trọng trong SE để theo  
• Độ đo phần mềm là một kiểu độ đo liên quan  
đến HT phần mềm, quá trình hay TL, Thí dụ  
như số dòng lệnh, số thông báo lỗi khi cung  
cấp SP  
dõi, để hiểu và để làm  
• 3 kiểu chuẩn tài liệu:  
– Các chuẩn của quá trình lập tài liệu: Qui định  
chuẩn khi tạo tài liệu  
– Chuẩn TL: Chuẩn để quản trị chính TL đó  
• Hai lớp độ đo: Độ đo ĐK và độ đo dự đoán  
Sản phẩm PM  
Quá trình PM  
– Chuẩn trao đổi TL: Dùng trong trao đổi qua E-mail,  
Độ đo Dự đoán  
Độ đo ĐK  
copy hay lưu trữ trong CSDL  
Các quyết định QL  
SE-VI.15  
SE-VI.16  
15  
16  
6. Độ đo chất lượng SP  
MỘT SỐ CHỦ ĐỀ KHÁC  
• Việc biểu diễn, đánh giá độ đo bằng các số liệu  
• Ước lượng chi phí phần mềm (SE Cost Estimation)  
• Quản lý chất lượng (Quality Management)  
• Cải tiến quy trình (Process Improvement)  
1. Chất lượng quy trình và sản phẩm  
2. Mô hình hoá và phân tích quy trình  
3. Độ đo  
hơn là kinh nghiệm  
• Độ đo chất lượng thiết kế  
– tính liên kết  
– độ liên kết  
– dễ hiểu  
– thích hợp  
4. Mô hình thuần thục khả năng SEI  
5. Phân loại quy trình  
• Độ đo chất lượng chương trình  
– chiều dài mã  
– Độ phức tạp  
– Mức lồng điều kiện  
• Khác  
SE-VI.17  
18  
17  
18  
Sơ đồ khái quát của  
Mở đầu  
Quá trình cải tiến quy trình  
Xác định  
• Cải tiến quy trình có nghĩa hiểu quy trình tồn tại  
và thay đổi quy trình này để nâng cao chất lượng  
SP hay giảm chi phí & thời gian phát triển  
các thay đổi  
Phân tích  
Quy trình  
Xác định  
Các cải tiến  
Hiệu chỉnh  
Các thay đổi  
Đào tạo  
đội ngũ  
• Không đơn giản là chấp nhận 1 phương pháp hay  
công cụ đặc biệt nào hay sử dụng 1 mô hình quy  
trình đã sử đâu đó  
• Cải tiến quy trình phải được xem xét như 1 hoạt  
động đặc biệt trong 1 tổ chức hoặc 1 phần của tổ  
chức lớn  
Mô hình  
Quy trình  
Lập  
kế hoạch  
Kế hoạch  
đào tạo  
Mô hình  
xem xét lại  
Phản hồi  
Phân tích quy trình: xem xét quy trình đã tồn tại, tạo Xác định thay đổi: Thiết lập các thủ tục, phương  
ra mô hình quy trình để lập TL và hiểu quy trình đó pháp, công cụ mới và tích hợp với các cái đã tồn tại  
Xác định cải tiến: sử dụng kết quả phân tích để xác  
định chất lượng, lập lịch hay chi phí những pha gay  
cấn  
Đào tạo: không đào tạo quy trình sẽ thất bại  
Hiệu chỉnh thay đổi: các thay đổi có tác dụng ngay  
với HT  
SE-VI.19  
SE-VI.20  
19  
20  
1. Chất lượng quy trình và sản phẩm  
2. Mô hình hoá và phân tích quy trình  
• Vai trò: nghiên cứu các quy trình đang tồn tại và  
phát triển mô hình trừu tượng cho các quy trình  
này (thâu tóm các đặc trưng)  
• Xem chương trước  
• Phân tích là nghiên cứu để hiểu mối liên quan  
giữa các phần của quy trình. Điểm xuất phát là  
mô hình hình thức đã sử dụng  
• Kỹ thuật:  
– Hỏi và phỏng vấn  
– Kỹ thuật Ethnographic: dùng để hiểu bản chất của  
phát triển phần mềm như các hoạt động của con  
người  
21  
SE-VI.22  
21  
22  
Mô hình hoá (tiếp)  
3. Độ đo quy trình  
• Các ký pháp dùng trong mô hình:  
• Độ đo của 1 quy trình là các dữ liệu định lượng về  
quy trình phần mềm (Tập các độ đo là chủ yếu  
cho quá trình cải tiến quy trình –Humphey,  
1989).  
– Activity (hoạt động): biểu diễn bởi hình chữ nhật tròn  
– Process (quá trình): tập các hoạt động, biểu diễn bởi hình  
chữ nhật tròn có bóng mờ  
– Deliverable (phân phối): biểu diễn bởi 1 hình chữ nhật có  
• Phân loại:  
bóng mờ. Nó là đầu ra của 1 hoạt động  
– Thời gian để thực hiện 1 quy trình đặc biệt  
– Tài nguyên yêu cầu cho 1 quy trình đặc biệt  
– Số các biến cố  
– Condition (điều kiện): biểu diễn bởi 1 hình chữ nhật. Nó là  
tiền hay hậu điều kiện  
– Role (vai trò): biểu diễn bởi hình tròn  
– Exception (Ngoại lệ): Hộp bao kép. Việc thay đổi do một  
• Khó khăn: Cái nào là cần định lượng đo đếm. Tuy  
nhiên có thể xem: mục đích (Goals, Câu hỏi, Độ  
đo)  
sự kiện nào đó  
– Communication (Giao tiếp): Biểu diễn trao đổi thông tin  
giữa con người với nhau hay với HT  
SE-VI.23  
SE-VI.24  
23  
24  
4. Mô hình thuần thục khả năng (của  
SEI)  
Mô hình thuần thục khả năng SEI  
(tiếp)  
• Viện CNPM (SEI) Carnegie-Melon-University đề xuất.  
Mô hình SEI phân quá trình phần mềm thành 5 mức  
khác nhau:  
– Mức được quản trị: 1 tổ chức đã định nghĩa các  
quá trình và 1 CT để thu thập dữ liệu về chất  
lượng. Số đo quá trình và thủ rục được sưu tập  
cho quá các hoạt động của quá trình cải tiến  
– Mức khởi đầu: 1 tổ chức không quản lý thực sự các thủ tục  
hay DA. Phần mềm có thể phát triển song không thể dự  
đoán trước (ngân sách, thời gian, . . .)  
– Mức lặp: 1 tổ chức có thể có quản lý hình thức về đảm  
bảo chất lượng, các thủ tục điều khiển cấu hình. Tổ chức  
có thể lặp lại các DA cùng kiểu  
– Mức có định nghĩa: ở mức này, một tổ chức có định nghĩa  
các qua trình của mình mà như vậy có 1 cơ sở cho quá  
trình cải tiến chất lượng. Các thủ tục hình thức đảm bảo  
rằng các quá trình đã định là sẽ được tuân thủ  
– Mức tối ưu: Đã thoả thuận tiếp tục quá trình cải  
tiến. Quá trình này có ngân sách và kế hoạch để  
thực hiện và là phần tích hợp của quá trình tổ  
chức  
SE-VI.25  
SE-VI.26  
25  
26  
5. Phân loại quy trình  
MỘT SỐ CHỦ ĐỀ KHÁC  
• Ước lượng chi phí phần mềm (SE Cost Estimation)  
• Quản lý chất lượng (Quality Management)  
• Cải tiến quy trình (Process Improvement)  
• Việc phân loại độ chín của các quy trình như trên  
thường áp dụng cho các DA lớn  
• Phân loại:  
• Khác  
– Quy trình không hình thức : các quá trình mà mô hình  
1. Phương pháp hình thức (Formal methods)  
2. Công nghệ học phần mềm phòng sạch (Cleanroom SE)  
3. CNHPM hướng thành phần (CBSE)  
4. CNHPM khách/chủ (Client/Server SE)  
5. Kỹ nghệ Web (Web Engineering)  
6. Tái kỹ nghệ (Re-engineering)  
không định nghĩa 1 cách chặt chẽ  
– Quy trình được quản lý: mô hình quá trình được định  
nghĩa (định hướng)  
– Quy trình có phương pháp: một số phương pháp phát  
triển đã được định nghĩa  
7. CNHPM dựa trên máy tính (CASE)  
8. (Chi tiết xem trong các tài liệu)  
– Quy trình cải tiến:  
SE-VI.27  
28  
27  
28  
Tái kỹ nghệ phần mềm  
(Software Re-engineering)  
Phát triển và tái kỹ nghệ  
• Dịch chuyển mã nguồn  
Thiết kế và  
Cài đặt  
Đặc tả hệ thống  
Hệ thống mới  
• Cấu trúc lại CT  
• Tái lập DL  
Forward Engineering  
• Kỹ nghệ ngược  
Hiểu và dịch  
chuyển  
Hệ thống  
Hệ thống  
đang tồn tại  
Hệ thống  
được tái tạo  
Tái kỹ nghệ phần mềm  
29  
SE-VI.30  
29  
30  
Một số chủ đề nâng cao  
• Tập đề thi tự luận  
• Ước lượng chi phí phần mềm (SE Cost  
Estimation)  
• Tập hợp về bộ câu hỏi trắc nghiệm  
• Tập hợp các projects.  
• Quản lý chất lượng (Quality Management)  
• Cải tiến quy trình (Process Improvement)  
• Khác  
• Tìm hiểu, biên tập lại (thầy TrungTT).  
31  
32  
31  
32  
Ước lượng chi phí phần mềm (SE Cost  
Estimation)  
Quản lý chất lượng (Quality  
Management)  
1. Năng suất (Productivity)  
2. Các kỹ thuật ước lượng (Estimation Techniques)  
1. Đảm bảo chất lượng quá trình  
2. Xem xét lại chất lượng  
3. Các chuẩn phần mềm  
4. Các chuẩn tài liệu  
3. Mô hình chi phí thuật toán (Algorithmic Cost  
Model)  
4. Nhân lực và thời gian dự án (Project duration and  
staffing)  
5. Độ đo phần mềm  
6. Độ đo chất lượng sản phẩm  
33  
34  
33  
34  
Cải tiến quy trình (Process  
Improvement)  
Các chủ đề khác  
1. Phương pháp hình thức (Formal methods)  
2. Công nghệ học phần mềm phòng sạch  
(Cleanroom SE)  
3. CNHPM hướng thành phần (CBSE)  
4. CNHPM khách/chủ (Client/Server SE)  
5. Kỹ nghệ Web (Web Engineering)  
6. Tái kỹ nghệ (Re-engineering)  
1. Chất lượng quy trình và sản phẩm  
2. Mô hình hoá và phân tích quy trình  
3. Độ đo  
4. Mô hình thuần thục khả năng SEI  
5. Phân loại quy trình  
7. CNHPM dựa trên máy tính (CASE)  
8. (Chi tiết xem trong các tài liệu)  
35  
36  
35  
36  
pdf 9 trang yennguyen 20380 Free
Bạn đang xem tài liệu "Bài giảng Nhập môn công nghệ phần mềm - Chương 10: Một số chủ đề khác", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_nhap_mon_cong_nghe_phan_mem_chuong_10_mot_so_chu_d.pdf