Bài giảng Công nghệ phần mềm - Phần VI: Các chủ đề nâng cao

11/1/2011  
PHẦN VI:  
CÁC CHỦ ĐỀ NÂNG CAO  
I. Ước lượng chi phí phần mềm (SE Cost  
Estimation)  
1. Năng suất (Productivity)  
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)  
II. Quản lý chất lượng (Quality Management)  
III. Cải tiến quy trình (Process Improvement)  
IV. Khác  
1
1. Năng suất (Productivity)  
• Năng suất là số đơn vị đầu ra trên số giờ làm 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:  
– Số đo kích thước (thí dụ số dòng lệnh)  
– Số đo chức năng (số chức năng tạo ra trên 1 khoảng  
SE-VI.2  
1
11/1/2011  
2. Các kỹ thuật ước lượng  
(Estimation Techniques)  
• 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  
– Đá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ố nhân  
công  
– Giá để thắng thầu: phụ thuộc khả năng KH  
SE-VI.3  
3. Mô hình chi phí thuật toán  
(Algorithmic Cost Model)  
• Nguyên tắc: Dùng một phương trình toán học để  
dự đ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  
– 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  
• 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.4  
2
11/1/2011  
a. Mô hình COCOMO (Boehm 1981)  
• Mô hình COCOMO tuân theo PT trên, với các lựa  
chọn sau:  
– Đơ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  
• với KDSI là số lệnh nguồn theo đơn vị nghìn  
SE-VI.5  
b. Mô hình định cỡ (calibrate model)  
• 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ó thể dùng kết hợp với mô hình COCOMO  
6
3
11/1/2011  
c. Mô hình chi phí thuật toán trong lập  
kế hoạch dự án  
• Dùng để đánh giá chi phí đầu tư nhằm giảm chi phí  
• 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  
– 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)  
SE-VI.7  
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:  
– 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  
SE-VI.8  
4
11/1/2011  
PHẦN VI:  
CÁC CHỦ ĐỀ NÂNG CAO  
I. Ước lượng chi phí phần mềm (SE Cost  
Estimation)  
II. 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  
3. Các chuẩn phần mềm  
4. Các chuẩn tài liệu  
5. Độ đo phần mềm  
6. Độ đo chất lượng sản phẩm  
III. Cải tiến quy trình (Process Improvement)  
IV. Khác  
9
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)  
• Đặ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  
• Quản lý chất lượng là đáp ứng 3 loại hoạt động  
sau:  
• Đảm bảo chất lượng  
• 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  
SE-VI.10  
5
11/1/2011  
Đảm bảo chất lượng quy trình(tiếp)  
Định nghĩa  
Quá trình  
Phát triển  
sản phẩm  
KĐ chất lượng  
sản phẩm  
K
Quá trình  
cải tiến  
Quá trình  
chuẩn hoá  
Chất lượng  
C
Chất lượng dựa vào quá trình  
SE-VI.11  
2. Xem xét lại chất lượng  
• Là phương pháp chính để khẳng định chất lượng của  
quá trình sản 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  
Lựa chọn đội ngũ  
Xem xét  
Sắp xếp vị trí  
và thời gian  
Phân bố tài liệu  
SE-VI.12  
6
11/1/2011  
3. Các chuẩn phần mềm  
• Vai trò quan trọng của ĐBCLPM là chuẩn hoá 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ế  
– Cung cấp các framework để cài đặt cá quá trình ĐBCL  
– Đảm bảo tính liên tục: công việc thực hiện bởi 1 người  
có thể thực hiện tiếp bởi người khác  
SE-VI.13  
4. Các chuẩn tài liệu  
• Tài liệu là 1 phần quan trọng trong SE để theo  
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 trao đổi TL: Dùng trong trao đổi qua E-mail, copy  
hay lưu trữ trong CSDL  
SE-VI.14  
7
11/1/2011  
5. Độ đo phần mềm (Software Metric)  
• Độ đ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  
• Hai lớp độ đo: Độ đo ĐK và độ đo dự đoán  
Sản phẩm PM  
Quá trình PM  
Độ đo Dự đoán  
Độ đo ĐK  
Các quyết định QL  
SE-VI.15  
6. Độ đo chất lượng SP  
• Việc biểu diễn, đánh giá độ đo bằng các số liệu  
hơn là kinh nghiệm  
• Độ đo chất lượng thiết kế  
– tính liên kết  
– độ liên kết  
– thích hợp  
• Độ đ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  
SE-VI.16  
8
11/1/2011  
PHẦN VI:  
CÁC CHỦ ĐỀ NÂNG CAO  
I. Ước lượng chi phí phần mềm (SE Cost  
Estimation)  
II. Quản lý chất lượng (Quality Management)  
III. 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  
4. Mô hình thuần thục khả năng SEI  
5. Phân loại quy trình  
IV. Khác  
17  
Mở đầu  
• 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  
• 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  
• 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  
SE-VI.18  
9
11/1/2011  
Sơ đồ khái quát của  
Quá trình cải tiến quy trình  
Xác định  
các thay đổi  
Phân tích  
Xác định  
Hiệu chỉnh  
Quy trình  
Các cải tiến  
Các thay đổi  
Đào tạo  
đội ngũ  
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 đã Xác định thay đổi: Thiết lập các thủ tục,  
tồn tại, tạo ra mô hình quy trình để lập TL phương pháp, công cụ mới và tích hợp với  
và hiểu quy trình đó  
các cái đã tồn tại  
Đà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  
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  
SE-VI.19  
1. Chất lượng quy trình và sản phẩm  
• Xem chương trước  
20  
10  
11/1/2011  
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)  
• 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  
SE-VI.21  
Mô hình hoá (tiếp)  
• Các ký pháp dùng trong mô hình:  
– 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ó bóng mờ. Nó là đầu ra của 1 hoạt động  
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 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.22  
11  
11/1/2011  
3. Độ đo quy trì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).  
• Phân loại:  
– 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ố  
• 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)  
SE-VI.23  
4. Mô hình thuần thục khả năng (của  
SEI)  
• 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 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ể  
– l: 1 tổ có ó lề ả
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ủ  
SE-VI.24  
12  
11/1/2011  
Mô hình thuần thục khả năng SEI  
(tiếp)  
– 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 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  
5. Phân loại quy trình  
• 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:  
– Quy trình không hình thức : các quá trình mà mô hình  
không định nghĩa 1 cách chặt chẽ  
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  
– Quy trình cải tiến:  
SE-VI.26  
13  
11/1/2011  
PHẦN VI:  
CÁC CHỦ ĐỀ NÂNG CAO  
I.  
Ước lượng chi phí phần mềm (SE Cost  
Estimation)  
II. Quản lý chất lượng (Quality Management)  
III. Cải tiến quy trình (Process Improvement)  
IV. 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)  
7. CNHPM dựa trên máy tính (CASE)  
8. (Chi tiết xem trong các tài liệu)  
27  
Tái kỹ nghệ phần mềm  
(Software Re-engineering)  
• Dịch chuyển mã nguồn  
• Cấu trúc lại CT  
• Tái lập DL  
• Kỹ nghệ ngược  
28  
14  
11/1/2011  
Phát triển và tái kỹ nghệ  
Thiết kế và  
Cài đặt  
Đặc tả hệ thống  
Hệ thống mới  
Forward Engineering  
Hiểu và dịch  
Hệ thống  
chuyển  
Hệ thống  
được tái tạo  
đang tồn tại  
Hệ thống  
Software Re-engineering  
SE-VI.29  
15  
pdf 15 trang yennguyen 22320 Free
Bạn đang xem tài liệu "Bài giảng Công nghệ phần mềm - Phần VI: Các chủ đề nâng cao", để 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_cong_nghe_phan_mem_phan_vi_cac_chu_de_nang_cao.pdf