Bài giảng Công nghệ phần mềm - Phần VI: Các chủ đề nâng cao - Vũ Thị Hương Giang

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

 

Bài giảng Công nghệ phần mềm - Phần VI: Các chủ đề nâng cao - Vũ Thị Hương Giang trang 1

Trang 1

Bài giảng Công nghệ phần mềm - Phần VI: Các chủ đề nâng cao - Vũ Thị Hương Giang trang 2

Trang 2

Bài giảng Công nghệ phần mềm - Phần VI: Các chủ đề nâng cao - Vũ Thị Hương Giang trang 3

Trang 3

Bài giảng Công nghệ phần mềm - Phần VI: Các chủ đề nâng cao - Vũ Thị Hương Giang trang 4

Trang 4

Bài giảng Công nghệ phần mềm - Phần VI: Các chủ đề nâng cao - Vũ Thị Hương Giang trang 5

Trang 5

Bài giảng Công nghệ phần mềm - Phần VI: Các chủ đề nâng cao - Vũ Thị Hương Giang trang 6

Trang 6

Bài giảng Công nghệ phần mềm - Phần VI: Các chủ đề nâng cao - Vũ Thị Hương Giang trang 7

Trang 7

Bài giảng Công nghệ phần mềm - Phần VI: Các chủ đề nâng cao - Vũ Thị Hương Giang trang 8

Trang 8

Bài giảng Công nghệ phần mềm - Phần VI: Các chủ đề nâng cao - Vũ Thị Hương Giang trang 9

Trang 9

Bài giảng Công nghệ phần mềm - Phần VI: Các chủ đề nâng cao - Vũ Thị Hương Giang trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 15 trang xuanhieu 3900
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Công nghệ phần mềm - Phần VI: Các chủ đề nâng cao - Vũ Thị Hương Giang", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Công nghệ phần mềm - Phần VI: Các chủ đề nâng cao - Vũ Thị Hương Giang

Bài giảng Công nghệ phần mềm - Phần VI: Các chủ đề nâng cao - Vũ Thị Hương Giang
 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 
 thời gian ) 
 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 
 – M là hệ số phụ thuộc và quá trình, 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 
 với TDEV là tổng thời gian cần thiết cho một DA 
 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 
 • Đặc tả phần mềm luôn luôn không đầy đủ 
• 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 Phát triển KĐ chất lượng 
 Quá trình sản phẩm sản phẩm 
 K 
 Quá trình Chất lượng Quá trình 
 cải tiến chuẩn hoá 
 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 
 xem xét 
 đầy đủ 
 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 TL: Chuẩn để quản trị chính TL đó 
 – 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 
 Quá trình PM Sản phẩm PM 
 Độ đo ĐK Độ đo Dự đoán 
 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 
 – dễ hiểu 
 – 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 
 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 
 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 Lập Kế hoạch Mô hình 
 Phản hồi 
 Quy trình kế hoạch đào tạo xem xét lạ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 
Xác định cải tiến: sử dụng kết quả phân Đào tạo: không đào tạo quy trình sẽ thất 
tích để xác định chất lượng, lập lịch hay bại 
chi phí những pha gay cấn Hiệu chỉnh thay đổi: các thay đổi có tác 
 dụng ngay với HT 
 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 
 – 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 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ể 
 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ủ 
 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ẽ 
 – 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 
 – 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ệ 
 Đặc tả hệ thống Thiết kế và 
 Cài đặt Hệ thống mới 
 Forward Engineering 
 Hiểu và dịch 
 Hệ thống 
 chuyển Hệ thống 
 đang tồn tại 
 Hệ thống được tái tạo 
 Software Re-engineering 
 SE-VI.29 
 15 

File đính kèm:

  • pdfbai_giang_cong_nghe_phan_mem_phan_vi_cac_chu_de_nang_cao_vu.pdf