Đả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

• Ad­hoc 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 tra­xá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 (CMMI­SW) – System Engineering (CMMI­SE) – System Engineering + Software  Engineering (CMMI­SE/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