Bài giảng Nhập môn công nghệ phần mềm - Phần 6: Các chủ đề khác trong SE

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 )

Các kỹ thuật ước đoán (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

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

 

Bài giảng Nhập môn công nghệ phần mềm - Phần 6: Các chủ đề khác trong SE trang 1

Trang 1

Bài giảng Nhập môn công nghệ phần mềm - Phần 6: Các chủ đề khác trong SE trang 2

Trang 2

Bài giảng Nhập môn công nghệ phần mềm - Phần 6: Các chủ đề khác trong SE trang 3

Trang 3

Bài giảng Nhập môn công nghệ phần mềm - Phần 6: Các chủ đề khác trong SE trang 4

Trang 4

Bài giảng Nhập môn công nghệ phần mềm - Phần 6: Các chủ đề khác trong SE trang 5

Trang 5

Bài giảng Nhập môn công nghệ phần mềm - Phần 6: Các chủ đề khác trong SE trang 6

Trang 6

Bài giảng Nhập môn công nghệ phần mềm - Phần 6: Các chủ đề khác trong SE trang 7

Trang 7

Bài giảng Nhập môn công nghệ phần mềm - Phần 6: Các chủ đề khác trong SE trang 8

Trang 8

Bài giảng Nhập môn công nghệ phần mềm - Phần 6: Các chủ đề khác trong SE trang 9

Trang 9

Bài giảng Nhập môn công nghệ phần mềm - Phần 6: Các chủ đề khác trong SE trang 10

Trang 10

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

ppt 34 trang duykhanh 8820
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Nhập môn công nghệ phần mềm - Phần 6: Các chủ đề khác trong SE", để 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 - Phần 6: Các chủ đề khác trong SE

Bài giảng Nhập môn công nghệ phần mềm - Phần 6: Các chủ đề khác trong SE
Nhập môn  Công nghệ học Phần mềm  Introduction to Software Engineering 
Department of Software Engineering 
Faculty of Information Technology 
Hanoi University of Technology 
TEL : 04-8682595 FAX : 04-8692906 
Email : cnpm @ it - hut . edu . vn 
 HUT, Falt . of IT 
1 
 Dept. of SE, 2001 
Phần VI  Chương 11 Các chủ đề khác trong SE 
 ướ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 quá trình ( Process Improvement ) 
Các chủ đề tiên tiến khác ( Advanced topics ) 
 HUT, Falt . of IT 
2 
 Dept. of SE, 2001 
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 đoán ( 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 ) 
 HUT, Falt . of IT 
3 
 Dept. of SE, 2001 
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 ) 
 HUT, Falt . of IT 
4 
 Dept. of SE, 2001 
Các kỹ thuật ước đoán ( 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 
 HUT, Falt . of IT 
5 
 Dept. of SE, 2001 
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 1990 a ) 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 
 HUT, Falt . of IT 
6 
 Dept. of SE, 2001 
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 . 
1) 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 
Mô hình chi phí thuật toán ( tiếp ) 
 HUT, Falt . of IT 
7 
 Dept. of SE, 2001 
2) 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 . 
	 Nó có thể dùng kết hợp với mô hình COCOMO 
3 ) mô hình chi phí thuật toán trong lập kế hoạch dự án 
	- Có thể 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 . 
Mô hình chi phí thuật toán ( tiếp ) 
 HUT, Falt . of IT 
8 
 Dept. of SE, 2001 
(1) Chi phí phần cứng của HT 
(2) Chi phí phương tiện , thiết bị ( máy tính , phần mềm ) trong phát triển HT 
(3) 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) 
 HUT, Falt . of IT 
9 
 Dept. of SE, 2001 
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 
 HUT, Falt . of IT 
10 
 Dept. of SE, 2001 
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 
 HUT, Falt . of IT 
11 
 Dept. of SE, 2001 
Đả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 
 HUT, Falt . of IT 
12 
 Dept. of SE, 2001 
Đả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 
Quá trình 
cải tiến 
Chất lượng 
 Quá trình 
chuẩn hoá 
C 
K 
Chất lượng dựa vào quá trình 
 HUT, Falt . of IT 
13 
 Dept. of SE, 2001 
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 
 HUT, Falt . of IT 
14 
 Dept. of SE, 2001 
Xem xét lại chất lượng ( tiếp ) 
Lựa chọn đội ngũ 
Sắp xếp vị trí 
 và thời gian 
Phân bố tài liệu 
 Xem xét 
xem xét 
đầy đủ 
 HUT, Falt . of IT 
15 
 Dept. of SE, 2001 
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 
 HUT, Falt . of IT 
16 
 Dept. of SE, 2001 
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 
 HUT, Falt . of IT 
17 
 Dept. of SE, 2001 
Độ đ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 
 HUT, Falt . of IT 
18 
 Dept. of SE, 2001 
Độ đ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 TK ( xem chất lượng TK trong phần IV : tính liên kết , độ liên kết , dễ hiểu và thích hợp ) 
Độ đo chất lượng CT : chiều dài mã , độ phức tạp , mức lồng điều kiện , . . . 
 HUT, Falt . of IT 
19 
 Dept. of SE, 2001 
III . Cải tiến Quy trình  ( Process Improvement ) 
Chất lượng quy trình và sản phẩm 
Mô hình hoá và phân tích quy trình 
Độ đo 
Mô hình thuần thục khả năng SEI 
Phân loại quy trình 
 HUT, Falt . of IT 
20 
 Dept. of SE, 2001 
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 đó 
Quá trình 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 
 HUT, Falt . of IT 
21 
 Dept. of SE, 2001 
Sơ đồ khái quát của  Quá trình cải tiến quy trình 
Phân tích 
Quy trình 
Xác định 
Các cải tiến 
Xác định 
các thay đổi 
Đào tạo 
đội ngũ 
Hiệu chỉnh 
Các thay đổi 
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 
 HUT, Falt . of IT 
22 
 Dept. of SE, 2001 
Quá trình cải tiến quy trình ( tiếp ) 
Phân tích quy trình : xem xét quy trình đã tồn tại , tạo ra mô hình quy trình để lập TL và hiểu quy trình đó 
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 
Xác định thay đổi : Thiết lập các thủ tục , phương pháp , công cụ mới và tích hợp với 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 
 HUT, Falt . of IT 
23 
 Dept. of SE, 2001 
Xem chương trước 
Chất lượng quy trình và sản phẩm 
 HUT, Falt . of IT 
24 
 Dept. of SE, 2001 
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 
 HUT, Falt . of IT 
25 
 Dept. of SE, 2001 
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 
 HUT, Falt . of IT 
26 
 Dept. of SE, 2001 
Mô hình hoá ( tiếp ) 
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 bởi 
 Trao đổi thông tin giữa con người với nhau hay với HT 
 HUT, Falt . of IT 
27 
 Dept. of SE, 2001 
Độ đ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 ) 
 HUT, Falt . of IT 
28 
 Dept. of SE, 2001 
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ủ 
 HUT, Falt . of IT 
29 
 Dept. of SE, 2001 
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 
 HUT, Falt . of IT 
30 
 Dept. of SE, 2001 
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 : 
 HUT, Falt . of IT 
31 
 Dept. of SE, 2001 
IV . Các chủ đề tiên tiến khác 
Phương pháp hình thức ( Formal methods ) 
Công nghệ học phần mềm phòng sạch ( Cleanroom SE ) 
CNHPM hướng thành phần ( CBSE ) 
CNHPM khách / chủ ( Client / Server SE ) 
Kỹ nghệ Web ( Web Engineering ) 
Tái kỹ nghệ ( Re - engineering ) 
CNHPM dựa trên máy tính ( CASE ) 
( Chi tiết xem trong các tài liệu ) 
 HUT, Falt . of IT 
32 
 Dept. of SE, 2001 
Dịch chuyển mã nguồn 
Cấu trúc lại CT 
Tái lập DL 
Kỹ nghệ ngược 
Tái kỹ nghệ phần mềm 
( Software Re - engineering ) 
 HUT, Falt . of IT 
33 
 Dept. of SE, 2001 
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 
Hệ thống 
đang tồn tại 
Hiểu và dịch 
 chuyển 
Hệ thống 
Hệ thống 
được tái tạo 
Software Re - engineering 
 HUT, Falt . of IT 
34 
 Dept. of SE, 2001 

File đính kèm:

  • pptbai_giang_nhap_mon_cong_nghe_phan_mem_phan_6_cac_chu_de_khac.ppt