Bài giảng Nhập môn Công nghệ học Phần mềm (Introduction to Software Engineering) - Phần 6, Chương 11: Các chủ đề khác trong SE

Phần VI  
Chương 11  
Các chủ đề khác trong SE  
Nhập môn  
Công nghệ học Phần mềm  
Introduction to Software Engineering  
• ước lượng chi phí phần mềm (SE Cost  
Estimation)  
Department of Software Engineering  
Faculty of Information Technology  
Hanoi University of Technology  
TEL: 04-8682595 FAX: 04-8692906  
Email: cnpm@it-hut.edu.vn  
• 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  
Dept. of SE, 2001  
SE-VI.1  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.2  
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)  
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 )  
4) Nhân lực và thời gian dự án (Project duration  
and staffing)  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.3  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.4  
Các kỹ thuật ước đoán (Estimation  
Techniques)  
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:  
• 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  
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  
• 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  
Dept. of SE, 2001  
SE-VI.5  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.6  
1
Mô hình chi phí thuật toán (tiếp)  
Mô hình chi phí thuật toán (tiếp)  
Chú ý: - Rất khó dự đoán PM vào giai đoạn đầu  
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  
- 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  
- 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.  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.7  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.8  
Nhân lực và thời gian dự án (Project  
duration and staffing)  
(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  
• Mô hình COCOMO cũng dự đoán lịch cho  
một DA trọn vẹn:  
(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)  
- 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  
Dept. of SE, 2001  
SE-VI.9  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.10  
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  
Đả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  
5) Độ đo phần mềm  
6) Độ đo chất lượng sản phẩm  
. 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  
Dept. of SE, 2001  
SE-VI.11  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.12  
2
Xem xét lại chất lượng  
Đảm bảo chất lượng quy trình(tiếp)  
•
•
Là phương pháp chính để khẳng định chất  
lượng của quá trình sản xuất  
Định nghĩa  
Quá trình  
Phát triển  
sản phẩm  
KĐ chất lượng  
sản phẩm  
3 kiểu xem xét:  
- Thanh tra thiết kế hay chương trình  
- Xem xét tiến triển  
K
Quá trình  
cải tiến  
Quá trình  
chuẩn hoá  
- Xem xét chất lượng  
Chất lượng  
C
Chất lượng dựa vào quá trình  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.13  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.14  
Các chuẩn phần mềm  
Xem xét lại chất lượng (tiếp)  
• Vai trò quan trọng của ĐBCLPM là chuẩn  
hoá các sản phẩm và quá trình  
xem xét  
đầy đủ  
Lựa chọn đội ngũ  
• Tầm quan trọng:  
. Cung cấp SP tương ứng và thực tế  
Xem xét  
Sắp xếp vị trí  
và thời gian  
. 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  
Phân bố tài liệu  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.15  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.16  
Độ đo phần mềm (Software Metric)  
Các chuẩn tài liệu  
• Độ đ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  
• 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:  
• Hai lớp độ đo: Độ đo ĐK và độ đo dự đoán  
– 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  
Sản phẩm PM  
Quá trình PM  
– Chuẩn TL: Chuẩn để quản trị chính TL đó  
Độ đo Dự đoán  
– Chuẩn trao đổi TL: Dùng trong trao đổi qua E-  
mail, copy hay lưu trữ trong CSDL  
Độ đo ĐK  
Các quyết định QL  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.17  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.18  
3
III. Cải tiến Quy trình  
(Process Improvement)  
Độ đ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  
• 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  
• Độ đ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, . . .  
• Mô hình thuần thục khả năng SEI  
• Phân loại quy trình  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.19  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.20  
Sơ đồ khái quát của  
Quá trình cải tiến quy trì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  
Xác định  
các thay đổi  
• 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 đó  
Hiệu chỉnh  
Các thay đổi  
Xác định  
Các cải tiến  
Phân tích  
Quy trình  
Đào tạo  
đội ngũ  
• 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  
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  
Dept. of SE, 2001  
SE-VI.21  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.22  
Quá trình cải tiến quy trình (tiếp)  
Chất lượng quy trình và  
• 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  
sản phẩm  
• Xem chương trước  
• 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  
Dept. of SE, 2001  
SE-VI.23  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.24  
4
Mô hình hoá (tiếp)  
Mô hình hoá và phân tích quy trình  
Các ký pháp dùng trong mô hì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)  
. 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  
• 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  
Dept. of SE, 2001  
SE-VI.25  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.26  
Mô hình hoá (tiếp)  
Độ đ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).  
. 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  
• 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  
Dept. of SE, 2001  
SE-VI.27  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.28  
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 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  
.
.
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  
Dept. of SE, 2001  
SE-VI.29  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.30  
5
Phân loại quy trình  
IV. Các chủ đề tiên tiến khác  
• 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:  
• 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)  
. 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  
• 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)  
. Quy trình cải tiến:  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.31  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.32  
Tái kỹ nghệ phần mềm  
Phát triển và tái kỹ nghệ  
(Software Re-engineering)  
Thiết kế và  
Cài đặt  
Đặc tả hệ thống  
• Dịch chuyển mã nguồn  
• Cấu trúc lại CT  
• Tái lập DL  
Hệ thống mới  
Forward Engineering  
Hiểu và dịch  
chuyển  
Hệ thống  
• Kỹ nghệ ngược  
Hệ thống  
đang tồn tại  
Hệ thống  
được tái tạo  
Software Re-engineering  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.33  
HUT, Falt. of IT  
Dept. of SE, 2001  
SE-VI.34  
6
pdf 6 trang baolam 19880 Free
Bạn đang xem tài liệu "Bài giảng Nhập môn Công nghệ học Phần mềm (Introduction to Software Engineering) - Phần 6, Chương 11: 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

File đính kèm:

  • pdfbai_giang_nhap_mon_cong_nghe_hoc_phan_mem_introduction_to_so.pdf