chương 9 quản lý chất lượng phần mềm · cnpm/nn 9 quản lý dựán dự đoán quy...

92
1 CNPM/NN CÔNG NGHPHN MM Chương 9 Qun lý cht lượng phn mm MÔN HC TRƯỜNG ĐẠI HC CÔNG NGHIP TP.HCM

Upload: others

Post on 01-Sep-2019

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 2: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 3: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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)

Page 4: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

4CNPM/NN

BBộộ ba rba rààng bung buộộc cc củủa QTDA a QTDA

Page 5: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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.

Page 6: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

6CNPM/NN

Khung lKhung lààm vim việệc cc củủa QLDAa QLDA

Page 7: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 8: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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.

Page 9: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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.

Page 10: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 11: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 12: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 13: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 14: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 15: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

15CNPM/NN

Cây quyCây quyếết đt địịnhnh

Page 16: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 17: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 18: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 19: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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.

Page 20: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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?

Page 21: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 22: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 23: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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ì

Page 24: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 25: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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.

Page 26: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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ợ…

Page 27: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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.

Page 28: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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)

Page 29: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 30: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

30CNPM/NN

ChChấất lưt lượợng sng sảản phn phẩẩmm

Page 31: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 32: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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.

Page 33: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 34: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

34CNPM/NN

FormalTechnicalReviews

Test Planning& Review

Measurement

Analysis&

Reporting

ProcessDefinition &Standards

BBảảo đo đảảm chm chấất lưt lượợngng

Page 35: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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?

Page 36: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 37: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 38: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 39: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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ể

Page 40: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

40CNPM/NN

ReviewReview

reviewreviewleaderleader

producerproducer

recorderrecorder reviewerreviewer

standards bearer (SQA)standards bearer (SQA)

maintenance maintenance oracleoracle

user repuser rep

Page 41: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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ê

Page 42: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

42CNPM/NN

Nguyên lý paretoNguyên lý pareto

Page 43: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

43CNPM/NN

Đo lưĐo lườờng vng vàà đ độộ đo ph đo phầần mn mềềm (metric)m (metric)

Page 44: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 45: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 46: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

46CNPM/NN

NhNhữững thung thuộộc tc tíính bên trong vnh bên trong vàà bên ngobên ngoààii

Page 47: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 48: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 49: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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á

Page 50: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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ä =

Page 51: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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.

Page 52: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 53: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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.

Page 54: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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)?

Page 55: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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?

Page 56: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

56CNPM/NN

TTíính snh sốố đi điểểm chm chứức năng c năng

)*01.065.0(*14

1∑=

+Δ=i

iFFP

Page 57: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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ì

Page 58: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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.

Page 59: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 60: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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.

Page 61: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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.

Page 62: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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 =

Page 63: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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, …)

Page 64: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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.

Page 65: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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)

Page 66: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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)

Page 67: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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.

Page 68: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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=

Page 69: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 70: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 71: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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ä =

Page 72: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 73: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 74: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 75: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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.

Page 76: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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).

Page 77: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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.

Page 78: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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)

Page 79: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

79CNPM/NN

ISO 9000 ISO 9000 vvàà ququảản lý chn lý chấất lưt lượợngng

Page 80: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 81: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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.

Page 82: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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.

Page 83: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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ụ.

Page 84: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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)…

Page 85: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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).

Page 86: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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).

Page 87: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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ả

Page 88: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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…).

Page 89: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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.

Page 90: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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

Page 91: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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.

Page 92: Chương 9 Quản lý chất lượng phần mềm · CNPM/NN 9 Quản lý dựán Dự đoán quy mô và độphức tạp của dựán Xác định các team cần thiết cho

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.