Tải bản đầy đủ (.pdf) (75 trang)

nghiên cứu, so sánh, đánh giá các tiêu chuẩn chất lượng trong phát triển phần mềm

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 (1.35 MB, 75 trang )



MỞ ĐẦU

Cũng như mọi hoạt động sản xuất-kinh doanh khác, việc sản xuất phần
mềm đòi hỏi tuân thủ nghiêm ngặt các tiêu chuẩn về chất lượng, không chỉ
chất lượng của từng module riêng lẻ mà cả chất lượng của toàn hệ thống và
quy trình. Tuy nhiên, ở nước ta, công tác quản lý chất lượng sản phẩm phần
mềm chưa được coi trọng ở nhiều doanh nghiệp.
Quản lý chất lượng sản phẩm trong doanh nghiệp phần mềm không chỉ
là bảo đảm chất lượng của từng sản phẩm làm ra mà còn quản lý cả các quy
trình làm ra sản phẩm ấy. Mô hình quản lý chất lượng là một mô hình có
tính liên thông từ trên xuống dưới. Việc nghiên cứu tiêu chuẩn đánh giá chất
lượng phần mềm và vấn đề quản lý chất lượng sản phẩm phần mềm luôn có
ý nghĩa khoa học và thực tiễn.
Hiện nay điều đáng lưu ý là không phải bất cứ doanh nghiệp phần mềm
nào cũng xây dựng cho mình một hệ thống quản lý chất lượng riêng dựa trên
các chứng chỉ quốc tế hay dựa trên tiêu chuẩn đánh giá chất lượng phần mềm.
Vì thế với mỗi doanh nghiệp việc lựa chọn các tiêu chuẩn đánh giá chất lượng
phần mềm và mô hình quản lý chất lượng sản phẩm phần mềm phù hợp là rất
quan trọng. Chính vì vậy trong phạm vi luận văn tốt nghiệp, em chọn đề tài:
"Nghiên cứu, so sánh, đánh giá các tiêu chuẩn chất lượng trong phát triển
phần mềm". Với kết quả của đề tài này, em mong muốn đưa ra được những
tiêu chuẩn nào là phù hợp với quy trình phát triển phầm mềm nhằm đưa ra các
phần mềm đảm bảo chất lượng và hơn thế nữa đưa ra được tiêu chuẩn nào là
phù hợp cho điều kiện của doanh nghiệp phần mềm Việt Nam.
Luận văn được đặt ra với các mục tiêu và nhiệm vụ sau:
 Nghiên cứu các tiêu chuẩn về chuẩn hoá quy trình phát triển phần mềm,
tiêu chuẩn chất lượng phần mềm, nhằm đề xuất một hệ thống tiêu chuẩn chất
lượng tương đương với các hệ thống tiêu chuẩn quốc tế.
 Nghiên cứu, so sánh và đánh giá các tiêu chuẩn chất lượng trong phát triển


phần mềm, đưa ra các tiêu chuẩn phù hợp với các doanh nghiệp phần mềm
Việt Nam.
 Kiến nghị các giải pháp hiệu quả trong phát triển phần mềm đảm bảo chất
lượng mong muốn.
Phạm vi nghiên cứu
Luận văn tập trung nghiên cứu về một số tiêu chuẩn chất lượng trong
phát triển phần mềm.
Đề xuất các tiêu chuẩn phù hợp cho điều kiện và hoàn cảnh của doanh
nghiệp phần mềm Việt Nam.


Phương pháp nghiên cứu
Phương pháp luận:
Nghiên cứu các tài liệu, lý thuyết và các vấn đề liên quan đến tiêu
chuẩn chất lượng phần mềm để từ đó áp dụng vào thực tiễn đánh giá chất
lượng các phần mềm, nhằm đưa ra thị trường các sản phầm có chất lượng,
giảm thiểu tối đa các thiệt hại về kinh tế. Bởi hiện nay, lỗi của phần mềm cực
kỳ nguy hiểm, gây ra những thiệt hại không nhỏ về vật chất trong bối cảnh
hầu hết những ngành kinh tế quan trọng đều đang sử dụng rộng rãi.
Các phương pháp nghiên cứu cụ thể điển hình:
- Phương pháp nghiên cứu lý thuyết:
Nghiên cứu các tài liệu trong và ngoài nước liên quan đến tiêu chuẩn
chất lượng phần mềm. So sánh và đánh giá các tiêu chuẩn, lựa chọn các tiêu
chuẩn thích hợp áp dụng để đánh giá một sản phẩm phần mềm đối với các
doanh nghiệp phần mềm việt Nam. Các tiêu chuẩn để đánh giá chất lượng
phần mềm này không chỉ phù hợp để đánh giá một sản phẩm phần mềm đạt
chất lượng trong điều kiện hiện tại mà nó còn phải là một tiêu chuẩn phù hợp
với quá trình phát triển phần mềm trong tương lai.
Nội dung luận văn
Cấu trúc luận văn gồm có 4 chương:

Chương 1. Tổng quan về tiêu chuẩn chất lượng phần mềm
Chương 2. Một số tiêu chuẩn chất lượng phần mềm hiện đại
Chương 3. Các đặc trưng chủ yếu của tiêu chuẩn chất lượng phần mềm
Chương 4. So sánh và đánh giá
Kết luận và khuyến nghị



Chương 1
TỔNG QUAN VỀ TIÊU CHUẨN CHẤT LƯỢNG
PHẦN MỀM

1.1. Tiêu chuẩn chất lượng
Là những quy định thống nhất được trình bày dưới dạng văn bản pháp
chế kỹ thuật, xây dựng theo một thể thức nhất định. Các tiêu chuẩn có thể là
các kinh nghiệm hoặc các phương pháp hiệu quả nhất, được đề xuất từ các
hiệp hội nghề nghiệp như IEEE (The Institute of Electrical and Electronics
Engineers, Inc – Học viện các kỹ sư điện và điện tử), từ các tổ chức quốc tế
như ISO (International Organization for Standardization), hoặc các quy tắc
chuẩn hóa để giao tiếp giữa sản phẩm với nhau… hoặc đơn giản do chính tổ
chức phát triển phần mềm đề ra để áp dụng cho chính họ nhằm sản xuất ra các
sản phẩm đạt chất lượng.
Các tiêu chuẩn có thể bao gồm tất cả các khía cạnh của một chu kỳ phát
triển phần mềm, trải dài suốt mọi pha phát triển. Bất kể tiêu chuẩn xuất phát
từ đâu, từ nội bộ công ty, hoặc từ ngoài, nó đều phải có một số đặc điểm sau:
• Tính cần thiết
• Tính khả thi
• Tính đo lường được
Các tiêu chuẩn nên được chọn và thể hiện sao cho khi sử dụng, các khía
cạnh kỹ thuật cần thiết sẽ được nhấn mạnh, tránh trường hợp hiểu sai hoặc sa

vào những tiểu tiết phụ trợ hoặc sa vào kiểm tra các chi tiết về mặt hình thức.
1.2. Chất lượng phần mềm
Nói đến chất lượng phần mềm không ít người nghĩ ngay đến vấn đề là
xác định xem phần mềm đó có phát sinh lỗi hay không, có “chạy” đúng như
yêu cầu hay không và nó có làm thoả mãn nhu cầu người sử dụng hay không,
có dễ sử dụng, dễ bảo trì hay không? Đây chính là quan điểm chất lượng
của khách hàng. Vậy có thể định nghĩa: Chất lượng là mức độ thoả mãn của
người sử dụng đối với sản phẩm hay dịch vụ .
Tuy nhiên quan điểm về chất lượng phần mềm đang là một khái niệm
gây nhiều tranh cãi. Theo quan điểm của người phát triển thì một phần mềm
tốt là một phần mềm ít lỗi. Còn quan điểm chất lượng theo kiểu lập trình đó
là làm thế nào để xây dựng phần mềm đúng như thiết kế. Chất lượng thiết kế
ở đây được hiểu là các đặc điểm, hình dáng mà nhà thiết kế có ý định tạo ra
trong sản phẩm cuối cùng. Tuy có nhiều quan điểm khác nhau về chất lượng
phần mềm, nhưng một phần mềm tốt không những phải đáp ứng nhu cầu của
người phát triển mà phải thoả mãn người sử dụng và có độ tin cậy cao. Do đó


ta có thể định nhĩa chất lượng chất lượng phần mềm là sự đáp ứng các yêu
cầu chức năng, sự hoàn thiện và các chuẩn (đặc tả) được phát triển, các đặc
trưng mong chờ từ mọi phần mềm chuyên nghiệp (ngầm định).
Mặc dù có nhiều quan điểm khác nhau về chất lượng phần mềm, nhưng
dù theo quan điểm nào đi chăng nữa thì một phần mềm tốt, đảm bảo chất
lượng phải đáp ứng được :
1. Các chỉ tiêu cơ bản:
 Phản ánh đúng yêu cầu người dùng ( tính hiệu quả)
 Chứa ít lỗi tiềm tàng
 Giá thành không vượt quá giá ước lượng ban đầu
 Dễ vận hành, sử dụng
 Tính an toàn và độ tin cậy cao

2. Hiệu suất xử lý cao
 Hiệu suất thời gian tốt
- Độ phức tạp tính toán thấp
- Thời gian quay vòng ngắn
- Thời gian hồi đáp nhanh
 Sử dụng tài nguyên máy tính hữu hiệu: CPU, RAM, HDD,
v v
3. Tính dễ hiểu
 Kiến trúc và cấu trúc thiết kế dễ hiểu
 Dễ kiểm tra, kiểm chứng, kiểm thử
 Dễ bảo trì
 Có tài liệu ( mô tả yêu cầu, điều kiện kiểm thử, vận hành, bảo
trì, ) với chất lượng cao.
1.3. Đảm bảo chất lượng phần mềm
Khi phần mềm trở thành sản phẩm và đòi hỏi đảm bảo chất lượng đáp
ứng nhu cầu của người sử dụng thì hoạt động đảm bảo chất lượng phần mềm
là một hoạt động cốt yếu được các doanh nghiệp sản xuất phần mềm quan tâm
hàng đầu. Bởi vì hoạt động bảo đảm chất lượng phần mềm có những lợi ích:
Phần mềm có ít các khiếm khuyết hơn nên giảm phí tổn bảo trì, độ tin cậy cao
hơn do đó thoả mãn nhu cầu khách hàng hơn. Hoạt động bảo đảm chất lượng
phần mềm luôn được tiến hành song song với quá trình phát triển của nó có
như vậy nó mới vận hành và đáp ứng được nhu cầu của người sử dụng và
không bị lỗi cùng với thời gian.
Để đánh giá chất lượng phần mềm người ta dựa vào quan điểm chính sau:
 Yêu cầu phần mềm là cơ sở để đo chất lượng


 Yêu cầu thể hiện bằng đặc tả - đặc tả phải có chuẩn của nó mới kiểm
tra được.
 Các chuẩn đặc tả xác định một bộ các tiêu chuẩn phát triển, các tiêu

chuẩn này hướng dẫn cách thức làm ra phần mềm: nếu không tuân thủ
các tiêu chuẩn đó thì hầu như chắc chắn là chất lượng sẽ kém.
 Nếu phần mềm chỉ phù hợp với các yêu cầu đã hiển thị mà chưa phù
hợp với yêu cầu ngầm thì chất lượng phần mềm là đáng nghi ngờ.
 Cần làm rõ yêu cầu và đưa vào đặc tả càng nhiều càng tốt
1.4. Tiêu chuẩn đánh giá chất lượng phần mềm
Mục tiêu của công nghệ phần mềm là sản xuất ra những phần mềm tốt,
có chất lượng cao. Các nhân tố ảnh hưởng đến chất lượng phần mềm có thể
được phân thành hai nhóm chính: các nhân tố có thể đo trực tiếp và các nhân
tố chỉ có thể đo gián tiếp.
 Nhân tố trực tiếp: có thể trực tiếp đo như lỗi/KLOC/ đơn vị thời gian
 Nhân tố gián tiếp: nhân tố chỉ có thể đo được một cách gián tiếp như
tính bảo trì.
Theo McCall các tiêu chuẩn đánh giá chất lượng được chia thành 3 loại:
Loại 1: Đặc trưng chức năng:
1.4.1. Tính đúng đắn
Tính đúng đắn: Khi xét về tính đúng đắn tức là đề cập đến phạm vi
phần mềm đó có làm đúng điều khách hàng mong muốn, có thoả mãn các yêu
cầu đã được mô tả và có thực hiện được những mục tiêu nhiệm vụ của khách
hàng.
* Các độ đo liên quan:
Độ đầy đủ
Độ hoà hợp
Độ lần vết được
1.4.2. Tính tin cậy
Là khả năng của phần mềm duy trì mức hiệu năng được chỉ định rõ khi
sử dụng dưới những điều kiện cụ thể. Gồm bốn đặc tính:
. Sự cẩn thận: liên quan đến tần suất hư hại bởi lỗi của phần mềm.
. Khả năng thích ứng lỗi: liên quan đến khả năng duy trì việc thực thi
phần mềm ở mức nào nếu xảy ra lỗi hay sự cố.

. Khả năng khôi phục: liên quan đến khả năng thực thi lại chương
trình ở mức nào và khôi phục lại dữ liệu trong trường hợp gặp sự cố hay lỗi
phần mềm.
* Các độ đo liên quan:
Độ chính xác


Độ phức tạp
Độ hoà hợp
Độ dung thứ lỗi
Độ môđun hoá
Độ đơn giản - dễ hiểu
Độ lần vết được
1.4.3. Tính hiệu quả
Là khả năng của phần mềm cung cấp hiệu năng thích hợp nhằm tiết
kiệm tối đa tài nguyên và tăng tối đa hiệu suất công việc, dưới những điều
kiện sử dụng nhất định. Gồm các đặc trưng sau:
.Về mặt thời gian: liên quan đến khả năng đáp ứng kết quả mong đợi
của một chức năng hay toàn bộ ứng dụng với khoảng thời gian chấp nhận
được.
.Về mặt tài nguyên: liên quan đến các tài nguyên được sử dụng và
khoảng thời gian chiếm dụng các tài nguyên trong việc thực thi các chức
năng.
. Sự tuân thủ
* Các độ đo liên quan:
Độ súc tích
Độ hiệu quả thực hiện
Độ dễ thao tác
1.4.4. Tính toàn vẹn
Có thể khống chế được việc truy cập của những người không được

phép tới phần mềm và dữ liệu của hệ thống.
* Các độ đo liên quan:
Độ kiểm toán được
Trang bị đồ nghề đầy đủ
Độ an ninh
1.4.5. Tính khả dụng
Là khả năng của phần mềm để có thể hiểu được, học hỏi được, sử dụng
được và hấp dẫn đối với người sử dụng. Gồm các đặc trưng sau:
. Sự dễ hiểu: liên quan đến việc người dùng có đủ khả năng hiểu được
các khái niệm một cách logíc và khả năng của phần mềm.
. Có thể học được: liên quan việc người sử dụng có đủ nỗ lực để học
sử dụng và khai thác phần mềm.
. Dễ thao tác: liên quan đến khả năng có thể thao tác và điều khiển các
thao tác khi khai thác phần mềm.
. Sự tuân thủ


* Các độ đo liên quan:
Độ dễ thao tác
Khả năng dễ huấn luyện
1.4.6. Tính bảo trì được
Là khả năng của phần mềm cho phép sửa đổi, nâng cấp, bao gồm
những sự sửa chữa, sự cải tiến hoặc sự thích nghi của phần mềm để thay đổi
cho phù hợp với môi trường, và các yêu cầu, đặc tả chức năng mới. Gồm các
đặc trưng sau:
. Khả năng phân tích: liên quan đến việc với sự nỗ lực cần thiết có thể
chuẩn đoán sự thiếu sót hay các nguyên nhân gây lỗi.
. Có thể thay đổi: liên quan đến việc với sự nỗ lực cần thiết có thể sửa
chữa, loại bỏ lỗi hay đáp ứng những thay đổi của môi trường.
. Sự ổn định: liên quan đến những rủi ro của những tác động không

mong muốn khi có những sửa đổi.
. Có thể thử được: liên quan đến việc với những nỗ lực cần thiết có thể
chứng thực những thay đổi của phần mềm.
. Sự tuân thủ
* Các độ đo liên quan:
Độ súc tích
Độ hoà hợp
Trang bị đồ nghề đủ
Độ module hoá
Độ tự cấp tài liệu
Độ đơn giản
Độ dễ hiểu
1.4.7. Tính mềm dẻo
Nỗ lực cần có thể thay đổi một chương trình đang vận hành.
* Các độ đo liên quan:
Độ phức tạp
Độ súc tích
Độ hoà hợp
Khuếch trương được
Độ khái quát
Độ module hoá
Tự cấp tài liệu
Độ đơn giản - dễ hiểu


1.4.8. Tính thử nghiệm được
Phần mềm có thể kiểm thử được là phần mềm mà nó có cách dễ dàng
để có thể kiểm tra được. Đảm bảo rằng nó thực hiện đúng các chức năng dự
định.
* Các độ đo liên quan:

Độ kiểm toán được
Độ phức tạp
Trang bị đồ nghề đủ
Độ module hoá
Tự cấp tài liệu
Độ đơn giản - dễ hiểu
1.4.9. Tính mang chuyển được
Là khả năng của phần mềm có thể chuyển được từ môi trường này sang
môi trường khác.
.Khả năng thích ứng: liên quan đến khả năng thích ứng với sự thay
đổi môi trường đã dự tính trước.
. Sự cài đặt: liên quan thuộc tính có thể cài đặt phần mềm trên các môi
trường khác nhau.
. Khả năng thay thế: liên quan đến thuộc tính có khả năng thay thế các
phần mềm khác trong cùng môi trường với sự cố gắng tối thiểu.
. Khả năng chung sống: liên quan đến thuộc tính có khả năng chung
sống với các phần mềm khác.
. Sự tuân thủ.
* Các độ đo liên quan:
Độ khái quát
Độ độc lập phần cứng
Độ module hoá
Tự cấp tài liệu
Độc lập hệ thống phần cứng
1.4.10. Tính sử dụng lại được
Phạm vi trong đó một chương trình (hay bộ phận của chương trình) có
thể được dùng lại trong các ứng dụng khác - có liên quan tới việc đóng gói và
phạm vi các chức năng chương trình thực hiện.
* Các độ đo liên quan:
Độ khái quát

Độ độc lập phần cứng
Độ module hoá
Tự tạo tài liệu


Độc lập hệ thống phầm mềm
1.4.11. Tính liên tác được
Nỗ lực đòi hỏi để ghép hệ thống chương trình vào một hệ thống khác là
chấp nhận được.

* Các độ đo liên quan:
Độ tương đồng giao tiếp
Độ tương đồng dữ liệu
Độ khái quát
Độ modul hoá
1.5. Quy trình phát triển phần mềm
Cũng như mọi ngành sản xuất khác, qui trình là một trong những yếu tố
cực kỳ quan trọng đem lại sự thành công cho các nhà sản xuất phần mềm, nó
giúp cho mọi thành viên trong dự án đều có thể hiểu rõ được công việc của
mình và của người khác đang làm và có thể kiểm soát được các công việc
này. Có thể nói qui trình phát triển/xây dựng phần mềm (Software
Development/Engineering Process – SEP) có tính chất quyết định để tạo ra
sản phẩm chất luợng tốt với chi phí thấp và năng suất cao, điều này có ý nghĩa
quan trọng đối với các công ty sản xuất hay gia công phần mềm củng cố và
phát triển cùng với nền công nghiệp phần mềm đầy cạnh tranh.
Có 4 thao tác là nền tảng của hầu hết các quy trình phần mềm là:
1. Đặc tả phần mềm: Các chức năng của phần mềm và điều kiện để nó
hoạt động phải được định nghĩa.
2. Sự phát triển phần mềm: Để phần mềm đạt được đặc tả thì phải có quá
trình phát triển này.

3. Đánh giá phần mềm: Phần mềm phải được đánh giá để chắc chắn rằng
nó làm những gì mà khách hàng muốn.
4. Sự tiến hóa của phần mềm: Phần mềm phải tiến hóa để thỏa mãn sự
thay đổi các yêu cầu của khách hàng.
Qui trình có thể hiểu là phương pháp thực hiện hoặc sản xuất ra sản
phẩm. Đó là một quy định xem ai làm cái gì, làm như thế nào và làm khi nào.
Quy trình phát triển phần mềm chính là phương pháp phát triển hay sản
xuất ra sản phẩm phần mềm.
1.5.1. Mô hình thác nước




Hình 1.1. Mô hình thác nước
Trong mô hình này, công việc được phân chia thành các giai đoạn và
việc quản lý được tiến hành cho từng giai đoạn. Cái tên “thác đổ” nói lên rằng
công việc diễn ra trong mô hình này đi từ trên xuống dưới sẽ không bao giờ
có bước đi ngược lại, đây chính là nhược điểm của mô hình này. Các giai
đoạn của mô hình:
1. Phân tích yêu cầu và tài liệu đặc tả (Requirements and
Specifications): là giai đoạn xác định những “đòi hỏi” liên quan đến chức
năng và phi chức năng mà hệ thống phần mềm cần có.
2. Phân tích hệ thống và thiết kế (System Analysis and Design): là giai
đoạn định ra “làm thế nào” để hệ thống phần mềm đáp ứng những “đòi hỏi”
mà khách hàng yêu cầu trong giai đoạn phân tích yêu cầu.
3. Hiện thực và kiểm thử từng thành phần (Coding and Unit Test): là
giai đoạn hiện thực “làm thế nào” được chỉ ra trong giai đoạn “Phân tích hệ
thống và thiết kế”.
4. Kiểm thử (Test): giai đoạn này sẽ tiến hành kiểm thử mã (code) đã
được hiện thực, bao gồm kiểm thử tích hợp cho nhóm các thành phần và kiểm

thử toàn hệ thống (system test).
5. Cài đặt và bảo trì (Deployment and Maintenance): đây là giai đoạn
cài đặt, cấu hình và huấn luyện khách hàng. Giai đoạn này sửa chữa những lỗi
của phần mềm (nếu có) và phát triển những thay đổi mới được khách hàng
yêu cầu (như sửa đổi, thêm hay bớt chức năng/đặc điểm của hệ thống).
Nhận xét: Quy trình này thực tế chỉ cho một khung phát triển mà
không thích hợp với các dự án phức tạp mà các bước không thể rạch ròi được
và cũng không thể đảm bảo bước nọ hoàn thiện mới chuyển sang bước kế


tiếp. Ngày nay quy trình này nói chung là chỉ dùng được với các dự án nhỏ và
đơn giản.
1.5.2. Mô hình làm bản mẫu

Hình 1.2. Mô hình làm bản mẫu
Mô hình này cũng bắt đầu từ việc thu thập yêu cầu khách hàng. Sau đó,
là công việc thiết kế nhanh, công việc này dẫn đến xây dựng một bản mẫu.
Bản mẫu này dùng cho khách hàng đánh giá để làm mịn yêu cầu đối với phần
mềm cần phát triển. Tiến trình này lặp đi lặp lại cho đến khi bản mẫu thuyết
phục và làm hài lòng khách hàng. Tuy nhiên với mô hình này có ưu điểm đó
là tạo được mô hình phần mềm ngay từ giai đoạn đầu nhưng đây cũng chính
là nhược điểm lớn nhất của nó vì : khi có yêu cầu mới xây dựng hệ thống
mới  lại “vứt đi”  Chi phí cao.
Nhận xét: Đây là quy trình dành cho các dự án nhỏ mà người phát triển
phần mềm phải cùng làm việc với người yêu cầu để làm rõ yêu cầu đến mức
giao diện thông qua thiết kế theo kiểu minh hoạ với sự xác nhận từng khâu
của người sử dụng cuối cùng.
1.5.3. Mô hình xoắn ốc





Hình 1.3. Mô hình xoắn ốc
Mô hình xoắn ốc đề cập đến hầu hết các trường hợp đặc biệt và nó chứa
đựng những tính năng tốt nhất của mô hình thác nước và làm bản mẫu trong
đó có bổ sung thêm một yếu tố mới: Phân tích rủi ro. Cái mà cả hai mô hình
trên
còn thiếu và yếu.
Mô hình có bốn hoạt động chính được chia chia thành 4 góc phần tư:
 Các hoạt động chính:
 Lập kế hoạch: Xác định mục tiêu, ràng buộc và giải pháp.
 Phân tích rủi ro: Phân tích các phương án và xác định cách giải
quyết rủi ro.
 Phát triển, xác minh cấp độ kế tiếp
 Dự trù pha kế tiếp qua đánh giá của khách hàng
Nhận xét: Mô hình này thừa nhận sự không hoàn thiện của việc phân
tích thiết kết và lập trình một lần, mà phải phát triển nhiều vòng, hoàn thiện
dần.
1.5.4. Mô hình CMM
CMM (Capability Maturity Model) là mô hình đánh giá sự trưởng
thành năng lực sản xuất phần mềm. Đây là mô hình có thể phân loại và đánh
giá mức độ trưởng thành, thuần thục về kỹ thuật và công nghệ của một công
ty phần mềm. CMM còn là một tiêu chuẩn quốc tế đã được thừa nhận (tương
tự như ISO). Các biện pháp và cơ chế hoàn thiện quy trình đã trở thành một
phần ngày càng quan trọng trong quá trình phát triển phần mềm nhằm đảm
bảo chất lượng sản phẩm.
Mô hình này có 5 mức:




Hình 1.4. Mô hình CMM - Các mức đối với phát triển phần mềm
Tuỳ theo từng mức sẽ có các yêu cầu khác nhau và các vấn đề cần tập
trung giải quyết để hoàn thiện quy trình phần mềm ở mức đó.
 Ở mức 1: đây là mức khởi đầu nên chưa có bất kỳ một kinh nghiệm nào
về sản xuất phần mềm. Các nhà sản xuất phần mềm làm một cách tự phát và
không tập trung vào một vấn đề cụ thể nào nên mang tính chất hỗn độn.
 Ở mức 2: tập trung vào những vấn đề liên quan đến việc thiết lập kiểm
soát cơ bản cho quản trị dự án. Đó là quản lý yêu cầu (Requirement
Management), Lập kế hoạch cho dự án phần mềm (Software Project
Planning), Giám sát và theo dõi dự án phần mềm (Software Project Tracking
and Oversight), Quản lý hợp đồng phụ phần mềm (Software Subcontract
Management), Đảm bảo chất lượng sản phẩm phần mềm (Software Quality
Assurance) và Quản lý cấu hình phần mềm (Software Configuration
Management).
 Ở mức 3: tập trung vào cả hai vấn đề về dự án và tổ chức. Vì một tổ
chức tạo nên cấu trúc hạ tầng thể chế hoá các quá trình quản lý và sản xuất
phần mềm hiệu quả qua tất cả các dự án. Chúng bao gồm: Trọng tâm tiến
trình tổ chức (Organization Process Focus), Xác định tiến trình tổ chức
(Organization Process Definition), Lập chương trình đào tạo (Training
Program), Quản trị phần mềm tích hợp (Integrated Software Management),
Sản phẩm công nghệ phần mềm (Software Product Engineering), Phối hợp
giữa các nhóm (Intergroup Coordination), Kiểm tra ngang hàng (Peer
Reviews).
 Ở mức 4: tập trung vào việc thiết lập quá trình sản xuất phần mềm về
mặt số lượng và chất lượng. Đó là: Quản lý số lượng qui trình (Quantitative
Process Management), Quản lý chất lượng phần mềm (Software Quality
Management).


 Ở mức 5: bao gồm các vấn đề mà các tổ chức và dự án phải hướng đến

để thực hiện hoàn thiện quá trình sản xuất phần mềm. Đó là: Ngăn ngừa lỗi
(Defect Prevention), Quản lý những thay đổi về mặt công nghệ (Technology
Change Management), Quản lý những thay đổi về mặt quy trình (Process
Change Management).
1.5.5. Mô hình CMMI

Hình 1.5. Mô hình CMMI - Các mức đối với phát triển phần mềm
Mô hình CMMI (Capability Maturity Model Integration) là phiên bản
mới của CMM nhằm thay thế cho CMM. Đây là mô hình được SEI phát triển
nhằm cung cấp những tiêu chuẩn hướng dẫn, kinh nghiệm thực tế để phát
triển, cải tiến các quy trình của một tổ chức phần mềm. Mô hình này cũng bao
gồm 5 mức: Khởi đầu, Quản lý, Định nghĩa, Quản lý định lượng, tối ưu.
1.

Khởi đầu (lộn xộn, không theo chuẩn): đây là điểm khởi đầu để sử
dụng một quy trình mới.
2.

Quản lý (quản lý dự án, tuân thủ quy trình): Quy trình này được lặp lại
nhiều lần.
3.

Định nghĩa (thể chế hóa): Quy trình này được xác lập/ xác nhận như
một quy trình doanh nghiệp tiêu chuẩn.
4.

Quản lý định lượng: Tiến hành kiểm soát và đo lường quy trình sản
xuất phần mềm.
5.


Tối ưu (cải tiến quy trình): Kiểm soát quy trình bao gồm việc cân nhắc
kỹ để cải tiến/ tối ưu hóa quy trình.
Chương 2
MỘT SỐ TIÊU CHUẨN CHẤT LƯỢNG PHẦN MỀM
HIỆN ĐẠI



2.1. Tổng quan các tiêu chuẩn trong phát triển phần mềm
Có thể nói chất lượng phần mềm luôn là mục tiêu hàng đầu đối với giới
sản xuất và người sử dụng phần mềm. Do đó muốn sản xuất được phần mềm
tốt thì đòi hỏi phải có quy trình tốt. Quy trình yếu thì sản phẩm khó mà tốt.
Vấn đề được đặt ra là làm thế nào cải tiến qui trình để cải thiện chất lượng và
năng suất? Câu trả lời chính là qui trình khung (Process Framework – PF). PF
sẽ chỉ ra những yêu cầu, những tiêu chuẩn mà một qui trình phải đáp ứng tùy
theo mỗi mức độ. PF không chỉ ra bất kỳ một qui trình cụ thể nào mà chỉ đưa
ra những yêu cầu ở mỗi mức độ trưởng thành khác nhau của qui trình phải đạt
được.Có nhiều PF, nhưng phổ biến nhất là ISO và CMM/CMMI được các tổ
chức thế giới công nhận.
Ở chương 1 ta đã nghiên cứu một số mô hình phát triển phần mềm, tùy
theo mô hình phát triển phần mềm các nhóm công việc được triển khai theo
những cách khác nhau. Để sản xuất cùng một sản phẩm phần mềm người ta
có thể dùng các mô hình khác nhau. Tuy nhiên nói về các giai đoạn để phát
triển phần mềm thì vẫn tương tự nhau, và chủ yếu có các giai đoạn sau:
1.
Xác định yêu cầu phần mềm – Requirement
Engineering

2. Phân tích hệ thống phần mềm – Analysis
3. Thiết kế chi tiết- Design

4. Thực hiện – Development
5. Kiểm thử phần mềm – Testing
6. Tích hợp triển khai- Interagtion Implementation
7. Bảo dưỡng phần mềm – Maintenance
Tuy ở mức rất khác nhau nhưng mỗi giai đoạn đều có ảnh hưởng đến
chất lượng phần mềm. Chất lượng của phần mềm phụ thuộc chủ yếu vào công
tác tổ chức làm phần mềm – chính là vấn đề quản trị dự án, chứ không phụ
thuộc nhiều vào kỹ năng lập trình.
Có hai giai đoạn ảnh hưởng lớn nhất đến chất lượng phần mềm:
- Giai đoạn thiết kế. Đây là giai đoạn quan trọng nhất. Nếu mắc lỗi ở
đây mà không phát hiện sớm thì chi phí khắc phục sau khi giao phần mềm có
thể gấp vài chục lần nếu phát hiện sớm để sửa ngay. Các lỗi ở đây gọi là error.
- Giải đoạn coding (gồm lập trình và làm database), lỗi ở đây là lỗi
lập trình và lỗi dữ liệu và gọi là bug – ít trầm trọng hơn error.
- Giai đoạn thiết kế người ta phải tổ chức các hoạt động kiểm soát chất
lượng chủ yếu bằng review và inspection.
- Giai đoạn lập trình thì phải kiểm soát chất lượng bằng kiểm thử
(testing) gồm kiểm thử từng phần -unit test, kiểm thử tích hợp – intergration


test, kiểm thử hệ thống với nội dung đánh giá hiệu năng – system test và kiểm
thử vận hành
– operational test chủ yếu là kiểm soát tương tác người máy có phù hợp
không.
Chính vì vậy để giảm thiểu tối đa các thiệt hại về kinh tế do lỗi của
phần mềm gây ra, các doanh nghiệp đã vận dụng các tiêu chuẩn chất lượng
vào quy trình phát triển phần mềm, và đó là những tiêu chuẩn nào? Chúng ta
sẽ nghiên cứu kỹ vào phần sau.
2.2. ISO 9126
ISO-International Organization for Standardization: Là liên đoàn quốc

tế của các cơ quan tiêu chuẩn hoá quốc gia và là tổ chức tiêu chuẩn hoá lớn
nhất của thế giới hiện nay. ISO được thành lập năm 1946 tại Luân Đôn nhưng
chính thức bắt đầu hoạt động từ 23/2/1947. ISO nhắm chung đến nhiều loại tổ
chức cả sản xuất lẫn dịch vụ. Các chuẩn ISO đóng góp cho sự phát triển, sản
xuất và cung cấp sản phẩm và dịch vụ một cách hiệu quả, an toàn, tin cậy và
rõ ràng hơn. Đối với phần mềm, ISO chỉ ra mức độ chất lượng yêu cầu tối
thiểu mà một SEP phải đạt và việc cải tiến quy trình được thực hiện thông
qua quy trình kiểm định.
ISO 9126 là tiêu chuẩn quốc tế đánh giá phần mềm. Trên thực tế mô
hình chất lượng ISO 9126 được mô tả là một phương pháp phân loại và chia
nhỏ những thuộc tính chất lượng, nhằm tạo nên những đại lượng đo đếm được
dùng để kiểm định chất lượng của sản phẩm phần mềm.
2.2.1. Phạm vi mô hình chất lượng ISO-9126
ISO-9126 mô tả một mô hình chất lượng sản phẩm phần mềm gồm hai
phần:
 Chất lượng trong và chất lượng ngoài
 Chất lượng sử dụng
Phần thứ nhất của mô hình xác định 6 tiêu chí của chất lượng trong, 6
tiêu chí chất lượng ngoài; các tiêu chí này sau đó lại được chia nhỏ thành
nhiều tiêu chí con. Những tiêu chí này được bộc lộ ra ngoài khi phần mềm
được coi như là một phần của hệ thống máy tính và là kết quả của các thuộc
tính phần mềm bên trong.
Phần thứ hai của mô hình mô tả 4 tiêu chí chất lượng sử dụng. Chất
lượng sử dụng là hệ quả của 6 tiêu chí chất lượng sản phẩm phần mềm đối với
người dùng.
Các tiêu chí sản phẩm phần mềm này có thể áp dụng cho tất cả các loại
phần mềm. Những tiêu chí sản phẩm phần mềm tạo ra sự nhất quán đối với


chất lượng sản phẩm phần mềm, đồng thời cung cấp một khung cho việc xác

định các yêu cầu đối với chất lượng phần mềm.
2.2.2. Tiêu chí chất lượng
Chất lượng sử dụng phải bao gồm các yêu cầu về chất lượng trong từng
trường hợp sử dụng cụ thể. Những yêu cầu này có thể được sử dụng khi xác
định các chất lượng trong và ngoài, sử dụng các tiêu chí chất lượng sản phẩm
phần mềm cùng các phép đánh giá tương ứng

Hình 2.1. Chất lượng trong vòng đời sản phẩm
Việc đánh giá sản phẩm phần mềm để thoả mãn các yêu cầu chất lượng
là một trong những quy trình trong vòng đời phát triển của phần mềm. Chất
lượng sản phẩm phần mềm cần được đánh giá bằng việc đo kiểm các thuộc
tính bên trong (thường là các phương pháp đo tĩnh trên các sản phẩm trung
gian), hoặc bằng cách đo kiểm các thuộc tính bên ngoài (thường là đo các đáp
ứng của mã lệnh khi thực thi), hoặc bằng cách đo kiểm chất lượng các thuộc
tính sử dụng. Mục đích là để sản phẩm đáp ứng được những yêu cầu trong
từng trường hợp sử dụng cụ thể.
Các yêu cầu cho chất lượng sản phẩm phần mềm sẽ bao gồm các tiêu
chuẩn đánh giá chất lượng bên trong, bên ngoài và chất lượng sử dụng, để đáp
ứng yêu cầu của người sử dụng, người bảo dưỡng, tổ chức sử dụng, và người
dùng cuối.
2.2.3. Chất lượng sản phẩm và vòng đời
Quan niệm về chất lượng trong, chất lượng ngoài và chất lượng sử
dụng thay đổi trong suốt vòng đời phần mềm. Ví dụ, chất lượng được xác
định là các yêu cầu chất lượng tại thời điểm bắt đầu vòng đời - hầu hết được
xem xét dưới góc nhìn bên ngoài của người dùng và nó khác biệt so với chất
lượng sản phẩm trung gian, như là chất lượng thiết kế - hầu hết được nhìn
dưới góc độ bên trong của người phát triển.
Vì thế, các yêu cầu chất lượng không thể hoàn toàn xác định trước khi
bắt tay vào thiết kế. Do đó, cần phải hiểu các nhu cầu thực sự của người sử
dụng ở mức chi tiết nhất có thể được, và đưa chúng ra dưới dạng các yêu cầu.



Mục đích không phải là thu được chất lượng hoàn hảo mà là chất lượng đủ và
cần thiết cho mỗi trường hợp sử dụng cụ thể, khi sản phẩm được phân phối và
sử dụng bởi người dùng.

Hình 2.2. Chất lượng trong vòng đời phần mềm
Các độ đo dùng cho yêu cầu chất lượng có thể chia làm nhiều loại, tuỳ
theo các mức độ thoả mãn khác nhau cho các yêu cầu
Các nhu cầu về chất lượng của người sử dụng được xác định là các
yêu cầu chất lượng trong phép đo chất lượng sử dụng, phương pháp đo chất
lượng ngoài, thậm chí cả phương pháp đo chất lượng trong. Những yêu cầu
này được xác định bằng phương pháp đo và sử dụng như chuẩn khi đánh giá
sản phẩm. Để có được một sản phẩm thoả mãn nhu cầu của người dùng đòi
hỏi quá trình phát triển phần mềm phải liên tục và luôn luôn có những phản
hồi từ phía họ.
Những yêu cầu chất lượng bên ngoài xác định các mức yêu cầu đối
với chất lượng theo hướng nhìn từ bên ngoài. Chúng bao gồm các yêu cầu
xuất phát từ nhu cầu người dùng, gồm các yêu cầu chất lượng sử dụng. Các
yêu cầu chất lượng ngoài được sử dụng như là đích của quá trình kiểm tra tại
mỗi giai đoạn phát triển.
Các yêu cầu chất lượng trong xác định các mức chất lượng yêu cầu
theo hướng nhìn từ bên trong của sản phẩm. Các yêu cầu chất lượng trong
được sử dụng để xác định tiêu chí của các sản phẩm trung gian. Các yêu cầu
chất lượng trong có thể được coi là đích cho các kiểm tra tại các giai đoạn
khác nhau trong quá trình phát triển. Chúng cũng có thể được sử dụng để xác
định các chiến lược phát triển, chuẩn để đánh giá, các kiểm tra trong quá trình
phát triển.



Chất lượng trong là tổng hợp của tất cả các tiêu chí của sản phẩm
phần mềm theo cách nhìn từ bên trong. Chất lượng trong được đo kiểm và
đánh giá theo các yêu cầu chất lượng trong.
Chất lượng ngoài ước lượng (dự đoán) là chất lượng mà ước lượng
hoặc dự đoán được của sản phẩm phần mềm tại cuối mỗi giai đoạn trong quá
trình phát triển đối với mỗi tiêu chí chất lượng, dựa trên những hiểu biết về
chất lượng trong.
Chất lượng ngoài là tổng hợp của các tiêu chí của sản phẩm phần mềm
theo cách nhìn từ bên ngoài. Đó là chất lượng khi phần mềm hoạt động,
thường được đo kiểm, ước lượng trong khi kiểm thử trong môi trường giả lập
với dữ liệu giả lập, sử dụng phương pháp đo ngoài.
Chất lượng sử dụng ước lượng (dự đoán) là chất lượng mà ước lượng
hay dự đoán được của sản phẩm phần mềm tại cuối mỗi giai đoạn phát triển
đối với mỗi tiêu chí chất lượng sử dụng, dựa trên hiểu biết về chất lượng
trong và ngoài.
Chất lượng sử dụng là cách nhìn của người dùng về chất lượng của
sản phẩm phần mềm khi nó được sử dụng trong một môi trường và hoàn cảnh
cụ thể. Nó xác định phạm vi mà người sử dụng có thể đạt được mục đích của
mình trong một môi trường cụ thể, hơn là xác định các tiêu chí của bản thân
phần mềm.
2.2.4. Tiêu chí đánh giá sản phẩm phần mềm
2.2.4.1. Mô hình chất lượng trong và mô hình chất lượng ngoài
Mô hình chất lượng ISO-9126 trên thực tế được mô tả là một phương
pháp phân loại và chia nhỏ những thuộc tính chất lượng, nhằm tạo nên những
đại lượng đo đếm được dùng để kiểm định chất lượng của sản phẩm phần
mềm. Mô hình chất lượng trong và chất lượng ngoài của sản phẩm trong ISO-
9126 thể hiện trên hình 2.3
CHẤT LƯỢNG
(nội bộ và hướng
ngoại)

Độ ổn định Tính khả dụng Tính hiệu quả Khẳ năng bảo trìTính năng Tính khả chuyển
Tính hoàn thiện
Khả năng sửa lỗi
Khẳ năng phục
hồi
Tính dễ hiểu
Tính dễ học
Khẳ nưng điều
khiển
Tính hấp dẫn
Tiết kiệm thời
gian
Tiết kiệm tài
nguyên
Khả năng phân
tích
Khả năng thay
đổi
Tính cân bằng
Khẳ năng kiểm
định
Tính phù hợp
Tính chính xác
Tính an toàn
Tính tương tác
Khả năng tương
hợp
Khả năng cài đặt
Khả năng chung
sống

Khả năng thay
thế

Hình 2.3. Mô hình chất lượng cho chất lượng trong và ngoài
Tính chức năng


Khả năng của phần mềm cung cấp các chức năng đáp ứng được nhu
cầu sử dụng khi phần mềm làm việc trong điều kiện cụ thể.
 Tính phù hợp: là khả năng của một phần mềm có thể cung cấp
một tập các chức năng thích hợp cho công việc cụ thể phục vụ
mục đích của người sử dụng.
 Tính chính xác: là khả năng của phần mềm có thể cung cấp các
kết quả hay hiệu quả đúng đắn hoặc chấp nhận được với độ chính
xác cần thiết.
 Khả năng hợp tác làm việc: khả năng tương tác với một hoặc
một vài hệ thống cụ thể của phần mềm.
 Tính an toàn: khả năng bảo vệ thông tin và dữ liệu của sản phẩm
phần mềm, sao cho người, hệ thống không được phép thì không
thể truy cập, đọc hay chỉnh sửa chúng.
 Có các chức năng chung: các phần mềm theo các chuẩn, quy
ước, quy định.
Tính tin cậy
Là khả năng của phần mềm có thể hoạt động ổn định trong những điều
kiện cụ thể.
 Tính đúng đắn: khả năng tránh các kết quả sai
 Khả năng chịu lỗi: khả năng của phần mềm hoạt động ổn định
tại một mức độ cả trong trường hợp có lỗi xảy ra ở phần mềm
hoặc có những vi phạm trong giao diện.
 Khả năng phục hồi: khả năng của phần mềm có thể tái thiết lại

hoạt động tại một mức xác định và khôi phục lại những dữ liệu có
liên quan trực tiếp đến lỗi.
 Tính tin cậy chung: phần mềm thoả mãn các chuẩn, quy ước,
quy định.
Tính khả dụng
Là khả năng của phần mềm có thể hiểu được, học được, sử dụng được
và hấp dẫn người sử dụng trong từng trường hợp sử dụng cụ thể.
 Có thể hiểu được: người dùng có thể hiểu được xem phần mềm
có hợp với họ không và và sử dụng chúng thế nào cho những
công việc cụ thể.
 Có thể học được: người sử dụng có thể học các ứng dụng của
phần mềm.
 Có thể sử dụng được: khả năng của phần mềm cho phép người
dùng sử dụng và điều khiển nó.


 Tính hấp dẫn: khả năng hấp dẫn người sử dụng của phần mềm
 Tính khả dụng chung: phần mềm thoả mãn các chuẩn, quy ước,
quy định

Tính hiệu quả
Khả năng của phần mềm có thể hoạt động một cách hợp lý, tương ứng
với lượng tài nguyên nó sử dụng, trong điều kiện cụ thể.
 Đáp ứng thời gian: khả năng của phần mềm có thể đưa ra một
trả lời, một thời gian xử lý và một tốc độ thông lượng hợp lý khi
nó thực hiện công việc của mình, dưới một điều kiện làm việc xác
định.
 Tận dụng tài nguyên: khả năng của phần mềm có thể sử dụng
một lượng, một loại tài nguyên hợp lý để thực hiện công việc
trong những điều kiện cụ thể.

 Tính hiệu quả chung: thoả mãn các chuẩn, quy ước, quy định.
Khả năng bảo hành, bảo trì
Khả năng của phần mềm có thể chỉnh sửa. Việc chỉnh sửa bao gồm: sửa
lại cho đúng, cải tiến và làm phần mềm thích nghi được với những thay đổi
của môi trường, của yêu cầu và của chức năng xác định.
 Có thể phân tích được: phần mềm có thể được chẩn đoán để tìm
những thiếu sót hay những nguyên nhân gây lỗi hoặc để xác định
những phần cần sửa.
 Có thể thay đổi được: phần mềm có thể chấp nhận một số thay
đổi cụ thể trong quá trình triển khai.
 Tính bền vững: khả năng tránh những tác động không mong
muốn khi chỉnh sửa phần mềm.
 Có thể kiểm tra được: khả năng cho phép đánh giá được phần
mềm chỉnh sửa.
 Khả năng bảo hành bảo trì chung: thoả mãn các chuẩn, quy
ước, quy định.
Tính khả chuyển
Là khả năng của phần mềm cho phép nó có thể được chuyển từ môi
trường này sang môi trường khác.
 Khả năng thích nghi: khả năng của phần mềm có thể thích nghi
với nhiều môi trường khác nhau mà không cần phải thay đổi.
 Có thể cài đặt được: phần mềm có thể cài đặt được trên những
môi trường cụ thể.


 Khả năng cùng tồn tại: phần mềm có thể cùng tồn tại với những
phần mềm độc lập khác trong một môi trường chung, cùng chia
sẻ những tài nguyên chung.
 Khả năng thay thế: phần mềm có thể dùng thay thế cho một
phần mềm khác, với cùng mục đích và trong cùng môi trường.

 Tính khả chuyển chung: thoả mãn các chuẩn, quy ước, quy định
2.2.4.2. Mô hình chất lượng sử dụng
Tiêu chí đối với chất lượng sử dụng được chia thành 4 tiêu chí: tính
hiệu quả, năng suất, tính an toàn và tính thoả mãn.


Hình 2.4. Mô hình chất lượng sử dụng.
Chất lượng sử dụng
Là khả năng của phần mềm cho phép những người sử dụng cụ thể đạt
được những mục đích cụ thể với tính hiệu quả, tính năng suất, tính an toàn và
tính thoả mãn, trong một hoàn cảnh làm việc cụ thể.
 Tính hiệu quả: khả năng của phần mềm cho phép người dùng
đạt được mục đích một cách chính xác và hoàn toàn, trong điều
kiện làm việc cụ thể.
 Tính năng suất: khả năng của phần mềm cho phép người dùng
sử dụng lượng tài nguyên hợp lý tương đối để thu được hiệu quả
công việc trong những hoàn cảnh cụ thể.
 Tính an toàn: phần mềm có thể đáp ứng mức độ rủi ro chấp
nhận được đối với người sử dụng, phần mềm, thuộc tính, hoặc
môi trường trong điều kiện cụ thể.
 Tính thoả mãn: phần mềm có khả năng làm thoả mãn người sử
dụng trong từng điều kiện cụ thể.
2.5. ISO 9001
2.5.1. Tổng quan ISO 9001
ISO 9000 là một bộ tiêu chuẩn về hệ thống quản lý chất lượng, được
ban hành chính thức năm 1987. Bộ Tiêu chuẩn ISO 9000 qui tụ kinh nghiệm
của Quốc tế trong lĩnh vực quản lý và đảm bảo chất lượng trên cơ sở phân


tích các quan hệ giữa người mua và người cung cấp (nhà sản xuất). ISO 9000

đưa ra các chuẩn mực cho một hệ thống chất lượng và hướng dẫn các tổ chức
cũng như các doanh nghiệp xây dựng một mô hình quản lý thích hợp và văn
bản hoá các yếu tố của hệ thống chất lượng theo mô hình đã chọn.
ISO 9001 là 1 tiêu chuẩn trong loạt tiêu chuẩn ISO 9000 mà liên quan
đến phát triển phần mềm,cung cấp và bảo trì phần mềm bằng cách gợi ý các
phương pháp và kiểm soát thích hợp phục vụ cho mục đích này. Các yêu cầu
được ISO 9001 phác họa như là trách nhiệm quản lý, hệ thống chất lượng,
xem xét lại hợp đồng, giám sát thiết kế, tài liệu và dữ liệu, định danh sản
phẩm và khả năng theo dõi, quản lý quá trình, kiểm tra và kiểm thử, sửa lỗi và
các hành động ngăn ngừa, quản lý các hồ sơ chất lượng, sổ sách chất lượng
bên trong, huấn luyện, làm dịch vụ, và các kỹ thuật thống kê.
2.5.2. Mô hình hệ thống quản lý chất lượng
Hệ thống quản lý chất lượng theo tiêu chuẩn ISO 9001 bao gồm 5 yếu
tố quan trọng và được sử dụng trong suốt quy trình phát triển phần mềm và
được trình bày ở dạng mô hình của một hệ thống quản lý chất lượng dựa trên
tiếp cận theo quá trình (Đầu vào
→ Qúa trình
→ Đầu ra). Hình vẽ dưới đây
minh hoạ tổng quát mô hình quản lý chất lượng theo ISO 9001: 2000 với
phương pháp tiếp cận quá trình. Trong đó khách hàng đóng vai trò quan trọng
trong việc xác định yêu cầu đầu vào và theo dõi sự thoả mãn của khách hàng
là cần thiết để đánh giá và xác nhận các yêu cầu của khách hàng có được đáp
ứng hay không.

Hình 2.5. Mô hình hệ thống quản lý chất lượng dựa trên quá trình
2.5.2.1. Hệ thống quản lý chất lượng


Phần này nêu chi tiết các yêu cầu chung và yêu cầu của hệ thống tài
liệu để làm nền tảng của hệ thống quản lý chất lượng. Các yêu cầu chung đòi

hỏi phải nhìn vào các quá trình của hệ thống quản lý, cách thức chúng tác
động lẫn nhau, cần nguồn lực gì để vận hành các quá trình đó và đo lường và
theo dõi, phân tích và cải tiến chúng như thế nào.
Ngoài ra, phần này cũng ấn định các yêu cầu về hệ thống văn bản cần
thiết cho việc điều hành có hiệu lực hệ thống và cách kiểm soát tài liệu và hồ
sơ.
2.5.2.2. Trách nhiệm của lãnh đạo
Lãnh đạo cao nhất phải xác định chính sách chất lượng và để đạt chính
sách này phải xác định các mục tiêu chất lượng đồng thời việc hoạch định các
biện pháp cần tiến hành để đạt được mục tiêu đó.
Lãnh đạo cao nhất phải đảm bảo có sự trao đổi thông tin nội bộ rõ ràng
về hiệu lực của HTQLCL và xem xét định kỳ hệ thống này để đảm bảo nó
luôn thích hợp và có hiệu lực.
 Cam kết của lãnh đạo
- Truyền đạt trong tổ chức về vấn đề thoả mãn khách hàng, đáp ứng
các yêu cầu chế định;
- Thiết lập chính sách, mục tiêu chất lượng, đảm bảo các mục tiêu
chất lượng được thiết lập, truyền bá và thấu hiểu trong tổ chức;
- Xem xét của lãnh đạo về HTQLCL;
- Cung cấp các nguồn lực
 Hướng vào khách hàng
- Đảm bảo rằng các yêu cầu của khách hàng được xác định và đáp
ứng.
 Chính sách chất lượng
- Cam kết tuân thủ với các yêu cầu và thường xuyên cải tiến hiệu lực của
HTQLCL;
- Thích hợp với mục tiêu của tổ chức;
- Được truyền đạt và thấu hiểu tại mọi cấp;
- Được xem xét định kỳ để luôn thích hợp.
- Nhất quán với chính sách chất lượng;

 Đầu vào của việc xem xét
- Thông tin về: kết quả đánh giá, phản hồi của khách hàng, kết quả quá
trình, sự phù hợp của sản phẩm, tình trạng của các hành động khắc phục và
phòng ngừa, theo dõi việc thực hiện các quyết định từ lần xem xét trước,
các thay đổi, khuyến nghị cải tiến.


 Đầu ra của việc xem xét
- Các quyết định và hành động liên quan đến việc cải tiến HTQLCL, các
quá trình, sản phẩm, và nguồn lực cần thiết.
2.5.2.3. Quản lý nguồn lực
Phần này quy định các nguồn nhân lực và cơ sở vật chất cần thiết để
thực hiện quá trình. Nhân viên cần có năng lực để thực hiện các công việc
được giao và có cơ sở hạ tầng, môi trường làm việc cần thiết nhằm tạo khả
năng đảm bảo các yêu cầu của khách hàng đều được đáp ứng. Bao gồm:
 Cung cấp nguồn lực
- Chỉ định nhân viên có năng lực trên cơ sở giáo dục, đào tạo, kỹ năng,
kinh nghiệm.
- Xác định các yêu cầu về năng lực ;
- Tiến hành đào tạo hay thực hiện các hoạt động khác, sau đó đánh giá
hiệu lực ;
- Đảm bảo người lao động có nhận thức phù hợp về tầm quan trọng của
công việc mà họ đảm trách và mức độ đóng góp đến thành tựu chung ;
2.5.2.4. Tạo sản phẩm / dịch vụ
Tổ chức phải lập kế hoạch và triển khai các quá trình cần thiết đối
với việc tạo sản phẩm. Hoạch định việc tạo sản phẩm phải nhất quán với
các yêu cầu của các quá trình khác của hệ thống quản lý chất lượng.
 Hoạch định việc tạo thành sản phẩm/dịch vụ gồm:
- Mục tiêu chất lượng và các yêu cầu đối với sản phẩm
- Quá trình, nguồn lực, tài liệu cần thiết;

- Kiểm tra xác nhận, xác nhận giá trị sử dụng, giám sát, kiểm tra, chuẩn
mực chấp nhận cho sản phẩm;


Các quá trình liên quan đến khách hàng

- Bao gồm cả yêu cầu về giao hàng và hoạt động sau giao hàng ;
- Yêu cầu cần thiết cho việc sử dụng ;
- Các yêu cầu chế định.
+ Xem xét các yêu cầu liên quan đến sản phẩm
- Xem xét các yêu cầu trước khi cam kết cung cấp sản phẩm ;
- Các yêu cầu được xác định và giải quyết khi có sự khác biệt giữa các
lần ghi nhận ;
- Đảm bảo khả năng đáp ứng các yêu cầu ;
- Khẳng định lại các yêu cầu không qua văn bản ;

×