Tải bản đầy đủ (.ppt) (47 trang)

Bài giảng Đảm bảo chất lượng phần mềm: Chương 3 - PGS.TS. Trần Cao Đệ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (750.63 KB, 47 trang )

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

Hai loại chuẩn
– Thực tế (de facto)
– Luật (de jure)
2


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

Product standards

Process standards

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


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 qt 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
– ISO 14143 Functional Size Measurement

10


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 sốt q 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.
2.
3.
4.
5.


6.
7.
8.

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.
Mọi qui trình kiểm sốt chất lượng đều phải được tài liệu hóa.
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.
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.
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.
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ó.
Tiến trình tạo ra sản phẩm hồn chỉnh phải được lên kế hoạch và kiểm
sốt.
Thanh tra và kiểm thử (mã nguồn) phải được thực hiện suốt q trình
phát triển, hồ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.

13


Yêu cầu của ISO 9001 (tt)
9.
10.
11.
12.

13.
14.
15.
16.
17.

Thiết bị dùng trong quá trình sản xuất cũng phải được kiểm sốt là hợp
chuẩn.
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 đủ.
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ờ.
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.
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..
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.
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.
Các hoạt động phục vụ và trợ giúp cũng là chủ đề trong quản lí chất
lượng.
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
nhận được của sản phẩm.
14


ISO 9001 Sections
• Section 4: General Requirements
– Requirements for the overall Quality Management System


• Section 5: Management Responsibility
– Requirements for Management and their role in the Quality
Management System

• Section 6: Resource Management
– Requirements for resources including personnel, training, the facility
and work environment

• Section 7: Product Realization
– Requirements for the production of the product or service, including
planning, customer related processes, design, purchasing, and
process control.

• Section 8: Measurement, Analysis and Improvement
– Requirements on monitoring processes and improving those

processes.

15


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
qu alit y m odels
in st an ttia
ed as

Organ i sa
t ion
qu alit y m u
an
al

docu m en t s

is u sed t o de
velop

Project 1
qu alit y plan

Project 2
qu al it y plan

Organ i sa
t ion
qu al it y ocess
pr
in st an ttia
ed as


Project 3
qu al it y plan

Project qu alit y
m an a
gem en t

Su pports

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 q trình phát triển hoặc bảo trì (ví dụ code, kiến trúc).
– Chất lượng ngồi (External Quality)
là các đặc tính của SP phần mềm từ góc nhìn bên ngồi thơng
qua thực thi chương trình.
– Chất lượng dùng (Quality in Use)
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, hồn cảnh cụ thể. Nó phản ánh mức độ
mà người dùng có thể hồ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

• Chất lượng trong xác định chất lượng ngồi, chất lượng ngoài ảnh
hưởng đến chất lượng dùng

19


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)
User quality
needs

Use and
feedback

Contribute to specifying
External quality

Requirements

indicates
Validation

Contribute to specifying
Internal quality
Requirements

Quality in use

External quality

indicates
Verification

Internal quality

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


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
mềm thỏa mãn chuẩn, qui ước hoặc các qui định luật pháp về độ tin
cậy.

• Availability (tính sẳn dùng) là tổ hợp của maturity, fault
tolerance và recoverability
25


×