Đảm bảo chất lượng phần mềm Software Quality Assurance
Chương 3: CÁC CHUẨN CHẤT LƯỢNG PHẦN MỀM
PGS. TS. Trần Cao Đệ
Bộ môn Công nghệ phần mềm
Khoa CNTT&TT – Đại học Cần Thơ
Năm 2013
1
Chuẩn (standard) là gì?
Wikimedia: a standard is a basic for comparison. Standards are made either by many people that agree on something, or if some organization makes it so.
• Khái niệm chuẩn: (trong lĩnh vực CNPM) chuẩn là một định nghĩa đầy đủ, rõ ràng một kỹ thuật, qui trình hoặc thủ tục bởi một nhóm các nhà cung cấp dịch vụ hay sản phẩm.
• Chuẩn làm cho các sản phẩm, dịch vụ có nguồn gốc khác nhau có thể so
sánh được hay nối kết được. – Giúp đảm bảo chất lượng cao (bằng cách check các yêu cầu của chuẩn) – Chỉ ra được chất lượng sản phẩm. – Gia tăng tính đồng bộ giữa các nhóm và đào tạo nhân viên mới – Cung cấp hướng dẫn thực hành tốt/đúng- tránh sai lầm trong quá khứ – Cung cấp sự bảo hộ về mặt luật pháp.
– Thực tế (de facto) – Luật (de jure)
2
• Hai loại chuẩn
Một số hệ thống chuẩn trong CNPM
• ISO
International Organization for Standardization
• CMM
Software Engineering Institute’s (SEI) Capability Maturity Model
• IEEE
Institute of Electrical and Electronics Engineers
• DOD
U.S. Department of Defence
3
Giới thiệu một số chuẩn trong CNPM
• Chuẩn KTPM (software engineering)
– Terminology: IEEE Std 610.12:1990 Standard of Software Engineering Terminology – Technical: ISO/IEC 8631:1989 Program Constructs and Conventions for their Representation
• Quản lí chất lượng phần mềm
– Quality management
ISO 9000-3 Quality Management and Quality Assurance Standards - Part 3: Guidelines for the application of 9001 to the development, supply, installation and maintenance of computer software
– Quality measurement
IEEE Std 1061-1992 Standard for Software Quality Metrics Methodology
• Quản lí dự án
– General project management
IEE Std 1058.1-1987 Standard for Software Project Management Plans
– Producing plans
IEEE Std 1059-1993 Guide for Software Verification and Validation Plans
4
Giới thiệu các chuẩn trong CNPM (tt)
• Sản phẩm phần mềm – Product evaluation
ISO/IEC 14598 Software product evaluation
– Packaging
ISO/IEC 12119:1994 Software Packages - Quality Requirements and Testing
• Qui trình phần mềm
– Life cycle
ISO/IEC 12207:1995 Information Technology - Software Life Cycle Processes
– Acquisition
ISO/IEC 15026 System and software Integrity Levels
– Maintenance
IEEE Std 1219-1992 Standard for Software Maintenance
– Productivity
IEE Std 1045-1992 Standard for Software Productivity Metrics
5
Một số chuẩn IEEE quan trọng cho SQA
IEEE 610.12-1990 (R2002) Standard Glossary of Software Engineering Terminology IEEE 730-2002 Standard for Software Quality Assurance Plans IEEE 828-1998 Standard for Software Configuration Management Plans IEEE 829-1998 Standard for Software Test Documentation IEEE 830-1998 Recommended Practice for Software Requirements Specifications IEEE 1008-1987 (R1993, R2002) Standard for Software Unit Testing IEEE 1012-1998 Standard for Software Verification and Validation IEEE 11016-1998 Recommended Practice for Software Design Descriptions IEEE 1028-1997 (R2002) Standard for Software Reviews IEEE 1045-1992 (R2002) Standard for Software Productivity Metrics IEEE 1058-1998 Standard for Software Project Management Plans IEEE 1061-1998 (R2004) Standard for Software Quality Metrics Methodology IEEE 1074-1997 Standard for Developing Software Life Cycle Processes IEEE 1220-1998 Standard for the Application and Management of the Systems Engineering
Process
IEEE 1490-2003 Adoption of PMI Standard: A Guide to the Project Management Body of
Knowledge
IEEE 1517-1999 (R2004) Standard for Information Technology – Software Life Cycle
Processes - Reuse Processes
6
Quan điểm trong QLCL
Design review form
Design review conduct
Requirements document structure
Submission of documents to CM
Method header format
Version release process
Java programming style
Project plan approval process
Project plan format
Change control process
Change request form
Test recording process
7
Product standards Process standards
ISO 9000
8
Chuỗi ISO 9000
• Chuẩn quốc tế cho quản lí chất lượng. • Áp dụng cho nhiều loại tổ chức từ công nghiệp chế tạo
cho đến các ngành công nghiệp dịch vụ – ISO 9000: Fundamentals and vocabulary – ISO 9001: Requirements – ISO 9004: Guidelines for performance improvements ISO
• 9001 áp dụng cho tổ chức thiết kế, phát triển, bảo trì
phần mềm.
• ISO 9001 là mô hình tổng quát cho tiến trình chất lượng và nó phải được cụ thể hóa ở mỗi tổ chức dùng chuẩn này.
9
Chuỗi ISO 9000 (tt)
• •
ISO 9001:2000 - “Quality Management Systems –Requirements” ISO 90003:2004 – “Software engineering – Guidelines for the application of ISO 9001:2000 to computer software” – Cung cấp các hướng dẫn (về chất lượng) cho dành hợp đồng, cung ứng, phát triển, vận hành, bảo trì phần mềm và các dịch vụ có liên quan. • cross-refers to
– ISO 12207 Life Cycle Models; to support software project activities – ISO TR 15504 Software Process Assessment; to support the
measurement of processes and continual improvement
10
– ISO 14143 Functional Size Measurement
Triết lý của ISO 9000
• Tài liệu hóa cái gì bạn làm
– Lưu ý làm cho phù hợp các đòi hỏi của
chuẩn áp dụng
• Làm cái bạn đã viết trong tài liệu • Ghi nhận cái bạn đã làm • Minh chứng (cho cái bạn đã làm)
– Thu thập, lưu trữ các bằng chứng là đã làm theo những gì đã viết trong tài liệu (chuẩn) – Để kiểm tra và xác nhận, công nhận chuẩn
11
ISO 9001
• Quản trị tổ chức như là một hệ thống các qui trình liên quan nhau. Người quản lí sẽ lập kế hoạch cho các qui trình này; xác định mối quan hệ giữa chúng; thiết lập mục tiêu; đo lường tiến trình và thực hiện cải tiến. • Thiết lập một số tiêu chí chất lượng:
– Tập hợp các mục tiêu chất lượng (Set quality goals)
– Đảm bảo các đòi hỏi của khách hàng được hiểu và thỏa mãn (Ensure customer
requirements are understood and met)
– Đào tạo đội ngũ làm việc(Train employees)
– Kiểm soát quá trình sản xuất (Control your production processes)
– Mua từ các nhà cung cấp khác có khả năng cung cấp SP chất lượng (Purchase from
suppliers that can provide quality product)
– Sửa lỗi và đảm bảo chúng không xảy ra nữa (Correct problems and make sure they do
not happen again)
• Nếu tất cả các tiêu chí đều được thỏa, công ty sẽ được đăng
kí cấp chứng chỉ ISO 9001.
12
Yêu cầu của ISO 9001 (REQUIREMENTS)
1. Chính sách về chất lượng phải được xác định và tài liệu hóa; đồng thời phải đảm bảo chính sách này được thông suốt ở mọi cấp trong tổ chức.
2. Mọi qui trình kiểm soát chất lượng đều phải được tài liệu hóa. 3. Mọi hợp đồng cung cấp hàng hóa, dịch vụ phải có sự kí kết rằng nhà
phát triển có khả năng giao hàng.
4. Phải có qui trình xét duyệt, phê chuẩn thiết kế và các tài liệu khác. 5. Thành phần nào trong hệ thống cung cấp cho khách hàng mà đến từ
bên thứ ba phải có qui trình, qui định để đảm bảo, kiểm tra và xác nhận chất lượng.
6. Mỗi một sản phẩm đều có thể nhận diện được cùng với các thành phần
của nó.
7. Tiến trình tạo ra sản phẩm hoàn chỉnh phải được lên kế hoạch và kiểm
soát.
13
8. Thanh tra và kiểm thử (mã nguồn) phải được thực hiện suốt quá trình phát triển, hoàn thiện trước khi bàn giao. Thanh tra và kiểm thử cũng phải được thực hiện trên thành phần thu được từ bên thứ 3.
Yêu cầu của ISO 9001 (tt)
9. Thiết bị dùng trong quá trình sản xuất cũng phải được kiểm soát là hợp
chuẩn.
10. Trạng thái kiểm tra mọi thành phần trong hệ thống và cả hệ thống phải
được ghi chép rõ ràng, đầy đủ.
11. Thận trọng để đảm bảo rằng mọi phần tử được biết là có lỗi không bị sử
dụng một cách tình cờ.
12. Khi phát hiện lỗi, các biện pháp cần thiết phải được thực hiện để loại bỏ
lỗi và đảm bảo rằng lỗi đó sẽ không xuất hiện nữa.
13. Có qui định thỏa đáng về sử dụng, lưu trữ, bảo quản, đóng gói và
chuyển giao sản phẩm..
14. Có đủ số liệu để minh chứng cho chất lượng hệ thống đang làm việc là
thỏa mãn.
15. Hệ thống quản lí chất lượng được xác nhận trên một cơ sở một cách
thường xuyên.
16. Các hoạt động phục vụ và trợ giúp cũng là chủ đề trong quản lí chất
lượng.
17. Nhà phát triển phải thiết lập các kỹ thuật thống kê để kiểm tra tính chấp
14
nhận được của sản phẩm.
ISO 9001 Sections
• Section 4: General Requirements
• Section 5: Management Responsibility
– Requirements for the overall Quality Management System
– Requirements for Management and their role in the Quality
• Section 6: Resource Management
Management System
– Requirements for resources including personnel, training, the facility
and work environment • Section 7: Product Realization
• Section 8: Measurement, Analysis and Improvement
– Requirements for the production of the product or service, including planning, customer related processes, design, purchasing, and process control.
processes.
15
– Requirements on monitoring processes and improving those
ISO 90003
Chứa các hướng dẫn để áp dụng các phần tử đặc tả trong ISO 9001, ISO 9002, and ISO 9003... vào phần mềm
16
ISO 9000 và Quản lí chất lượng
ISO 9000 quality models
instantia ted as
documents
Organisa tion quality pr ocess
Organisa tion quality man ual
instantia ted as
is used to de velop
Project 1 quality plan
Project 2 quality plan
Project 3 quality plan
Project quality mana gement
Suppor ts
17
ISO 9126
18
ISO 9126
• 3 góc nhìn về chất lượng SP phần mềm: – Chất lượng trong (Internal Quality)
là các đặc tính của SP phần mềm từ góc nhìn bên trong trong suốt quá trình phát triển hoặc bảo trì (ví dụ code, kiến trúc).
– Chất lượng ngoài (External Quality)
là các đặc tính của SP phần mềm từ góc nhìn bên ngoài thông qua thực thi chương trình. – Chất lượng dùng (Quality in Use)
• Chất lượng trong xác định chất lượng ngoài, chất lượng ngoài ảnh
hưởng đến chất lượng dùng
19
là góc nhìn của người dùng về chất lượng SP phần mềm khi dùng nó trong một môi trường, hoàn cảnh cụ thể. Nó phản ánh mức độ mà người dùng có thể hoàn thành mục tiêu của họ trong một hoàn cảnh cụ thể hơn là đánh giá các đặc tính của bản thân phần mềm
ISO9126 Standards
•
ISO/IEC 9126-1:2001 Software engineering -- Product quality -- Part 1: Quality model
•
ISO/IEC TR 9126-2:2003 Software engineering -- Product quality -- Part 2: External metrics
•
ISO/IEC TR 9126-3:2003 Software engineering -- Product quality -- Part 3: Internal metrics
•
ISO/IEC TR 9126-4:2004 Software engineering -- Product quality -- Part 4: Quality in use metrics
20
Khung chất lượng (Quality Framework)
Quality in use
Use and feedback
User quality needs
Contribute to specifying
indicates
Validation
External quality
External quality Requirements
Contribute to specifying
indicates
Verification
Internal quality
Internal quality Requirements
21
Chất lượng trong vòng đời phần mềm
22
ISO 9126: chất lượng trong và ngoài
23
Chức năng PM (Functionality)
Functionality : Khả năng của phần mềm cung cấp các chức năng tương ứng với yêu cầu đã được phát biểu và suy diễn khi phần mềm được dùng trong các điều kiện cụ thể. – Suitability (thích hợp) – Khả năng phần mềm cung cấp tập các chức năng phù hợp với công việc và mục đích của người dùng đã được đặc tả.
– Accuracy (chính xác)- Khả năng phần mềm cung cấp kết quả hoặc hiệu ứng đúng đắn hoặc được đồng ý với độ chính xác đòi hỏi.
– Interoperability (tương tác)- Khả năng phần mềm trong tương tác với
1 hoặc nhiều hệ thống khác được đặc tả.
– Security (an toàn) - Khả năng phần mềm bảo vệ thông tin, dữ liệu sao cho người hoặc hệ thống không được phép thì không truy cập được và người hoặc êệ thống được phép thì truy cập được.
– Functional Compliance (thỏa chuẩn chức năng) – Khả năng phần
24
mềm thỏa mãn chuẩn, qui ước hoặc các qui định luật pháp về chức năng.
Reliability (tin cậy)
Reliability - Khả năng phần mềm đạt được một mức độ hiệu quả xác định khi dùng trong một điều kiện cụ thể. – Maturity (chín chắn)- Khả năng phần mềm trong phòng tránh hỏng
hóc vì lỗi phần mềm.
• Đo bằng tần xuất hỏng (Frequency of failure)
– Fault tolerance (chịu đựng lỗi)- Khả năng phần mềm để đạt được một mức độ hiệu quả xác định trong trường hợp có lỗi hoặc có sự xâm hại trên giao diện đã được đặc tả
– Recoverability (Phục hồi)- Khả năng phần mềm để thiết lập lại mức
độ hiệu quả hoặc phục hồi dữ liệu bị ảnh hưởng trực tiếp trong trường hợp có hỏng hóc.
– Reliability compliance (thỏa chuẩn độ tin cậy) - Khả năng phần
• Availability (tính sẳn dùng) là tổ hợp của maturity, fault
tolerance và recoverability
25
mềm thỏa mãn chuẩn, qui ước hoặc các qui định luật pháp về độ tin cậy.
Usability (dùng được)
Usability – Khả năng phần mềm liên quan tới tính dễ hiểu, dễ học, hấp dẫn khi được dùng trong một điều kiện cụ thể. – Understandability (hiểu được) – Learnability (học được) – Operability (vận hành được) – Attractiveness (hấp dẫn) – Usability compliance (thỏa mãn chuẩn về dùng được).
• Chú ý: trong trường hợp ứng dụng web, tính dùng được còn bao
gồm cả truy cập được.
26
Efficiency (hiệu quả)
Efficiency – khả năng phần mềm trong hiệu quả sử dụng nguồn lực, tài nguyên máy tính trong những điều kiện cụ thể. – Time behavior (đáp ứng về thời gian)- thời gian thao tác hoặc trả lời hoặc tần xuất đứt quãng khi thực hiện các chức năng trong một điều kiện cụ thể.
– Resource utilization (dùng tài nguyên) số lượng tài nguyên
và kiểu tài nguyên dùng phù hợp.
– Efficiency compliance (thỏa mãn chuẩn về hiệu quả).
27
Bảo trì được - Maintainability
Maintainability – Khả năng sửa đổi được phần mềm, bao gồm sửa lỗi, cải tiến để đáp ứng các thay đổi về môi trường hoặc trong đặc tả chức năng. – Analyzability (phân tích được) – khám xét được sự phụ thuộc hoặc
nguyên nhân hỏng hóc.
– Changeability (thay đổi được) – Stability (ổn định)- tránh được hiệu ứng lề từ việc thay đổi trong phần
mềm.
– Testability (kiểm tra được) – kiểm tra, kiểm chứng được phần mềm
đã sửa đổi.
28
– Maintainability Compliance (thỏa mãn chuẩn về tính bảo trì được)
Khả chuyển - Portability
Portability – Khả năng phần mềm chuyển từ môi trường này sang môi trường khác – Adaptability (thích ứng)- thích ứng trong các môi trường khác nhau
không cần hành động hoặc phương tiện nào khác.
– Installability – (cài đặt được) – Co-existence (cùng tồn tại)- cùng tồn tại với các phần mềm độc lập
khác và chia sẻ tài nguyên.
29
– Replaceability (thay thế được), ví dụ IE8 thay IE7 – Portability Compliance (thỏa mãn chuẩn về khả chuyển)
Chất lượng dùng - Quality in use
ệ
ầ ề
ụ
ầ ủ
Quality in use
ượ • Effectiveness (hi u qu ) ả : kh năng ả ườ i dùng ph n m m cho phép ng ớ ị hoàn thành m c đích xác đ nh v i ữ ộ đ chính xác và đ y đ trong ng ả c nh đ
c dùng. ệ
Effectiveness
Productivity
Safety
Satisfaction
ấ : cho phép ợ
ng phù h p ụ ớ i m c
• Productivity (hi u su t) ả ộ ượ ườ i dùng tr m t l ng ề v tài nguyên liên quan t đích dùng
• Safety (an toàn): m c đ r i ro phù
ứ ộ ủ ườ ề ổ i, công
ợ ệ
30
ạ h p v t n h i con ng vi c kinh doanh, c a c i, … ườ ỏ ủ ả • Satisfaction (th a mãn ng i dùng)
CMM
31
Five maturity levels
Optimizing Optimizing
5
Focus on continuous process improvement
Quantitatively Managed
4
Process measured and controlled
Defined Defined
3
Process characterized for the organization and is proactive
Managed
2
Process characterized for projects and is often reactive
Initial
1
Process unpredictable, poorly controlled, and reactive
32
CMM Definitions
1.
Initial: tiến trình phần mềm không ổn định (ad hoc), tùy tiện. Ít có qui trình được định nghĩa. Thành công của dự án nhờ vào tài năng và nỗ lực cá nhân.
2. Repeatable: Qui trình cơ bản về quản lí dự án được thiết lập để
kiểm soát giá, thời gian biểu, chức năng. Tính kỷ luật và chặt chẽ của qui trình được thiết lập để đảm bảo thành công đã có trước đó với các dự án tương tự.
3. Defined: Qui trình phần mềm cho các hoạt động kỹ nghệ và quản lí được tài liệu hóa, chuẩn hóa và tích hợp vào trong qui trình chuẩn của tổ chức. Mọi dự án dùng một phiên bản đã được duyệt và ban hành trong tổ chức để phát triển và bảo trì phần mềm. 4. Managed: Các độ đo cho qui trình phần mềm và chất lượng sản phẩm được tập hợp. Cả qui trình và sản phẩm đều được hiểu và kiểm soát định lượng.
5. Optimizing: Cải tiến qui trình 1 cách liên tục được thực hiện dựa
trên các phản hồi định lượng từ qui trình và từ các sáng kiến, phát minh công nghệ.
33
Level 1
• Adhoc và tùy ti n (chaotic)
ệ ự ỗ ầ ự • Đ i ngũ th c hi n d án m i l n
ề
ệ ể
ầ ư
ộ ỗ
ế
Ph n m m có th thành công ấ ạ ả nh ng có kh năng th t b i ộ ị cao và không k p ti n đ
ư
ng chính xác giá và
m i khác. • Có th có thành công nh ng không ể ắ ẽ ặ ạ ch c s l p l i ướ ượ c l ư • Đôi lúc ờ ề
th i gian nh ng nhi u lúc không chính xác
ườ ụ i
gi
ệ ụ ượ • Thành công ph thu c vào ng ộ ắ i làm vi c đúng đ n ườ c khi ng
ầ i b đi m c
34
ỏ • Khó tr đ ỏ ỏ i gi • Nhi u công ty ph n m m ề ề ở ứ này
Level 2
ế ậ t l p
c thi ự ữ ế t c thi ự ướ tr c
• Qui trình đ ượ • K ho ch cho d án m i đ ớ ượ ạ ế ươ ậ ự l p d a trên nh ng cái t ng t đó. ể
ả ị
ề ị
ể ẩ ả ế t
• Ki m soát và qu n lí c b n ơ ả • Theo dõi giá và l ch bi u ể • Xác đ nh các v n đ ấ • S n ph m đ ẩ ượ c chu n hóa: ki u vi ể code, ki u test
ự
ả
ự
ợ ớ • Ki m soát và qu n lí d án c b n ả ơ ả ể – Qu n lí yêu c u khách hàng ầ – K ho ch d án ự ạ – Đi u hành và ki m soát d án ể – Qu n lí h p đ ng v i nhà cung ồ
ấ ượ ng qui trình và
ế ề ả c pấ ả ả s n ph m ấ
35
ườ – Đ m b o ch t l ả ẩ – Qu n lí c u hình ả – Đo l ng và phân tích
Level 3
ầ
ả
ề
ệ
ượ ị
• Qui trình công ngh ph n m m và qu n ệ c đ nh nghĩa và tài li u hóa ườ
lí đ ộ
ể
• Đ i ngũ nhân viên có th đo l
ng qui
ẩ i chu n hóa.
ệ
trình khi c nầ • Ti p c n t ế ậ ớ • Ki m tra chéo. ể • Có h t ng cho qui trình công ngh và ấ ả ự
ả
t c d án
ả ả
ể
ề ỹ
ả
ậ ấ i quy t các v n đ k thu t ẩ ậ
ể ể
ế ị
ả
ạ ầ qu n lí cho t – T p trung vào qui trình c a t ủ ổ ứ ậ ch c – Xác đ nh qui trình c a t ủ ổ ứ ị ch c – Đào t o trong t ổ ứ ạ ch c – Qu n lí r i ro ủ – Qu n lí d án tích h p ợ ự – Phát tri n các yêu c u khách hàng ầ – Gi ế – Tích h p s n ph m ợ ả – Ki m traxác nh n (Validation) – Ki m th (Verification) ử – Phân tích quy t đ nh và gi
i pháp.
36
Level 4
ớ t l p qui trình m i
c dùng đ thi ượ
ế ậ ượ
c.
ượ ng đ ượ ng đ ể
ự
ẩ
ế
• Đo l ườ • D li u đo l ườ ữ ệ • Qui trình đ nh l ị • Các c i ti n có th nhìn th y ấ ở ả ế • Có hi u bi ượ ể
ng và phân tích qui trình ể ự c và d báo đ đây. ả ng cho c qui trình và s n ph m đang xây d ng
ả ộ ổ ứ
ch c
ượ
ự
ả
ị
ị t 1 cách đ nh l – Đánh giá hi u qu c a qui trình thu c t ả ủ ệ – Qu n lí d án 1 cách đ nh l
ng.
37
Level 5
• Qui trình được thiết lập và đo được. • Các cải tiến liên tục dựa trên các phản hồi • Có thể phân tích nguyên nhân hỏng hóc và nguyên
nhân
• Có thể đạt tiến độ đã thiết lập • Tiếp tục trưởng thành • Các vấn đề về cả tổ chức và dự án phải được đề cập và thiết lập các cải tiến liên tục, định lượng: – Phân tích nguyên nhân và hậu quả – Sáng kiến của tổ chức và triển khai.
38
CMM in a big picture
39
•
Phạm vi qui trình chính Key Process Areas • Xác định một tập các hoạt động mà khi thực hiện đồng loạt nó hoàn thành các mục tiêu quan trọng để nâng cao khả năng của qui trình (KPA) Được định nghĩa để tập trung vào một mức trưởng thành
• Xác định các vấn đề cần phải giải quyết để đạt mức trưởng
thành
40
CMM key process areas
41
Common Features
• Các thuộc tính chỉ ra có hay không các cài đặt và tổ chức hóa của phạm vi qui trình quan trọng (KPA) là có hiệu quả và mới nhất
• Được dùng để tổ chức các thực hành chủ yếu trong
mỗi lĩnh vực quan trọng.
• Các đặc tính chung :
– Cam kết thực hiện (Commitment to Perform) – Khả năng thực hiện (Ability to Perform) – Các hoạt động được thực hiện (Activities Performed) – Đo lường và phân tích (Measurement and Analysis) – Kiểm chứng các thiết lập (Verifying Implementation)
42
Thực hành chủ yếu (Key Practices)
• Mỗi phạm vi qui trình quan trọng được mô tả theo thuật ngữ của các thực hành mà nó đóng góp vào việc hoàn thành mục tiêu
• Hạ tầng và các hoạt động mà nó đóng góp và việc
thiết lập có hiệu quả và tổ chức hóa của các phạm vi qui trình quan trọng
43
CMMI
CMMI (Capability Maturity Model Integration)
ứ
ầ ầ ố
ủ
ả ế
ể ạ ẩ
ả ụ ợ
ể
ầ
• Kho d li u ch a các thành ph n chung ữ ệ ẻ và chia s , cái làm thành ph n c t lĩ c a mô hình. ủ
ồ
ệ
ấ
ả ế ệ
ạ ượ
ươ ệ ắ ơ ẻ
ng và
ườ
ộ c m t cách ế ậ t l p cho
ụ ng xuyên m c tiêu đã thi
• M c tiêu : cung c p các mô hình đ đ t ụ ấ ượ c các c i ti n qui trình và s n ph m; đ ự ậ t p trung vào xây d ng cung c tr giúp cho c i ti n qui trình; ki m tra xem qui trình hi n hành có đ t đ th nó.
• Đ u ra c a khung CMMI bao g m các mô hình, tài li u hu n luy n và ph pháp đánh giá cho các qui t c đ n l ứ ợ ắ các qui t c ph c h p. • Các mô hình (Models):
ồ
ộ ậ
ấ
ọ
ượ
ợ
– Bao g m m t t p h p chung nh t các ợ ạ ph m vi qui trình quan tr ng trong mô hình đ
c tích h p
ữ ệ
ể
– Software Engineering (CMMISW) – System Engineering (CMMISE) – System Engineering + Software Engineering (CMMISE/SW) – Systems Engineering + Software
ợ ệ
ệ
ệ
• Khung CMMI bao g m kho d li u ồ ượ c dùng đ sinh ra mô hình CMM đ ớ cùng v i các tr giúp đánh giá và tài ươ li u/ph
ấ ng ti n hu n luy n.
Engineering with Integrated Product & Process Development (CMMI SE/SW/IPPD)
45
CMMI Application
3-step Use of Framework:
• • Selection of the Model
– The selection of a model is dependent upon the particular discipline or disciplines relevant to the organization within the scope of applicability to the organization.
• Selection of the Assessment Method
– Associated with all CMMI models is an discipline-independent assessment methodology used to support continuous process improvement. Supporting assessment aids (such as questionnaires, templates, etc.) are specific to the model selected.
– CMMI produces the assessment methodology for a full, comprehensive
assessment. This can be used to derive other types of assessments, such as quick look, first, and reassessment.
• Selection of the Model Representation (a.k.a. Tailoring)
– Selective use of the content generated by the CMMI framework to restrict the
application of a CMMI model to specified process areas. This may be appropriate if certain process areas are not appropriate to the organization's role or business approach. For example, if an organization integrates subcontractor labor into its own processes and has no actual suppliers, then the Supplier Agreement Management process area would not be essential to the organization's practice and could be tailored out.
46
CMM/CMMI pros and cons
• PROS
– Model is downloadable – Standard process for evaluating vendors (assessors
are sanctioned by SEI)
– Training available on the model – Includes all processes
• CONS
– Not recognized by some commercial vendors – Requires significant training to interpret the model – Assumes that the internal staff is a software/system
expert
– Does not include human resources (staffing)
47

