Bài giảng Nhập môn công nghệ phần mềm (Introduction to software engineering) - Một số chủ đề khác

• Ướ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)

• Quản lý chất lượng (Quality Management)

• Cải tiến quy trình (Process Improvement)

• Khác

Bài giảng Nhập môn công nghệ phần mềm (Introduction to software engineering) - Một số chủ đề khác trang 1

Trang 1

Bài giảng Nhập môn công nghệ phần mềm (Introduction to software engineering) - Một số chủ đề khác trang 2

Trang 2

Bài giảng Nhập môn công nghệ phần mềm (Introduction to software engineering) - Một số chủ đề khác trang 3

Trang 3

Bài giảng Nhập môn công nghệ phần mềm (Introduction to software engineering) - Một số chủ đề khác trang 4

Trang 4

Bài giảng Nhập môn công nghệ phần mềm (Introduction to software engineering) - Một số chủ đề khác trang 5

Trang 5

Bài giảng Nhập môn công nghệ phần mềm (Introduction to software engineering) - Một số chủ đề khác trang 6

Trang 6

Bài giảng Nhập môn công nghệ phần mềm (Introduction to software engineering) - Một số chủ đề khác trang 7

Trang 7

Bài giảng Nhập môn công nghệ phần mềm (Introduction to software engineering) - Một số chủ đề khác trang 8

Trang 8

Bài giảng Nhập môn công nghệ phần mềm (Introduction to software engineering) - Một số chủ đề khác trang 9

Trang 9

pdf 9 trang xuanhieu 9520
Bạn đang xem tài liệu "Bài giảng Nhập môn công nghệ phần mềm (Introduction to software engineering) - 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

Tóm tắt nội dung tài liệu: Bài giảng Nhập môn công nghệ phần mềm (Introduction to software engineering) - Một số chủ đề khác

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

File đính kèm:

  • pdfbai_giang_nhap_mon_cong_nghe_phan_mem_introduction_to_softwa.pdf