Kỹthuậthỗtrợkiểmsoát chất lượngphầ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ấtlượngphần mềm,
đảm bảochấtlượngphần mềm, kiểmsoátchấtlượngphầ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ầnmềm đảm bảochất
lượng. Nghiên cứu một số kỹthuậthỗtrợ quá trình kiểmsoátchấtlượngphần mềm.
Tìm hiểu những kỹthuậthỗtrợkiểmsoátchấtlượng sẽ làm cho sản phẩm phầnmềm
tạo ra có chấtlượ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ầnmề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ậthỗtrợkiểmsoátchất
lượng vào quá trình phát triển phầnmềm
Keywords: Công nghệ phần mềm; Công nghệ thông tin; Phầnmề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ấtlượng mỗi sản phẩm phầnmềmtrở nên
nghiêm ngặt. Trong khi đó, quy trình phát triển phầnmề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ầnmềm đảm bảochấtlượng theo như chuẩn đảm bảochất
lượng. Một trong những vai trò rất quan trọng đó là hoạt động kiểmsoátchấtlượngphần
mềm. Nhiệm vụ chính là kiểmsoát xem phầnmềm có đảm bảo yêu cầu chấtlượ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ấtlượ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ầnmềm nói riêng. Như vậy, để tạo ra một sản phẩm phầnmềm có chấtlượng thì
hoạt động kiểm tra phầnmề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ảophầnmềm sản xuất ra
2
có chấtlượng trong khi chi phí thấp. Chấtlượngphầnmềm luôn được kiểmsoá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ầnmềm đó lỗi thời hoặc có phầnmềm khác thay thế. Kiểm
soát chấtlượngphầnmề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ầnmề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 caochấtlượng cho phần mềm.
Cơ sở để đánh giá chấtlượngphầnmềm là: phầnmề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ểmsoátchấtlượngphầ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ậthỗtrợkiểm
soát chấtlượngphầnmềm ra đời nhằm kiểmsoát quá trình phát triển phầnmềm của các đội
dự án sao cho phầnmềm sản xuất ra đảm bảochấtlượ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átchấtlượ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ểmsoát chất lượngphần mềm”.
Trong thực tế, một phầnmềm tốt thì thời gian sống phải dài. Sản phẩm phầnmềm phải
liên tục tiến hóa sau khi bàn giao. Phầnmềm mà không có sự tiến hóa là phầnmềm chết. Điều
đó đồng nghĩa với chất lượngphầnmề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ầnmềm là sự không ổn định trong
yêu cầu của người dùng. Ngoài ra, phầnmề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ầnmềm và kiểmsoátchấtlượ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ầnmềm sản xuất muốn đảm bảochấtlượng tốt thì phải
luôn được kiểmsoátchặ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ượngphần
mềm, đảm bảochấtlượngphần mềm, kiểmsoátchấtlượngphầ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ầnmềm đảm bảochất lượng.
Chương II: Một số kỹthuậthỗtrợkiểmsoátchấtlượngphầnmềm
3
Nghiên cứu một số kỹthuậthỗtrợ quá trình kiểmsoátchấtlượngphần mềm. Với những
kỹ thuậthỗtrợkiểmsoátchấtlượng sẽ làm cho sản phẩm phầnmềm tạo ra có chấtlượ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ầnmề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ậthỗtrợkiểmsoátchấtlượ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ảochấtlượngphầnmề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]. http://www2.computer.org/portal/web/swebok/html/ch11#Ref2.1
[12]. http://www.computer.org/portal/web/swebok/html/ch11#Ref2.1
[13]. http://en.wikipedia.org/wiki/Comparison_of_revision_control_software
4
[14]. http://en.wikipedia.org/wiki/Client%E2%80%93server_model
[15]. http://en.wikipedia.org/wiki/Coding_conventions
. 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. 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