ROGER S. PRESSMAN
Kl NGHỆ PHẦN MỂM
CÁCH TIẾP CẬN CỦA NGƯÒI
THỰC HÀNH
TẬP III
Người dịch : NGÔ TRUNG ViỆT
NHÀ XUẤT BẢN GIÁO DỤC - :M00
SOFTWARE
ENGINEERING
A Practitioner's Approach
Third Edition
Roger S. Pressman, Ph.D.
McGraw-Hill, Inc.
6T7
05/752 - 00
G D -0 0
Mã SỐ: 7B547MO
LỜI GIỚI THIỆU
•
Quyển sách kĩ nghệ phẩn mềm, cách tiếp cận của người thực
hành” của tiến sĩ Roger s. Pressman đã được tái bản lần thứ ba vào
năm 1992. So với lần xuất bản đẩu (1982), sách lần ưíi bản sau cùng
đậ được hiêu chỉnh bổ sung nhiều kiến thức mới, hiên đại của lĩnh
vực kĩ nghệ phần mém.
Nội dung của sách khá phong phú, khá hoàn chỉnh, bao quát
hầu hết các vấh để chính yếu của lã nghệ phần mẻm.
Tiến sĩ Pressman không nhũng là một nhà khoa học tôn tuổi
có uy tín về các phương pháp, công cụ Id nghệ phần mếm mà còn là
một nhà sư phạm đạn dày kinh nghiệm. Các nội dung đã được tác giả
trình bày một cách hê thống, có tính khoa học và sư phạm cao.
Ghính vì lẽ đó, sách có thể phục vụ thích hợp sát tìiục đông
đảo bạn đọc. Đây là một tài liệu quý, giúp các giáo viôn Đại học có
thể tham khảo để bi<ỗn soạn các giáo trinh giảng dạy một loạt các
chuyên đề bậc Đại hiọc và sau Đại học về kỉ nghệ phần mểm. Sinh
viên, học viên cao h(ọc, các chuyên gia phát triển phần mềm có thể
tìm thấy trong sách nứũẻu kiến thức cơ bản, chuẩn mực giúp họ nắm
vững các nội dung đang được giảng dạy tại các trường Đại học. Các
câu hỏi cuổi mỗi chiFcfng được soạn khá công phu, giúp người đọc tự
kiểm tra kiến thức của mình và qua đó giúp họ hệ UiCằig hoá một
cách toàn diện, củng cố và nâng cao hiểu biết sâụ sắc hơn vẻ kĩ nghệ
phần mềm.
Hiện nay sô' lượng giáo trình có chất lượng cao phục vụ sát
thực chuyên ngành c<^g nghệ thông tin tại các tritóíng Đại học còn
rất hiếm hoi. Bản dịch là lĩiột đóng góp có giá trị góp phần vào sự
nghiệp đào tạo cán bổ Công nghê thông tin.
Xin đuợc giới thiệu với đông đảo bạn đọc.
HỒ Sĩ ĐÀM
KHOA CÔNG NGHỆ THÔNG TIN
ĐẠI HỌC QUỐC GIA HÀ NỘI
a
;<1 mghI phXm mIm
i
Cách tiếp cận của người thực hành
Tác giả: Tiến sĩ Roger s. Pressman
Nhà xuất bẳn: McGraw-Hill, Inc.
Xuất bản lẩn thứ 3 có sửa chữa và bổ sung; 1982,1987,1992.
"Roger Pressman đã viết một cuốn sách hướng dẫn gọn gàng cho ỉĩnh
vực lã nghệ phẩn mềm cho cả sinh viên CNTT lẫn người làm phẩn
mềm và các nhà quản lí hành nghề CNTT hay cẩn tới việc thực hành
CNTT."
Phần raểm IEEE
"Đây là cuốn sách giáo khoa hiện đại cổ điển, rõ ràng và có thẩm
quyền về kĩ nghệ phần mềm, với rất nhiều tranh vẽ, câu hỏi và tài
liệu tham khảo .... Tôi xin giới ihiệu nó cho bất kì ai muốn hỏi Kĩ
nghệ phần mềm là gì và bây giờ nó đang ỏ đâu?"
ACM Computing Reviews
"Một biên bản mới nhất, một xử lí sâu sắc về tiến tìn h kĩ nghệ
phần mém."
Byte Book Club
LỜI TÁC GIÀ
Trong hai thập kỉ qua, kĩ ngliệ phán mểm dã di tổi một ki nguyân mới.
Ngày nay người ta thừa Iihận nố là một bộ môn hợp f ^ p , một iĩnh vực
nghiẽn cÃi xứng dáng, một khảo cứu cố ý ưiúc và một sự trành luận sổi nổi.
Trong loàn bộ ngành công nghiệp, "kĩ sư phẩQ tnẻm" dâ thay thế cho "ngưỉri
lạp ưình" xem như một tên gọi c ^ g việc. Cắc phương pháp, ửiù tục và côag
cụ kỉ nghệ phần mểm đã dược chấp nhận thành công qua Tấi nhiểu loại úng
dụng công nghiệp. Các nhà quản lí và ngxẩn hành nghé CNTT déu nhận ra
nhu cầu vẻ một cách tiếp cận có kỉ luật hơn tới việc phát ư ỉ^ phẩn mẻm.
Nhưng các vâh dổ dược thảo luận &x>ng các lẩn xuất bản úỉứ nhất thứ
hai của
sắch này vẫn còn lại với chứng ta. Nhiéu cá nhân và cốag ti vẫn
còn phát ưiển ỊÌìin mém một cách tuỳ tiện. Nhiéu,nhà chuyôn môn vk sinh
viên vẫn
chua biết tói các phươtỉg {dỉáp hỉệB đại. Và kết quả là chất
ỉượng p h ^ mém chúng ta sản xuất ra bị ảnh hiiốag. Bên cạnh dó, ưanh luận
và tbko luận sôi nổi vé bản chấỉ thực của cách úếp cận Iđ nghệ phần mẻm
vẫn tiếp tục. Mạt khác, trạng thái của kĩ nghệ phần mém văn dang được
nghiôncứu.
Lần xuất bản tìiứ ba của cuốn Kĩ nghệ phán mềm : Cách tiếp cận của
người thực hành giổng như hai lẩn dầu dự định dành cho cả sùỉh viên lăn
những người hành nghổ CNTT và vẫn duy ừì định dạng còng phong cách
như các Ĩẩn trưổc. Quy>ển sách vẫn còn duy ưì như một cŨỐn sách hướng dẫn
cho cắc nhà chuyên in^n công nghiêp và sách nhập môn nâng cao cho sinh
viên các nâm cuối bậc đại học và nâm đầu bậc cao học.
Giống lứiư các lầĩa xuâì bảii tnRÍc, các phương pháp Id nghệ phẩn mém
được trình hhy Uieo trìah tự thời gian chúng được áp dụng trong khi phát
triển phầii mém. Tuy Iihiên lẩn xuất bản ửỉứ ba này còn láttn ohiéu điéu hơú
ch! là việc cập nhật đcm giản. Quyển sắch đã duợc tái cấu ưúc lại áé ưiích
vói sự phát triển vuợt bâc ưong lĩnh vực này và dể tửìấn mạnh vào những
phương pháp và cồng cụ kĩ nghê phán tnẻm quan ưọng. Thay vì duy tiì một
quad diéni vòng dời chật chẽ, lẩn xuấỉ bản này tiinh bày các hoạt d^ig tổòg
quát dã dược thục hiệii bất kể tới khu^ cảidỉ iđ D^iệ phần mém dã dược
chọn.
Các chương vản còn dược giữ lại như các lần xuát bản tniớc thì cũng
dược duyệt xét lại và cập nhật dể phản ánh khu30ih huóng và kĩ tíiuật hiộn
thời. Nliiều mục mới chủ chổi đã được thôin vào cho các chươttg vể kí ngliộ
hệ tlĩống máy lính, cơ bản về phâii tích yêu cầu, thiết kế hướng dòng dữ liệu,
thiết k ế hướiig sự ViỊi, thiết kế thời giaii ihực, đảm bảo clìấl lượng phầii inểin,
kĩ llìuậl kiểm ihử phần ĩĩiẻm và bảo trì. Bốn cạnlì Iiliữiig cải biên này, láiii
chươiig mới đã dược thêm vào cho lần xuất bản ihứ ba.
ơiưcnig Iiguyôn gốc ban dầu về quản lí dự án phầii mềin đã được bỏ đi
và tliay thế bởi ba chươiig mới vể cách đo, ưóc lượng và lập kê ỉioạch dự án
phẩn mềm. Một chương mới vể phân tích có cấu Iníc trình bày các kí pháp
và cách liếp cậii tới cả lAOng ứíig dụng qui uớc ỉẫn thời gian thực. Chưmig
về phâii tích hướng sự vậi và mô hình hoá áữ liệu nêu ra cách xử lí chi liếí
cho các kĩ thuật mô liình hoá mới và quaii trọng uày.
^ Nâm chương hiệu có vé ihiết kê' phần mềm đã được tang cuờng thêm
với một chuơQg mới vể thiết kế giao diện người dùng. Quản lí cấu hình phẩiì
mểm - một chủ dể dã trờ thành then chốt cho viêc phái triển phẩn mẻm
thành công - bây giờ dược xử lí Uong một chương tách biệt. Vai trò của tự
dộng hoá trong kĩ nghệ phẩn mém dược xem xét ưong hai chương mói vể kĩ
nghệ phán 0iểtn cổ máy tính trợ giúp (CA^). Một chương nhấn mạnh vào
công cụ phẩn mẻm và ứng dụng của chúng còn chương kia thảo luậxi vé các
môi tniờng và kho CASE lích hợp. Chương cuối (cũng mới) nhìn hướng tới
thế kỉ ưiứ hai mươi mốt và xem xét ỉại những thay dổi sẽ ảnh hưỏng tói cách
tiếp cận của chúng ta tới iđ nghệ phẩn mềm.
Nhiẻu thí dụ, vấii dể và điểm cẩn dào sâu mới dã dược bổ sung vào và
mục “Đọc thêm” dã được mở rộng và cập nhật cho mọi chương.
Cuốn sách gồm 24 chưcSỉg cho lẩn xuất bản thú ba này, được chia
thành nãm phẩn. Điẻu này dược thực hiện dể gối gọn các chủ dể và ượ giúp
cho giảng viên, những người không có đủ thòi gian dạy cả cuốn sách troug
một học Id. Hiần I - F1iần mẻm - Tiến trình và việc quản lí nó" ưình bày
một bàn luận Uỉấu dáo vé các y/ấn để quản lí dự án phẩn mém. Phẩn ỉĩ "F1iân tích bệ thổng và các yêu cầu phần mểm" - bao gổm nãm chưcmg bao
quát các vâh dé cơ bản của phân tích và các phương pháp inô lùnh hoá yêu
cầu và kí pháp. Phần in - 'Thiết kế và cài đạt phần mểm" - ưình bày mội
bàn luận sâu sác vể thiết kế phẩn mẻm, nhấh mạiứi tới các định mức thiết kế
cơ bản dẫiỉ tớỉ hệ tíiống chất lượng cao và các phương pháp thiết kế dể dịch
một mô hình phân tích ứiành giải pháp pháiỉ mểm. Phần IV - "Đảin bảo,
kiểm chứng và duy trì từứi icần vẹn phân mém" - nh^ niạnh vào các lioạt
động được úng dụiig dể đảm bảo chăt Itíợng ưong suốt tiẽh trình Id nghệ
phần tném. Phẩn V - "Vai trò của tự động hoá" - ứiảo luận vẻ tác động của
CASE (Id nghẹ phần mém với máy tửih hỗ trợ) lên ú€a trình phát tríển phần
mểm.
Việc tổ chúc Uieo năm phần của lán xu* bản ứìứ ba nàygiứp cho giảng
viên
chùm" các chủ dẻ dựa trôn ứiời gian giảng dạy và nhu cẩu của
6
siiứi vién. Có ttó xây dựiìg một giáo trình toàn bộ cho một học phần xung
quanh một hay nhiéu phẩn trong năin phần này. Chảng hạn, **giáo trìỉih thiết
kế" có thể nhối mạnh riêng vào phần III; “giáo trình phương pháp*' có thể
trìiứi bày các chương đưcK’ tuyển lựa từ các phẩn n, III, IV và V; còn “giáo
trìiih quản If’ sẽ nliấii mạnh vào các phẩii I và rv. Bàiig cách lổ chúc lẩn
xuát bảỉi úìó ba theo cách tiày, tôi có ý định cung cấp cho các giảiig viẽn một
sô' phương án ỉựã chọn giảng (lạy.
Sách Hướng dẩn gidĩtíị viên cho lần xuất bảỉi thứ ba của cuốn Kĩ nghệ
phán mềm : Cách tiếp cận ctta người thực Ịìành cũng dã có do nhà xuất bản
MxGraw-HiIl cung cấp. Sách Hướng dần gidng viên trình bày các gợi ý đé
thực hiện nhiểu kiểu giáo trình kĩ nghệ phần ir^m, hưóng dẫn nhiểu khuyến
cáo cho các dự án phẩn inểin có liêu quan tổi một giáo trình, tiinb bày các
giải pháp cho vấn dé dược tuyển lựa và các nguồn tham khảo tới cắc tài liệu
giảng dậy bổ siing^ dể tạo irên một "hệ thống'' cho việc giảng dạy id nghê
phẩn mểm.
Van dàn lả nghê phẩn mểm vẫn tiếp tục rộng mở với một tỉ lệ bùng nổ.
Một lẩn nũa, i(À xin cắm ơn nhiểu tác giả sắcb« bắo, tạp chí, nhũĩìg ngưỉri dã
cung cấp cho
cắi nhìn sáng suốt, các ý iMỜag mới và những bình ỉuận
trong suốt thập kỉ qua. Nhiểu nguời dã dược ũ&u trích dẫn trong cắc chương
sách. Tất cả dểu có công do sự dóng góp của họ vào lĩnh vục tiến ưiển nhanh
chỏng này. Tôi cũng muốn cám ơn nhữi^ người dã đọc duyệt lại cho lẩn
xuất bản ửíứ ba, James Cross, Đại học Auburn; Mahesh Dodavỉ, đại học
Iowa; William s. Junk, Đại học Idaho; và Laurie Werth, Đại học Texas.
Những đống gốp và phô bình của họ là vổ giá.
Nội dung của I&I xuất bảii thứ ba này của cuốn Kĩ nghệ phần mềm :
Cách tiếp cận cùa ngiười thực ỉìành đã được làm sác nét thêm bỏi hàng tram
nhà chuyên mồn công nghiệp, giáo sư đại học và sinh viôn, những ngưỉri dã
dùng nhữug lần xuất hản thứ nhất và thứ hai của cuốn sách này và dã bỏ thM
gian để trao dổi các gợi ỷ, phê bình và ý tưỏDg của họ. Đôn cạnh dó tổi cũng
xin cám ơn riêng với nhiều khách hàng công nghâip tiong toàn Bấc NG và
Châu Âu, lứiững người chác chán đã dạy cho tồi lihỉểu hơn những ^ tôi có
thể dạy cho họ.
Cuối cùng, tôi xin cám ƠĨI Barbara, Mathew và Michael vì đẩ dung thớ
cho lịch biểu du hành của tôi, dã hiểu biết vể nhiĩng
ỉàm việc tại van
phòng và vảii cồn tiếp tục cổ vũ lồi cho việc xuất bản tiếp vổ “cuốn sách
này".
Roger s. Pressman
ĐẢM BẢO,
KIỂM CHÚNG VÀ
BẢO TRÌ
TÍNH TOÀN VẸN
PHẦN MỀM
8
ĐẢM BẢO CHẤT LƯỢNG
PHẦN MỀM
Tất cả các {diuơng pháp, cổng cụ và thủ tục được mổ tả trong
cuốn sách này đéu hiĩớng tới một mục tiêu duy nhất: sđn xuất ra phẩn
mềm chất lượng cao. Thế mà nhiều độc giả sẽ còn bị thách dố bởi câu
hỏi: Chất lum g phán mểm là gì?
Việc sắp đặt chương này cố thể dẫn độc giả tới suy dỉẻn rằng
việc đảm bảo chất lượng phẩn mẻm là một cái ^ đố bạn bắt đẩu lo
lắng tới sau khi viỗc mã hoá đã đuợc sinh ra. Khổng ^ cố ửtể xa hơn
chííi ư! Đảm bào chất lượng phẩn mềm (SQA) là ràột “hoạt đỌng che
ô” được áp dụng trong toàn bộ tiến trình Id nghệ phần mềm. SQA bao
gồm (I) các phưcaig pháp phân tích, ửiiết kế, mã hoá và kiểm thử, (2)
các cuộc họp kĩ thuật chính thức được áp dụng trong mỉÀ bước kĩ
nghệ phần niềm; (3) chiến lược kiểm ủiử nhiẻũ bôn; (4) kiểm soát tư
liệu phần mém và những thay đổi thực hiện trên đó; (5) thủ tục đảm
bảo tuân thù với các chuẩn phát triển phần mểm (khi áp dụng đuợc);
và (6) các cơ chế đo đạc và báo cáo.
Trong chưimg này, chúng ta sẽ xem xét ý nghĩa của ứiuật ngữ
hay bị lảng tránh “chất ỉuạig phần mềm,” và thảo luận vẻ các thủ tục
và biện pháp giúp đảm bảo rằng chất lượng ià kết quả tự nhiân của Iđ
nghẹ phẩn mỗn.
9
17.1 CHẤT LƯƠNG PHẨN MỂM VẢ VIẺC ĐẢM BẢO
CHẤT LƯƠNG PHẨN MỂM
Ngay cả người phát triển phẩn mềm chán ngán nhất cũng sẽ
đổng ý rằng phẫn tnểm chất lượng cao là một mục tiêu quan trọng.
Nhưng làm sao chúng ta định nghĩa được chất lượng? Mội người khôi
hài có lần đã nói, “Mọi chương trình đều làm đúng một cái gì đó ,
nhưng cố thể lại không phải là cái mà ta muốn làm ra đố thõi.”
Đã có nhiẻu định nghĩa vẻ chất lưạig phần mềm được đề nghị
trong văn đàn. Với mục tiêu của chúng ta, chất lượng phần mềm được
định nghĩa như sau:
Việc tuân ưiủ các yêu cầu chức năỉig và sự hoàu thiện dã dược
phát biểu tưòng tninb, các chuẩn phát triển dã duạc tư liệu hoá tường
minh, và cắc dậc tnmg khổng tưỈHỉg minh được trổng dợi từ tít cả các
phẩn mểm dã dược phắt triển theo cắch chuyỗn nghiệp.
Có câu hỏi nhỏ rằng định nghĩa trôn có thể được sửa đổi hay mở
r(tog thêm không. Trong thực tế, một định nghĩa quả quyết vé chất
lưcng phẩn mẻm có thể phải tranh luận vô tận. Với mục đích của
cuốn sách này, định nghĩa trên phục vụ để nhấh mạnh ba điểm quan
trọng:
1.
Các yẽu cầu phần mểm là nẻn tảng để từ đố tiến hành đo đạc
chất lượng. Việc thiếu tuân thủ các yẽu cầu này là thié^ chất
lượng.
2.
Các chuẩn đặc biệt xác định ra một tập các tiều chuẩn phát triển
hướng dẫn cách thức phần mểm được sản xuất tíieo cổng nghệ.
Nếu những tiêu chuẩn này không được tuân theo thì kết quả gần
như chắc chắn là thiếu chất lưcng.
3.
Có một tập các yêu cấu không tường minh thường không được để
ý tới (như mong muốn bảo trì tốt). Nếu phần mém tuân thủ các
yêu cầu tường minh nhung lại không đáp ứng các yêu cẩu không
tuờng minh thì chất lượng Ịrfiần mém vẫn còn có phần đáng ngờ.
ơ iất ỉượng phẩn mểm là một sự trộn lẫn phúc tạp các nhãn tố sẽ
thay đổi qua nhũng úng dụng và khách hàng khác nhau, nhũng người
yêu cẩu chúng. Trong các mục sau đây, các nhân tố chất lượng phần
mểm sẽ đuợc xác định và các hoạt động con người cẩn thiết để đạt tới
chúng sẽ được mô tả r5.
10
Ỉ7.1.1 Các nhàn tố chất lượng phán mém
Các nhân tô' ảnh hưởng tới chất lượng phần mểm có thể được
phân loại thành hai nhóm chính: ( 1) các nhân tố có thổ trực tiếp đo
(như lỗi/ KLOC/ đơn vị thời gian) và (2) các nhân tố chỉ có thể đo
đưcK một cách gián tiếp (như tính sử dụng hay tính bảo trì). Trong
mỗi trường h(^ đếu phải có cách đo. ơiúng ta phải so sánh phần
mềm (tài liệu, chưcmg trình và dữ liệu) với một cái mổc nào đó và đi
tới một chỉ dẫn vé chất lượng.
McCall và đồng nghiệp của mình đã đẻ nghị một phân loại hữu
ích vể các nhân tố ảnh huởng tới chất ỉượng phần mém. Các nhân tố
chất lượng phán tnềm này, được vẽ trong Hình 17.1, hội tụ vào ba
khía cạnh quan trọng của sản phẩm phẩn mẻm : các đặc trung vận
hành của nó, khả năng của nó trải qua thay đổi và tính thích nghi của
nó với môi trường mới.
Tham khảo tới các nhân tố được viết trong Hình 17.1, McCall đưa ra
những mô tả sau đây:
Tính đúng đắn. Pliạm vi mà trong đó chương trình thoả mãn đặc tả
của nó và thoả mản các mục đích công việc của khách hàng.
Tính ùn cậy. Phiam vi trong đó chương trình được tr<^g đợi tìiục
hiện chức năng d ự kiến của nó với độ chứứi xác được yêu cầu.
[Cũng nên lưu ý rằng các định nghĩa khác, đầy đủ hctti vể độ tín
cậy đã được đẻ nịẹhỊ (xem Mục 17.6).]
Tinh hiệu quà. Khối lượng tài nguyên tính toán và mã chương
trình cần tới để thực hiện chức năng của nó.
Tính toàn vẹn. Phạm vi trong đó việc thâm nhập vào phần mẻm
hay dữ liệu của những người không có quyền có thể được kiảĩi
soái.
Tính sử dụng dược. Nỗ lực cần có để học, vận hành, chuẩn bị cái
vào, và hiểu cái ra của chương trĩnh.
Tính bào trì đượí'. Nỗ lực cẩn có để định vị và ẩh (finh lỗi trong
chuơng trình. [Đây là một định nghĩa rất hạn chế (xem
Chươrìg20).]
11
Ttnh bảotrì
T&ih khả chuyển
(Uệu có thể dùng nó irtn máy khác ?)
(L i^ có thể sủa nó không?)
Tính Ui dụng
méin dẻo
(Có tỉiế dùng lại một phẩn mém không?)
(liéu có ihỂ Uiay đổi nó khồng?)
Tính kiểm ứiử
Tửih Uỗn tác
(Cố ưiể giao tiếp vời hệ thống khác khâng?)
(Có thế kiếm thừ nố klỉông?)
Tùihđiỉngdin (Nó c6 ÌẰm đ i ^ tối muốn kbOng?)
Tỉnh tin cẠy (Nố có hìồn cbạy đthig kbổng?)
hiệu qui (Liệu nó có chạy dược phần cứng của tồi không?)
Itnhtoinvẹn (liỆu nó có an toàn không?)
Tính hOu dụng ( l i ^ cố phàl nó được thiét kế cho nguời dừag kbOng?)
Hình 17.1. Các nhân tố chất lượng của McCall
Tính mềm dẻo. Nỗ iực cẩn cố để thay đổi một chương trình đang
vận hành.
•
Tính ìdểm thử được. Nỗ lục cần có để kiểm thử một chương trình
để đảm bảo rằng nố thục hiẽn đúng chúc năng dự định.
Tính khả chuyểrt. Nỗ lục cẩn có để truyén chương trình từ môi
ưuờng hộ thống phẩn cứng và/hoặc phẩn mém này sang môi
ưuờng khác.
Tính tái dụng. Phạm vị trong đố một chuơng trình (hay bộ phạn
của chucmg trình) có thể được dùng iại ticmg các úng dụng khác có liẽn quan uM việc đống gối và phạm vi các chúc nãng chuông
12
trình thục
• hiộn.
i
Tính liên tác. Nỗ lực cần có để gắn hệ thống này vdi hẹ tìiống
khác.
Cũng khó, và trong một sô' trường hợp không thể nào, phát triển
được các cách đo trực tiếp cho các nhân tố chất lượng trên. Do đó,
một tập các độ đo sẽ được xác định ra và được dùng đổ xây dựng các
biểu thức cho ưimg nhân tỏ' này tương ứng với mífi quan hệ sau:
= C/ X
nil
+
X
+ . .. + c„ X m„.
với /•', là nhân tố chất lượng phần mềm, c„ là hệ số hổi qui còn m„ là
độ đo tác động lên nhân tố chất lượng. EHều không may là nhiều độ
đo được McCall định nghĩa thì chỉ được đo một cách chủ quan. Các
độ đo có ữiể cho dirói dạng một đanh sách kiểm đuợc dùng để “xỂ^
hạng” các thuộc tính đặc biệt của phẩn mẻm. Lược đồ xếp hạng do
McOdl đề nghị là tíieo Uiang tỉ lệ tìlr 0 (thấp) tói lò (cao). Các độ đo
sau đây đuợc dùng trong lược đổ xếp hạng:
Kiểm toán được. Có thể kiém tra dễ dàng việc tuân thù các
chuẩn.
Độ chính xác. Độ chính xác của tính toán và điéu khiển.
Tính phổ biến liên lạc. Mức độ sử dụng các giao diện, giao ứiức
và giải thông chuẩn.
Tính đầy đủ. Mức độ theo đó việc cài đạt đầy đủ cho chức năng
yêu cẩu đã được đạt tới.
Tinh súc tích. Đô gọn của chương trtnh duứi dạng số dòng mẵ.
Tinh nhất quán. Việc dùng các Id thuật thiết kế và tư liệu thống
nhất trong toàn bộ chương trình.
Phổ biến dữ liệu. Việc đùng các cấu tróc và kiểu dữ liệu chuẩn
trong toàn bộ chương triinh.
Dung lỗi. Những hỏng hóc xuất hiện khi chương trình gặp phải
một lỗi được chấp nhận.
Hiệu quả thực hiện. Hiộu năng khi chạy của chương trinh.
Tính mà rộng được. Mức độ theo đó ứũết kế kiến trúc, dữ liệu
hay thủ tục có thể đuợc mở rộng.
Í3
Tính tổng quát. Độ rộng rãi của ứng dụng tiềm năng của các
thành phần chương trình.
Độc lập phơn cứỉìg. Mức độ theo đó phần mểm tách biệt được
với phần cứng nó vận hành.
Sử dụng máy móc. Mức độ theo đó chương trình điéu phổi thao
tác của riêng nó và xác định các lỗi xuất hiện.
Tính mô đun. Sự độc lập chức năng (Chương 10) của các thành
phẩn chương trình.
r////ỉ vậw/ỉà/ỉ/ỉ ííí/íọt'. Viộc dễ vận hành chương trình.
Tính an toàn. Có sẳi cơ chế kiểm soát hay bảo vệ chưcmg trình
và dữ liêu.
Tự làm tài liệu. Mức độ theo đó mã góc cung cấp tài liệu có ý
nghĩa.
Tính đơn giản. Mức độ theo đó nguời ta có thể hiểu chương trình
không khó khăn.
Độc lập hệ thống phẩn mềm. Mức độ theo đó chương trình đuợc
độc lập vổi các tính năng ngôn ngữ lập trình, các đăc trưng hệ
điéu hành và những ràng buộc môi trường không chuẩn khác.
Tính theo dõi được. Khả năng theo dõi dấu vết của một biểu diễn
thiết kế hay tíiành phần chương ưình thực sự so với yêu cẩu.
Huấn luyện. Mức độ theo đó phần mềm trợ giúp làm cho người
dùng mới dùng được hệ tíiổng
Mốì quan hệ giữa các nhân tố chất lượng phần mém và các độ đo
được liệt kê ở trẽn được vẽ trcaig Bảng 17.1. Cần phải lưu ý rầng trọng
số cho mỗi độ đo phụ thuộc vào sản phẩm và míS quan tâm cục bộ.
Các nhân tố chất lượng được McCall và đổng nghiệp mô tả biểu
thị cho một trong một số các “danh sách kiểm” đã được gợi ý cho
chất iưạng phần mềm. Hewlett-Packard đã phát triển một tập các
nhân tố chất luọng phần mềm được viết tất là FURPS cho ưnh chức
năng, tfnh sử dụng, ưnh tín cậy, hiệu năng và tfnh hỗ trợ. Các nhân tố
chất ỉư ^ g FURPS được rút ra tuỳ ý từ công trình trước đây, xác định
các thuộc tính sau đây cho mỗi một trong năm nhân tố chính:
•
14
Tính chức năng (Functionality) được thẩm định bằng cách ước
lượng tập tính năng và những khả năng của. chương trình, títth
tổng quát của các chức năng được bàn giao, và tfnh an toàn của
toàn thể hộ thống.
Tinh dùng được (Usability) được thẩm định thông qua việc xem
xét nhân tô' con người (Chương 14), tính thẩm mĩ toàn phẩn, tính
nhất quán và tư liệu.
Tinh tin cậv (Reliability) được đánh giá bằng cách đo tần sổ và
độ nghiêm trọng của sai hỏng, độ chính xác cùa kết quả đưa ra,
thời gian trung bình giữa các lần sai hỏng (MTBF), khả năng
phục hổi sai hỏng, và khả năng đoán trước được của chương trình.
Hiệu năng (Performance) được đo bằng cách đánh giá tốc độ xử
lí, thời gian đáp ứng, tiêu tốn tài nguyên, hiệu suất và hiệu quà
Các nhân tố chất luợng và các thuộc tính FURPS được mô tả ô
trên có thể được dùng để thiết lập các độ đo chất lượng CỈK) từng bước
trcng tiến trình kĩ nghệ phần mềm. Grady và Caswell gọi ý mM ma
trận (Hình 17.2) để hướng dẫn trong việc thu tíĩập các cách đo
FỦRrè đơn giản.
15
16
Điéu tra/ Đăc
tả
#Người dùng
đích duyộl xét
đặc tả hay bản
mẫu
% xếp hạng
phiếu bổo cáo
is* từ người dùng
ư
z
u
% những tính
náng cạnh
tranh với các
sản phẩm
khác
Thiết kế
C^iđặt
% Đạc tả
được bao hàiTì
trong thiết kế
% thiếl kế bao
hàm trong mâ
hoá
# Tlìay đổi
dặc tả do yôu
cầu thiết kế
# mă thay dđj
do I^át hiện
sự bỏ sốt
# người dùng
duyệt xét !ại
thay đổi nếu
cẩn
% Unh nàng bị
ioại ra (dưạc
ngưõ^ dùng xét
duyệt)
KiÃn thử
Hỗ trợ
% tính
năng duợc
kiểm thử
tại vị ưí
alpha
#ftV>
cáo vẻ
vấnđé
được
nhận
biết
báo cáo
hoạt
Jà
động
bẩn
hàng
% tư liệu
nguời dùng
đuợc kiểm
thử theo
sản phẩm
# khách
hàng đích
alpha
a: #giao diện
u với sản phẩm
hiện cổ
^
tổng
quan
ngưỡi
dùng
ưỉng
quan
nguời
dtog
HPWn
tXOŨR
# nguời dùng
đích duyệt xéi
đặc tả hay bản
mẫu
% xếp hạng
ỉthiết kế khi so
^sánh với mục
tđích
xếp hạng
kế hoạch tài
iiêu bởi người
dùng đích
^ tíiay đổi tài
ìliệu sử dụng
ỉbản máu sau
íkhi xét duyệt
%
u
o*
%
1'^
Q
o
z
o
Q
xếp hạng
theo ữnh dùng
dưọc của bản
mẫu
%
% xếp hạng
theo người
dùng trong
phồng thí
nghiộin
xếp hạng
theo tiếp thị
sản phảìì, tài
liẽu
•
% nguời dùng
gốc duyột xét
mọi thay đổi
%
# thay đổi
sản phẩm
sau kiém
thử alpha
xếp
hạng ứ ì c o
tính sử
dụng từ
kiân thử
trong
phồng thi
nghiộm
%
xếp
hạng theo
kí&n thử
taichd
%
2-KNPM
#nguờỉ
dùng
hiểu
lẩm
Điẻu tra/ Đặc
tả
# những điểu
bỏ sót được
ghi iại trong
cuộc họp xét
duyột mục
đích (mục Uôu
tin cậy)
>•
<<■
u
# thay đổi kế
hoạch dự án.
kế hoạch
ỉũểm thử sau
xéỉ duyệt
# ưiay dổi các
mục ưiay dổi
mục đích sau
khi xét duyệt
o
z
X
18
% xép hạng
theo mục đích
bỏi ngìkn
dùng đích
% xếp hạng
tíieo mục đích
bòi nguời
quản u sản
phẩm
Thiết kế
# ưiay đổi
thiết kế sau
họp xél duyệt
do có lôi
% xếp hạng
thiết kế khi so
sánh vớí các
lĩìuc đích
Càiđặl
% mã thay đổi
do
độ tin
cậy đưọc phát
hiện trong họp
xét duyộl
% mă bị bao
phủ bởi các
trường hợp
kiểm thử
# khiếm
khuyết /
KNCSS trong
mổ dun kiểm
thử
% sản phẩm
cần mổhlnh
hoá, xác dịnh
mổi tniờng
mổ hình hoá
Kiểm thử hiệu
nảng đạí duợc
% của dự kiến
dược mổ hình
% mă đuợc
kiểm tíìừ với
dãy hoàn thiện
cố mục đích
(mô đun)
Kiểm thừ
HỖ trự
MTTF
(MTBF)
#Báo
cáo vâh
đề dã
biết
% kiổm
thử số giờ
tin cậy
# ktũếni
khuyếự IK
giờ
# khiếin
khuyết
toàn bộ
tỉ ỉệ khiếm
khuyết
Uiiổckhi
dưa ra
diểm kiểm
tra
đạt tới mục
ti6u hoàn
tíiiộn khi
xem xét tới
môi tmờng
được Idểm
thử
(hê Ihống)
# khiếm
khuyếỉ /
KNCSS
Điẻu tra/ Đậc
tả
C
/2
CH
o
X
# thay đổi hỗ
irợ các mục
tiêu sau khi
họp xél duyệt
lại hiện
iruờng và CPE
ITìiếl kế
Cài dật
# thiết kế Ihay
đổỉ bởi C PÍi
và hiện trường
MTTR mục
đích (Ihời —
gian)
# chẩn (It)án/
phục hổi
những thay
dổi bơi CPF.
và cái vào
hiện iruừng
MTrCrnục
đích (thời
gian)
Kiểm thử
H ỗư ợ
Tưtmg
tư
thời gian huấn
luyộn Bộ kiểm
thử, dùng tài
liệu
Hình 17.2 Các độ đo FURPS về chất lượng phần mềm
17.1.2 Đảm bảo chất lượng phán mém
Việc đảm bảo chất lượng là một hoạt động bản chất cho bất Iđ
doanh nghiệp nào sân xuất ra sản phẩm cho người tiêu dùng. Trước
thế kỉ hai mươi, việc đảm bảo chất lượng là trách nhiệm duy nhất của
người chế tạo, người xây dựng nên sản phẩm. Việc đảm bảo chất
lượng và chức nang kiổm soát được Bell Labs lần đầu tiên đưa vào
năm 1916 và nhanh chóng lan rộng trong toàn ngành chế tạo trên thế
giới. Ngày nay, mọi cOng ti đểu có cơ chế đảm bảo chất lượng trong
sản phẩm của mình. Trong thực tế, các tuyên bố rõ ràng về mối quan
tâm của công li đối với chất lượng đã trở ứiành một mánh khoé tiếp
thị trong thập kỉ qua.
Lịch sử của đảm bảo chất lượng trong phát triển phần mềm đi
song song với lịch sử của chất lượng về chế tạo phần cứng. Trong
những ngày đầu của tin học (những năm 1950 và 1960), chất lutffig là
trách nhiệm duy nhất của người lập trình. Các chuẩn về đảm bảo chất
lượng cho phần mềm đã được đưa vào ưong nhũng hợp đồng phát
triển phần mẻm quân sự trtmg những năm 1970 và đã nhanh ch<^g
lan rộng vào việc phát triển phẩn mềm trong thế giới thương mại.
19
- Xem thêm -