1. KHÁI NIỆM QUY TRÌNH SẢN XUẤT PHẦN MỀM VÀ MỖI
LIÊN HỆ GIỮA CMMI VÀ QUY TRÌNH
1.1. Khái niệm quy trình phần mềm
Phát triển phần mềm là một quy trình phức tạp, nó không chỉ đơn giản là tạo ra các
ngôn ngữ lập trình và các công cụ hiệu quả mà còn bao gồm rất nhiều nỗ lực phức tạp.
Chất lượng của một sản phẩm phần mềm được quyết định bởi con người, tổ chức và
các thủ tục để tạo nên và chuyển giao sản phẩm đó.
Trong những năm 60 và 70, các nhà nghiên cứu chủ yếu tập trung vào các lĩnh vực:
!"#$%&'('%)
*+,-
./012345657%5%8-9
":;5<
Khái niệm vòng đời phần mềm ở trên có liên quan trực tiếp với khái niệm quy trình
phần mềm. Một vòng đời phần mềm định nghĩa các giai đoạn khác nhau trong suốt thời
gian tồn tại của sản phẩm phần mềm. Thông thường các giai đoạn đó bao gồm phân
tích và đặc tả yêu cầu, thiết kế, viết code, kiểm tra và phê duyệt, triển khai, bảo trì.
Ngoài ra, vòng đời phần mềm còn đưa ra các quy tắc và chỉ dẫn để thực hiện các pha
khác nhau. Ví dụ trong mô hình thác nước, một pha chỉ được thực hiện khi pha trước
nó đã được hoàn thành. Ngược lại, ở mô hình xoắn ốc, trước tất cả các pha đều có
hoạt động phân tích rủi ro. Nói chung, một mô hình vòng đời phần mềm thường định
nghĩa bộ khung và các chỉ dẫn mà quy trình phần mềm cần được tiến hành theo nó.
Tuy nhiên, nó không quy định chính xác thứ tự các hoạt động, tổ chức, công cụ, các thủ
tục hoạt động, các chính sách phát triển và các ràng buộc. Vì vậy vòng đời phần mềm
là điểm bắt đầu quan trọng để xác định phần mềm sẽ được phát triển như thế nào. Tuy
nhiên, áp dụng một vòng đời phần mềm nhất định cũng chưa đủ để thực hiện và quản
lý một dự án phần mềm.
Khái niệm quy trình phần mềm được xây dựng dựa trên khái niệm vòng đời. Nó đưa
ra một quan niệm sâu sắc để cấu trúc và tổ chức các các vấn đề liên quan tới hoạt
động phát triển phần mềm. Một quy trình phần mềm có thể được định nghĩa như sau:
Quy trình phần mềm là một tập các chính sách, cơ cấu tổ chức, các công nghệ, các
• H5!2K)
2=25LCG$M
• @!9"LMNCGD;AL2%II$D!
$O('P:%8=92%I"LQ5,%"
• 9"G))MN;$:%8=CG269")
)RG))$5O!"4,-$;LOSRTQ
2%I'('5UOS2/$2%IFSD
OSR
• P2U'('9"('M.S85CG;P
2U'('269"('RH'$J&:;2(O5QV*!
9D;A$P"OSRH':W56(=5
('I8R
712345652%I$65X2%I
5U'O;Y558RCG5U$:S"'M
• ?)HZ24
• [:Y:/
• \*!9
• N!
BUQ2%I]$6:%8=RBX2%I(':Z5U
5S5)) V2/325;PD!'2/D^$2P2%I
5"R
(Z24?)
N$!94;2%IV2/0$SO
:)) L9;2%I'$P5L9_;2%IP
`R.$$262Q:P;V2/;9:"$%&8O
S$V2/2%I:;L%&2QZ5,R.6$!"D8O
V2/;))$5;5US))":Ra)):W5M"
Y$2L%8%I$!"4'$('P
2V2/325L5SR('D;L(Z24:W5M
a;5;":;O3
E;Y5LV*!9%32%I^$":;n:)o
B2L!$2%;Y545658%3FRN
$!49OP2UM
jFP5US2=25
h$$2=:/+P
N9On:)e)o22;5:;OS582,2%I!"4%3
p
P!OS588OSq:/!'
!OP2U
.$P:U:;
.%;Y5'/$*SR
H'D;L!
CG:W5rs(JsM
hfeMCG
bR BQOa)5)
a) 5)2%I9 O (Z 24$ Y:/R N
s(Js$!4'$OD!P2UF))22;5:;9S
;())64XID!P2UR
B2Ls(Js$!$5;5$OS;$5P9S
"$($6!"4LOSR.2P2%I2
$!4'$O6,-$$:U)`$PD!'
2/R
fR N!"4C)D)5)
B"Ls(Js$!t55;5$OS49O$P9
S"$($6!"4$!R
uR *$'('!>)