1CNPM/NN
CÔNG NGHỆ PHẦN MỀM
Chương 9
Quản lý chất lượng phần mềm
MÔN HỌC
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM
2CNPM/NN
QuQuảản lý chn lý chấất lưt lượợng phng phầần mn mềềmm
9.1 Quản lý Dự án?9.2 Các nhóm phần mềm (SUB-Team)9.3 Chất lượng đo lường và độ đo phần mềm (metric)9.4 Tiêu chuẩn
3CNPM/NN
9.1 Qu9.1 Quảản lý Dn lý Dựự áán?n?
Quản lý Dự án là gì?Quản lý dự án là “ứng dụng kiến thức, kỹ năng, công cụvà kỹ thuật vào các hoạt động dự án để thỏa mãn các yêu cầu của dự án.” Người quản lý dự án (Project manager - PM)
4CNPM/NN
BBộộ ba rba rààng bung buộộc cc củủa QTDA a QTDA
5CNPM/NN
BBộộ ba rba rààng bung buộộc c
3 mục tiêuMục tiêu về phạm vi (Scope): Dự án tìm cách đạt được cái gì?Các mục tiêu về thời gian (time): Dự án mất bao lâu mới hoàn tất?Các mục tiêu về chi phí (cost): Sẽ tốn kém bao nhiêu?
Nhiệm vụ của người quản lý dự án là phải cân đối những mục tiêu thường hay xung đột này.
6CNPM/NN
Khung lKhung lààm vim việệc cc củủa QLDAa QLDA
7CNPM/NN
9 mi9 miềền trong QLDAn trong QLDA
4 chức năng lõi:QL Phạm vi. Xác định và Quản lý tất cả các công việc được thực hiện trong dự án.
QL Thời gian. QL Chi phí.QL Chất lượng.
4 chức năng hỗ trợ:QL Nguồn nhân lực.QL Truyền thông.QL Rủi ro.QL Mua sắm trang thiết bị.
1 lãnh vực tích hợp tác động và bị tác động bởi tất cả các lãnh vực ở trên
8CNPM/NN
CCÁÁC QUI TRÌNH QL DC QUI TRÌNH QL DỰỰ ÁÁNN
Khởi động DA.Lập Kế hoạch DA.Thực thi DA.Kiểm soát & Điều khiển.Kết thúc.
9CNPM/NN
QuQuảản lý dn lý dựự áánn
Dự đoán quy mô và độ phức tạp của dự ánXác định các team cần thiết cho hiện thực dự ánXác định kế hoạch, dự đoán thời gian hoàn thành dự ánXác định các tài nguyên cần thiết cho dự án bao gồm phần mềm, phần cứng, con người ...Tính toán chi phí xây dựng dự ánXây dựng lịch biểu thực hiện dự ánThực hiện các công việc quản lý trong thời gian thực hiện dự án để bảo đảm đúng kế hoạch đã đề ra.
10CNPM/NN
CCáác công vic công việệc cc củủa qua quảản lý dn lý dựự áánn
Quản trị nhân sự: phân công, quản lý công việc,..Phân bổ các tài nguyên của hệ thống theo kế hoạchĐiều phối nhân sự trong công ty và bên ngoàiXử lý các phát sinh về thời gian biểuQuản lý các thay đổi yêu cầu của dự ánGiải quyết các sự cố ngoài kế hoạch: máy móc hư hỏng, nhân sự thay đổi,..Báo cáo cho lãnh đạo về dự ánGiao tiếp với khách hàngHuấn luyện nhân viên
11CNPM/NN
Size of ProjectSize of Project
Máy tính cần cho phát triểnCác phần mềm cơ bản như compilerPhương thức giao tiếp giữa các bộ phậnCASE ToolsCác gói phần mềm mà hệ thống cần liên kết, tương tác.Máy tính cho tesingMáy tính cho trainning
Các công cụ cho DocumentationThiết bị copy, lưu trữCông nghệ sử dụngLập trình viênKiểm tra viênQuản lýNhà thiết kếCác nhân sự khác……….
ƯƯớớc lưc lượợng dng dựự áánn
Ước lượng điều gì?Quy mô của sản phẩm sẽ được phát triểnCác yêu cầu, resource cần thiết để có thể phát triển sản phẩm thành công
Để phát triển sản phẩm cần biết nhiều thông tin
12CNPM/NN
Milestone vMilestone vàà DeliverableDeliverable
Các hoạt động phải được tổ chức thực hiện để tạo ra những output hiện thực nhằm đánh giá diễn tiếnNhững mốc thời gian (Milestone) là thời điểm cuối của một hoạt động xử lý thường đưa ra một sản phẩm công tác (work product)Thành quả chuyển giao (Deliverable) là thành quả của dựán mà phân phối cho khách hàngTiến trình thác nước cho phép xác định nhanh những mốc tiến trình
13CNPM/NN
MMạạng hong hoạạt đt độộngng
start
T2
M3T6
Finish
T10
M7T5
T7
M2T4
M5
T8
4/7/99
8 days
14/7/99 15 days
4/8/99
15 days
25/8/99
7 days
5/9/99
10 days
19/9/99
15 days
11/8/99
25 days
10 days
20 days
5 days25/7/99
15 days
25/7/99
18/7/99
10 days
T1
M1 T3T9
M6
T11
M8
T12
M4
Critical path
Đường giới hạn
14CNPM/NN
Phân bPhân bổổ nhân snhân sựự
4/7 11/7 18/7 25/ 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9
T4
T8 T11
T12
T1
T3
T9
T2
T6 T10
T7
T5
Fred
Jane
Anne
Mary
Jim
15CNPM/NN
Cây quyCây quyếết đt địịnhnh
16CNPM/NN
XXáác đc địịnh rnh rủủi roi ro1. Rủi ro về kỹ thuật2. Rủi ro về con người3. Rủi ro về tổ chức4. Rủi ro về công cụ5. Rủi ro về yêu cầu6. Rủi ro về việc ước lượng
17CNPM/NN
NhNhậận din diệện rn rủủi roi ro
Kỹ thuật: phần cứng và phần mềm hỗ trợ giao trễ, nhiều báo cáo về vấn đề về kỹ thuậtCon người: tinh thần nhân viên thấp, quan hệ tình cảm của các thành viên không tốt, tính sẵn sàng của công việcVề tổ chức: thiếu sự quản lý, những đồn đoán trong tổchứcCông cụ: những phàn nàn về công cụ, những yêu cầu vềtrạm làm việc mạnh, không thoải mái trong sử dụng công cụYêu cầu: khách hàng phàn nàn, nhiều đòi hỏi về việc thay đổi yêu cầuƯớc lượng: không đáp ứng về lịch biểu
18CNPM/NN
QuQuáá trtrìình qunh quảản lý rn lý rủủi roi ro
Risk avoidanceand contingency
plans
Risk planning
Prioritised risklist
Risk analysis
ist of potentialrisks
Riskidentification
Riskassessment
Riskmonitoring
19CNPM/NN
ChChứứng chng chỉỉ PMPPMP
PMI (Project Management Institute -www.pmi.org) cung cấp chứng chỉ PMP (Project management professional)PMP để chứng nhận một người có đủ kinh nghiệm về dựán, tuân theo các chuẩn mực của PMI và thi đậu kỳ thi PMPSố người có bằng PMP ngày càng tăng.
20CNPM/NN
NhNhóóm phm phầần mn mềềmm
How to lead?
How to organize?
How to collaborate?
How to motivate (thúc đẩy)? How to create good ideas?
21CNPM/NN
Project 2
Project 1
9.2 C9.2 Cáác nhc nhóóm phm phầần mn mềềm (SUBm (SUB--Team)Team)
Nhóm làm việc (Teamwork) làmô hình hiện tại cho hầu hết các dự án phần mềm:
Khả năng chuyên nghiệp hóa caoHiệu quả trong quản lý, giao tiếp và điều hành
Một Nhóm dự án phần mềm được tạo ra từ nhiều sub-team
Các sub-team không nhất thiết là một nhóm người mà có thể là 1 ngườiCác sub - team không nhất thiết tồn tại suốt quátrình của một dự án phần mềm
Team1
Team2
Team3
Team4
Team5
Team6
Project 3
Công ty phần mềm
22CNPM/NN
CCáác Subc Sub--TeamTeam
System analysisPlanning TeamRequirements TeamSystem Design TeamImplementation TeamTesing & Intergration TeamTraining TeamDelivery & Installation TeamMaintenance TeamQuality Assurance TeamMetrics TeamDocumentation TeamSystem Administration TeamReuse & Reengineering Team
Vai trò nhiệm vụcủa các
SUB Team
23CNPM/NN
CCáác Subc Sub--TeamTeam
System analysisPlanning TeamRequirements TeamSystem Design TeamImplementation TeamTesing & Intergration TeamTraining TeamDelivery & Installation TeamMaintenance TeamQuality Assurance TeamMetrics TeamDocumentation TeamSystem Administration TeamReuse & Reengineering Team
Maintenance Team Maintenance Team Bảo trì hệ thống sau khi chuyển giao và cài đặt• Cập nhật sửa chữa• Nâng cấp mở rộngCộng tác chặt chẻ với nhóm thực thi (implementation) đểthực hiện việc bảo trì
24CNPM/NN
CCáác Subc Sub--TeamTeam
System analysisPlanning TeamRequirements TeamSystem Design TeamImplementation TeamTesing & Intergration TeamTraining TeamDelivery & Installation TeamMaintenance TeamQuality Assurance TeamMetrics TeamDocumentation TeamSystem Administration TeamReuse & Reengineering Team
Quality Assurance TeamQuality Assurance TeamNhóm này có 2 nhiệm vụ1. Thiết lập các tiêu chuẩn cho các
quá trình sản xuất cũng như tiêu chuẩn thực hiện của sản phẩm phần mềm
2. Cung cấp các cơ chế kiểm tra, kiểm soát nhằm đánh giá khả năng thỏa mãn các tiêu chuẩn tương ứng của các nhóm làm việc.
Các tiêu chuẩn này dùng trong nội bộvà không chia sẻ với khách hàng.
Các tiêu chuẩn có thể được công bốkhi cần thiết, vì vậy cần được lưu trữ và báo cáo cho người quản lý dự án để làm việc với bộ phận QA
25CNPM/NN
CCáác Subc Sub--TeamTeam
System analysisPlanning TeamRequirements TeamSystem Design TeamImplementation TeamTesing & Intergration TeamTraining TeamDelivery & Installation TeamMaintenance TeamQuality Assurance TeamMetrics TeamDocumentation TeamSystem Administration TeamReuse & Reengineering Team
Metrics TeamMetrics TeamLàm việc với các độ đo, lưu trữ các thông tin thống kê về các hoạt động của các Team trong dự án.• Số lượng các yêu cầu bảo trì• Số lượt thực hiện dịch vụ bảo trì• Số dòng code được viết• Thời gian thực hiện từng công việcNhóm này làm việc với hầu hết các nhóm để cung cấp báo cáo về chất lượng, hiệu quả, đồng thời phản hồi cho các nhóm liên quan về hiệu quả công việc.
26CNPM/NN
CCáác Subc Sub--TeamTeam
System analysisPlanning TeamRequirements TeamSystem Design TeamImplementation TeamTesing & Intergration TeamTraining TeamDelivery & Installation TeamMaintenance TeamQuality Assurance TeamMetrics TeamDocumentation TeamSystem Administration TeamReuse & Reengineering Team
Documentation TeamDocumentation TeamNhóm này thực hiện các hoạt động thiết lập các tài liệu cho hệ thống
• Tài liệu về phân tích, thiết kế, hiện thực, source code,..
• Tài liệu hỗ trợ : sổ tay hướng dẫn, tài liệu hỗ trợ…
27CNPM/NN
CCáác Subc Sub--TeamTeam
System analysisPlanning TeamRequirements TeamSystem Design TeamImplementation TeamTesing & Intergration TeamTraining TeamDelivery & Installation TeamMaintenance TeamQuality Assurance TeamMetrics TeamDocumentation TeamSystem Administration TeamReuse & Reengineering Team
Reuse & Reengineering Reuse & Reengineering TeamTeam
• Chọn lựa và quyết định việc sử dụng lại các thành phần đã có
• Việc tài kỹ nghệ(reengineering) cũng cần thiết khi mà việc phát triển đòi hỏi phải dùng đến các mã cũ trong khi công nghệ đã thay đổi.
28CNPM/NN
9.3 Ch9.3 Chấất lưt lượợng đo lưng đo lườờng vng vàà đ độộ đo ph đo phầần mn mềềmm
Chất lượng:Chất lượng là toàn bộ các đặc tính của 1 thực thể liên quan đến việc thỏa mãn những nhu cầu rõ ràng hay ngầm định (ISO 8042:1992)
29CNPM/NN
CCáác tc tầầng trong công nghng trong công nghệệ phphầần mn mềềmm
Software Engineering
a a ““qualityquality”” focusfocus
process modelprocess model
methodsmethods
toolstools
30CNPM/NN
ChChấất lưt lượợng sng sảản phn phẩẩmm
31CNPM/NN
ChChấất lưt lượợng vng vàà StakeholderStakeholder
QUALITY SOFTWARE
Developer:easy to design; easy to maintain; easy to reuse its parts
User: easy to learn; efficient to use; helps get work done
Customer:solves problems at an acceptable cost in terms of money paid and resources used
Development manager:sells more and pleases customers while costing less to develop and maintain
32CNPM/NN
NhNhữững yêu cng yêu cầầu đu đốối vi vớới phi phầần mn mềềm m
Phần mềm phải đáp ứng yêu cầu về chât lượngKhả năng bảo trì (Maintainability): phần mềm có thể duy trìhoạt động, có thể điều chỉnh và mở rộng để thoả mãn những yêu cầu luôn thay đổi. Mức độ tin cậy (Reliability-Dependability): phần mềm phải được tin cậy, bảo mật và chính xác.Hiệu quả (efficiency): phần mềm không nên sử dụng lãng phí tài nguyên của hệ thống. Khả năng được chấp nhận (acceptability-Usability): người sử dụng phải chấp nhận phần mềm. Điều đó có nghĩa là nóphải dễ hiểu, sử dụng được và tương thích với các hệthống khác.
33CNPM/NN
VVấấn đn đềề vvềề chchấất lưt lượợngng
Chất lượng, đơn giản là sản phẩm phải thỏa mãn các đặc tả của nóNhững vấn đề có tính hệ thống
Có sự không thống nhất giữa yêu cầu về chất lượng của khách hàng (efficiency, reliability, etc.) và yêu cầu về chất lượng của người phát triển (maintainability, reusability, etc.);Vài yêu cầu về chất lượng thì khó chỉ ra một cách rõ ràngNhững đặc tả yêu cầu thì thường không đầy đủ vàkhông toàn vẹn
34CNPM/NN
FormalTechnicalReviews
Test Planning& Review
Measurement
Analysis&
Reporting
ProcessDefinition &Standards
BBảảo đo đảảm chm chấất lưt lượợngng
35CNPM/NN
cost to findcost to findand fix a defectand fix a defect
100100
1010
loglogscalescale
11
Req.Req.DesignDesign
codecodetesttest
systemsystemtesttest
fieldfielduseuse
0.750.75 1.001.001.501.50
3.003.00
10.0010.00
60.0060.00--100.00100.00
TTạại sao phi sao phảải phi pháát hit hiệện sn sớớm lm lỗỗi?i?
36CNPM/NN
QuQuảản lý chn lý chấất lưt lượợngng
Chất lượng sản phẩm là nhân tố vô cùng quan trọng, đội dự án cần phải điều chỉnh scope (phạm vi), time và cost để thỏa mãn yêu cầu chất lượngCần phải tách Quản lý chất lượng và Quản lý dự ánNhiều dự án thất bại vì đội dự án chỉ tập trung vào việc đáp ứng các yêu cầu chính của sản phẩm màkhông chú ý tới những yêu cầu ngầm định, những mong đợi của khách hàng
37CNPM/NN
PhPhạạm vi cm vi củủa qua quảản lý chn lý chấất lưt lượợngng
Quản lý chất lượng rất quan trọng trong những hệ thống lớn, phức tạp. Tài liệu về chất lượng ghi nhận diễn tiến và hỗ trợ sự liên tục trong phát triển khi có những thay đổi về nhóm phát triểnĐối với hệ thống nhỏ, quản lý chất lượng cần phải ít tài liệu và tập trung vào việc thiết lập văn hóa chất lượng
38CNPM/NN
Ai lAi làà ngư ngườời chi chịịu tru tráách nhich nhiệệm m
Người quản lý dự ánBộ phận quản lý chất lượng Các kỹ sư và các nhóm kiểm thửCần có sự đóng góp của khách hàng người bán hàng
39CNPM/NN
Qui trQui trììnhnh
Lập kế Hoạch chất lượng: nhận biết được tiêu chuẩn chất lượng nào có liên quan tới dự án và làm thế nào đểthỏa mãn những tiêu chuẩn đóBảo đảm chất lượng: đánh giá toàn bộ việc thực hiện dự án để chắc chắn dự án sẽ thoả mãn những vấn đềliên quan tới tiêu chuẩn chất lượngKiểm tra chất lượng: kiểm tra chi tiết những kết quả đặc trưng của dự án để chắc chắn rằng chúng đã tuân thủnhững tiêu chuẩn chất lượng có liên quan cùng với những cách thức để cải tiến chất lượng tổng thể
40CNPM/NN
ReviewReview
reviewreviewleaderleader
producerproducer
recorderrecorder reviewerreviewer
standards bearer (SQA)standards bearer (SQA)
maintenance maintenance oracleoracle
user repuser rep
41CNPM/NN
ProductProduct& Process& Process
measurement
... an understanding of how to improve quality ...
Collect information on all defectsFind the causes of the defectsMove to provide fixes for the process
SQA thSQA thốốngkêngkê
42CNPM/NN
Nguyên lý paretoNguyên lý pareto
43CNPM/NN
Đo lưĐo lườờng vng vàà đ độộ đo ph đo phầần mn mềềm (metric)m (metric)
44CNPM/NN
Đo lưĐo lườờng (measure)ng (measure)Đo lường nhằm đưa ra một giá trị cụ thể cho một thuộc tính của sản phẩm hay qui trình phần mềmNó cho phép so sánh khách quan một số đối tượngViệc đo lường phần mềm có hệ thống chưa được phổbiến Có một số tiêu chuẩn được đưa ra về lãnh vực này
45CNPM/NN
ĐĐộộ đo ph đo phầần mn mềềm (metric)m (metric)
Loại đo lường bất kỳ nào liên quan tới hệ thống phần mềm, qui trình, tài liệu liên quan
Dòng code, năng suất, mật độ lỗiCho phép phần mềm và quy trình phần mềm được định lượngĐược dùng để tiên đoán về sản phẩm và qui trìnhĐể tính toán, ước lượng các thông số liên quan đến phần mềm trong mỗi giai đoạn cũng như toàn bộ dự ánƯớc lượng giá thành, đánh giá chất lượng phần mềm, chất lượng của một qui trình sản xuất phần mềm, để cải tiến chất lượng phần mềm
46CNPM/NN
NhNhữững thung thuộộc tc tíính bên trong vnh bên trong vàà bên ngobên ngoààii
47CNPM/NN
Chúng ta thường đo lường những thuộc tính bên trong nhưng quan tâm nhiều đến thuộc tính bên ngoàiKhó liên hệ giữa thuộc tính có thể đo lường và những thuộc tính chất lượng bên ngoài mong muốn
ThuThuộộc tc tíính bên trong vnh bên trong vàà bên ngobên ngoààii
48CNPM/NN
ĐĐộộ đo Năng su đo Năng suấất st sảản xun xuấất pht phầần mn mềềmm
Cách tính
Gồm có 2 loại:Độ đo năng suất sản xuất phần mềm hướng kích thướcĐộ đo năng suất sản xuất phần mềm hướng chức năng
vieäc laøm giôø SoáphaåmsaûnvòñônSoá
=Naêngsuaát
49CNPM/NN
ĐĐộộ đo hư đo hướớng kng kíích thưch thướớccĐơn vị tính: LOC/pm hay KLOC/pm
Số dòng mã nguồn: LOC (Line Of Code), KLOCThời gian thực hiện: qui về tháng (month).Số người tham gia: person.Đơn vị pm (người tháng: person month).
Cách đếm: số card, đếm các lệnh có thể thực thi, hoặc đếm các lệnh thực thi và các lệnh khai báo dữ liệu, hoặc đếm các dòng khác trống…
ThôøigiangiathamngöôøiSoá *coäng toångnguoànmaõdoøng Soá
50CNPM/NN
ĐĐộộ đo hư đo hướớng chng chứức năng c năng
Đơn vị đo: FP/pm (Trong đó FP: Function Point).
Gồm 4 bướcBước 1. Xác định các đại lượng Bước 2. Tính tổng Bước 3. Tính các giá trị hiệu chỉnh độ phức tạp Bước 4. Tính số điểm chức năng
thaùngngöôøiSoánaêngchöùcñieåmSoásxpmsuaát naêng ño Ñoä =
51CNPM/NN
BưBướớc 1: Tc 1: Tíính cnh cáác đc đạại lưi lượợngng
1. Số chức năng nhập liệu c1 (chú ý phân biệt với c3).2. Số chức năng xuất dữ liệu c2 (báo biểu, màn hình xuất,
thông báo lỗi).3. Số chức năng truy vấn dữ liệu c3.4. Số tập tin dữ liệu c4 (số bảng, số lớp).5. Số các giao tiếp với hệ thống khác c5.
52CNPM/NN
BưBướớc 2: Tc 2: Tíính tnh tổổng ng
Wi Đơn giản Trung bình
Phức tạp
W1 3 4 6W2 4 5 7W3 3 4 6W4 7 10 15W5 5 7 10
∑=
=Δ5
1iii wc ]15,3[∈iW
53CNPM/NN
BưBướớc 3: Gic 3: Giáá trtrịị hihiệệu chu chỉỉnhnh
Tính các giá trị hiệu chỉnh độ phức tạp Fi(i=1, 2,… , 14) nhờ vào trả lời 14 câu hỏi và cho điểm từ 0 đến 5 tương ứng với các mức độ: không có, ít, vừa phải, trung bình, đáng chú ý, thật sự cần thiết.
54CNPM/NN
BưBướớc 3: Gic 3: Giáá trtrịị hihiệệu chu chỉỉnh (tt)nh (tt)
1. Hệ thống đòi hỏi phải bảo đảm an toàn về việc cập nhật và cứu dữ liệu hay không?
2. Đòi hỏi việc truyền thông hay không? 3. Có các chức năng xử lý phân bố hay không? 4. Vấn đề tốc độ có quan trọng hay không? 5. Hệ thống sẽ hoạt động trên một môi trường có sẵn
nặng nề không? 6. Có đòi hỏi nhập dữ liệu trực tuyến hay không? 7. Dữ liệu nhập trực tuyến (nếu có) có đòi hỏi giao dịch
(transaction) hay không (do có nhiều màn hình nhập hay nhiều thao tác đồng thời)?
55CNPM/NN
BưBướớc 3: Gic 3: Giáá trtrịị hihiệệu chu chỉỉnh (tt)nh (tt)8. Dữ liệu lưu trữ được cập nhật trực tuyến?9. Có yêu cầu các thao tác nhập xuất hay các câu truy
vấn phức tạp không? 10. Xử lý bên trong có phức tạp không? 11. Mã nguồn có cần thiết kế để có thể dùng lại không? 12. Sự chuyển đổi dữ liệu và cài đặt hệ thống có được bao
gồm trong thiết kế không? 13. Hệ thống có được thiết kế để cài đặt cho nhiều tổ chức
khác nhau không? 14. Hệ thống có được thiết kế để dễ dàng thay đổi và dễ
dàng sử dụng bởi người dùng không?
56CNPM/NN
TTíính snh sốố đi điểểm chm chứức năng c năng
)*01.065.0(*14
1∑=
+Δ=i
iFFP
57CNPM/NN
Đ Độộ Đo Ch Đo Chấất lưt lượợng ng ((ĐĐCLĐĐCL))
Các độ đo nầy được chia thành 3 nhómĐộ đo chất lượng sản phẩm cuốiĐộ đo chất lượng qui trình Độ đo chất lượng của quá trình bảo trì
58CNPM/NN
ĐĐCLĐĐCL: : ĐĐộộ đo CLSP cu đo CLSP cuốối i ((ĐĐCLSPCĐĐCLSPC))
Chất lượng sản phấm cuối bị chi phốiChất lượng phần mềm về mặt bản chất.Sự thỏa mãn của khách hàng đối với phần mềm.
Các loại độ đo thường dùng:Mật độ lỗi (Defect density): Thường dùng cho các phần mềm thương mại.Các vấn đề liên quan đến khách hàng.Sự thỏa mãn của khách hàng.
59CNPM/NN
SSựự liên quan giliên quan giữữa 3a 3 đ độộ đo đo
Söï thoûa maõncuûa khaùch haøng
Caùc vaán ñeà lieânquan khaùch haøng
Maät ñoä loãi
60CNPM/NN
ĐĐCLSPCĐĐCLSPC:: Đ Độộ đo m đo mậật đt độộ llỗỗii
Kích thước 50KLOC.Tổng số lỗi 100 lỗi.Mật độ lỗi 2 lỗi/KLOC.
61CNPM/NN
ĐĐCLSPCĐĐCLSPC:: Đ Độộ đo s đo sựự ccốố liên quan tliên quan tớới khi kháách hch hààngng
Các lỗi thực sự (do khuyết điểm của bản thân phần mềm).Các lỗi giả:
Khách hàng hiểu sai thông tin hay tài liệu.Các lỗi thực sự nhưng bị trùng lặp (đã được phản ảnh bởi một số khách hàng, có thể đã có phương án khắc phục nhưng các khách hàng khác chưa biết).Các vấn đề do khách hàng sử dụng phần mềm không đúng cách.Các lỗi do chính khách hàng gây ra.
62CNPM/NN
PUM (Problems per User Month)PUM (Problems per User Month)
Mẫu số được tính là: Số bản cài đặt * Số thángVí dụ: Cài một phần mềm cho 10 cơ quan, xí nghiệp (tức 10 khách hàng). Trong vòng 5 tháng, có 30 sự cố xảy ra do khách hàng phản hồi lại. PUM = 30 / (10 * 5) = 0.6
ñoù gian thôøi khoaûngtrong thaùng duøng baûnsoá Toånggianthôøikhoaûng1trong caùobaùohaøngkhaùchdocoá söï ToångPUM =
63CNPM/NN
ĐĐểể đ đạạt đưt đượợc PUM thc PUM thấấp p
Cải tiến qui trình phát triển phần mềm để giảm các lỗi thực sự.Giảm các lỗi giả (cải tiến các vấn đề sử dụng, cải tiến tài liệu, huấn luyện khách hàng, tăng cường các dịch vụkhách hàng).Gia tăng số bản bán được (đẩy mạnh việc bán hàng bằng các biện pháp khuyến mãi, quảng cáo, …)
64CNPM/NN
ĐĐộộ đo PUM v đo PUM vàà mmậật đt độộ llỗỗii
Cần giảm tử số của PUM
Mật độ lỗi (lỗi/KLOC)
PUM
Tử số Các lỗi thực sự(không trùng lặp).
Tất cả mọi vấn đề liên quan khách hàng.
Mẫu số Kích thước sản phẩm (KLOC).
Mức độ dùng của khách hàng (người dùng tháng).
Góc độ đo Nhà sản xuất phần mềm. Khách hàng.
Phạm vi Chất lượng bản chất của sản phẩm.
Chất lượng bản chất của sản phẩm kết hợp với các yếu tố khác.
65CNPM/NN
ĐĐCLSPCĐĐCLSPC:: Đ Độộ đo s đo sựự ththỏỏa mãn ca mãn củủa kha kháách hch hààngng
Số liệu đo được lấy dựa trên 5 ngưỡngRất thỏa mãn (A)Thỏa mãn (B)Vừa phải (C)Không thỏa mãn (D)Rất không thỏa mãn (E)
Số đo khác cho các mục đích khác nhautỷ lệ % các khách hàng hoàn toàn hài lòng (A)tỷ lệ % các khách hàng hài lòng (A)+(B)tỷ lệ % các khách hàng không hài lòng (D)+(E)
66CNPM/NN
ĐĐCLĐĐCL:: Đ Độộ đo ch đo chấất lưt lượợng theo qui trng theo qui trììnhnh
Cần xác định:Mật độ lỗi phát hiện trong giai đoạn kiểm tra phần mềmViệc khử lỗi trong mỗi pha của chu kỳ sốngĐánh giá sự khử lỗi (sự hiệu quả của việc khử lỗi)
67CNPM/NN
ViViệệc khc khửử llỗỗi trong mi trong mỗỗi pha i pha
Việc phát hiện lỗi được dựa vàoXem xét lại bảng thiết kế.Xem xét lại mã nguồn.Kiểm tra hình thức trước khi kiểm tra phần mềm
Xem xét các dự án nhằm:Theo dõi việc khử lỗi trong từng đề án một.So sánh nhiều đề án với nhau.Tính giá trị trung bình các số liệu cần thiết dựa trên nhiều đề án đã triển khai.
68CNPM/NN
ĐĐáánh ginh giáá ssựự khkhửử llỗỗi i
Defect Removal EffectivenessSố lỗi tiềm tàng (toàn bộ lỗi phát hiện) = Số lỗi đã khử được + Số lỗi tìm được sau nầy (do khách hàng báo lại, do tình cờ…).
100% phaåmsaûn trong taøng tieàm loãi Soá
meàmphaàntrieånphaùt moät phatrongñöôïc khöûloãi SoáDRE=
69CNPM/NN
ĐĐáánh ginh giáá ssựự khkhửử llỗỗi i
DRE có thể được tính cho từng pha một của chu kỳsống hay tính cho toàn bộ qui trình phát triển phần mềm. Một tổ chức sản xuất có thể theo dõi chỉ số này theo các phiên bản liên tiếp nhau của một phần mềm đểkhai thác được nhiều thông tin hơn.Để đánh giá chất lượng qui trình sản xuất của một tổchức sản xuất phần mềm, người ta còn dựa các chuẩn về phần mềm được đưa ra để đánh giá mức độ trưởng thành của một phần mềm. Trong mỗi chuẩn, người ta có thể đề nghị nhiều độ đo khác nhau và đề nghị qui trình để đánh giá chất lượng
70CNPM/NN
ĐĐCLĐĐCL:: Đ Độộ đo b đo bảảo tro trìì phphầần mn mềềmm
Mức độ bảo trìĐo bởi tỉ số
Thời gian trung bình đáp ứng cho khách hàng:
thaùng trong sinh naûy ñeà vaán soá Toångthaùngtrongñöôïcquyeát giaûiñaõñeàvaánSoá
n
tin∑
1
71CNPM/NN
ĐĐộộ đo b đo bảảo tro trìì phphầần mn mềềmm
Sự chểnh mảng trong công tác bảo trì. RTC (Reponse Time Criteria).
Chất lượng của việc sửa lỗi: Sự sai lầm trong việc sửa đổi, không sửa chữa được lỗi do khách hàng báo cáo lại hay sửa chữa được nhưng lại làm nảy sinh ra một hay nhiều lỗi khác
trì baûolaàn soá ToångRTCquaùvöôït gianthôøicoùtrìbaûolaànSoá
ño Ñoä =
ñoåi söûa laàn soá ToångñoåisöûatronglaàmsailaànSoá
ño Ñoä =
72CNPM/NN
Sự quan trọng của tiêu chuẩnĐóng giữ những thực tiễn tốt nhất, tránh lặp lại những sai lầm trong quá khứTiêu chuẩn là một khung mẫu cho quá trình bảo đảm chất lượng, chúng bao gồm việc kiểm tra sự phù hợp với tiêu chuẩnTiêu chuẩn cung cấp sự liên tục, nhân viên mới có thểhiểu biết về tổ chức nhờ việc nắm bắt các tiêu chuẩn được sử dụng
9.4 Tiêu chu9.4 Tiêu chuẩẩnn
73CNPM/NN
NhNhữững rng rắắc rc rốối vi vớới tiêu chui tiêu chuẩẩnn
Nhiều lúc chúng được các kỹ sư xem là không phù hợp và chưa cập nhậtChúng thường bao gồm quá nhiều thủ tục giấy tờNếu chúng không được những công cụ hỗ trợ, việc duy trì sự phù hợp của tài liệu với tiêu chuẩn là một công việc nhàm chán
74CNPM/NN
Sử dụng những người có kinh nghiệm thực tế, mọi người phải hiểu sự hợp lý của các tiêu chuẩnThường xuyên kiểm tra tiêu chuẩn và việc sử dụng tiêu chuẩn có thể trở nên nhanh chónh không hợp thời giảm sự tin cậy với những người tham dựTiêu chuẩn chi tiết phải có công cụ hỗ trợ
PhPháát trit triểển tiêu chun tiêu chuẩẩnn
75CNPM/NN
CCáác chuc chuẩẩn ISO cho phn ISO cho phầần mn mềềmm
Liên quan đến chất lượng sản phẩm và qui trình sản xuất nói chung: ISO 9000, ISO 9001, ISO 9002, ISO 9003.Về công nghệ hệ thống: ISO 15288.Chuẩn được cụ thể hóa cho chất lượng phần mềm vàchất lượng qui trình sản xuất phần mềm: ISO 9000-3, ISO 12207, ISO 15504.
76CNPM/NN
ChuChuẩẩn ISO n ISO
Mỗi chuẩn có thể là cụ thể hoá của một chuẩn nào đó(ISO 9000-3 là cụ thể hoá của ISO 9000 để hướng dẫn thực hiện cho lĩnh vực phần mềm).Mỗi quốc gia cũng có thể có hướng dẫn riêng nhưng vẫn bảo đảm các qui định chung nhất của chuẩn quốc tế (vídụ: chuẩn BS 5750 thường được dùng ở Anh quốc thay vì ISO 9000).
77CNPM/NN
ChuChuẩẩn ISO 9000n ISO 9000
ISO 9000 đưa ra các tiêu chuẩn tổng quát để quản lý chất lượng. Mỗi tổ chức sản xuất có nhiệm vụ thành lập một hệ thống chất lượng (quality system)Bao gồm một số hoạt động như:
Bảo đảm việc kiểm soát chất lượng thực hiện trong mọi đề án.Cải tiến chính bản thân hệ thống bảo đảm chất lượng.
78CNPM/NN
ChuChuẩẩn ISO 9000n ISO 9000
Cung cấp các hướng dẫn cần thiết cho đội ngũ tham gia sản xuất;:
Các thủ tục cụ thể cần phải thực hiệnCác tiêu chuẩn được thẩm địnhCác mẫu báo biểu, hệ thống ký hiệu và văn bản chuẩn.
Chi tiết hoá thành cẩm nang chất lượng (quality manual) Lên phương án bảo đảm chất lượng (quality plan)
79CNPM/NN
ISO 9000 ISO 9000 vvàà ququảản lý chn lý chấất lưt lượợngng
80CNPM/NN
ISO ISO 90019001ISO là tập hợp những tiêu chuẩn quốc tế cho quản lý chất lượngÁp dụng cho nhiều tổ chức công nghiệp từ sản xuất tới dịch vụISO 9001 áp dụng cho những tổ chức cho những tổ chức thiết kế, phát triển và bảo trì sản phẩmISO 9001 là mô hình quy trình chất lượng tổng quát, nócần phải hiện thực cho mỗi tổ chức áp dụng
81CNPM/NN
ISO 9000ISO 9000--3 3
Việc kiểm soát chất lượng phải được thực hiện trong suốt các giai đoạn sản xuất, phân phối và bảo trì phần mềm.Khách hàng phải phối hợp chặt chẽ với hãng cung cấp phần mềm.Mỗi hãng sản xuất phần mềm phải định nghĩa hệ thống bảo đảm chất lượng riêngHệ thống bảo đảm chất lượng phải được làm rõ ràng cho mọi người và được thực hiện nghiêm túc trong quá trình sản xuất phần mềm.
82CNPM/NN
ISO 9000ISO 9000--3 (tt)3 (tt)
Chuẩn ISO 9000-3 không đề cập đến một qui trình phát triển phần mềm cụ thể.Không cung cấp các phương pháp cụ thể để đánh giákhả năng bảo đảm chất lượng của tổ chức sản xuất phần mềm.Việc áp dụng ISO 9000-3 có thể thực hiện bằng cách
Ghi trong các hợp đồng phần mềm, nhà phân phối vàkhách hàng thỏa thuận những điểm cụ thể về bảo đảm chất lượng.Tổ chức sản xuất đơn phương dùng chuẩn này để đảm bảo chất lượng cho các sản phẩm phần mềm của mình.
83CNPM/NN
ChuChuẩẩn ISO 12207 n ISO 12207
Quan tâm đến việc chuẩn hoá các tiến trình trong chu kỳsống phần mềmViệc chuẩn hoá dựa vào
Tiến trình sản xuất phần mềm bao gồm nhiều tiến trình con.Mỗi tiến trình con được phân rã thành các hoạt động, mỗi hoạt động lại được phân rã thành các tác vụ.
84CNPM/NN
ChuChuẩẩn ISO 12207 (tt) n ISO 12207 (tt)
Có 3 loại (lớp, phạm trù) tiến trình khác nhau:Tiến trình cơ sở (chẳng hạn như tiến trình phân tích, thiết kế).Tiến trình hỗ trợ (chẳng hạn như tiến trình quản lý cấu hình phần mềm).Tiến trình tổ chức (chẳng hạn như việc quản lý tiến trình).
Có các hướng dẫn để phối hợp với các mô hình chu kỳsống khác nhau như: mô hình thác nước (waterfall model), mô hình xoắn ốc (spiral model)…
85CNPM/NN
KhuyKhuyếết đit điểểm m
Không xác định tường minh các sản phẩm được tạo ra bởi mỗi tiến trình (chỉ hiểu ngầm).Không tường minh sự phối hợp và phụ thuộc lẫn nhau giữa các tác vụ.Các tác vụ được xem là các nguyên tố (không phân rã tiếp) nhưng vẫn còn tương đối thô (coarse-grained).
86CNPM/NN
Software Capability Maturity Model (CMM)Software Capability Maturity Model (CMM)
Mô hình CMM phân lớp các qui trình sản xuất phần mềm thành 5 mức độ trưởng thành
Mức độ khởi đầu (initial level).Mức độ có khả năng lặp (repeatable level).Mức độ được xác nghĩa (defined level).Mức độ được quản lý (managed level).Mức độ tối ưu (optimized level).
87CNPM/NN
ChuChuẩẩn CMMn CMM
Initial
(Level 1)
Repeatable
(Level 2)
Defined
(Level 3)
Managed
(Level 4)
Optimized
(Level 5)
Ris
kC
ompetitiveness
•Largely Ad-hoc•Phụ thuộc vào cá nhân
•Bắt đầu có khả năng quản lý•Quản lý dựa vào kinh nghiệm tương tự
•Xác lập các tiêu chuẩn quản lý•Các vấn đề documentation đã xác lập
•Có khả năng dự đoán (Predictability)•Các quy trình quản lý và tiêu chuẩn được chi tiết hóa
•Continuous Improvement•Các hệ thống quality control và qualify đã được sử dụng hiệu quả
88CNPM/NN
MMứức đc độộ khkhởởi đi độộng (initial level)ng (initial level)
Không có các thủ tục quản lý hiệu quả và không có việc hoạch định các đề án phần mềm.Có thể có các thủ tục kiểm soát đề án nhưng lại không có cơ chế để bảo đảm chúng được sử dụng một cách nhất quán.Họ có thể thành công trong việc phát triển phần mềm, nhưng không thể kiểm soát nổi CLPM và các đặc trưng khác của tiến trình phát triển phần mềm (kinh phí, thời hạn giao nộp…).
89CNPM/NN
MMứức đc độộ ccóó khkhảả năng l năng lặặp (repeatable level)p (repeatable level)Có khả năng lặp lại thành công các đề án ở cùng một dạng.Chưa có mô hình tổng quát cho của qui trình phát triển phần mềm.Sự thành công của các đề án phần mềm phụ thuộc vào kỹ năng cá nhân của người quản lý và kinh nghiệm trực giác của việc mô tả quá trình phát triển phần mềm.
90CNPM/NN
MMứức đc độộ đư đượợc xc xáác đc địịnh (defined level)nh (defined level)
Đã xác định được tiến trình sản xuất phần mềm cho riêng tổ chức mình. Nhờ đó, có cơ sở cho việc cải tiến chất lượng của tiến trình sản xuất phần mềm.Có các thủ tục nhằm bảo đảm rằng tiến trình phát triển phần mềm của họ được áp dụng cho tất cả các đề án phần mềm
91CNPM/NN
MMứức đc độộ đư đượợc quc quảản lý (managed level)n lý (managed level)
Đã xác định được tiến trình phát triển phần mềm và có kếhoạch nghiêm túc để thu thập các dữ liệu định lượng (những dữ liệu cho việc đánh giá chất lượng).Các độ đo sản phẩm, các độ đo tiến trình được nghiên cứu và ứng dụng vào hoạt động cải tiến qui trình phát triển phần mềm.
92CNPM/NN
MMứức đc độộ ttốối ưu i ưu (optimized level)(optimized level)
Qui trình phát triển phần mềm đã được Xác định và cải tiến liên tục.Việc cải tiến qui trình phát triển phần mềm được hoạch định, cấp kinh phí và tích hợp vào chính qui trình phát triển phần mềm.