Kỹ thuật hỗ trợ kiểm soát chất lượng phần
mềm
Trịnh Thị Lình
Trường Đại học Công nghệ
Luận văn Thạc sĩ ngành: Công nghệ phần mềm; Mã số: 60 48 10
Người hướng dẫn: TS. Nguyễn Trường Thắng
Năm bảo vệ: 2011
Abstract: Giới thiệu một số kiến thức như: quy trình phát triển, chất lượng phần mềm,
đảm bảo chất lượng phần mềm, kiểm soát chất lượng phần mềm…. giúp có cái nhìn sơ
bộ về những vấn đề có liên quan đến quá trình phát triển phần mềm đảm bảo chất
lượng. Nghiên cứu một số kỹ thuật hỗ trợ quá trình kiểm soát chất lượng phần mềm.
Tìm hiểu những kỹ thuật hỗ trợ kiểm soát chất lượng sẽ làm cho sản phẩm phần mềm
tạo ra có chất lượng cao. Cũng như kỹ thuật được đề cập đến sẽ giúp giải quyết tình
huống khó khăn nhất trong phát triển phần mềm: phần mềm luôn thay đổi, vừa thực
hiện triển khai vừa phát triển. Ứng dụng thực tiễn: Phân tích môi trường phát triển,
Thực hiện mô đun hóa các chức năng, Áp dụng một số kỹ thuật hỗ trợ kiểm soát chất
lượng vào quá trình phát triển phần mềm
Keywords: Công nghệ phần mềm; Công nghệ thông tin; Phần mềm
Content
LỜI MỞ ĐẦU
Trong xã hội công nghệ thông tin ngày càng phát triển kéo theo ngành công nghệ phần
mềm cũng phát triển. Yêu cầu đặt ra đối với chất lượng mỗi sản phẩm phần mềm trở nên
nghiêm ngặt. Trong khi đó, quy trình phát triển phần mềm được thực hiện với nhiều giai đoạn
khác nhau và với rất nhiều hoạt động khác nhau. Mỗi giai đoạn đều giữ một vai trò nhất định
để góp phần xây dựng nên một phần mềm đảm bảo chất lượng theo như chuẩn đảm bảo chất
lượng. Một trong những vai trò rất quan trọng đó là hoạt động kiểm soát chất lượng phần
mềm. Nhiệm vụ chính là kiểm soát xem phần mềm có đảm bảo yêu cầu chất lượng đặt ra hay
không, các kiểm thử có đáp ứng yêu cầu không?
Ngày nay, các yếu tố về chất lượng (Quality), chi phí (Cost) và thời hạn (Delivery)
thường được coi là 3 tiêu chí căn bản nhất cho sự thành công của một sản phẩm nói chung và
sản phẩm phần mềm nói riêng. Như vậy, để tạo ra một sản phẩm phần mềm có chất lượng thì
hoạt động kiểm tra phần mềm đóng vai trò rất quan trọng, trong khi đó hoạt động này lại tiêu
tốn nhiều chi phí và chiếm tỷ trọng khá lớn về công sức, thời gian trong một dự án. Do đó một
yêu cầu thực tiễn rất cấp thiết là đội dự án phải có kế hoạch để đảm bảo phần mềm sản xuất ra
2
có chất lượng trong khi chi phí thấp. Chất lượng phần mềm luôn được kiểm soát trong suốt
quá trình sản xuất, từ lúc nhận yêu cầu cho đến khi sản phẩm đưa vào sử dụng, trong thời gian
sử dụng cho đến khi sản phẩm phần mềm đó lỗi thời hoặc có phần mềm khác thay thế. Kiểm
soát chất lượng phần mềm là quá trình giúp sớm phát hiện khiếm khuyết để từ đó sớm đi đến
khắc phục những khiếm khuyết của phần mềm trong suốt quá trình phát triển. Phát hiện lỗi và
khắc phục lỗi sớm giúp giảm bớt phát sinh lỗi mới và dẫn đến chi phí cho sửa chữa cũng giảm
bớt, nâng cao chất lượng cho phần mềm.
Cơ sở để đánh giá chất lượng phần mềm là: phần mềm khi phát triển phải đáp ứng các
yêu cầu đặt ra cũng như kỳ vọng của khách hàng và của bản thân nhà sản xuất. Để đánh giá
quy trình kiểm soát chất lượng phần mềm, người ta dựa vào bộ chuẩn. Ví dụ như các bộ
chuẩn quốc tế ISO, CMM, CMMI, IEEE…. Đáp ứng điều đó thì nhiều kỹ thuật hỗ trợ kiểm
soát chất lượng phần mềm ra đời nhằm kiểm soát quá trình phát triển phần mềm của các đội
dự án sao cho phần mềm sản xuất ra đảm bảo chất lượng theo như yêu cầu và mong muốn của
khách hàng cũng như người sử dụng sản phẩm đó. Thấy được tầm quan trọng trong vấn đề
kiểm soát chất lượng nên trong khóa luận này tôi thực hiện nghiên cứu về một số “Kỹ thuật
hỗ trợ việc kiểm soát chất lượng phần mềm”.
Trong thực tế, một phần mềm tốt thì thời gian sống phải dài. Sản phẩm phần mềm phải
liên tục tiến hóa sau khi bàn giao. Phần mềm mà không có sự tiến hóa là phần mềm chết. Điều
đó đồng nghĩa với chất lượng phần mềm kém, ít người sử dụng thậm chí không có người sử
dụng. Một ví dụ điển hình là Windows đã tiến hóa trong 20 năm qua, nó gặp phải nhiều lỗi và
liên tục sửa chữa, nâng cấp để tạo các phiên bản mới nhưng vẫn được đông đảo người sử
dụng.
Thách thức lớn nhất đối với các đơn vị phát triển phần mềm là sự không ổn định trong
yêu cầu của người dùng. Ngoài ra, phần mềm phải triển khai trên quy mô lớn mới bộc lộ hết
được những khiếm khuyết về chức năng, lôgic trong chương trình do có nhiều người sử dụng
khác nhau. Sản phẩm vừa phát triển với tính năng mới lại vừa sửa lỗi cũ trong khi triển khai
quy mô lớn đó là tình huống khó nhất khi phát triển phần mềm. Windows là một ví dụ điển
hình. Kỹ thuật phát triển phần mềm và kiểm soát chất lượng trong những hoàn cảnh như vậy
là cả một khoa học và công nghệ làm phần mềm, đòi hỏi kinh nghiệm thực tế và lý thuyết về
công nghệ phần mềm. Vì vậy, khi phần mềm sản xuất muốn đảm bảo chất lượng tốt thì phải
luôn được kiểm soát chặt chẽ.
Nội dung chính được trình bày trong khóa luận:
Chương I: Nền tảng lý thuyết
Giới thiệu một số kiến thức có liên quan như: quy trình phát triển, chất lượng phần
mềm, đảm bảo chất lượng phần mềm, kiểm soát chất lượng phần mềm…. giúp có cái nhìn sơ
bộ về những vấn đề có liên quan đến quá trình phát triển phần mềm đảm bảo chất lượng.
Chương II: Một số kỹ thuật hỗ trợ kiểm soát chất lượng phần mềm
3
Nghiên cứu một số kỹ thuật hỗ trợ quá trình kiểm soát chất lượng phần mềm. Với những
kỹ thuật hỗ trợ kiểm soát chất lượng sẽ làm cho sản phẩm phần mềm tạo ra có chất lượng cao.
Với những kỹ thuật được đề cập đến sẽ giúp giải quyết tình huống khó khăn nhất trong phát
triển phần mềm: phần mềm luôn thay đổi, vừa thực hiện triển khai vừa phát triển.
Chương III: Ứng dụng vào thực tiễn của đội dự án
- Phân tích môi trường phát triển
- Thực hiện mô đun hóa các chức năng
- Áp dụng một số kỹ thuật hỗ trợ kiểm soát chất lượng vào quá trình phát triển
phần mềm.
References
Tài liệu tiếng Việt:
[1]. Thạc Bình Cường - Bài giảng: Kiêm thử và đảm bảo chất lượng phần mềm
[2]. Nguyễn Văn Vỵ, Nguyễn Việt Hà, 2009, Giáo trình kỹ nghệ phần mềm, NXB Giáo
dục Việt Nam.
[3]. TCVN ISO 9001:2008
Tài liệu tiếng Anh:
[4]. Ben Collins-Sussman , Brian W. Fitzpatrick, C. Michael Pilato, Version Control with
Subversion [DRAFT] For Subversion 1.6 Compiled from r3823
[5]. Frewin, GD. And Hatton B.J. Testing Software Using Multiple Versions. Software
Productivity Consortium, Report No 89029, Reston, VA, June 1989.
[6]. John W. Horch, Practical Guide to Software Quylity Management, Second Edition
ISBN 1580535275
[7]. Mauro PezzandMichal, Software Testing and Analysis: Process, Principles and
Techniques
[8]. Myers, G.The Art of Software Testing. Wiley 1979
[9]. Robert T. Futrell, Donald F. Shafer, Linda I. Safer, Quality Software Project
Management
[10]. Software Quality Engineering , Testing, Quality Assurance, and Quantifiable
Improvement (chapter 3)
Trang web:
[11].
[12].
[13].
4
[14].
[15].