Machine Translated by Google Chủ đề đại học trong khoa học máy tính Machine Translated by Google Đối với các đầu sách khác được xuất bản trong sê ri này, hãy truy cập http //www springer com/series/75[.]
Quy trình phần mềm
Chi phí, Lịch trình và Chất lượng
1.1 Chi phí, Lịch trình và Chất lượng 3
Rõ ràng, do đó, việc giảm chi phí và thời gian chu kỳ phát triển phần mềm là mục tiêu trọng tâm của công nghệ phần mềm Năng suất tính theo đầu ra (KLOC) mỗi người- tháng có thể phản ánh đầy đủ cả mối quan tâm về chi phí và lịch trình Nếu năng suất cao hơn, rõ ràng là chi phí tính theo tháng người sẽ thấp hơn (hiện tại công việc tương tự có thể được thực hiện với ít người-tháng hơn) Tương tự, nếu năng suất cao hơn, tiềm năng phát triển phần mềm trong thời gian ngắn hơn sẽ cải thiện—một nhóm có năng suất cao hơn sẽ hoàn thành công việc trong thời gian ngắn hơn so với nhóm cùng quy mô có năng suất thấp hơn (Dĩ nhiên, thời gian thực tế mà dự án sẽ mất cũng phụ thuộc vào số lượng người được phân bổ cho dự án.) Do đó, việc theo đuổi năng suất cao hơn là động lực cơ bản đằng sau công nghệ phần mềm và là lý do chính để sử dụng các công cụ và phần mềm khác nhau kỹ xảo.
Năng suất trong ngành công nghiệp phần mềm để viết mã mới thường dao động từ vài trăm đến khoảng hơn 1000 LỘC mỗi người-tháng Tính năng sản xuất này nằm trong toàn bộ chu kỳ phát triển, không chỉ nhiệm vụ viết mã Các công ty phần mềm thường tính phí khách hàng mà họ đang phát triển phần mềm từ $3000 - $15.000 mỗi người-tháng Với năng suất 1000 LOC mỗi người-tháng, điều đó có nghĩa là mỗi dòng mã được phân phối có giá từ 3 đến 15 đô la! Và ngay cả những dự án nhỏ cũng có thể dễ dàng kết thúc với phần mềm 50.000 LỘC.
Thật không may, lịch sử của phần mềm đầy rẫy những trường hợp các dự án về cơ bản bị trễ.
Và năng suất thường được đo lường trong ngành theo LOC (hoặc KLOC) mỗi người-tháng.
Rõ ràng, phát triển phần mềm chất lượng cao là một mục tiêu cơ bản khác của công nghệ phần mềm Tuy nhiên, trong khi chi phí nhìn chung đã được hiểu rõ, khái niệm về chất lượng trong bối cảnh phần mềm cần được giải thích thêm.
Lịch trình là một yếu tố quan trọng khác trong nhiều dự án Xu hướng kinh doanh đang chỉ ra rằng thời gian đưa sản phẩm ra thị trường phải giảm xuống; nghĩa là thời gian chu kỳ từ ý tưởng đến giao hàng phải nhỏ Đối với phần mềm, điều này có nghĩa là nó cần được phát triển nhanh hơn và trong thời gian quy định. phép đo kích thước phần mềm thường được sử dụng trong ngành Vì chi phí chính của việc sản xuất phần mềm là nhân lực được tuyển dụng, nên chi phí phát triển phần mềm thường được đo bằng số tháng công sức dành cho người phát triển.
Bên cạnh chi phí và lịch trình, yếu tố chính khác thúc đẩy kỹ thuật phần mềm là chất lượng Ngày nay, chất lượng là một trong những câu thần chú chính và các chiến lược kinh doanh được thiết kế xung quanh nó Thật không may, một số lượng lớn các trường hợp đã xảy ra liên quan đến tính không đáng tin cậy của phần mềm—phần mềm thường không thực hiện những gì nó phải làm hoặc thực hiện một số việc mà nó không được phép thực hiện.
Tiêu chuẩn quốc tế về chất lượng sản phẩm phần mềm [55] gợi ý rằngVới năng suất này, một dự án phần mềm như vậy sẽ có giá từ 150.000 đến 750.000 USD!
- Hiệu quả Khả năng cung cấp hiệu suất phù hợp liên quan đến Để xác định chất lượng của một sản phẩm phần mềm, chúng ta cần xác định số lỗi trong phần mềm đã được chuyển giao Con số này rõ ràng là không được biết vào thời điểm giao hàng và có thể không bao giờ được biết Một cách tiếp cận để đo lường chất lượng là ghi lại các lỗi được tìm thấy trong 6 tháng (hoặc 1 năm) sau khi giao hàng và xác định chất lượng đối với các lỗi này Điều này có nghĩa là chất lượng của phần mềm được chuyển giao chỉ có thể được xác định sau 6 tháng kể từ ngày chuyển giao Tuy nhiên, mật độ lỗi cũng có thể được ước tính từ dữ liệu quá khứ của các dự án tương tự—nếu tương tự
– Chức năng Khả năng cung cấp các chức năng đáp ứng đã nêu và
Với nhiều khía cạnh về chất lượng, các dự án khác nhau có thể nhấn mạnh các thuộc tính khác nhau và không thể có một con số toàn cầu về chất lượng Tuy nhiên, mặc dù thực tế là có nhiều thuộc tính chất lượng, độ tin cậy thường được chấp nhận là tiêu chí chất lượng chính Vì phần mềm không đáng tin cậy là do có lỗi trong phần mềm, một thước đo chất lượng là số lượng lỗi trong phần mềm được phân phối trên mỗi kích thước đơn vị (thường được coi là hàng nghìn dòng mã hoặc KLOC) Với tiêu chí chất lượng chính này, mục tiêu chất lượng là giảm số lượng lỗi trên mỗi KLOC càng nhiều càng tốt
Các phương pháp hay nhất hiện nay trong công nghệ phần mềm đã có thể giảm mật độ lỗi xuống dưới 1 lỗi trên mỗi KLOC.
– Khả năng sử dụng Khả năng được hiểu, được học và được sử dụng. chất lượng phần mềm bao gồm sáu thuộc tính chính, như trong Hình 1.1 Các thuộc tính này có thể được định nghĩa như sau:
– Tính di động Khả năng thích ứng với các môi trường cụ thể khác nhau mà không cần áp dụng các hành động hoặc phương tiện khác với những hành động hoặc phương tiện được cung cấp cho mục đích này trong sản phẩm.
– Khả năng bảo trì Khả năng được sửa đổi cho mục đích tạo ra cor
- Độ tin cậy Khả năng cung cấp dịch vụ không có lỗi.
Hình 1.1: Thuộc tính chất lượng phần mềm. lượng tài nguyên được sử dụng. chỉnh sửa, cải tiến hoặc thích ứng. nhu cầu tiềm ẩn khi phần mềm được sử dụng.
Quy mô và Thay đổi
Bên cạnh độ tin cậy, một thuộc tính chất lượng khác rất được quan tâm là khả năng duy trì Sau khi phần mềm được phân phối và triển khai, nó sẽ bước vào giai đoạn bảo trì Tại sao cần bảo trì phần mềm, khi phần mềm không có thành phần vật lý nào có thể xuống cấp theo thời gian? Phần mềm cần được bảo trì do các lỗi còn sót lại trong hệ thống Người ta thường tin rằng công nghệ hiện đại ngày nay còn hạn chế và việc phát triển phần mềm với mật độ sai sót bằng 0 là không thể Những khiếm khuyết này, sau khi được phát hiện, cần phải được loại bỏ, dẫn đến cái được gọi là bảo trì khắc phục Bảo trì cũng cần thiết để thay đổi phần mềm được cung cấp để đáp ứng nhu cầu nâng cao của người dùng và môi trường, dẫn đến bảo trì thích ứng Trong vòng đời của một hệ thống phần mềm, chi phí bảo trì có thể vượt xa chi phí phát triển ban đầu Tỷ lệ chi phí bảo trì-phát triển đã được đề xuất khác nhau như 80:20, 70:30 hoặc 60:40 Do chi phí cao này, thuộc tính khả năng bảo trì của phần mềm được phân phối rất được quan tâm—rõ ràng là mong muốn có các hệ thống phần mềm dễ bảo trì hơn. phương pháp tiếp cận đang được sử dụng, thì dự kiến dự án hiện tại sẽ có mật độ lỗi tương tự như các dự án trước đây.
Hầu hết các hệ thống phần mềm cường độ công nghiệp có xu hướng lớn và phức tạp, yêu cầu hàng chục nghìn dòng mã Kích thước của một số sản phẩm phần mềm nổi tiếng được đưa ra trong Bảng 1.1.
Mặc dù chi phí, tiến độ và chất lượng là động lực chính cho một dự án trong miền vấn đề của chúng tôi (của phần mềm sức mạnh ngành), nhưng có một số đặc điểm khác của miền vấn đề cũng ảnh hưởng đến các phương pháp tiếp cận giải pháp được sử dụng Chúng tôi tập trung vào hai đặc điểm như vậy—quy mô và thay đổi.
Cần phải chỉ ra rằng để sử dụng định nghĩa về chất lượng này, khiếm khuyết là gì phải được xác định rõ ràng Một lỗi có thể là một vấn đề nào đó trong phần mềm khiến phần mềm gặp sự cố hoặc một vấn đề khiến đầu ra không được căn chỉnh chính xác hoặc lỗi chính tả một số từ, v.v Định nghĩa chính xác về những gì được coi là lỗi rõ ràng sẽ phụ thuộc vào dự án hoặc các tiêu chuẩn mà tổ chức phát triển dự án sử dụng (thường là tiêu chuẩn sau).
Như có thể dự kiến, việc phát triển một hệ thống lớn đòi hỏi một tập hợp các phương pháp khác so với việc phát triển một hệ thống nhỏ, vì các phương pháp được sử dụng để phát triển các hệ thống nhỏ thường không mở rộng quy mô cho các hệ thống lớn Một ví dụ sẽ minh họa điểm này Hãy xem xét vấn đề đếm người trong phòng so với việc điều tra dân số của một quốc gia Cả hai đều là những bài toán đếm cơ bản. Nhưng các phương pháp được sử dụng để đếm người trong phòng sẽ không hoạt động khi
1.2 Quy mô và Thay đổi ansic Kích thước (KLOC) Phần mềm
Như đã thảo luận ở trên, phần mềm phải được thay đổi ngay cả sau khi nó đã được triển khai Mặc dù theo truyền thống, những thay đổi trong phần mềm trong quá trình bảo trì đã được phân biệt với những thay đổi xảy ra trong khi quá trình phát triển đang diễn ra, nhưng những ranh giới này đang bị mờ đi, vì về cơ bản những thay đổi trong cả hai tình huống này
Red Hat Linux ansic, cpp
Windows XP ansic, cpp điều tra dân số Một tập hợp các phương pháp khác sẽ phải được sử dụng để tiến hành điều tra dân số và vấn đề điều tra dân số sẽ yêu cầu quản lý, tổ chức và xác nhận nhiều hơn đáng kể, bên cạnh việc đếm.
Tương tự như vậy, các phương pháp mà người ta có thể sử dụng để phát triển các chương trình vài trăm dòng sẽ không thể hoạt động khi phần mềm vài trăm nghìn dòng cần được phát triển Một tập hợp các phương pháp khác nhau phải được sử dụng để phát triển phần mềm lớn.
Bất kỳ dự án phần mềm nào cũng liên quan đến việc sử dụng kỹ thuật và quản lý dự án Trong các dự án nhỏ, các phương pháp phát triển và quản lý không chính thức có thể được sử dụng Tuy nhiên, đối với các dự án lớn, cả hai đều phải khắt khe hơn nhiều, như minh họa trong Hình 1.2 Nói cách khác, để thực hiện thành công một dự án, một phương pháp thích hợp cho kỹ thuật hệ thống phải được sử dụng và dự án phải được quản lý chặt chẽ để đảm bảo rằng chi phí, tiến độ và chất lượng đều nằm trong tầm kiểm soát Quy mô lớn là một đặc điểm chính của miền vấn đề và các phương pháp tiếp cận giải pháp nên sử dụng các công cụ và kỹ thuật có khả năng xây dựng các hệ thống phần mềm lớn.
Ngôn ngữ ansic, cpp, yacc perl, ansic, sh ansic, cpp, perl ansic, sh
Thay đổi là một đặc điểm khác của miền vấn đề mà ap tiếp cận sự phát triển phải xử lý Vì tập hợp đầy đủ các yêu cầu đối với hệ thống thường không được biết đến (thường không thể biết được khi bắt đầu dự án) hoặc được nêu ra, khi quá trình phát triển diễn ra và thời gian trôi qua, các yêu cầu bổ sung được xác định, cần được tích hợp vào phần mềm đang được sử dụng đã phát triển Nhu cầu thay đổi này đòi hỏi các phương pháp phát triển phải nắm lấy sự thay đổi và điều chỉnh nó một cách hiệu quả Các yêu cầu thay đổi có thể gây gián đoạn cho một dự án và nếu không được xử lý đúng cách, có thể tiêu tốn tới 30 đến 40% chi phí phát triển [14].
Bảng 1.1: Kích thước tính bằng KLOC của một số sản phẩm nổi tiếng. gcc perl openssl apache sendmail
Phần mềm này nhằm giải quyết một số vấn đề của một số nhóm người dùng và được mong đợi sẽ có chất lượng cao.
Hình 1.2: Bài toán quy mô.
– Năng suất được đo bằng lượng đầu ra trên một đơn vị nguồn lực đầu vào Trong phần mềm, đầu ra có thể được đo bằng các dòng mã được phân phối và vì thời gian của con người là tài nguyên chính nên đầu vào có thể được đo bằng tháng-người.
– Miền vấn đề của công nghệ phần mềm là phần mềm có sức mạnh công nghiệp.
Do đó, năng suất có thể được đo bằng các dòng mã được phân phối cho mỗi người trong tháng.
Do đó, các phương pháp và công cụ sẽ được sử dụng để giải quyết các vấn đề trong lĩnh vực này phải đảm bảo năng suất cao và chất lượng cao.
Nhìn chung, khi thế giới thay đổi nhanh hơn, phần mềm phải thay đổi nhanh hơn, ngay cả khi đang được phát triển Do đó, những thay đổi trong các yêu cầu là một đặc điểm của miền vấn đề Trong thế giới ngày nay, những cách tiếp cận không thể chấp nhận và thích nghi với sự thay đổi sẽ ít được sử dụng—chúng chỉ có thể giải quyết một số vấn đề chống lại sự thay đổi.
– Trong lĩnh vực vấn đề này, chi phí, tiến độ và chất lượng là những động lực cơ bản. tương tự nhau—mã nguồn hiện tại cần được thay đổi do một số thay đổi trong yêu cầu hoặc do một số lỗi cần được loại bỏ.
– Chất lượng phần mềm có nhiều thuộc tính bao gồm chức năng, độ tin cậy, khả năng sử dụng, hiệu quả, khả năng bảo trì và tính khả chuyển Độ tin cậy thường
Sự cố phần mềm
Quy trình và Dự án
quá trình phát triển và quá trình quản lý dự án.
Một quy trình là một chuỗi các bước được thực hiện cho một mục đích nhất định [52] Như đã đề cập trước đó, trong khi phát triển phần mềm (sức mạnh công nghiệp), mục đích là phát triển phần mềm để đáp ứng nhu cầu của một số người dùng hoặc khách hàng, như trong Hình 2.1 Một dự án phần mềm là một ví dụ của vấn đề này, và quy trình phát triển là những gì được sử dụng để đạt được mục đích này.
Khi các quy trình hình thành trái tim của công nghệ phần mềm, với các công cụ và công nghệ hỗ trợ để thực hiện các quy trình một cách hiệu quả, cuốn sách này chủ yếu tập trung vào các quy trình Trong chương này chúng ta sẽ thảo luận:
Vì vậy, đối với một dự án, quy trình phát triển của dự án đóng một vai trò then chốt—chỉ bằng cách tuân theo quy trình, mục tiêu cuối cùng mong muốn là cung cấp phần mềm sẽ đạt được Tuy nhiên, như đã thảo luận trước đó, chỉ đạt được mục tiêu cuối cùng là có phần mềm mong muốn là chưa đủ, mà chúng tôi muốn dự án được thực hiện với chi phí thấp và thời gian chu kỳ thấp, đồng thời cung cấp phần mềm chất lượng cao Vai trò của quy trình tăng lên do các mục tiêu bổ sung này và mặc dù nhiều quy trình có thể đạt được mục tiêu cơ bản
– Các mô hình khác nhau cho quy trình phát triển—thác nước, nguyên mẫu, lặp đi lặp lại, RUP, hộp thời gian và XP.
Hình 2.1: Bài toán cơ bản.
– Vai trò của một quy trình và mô hình quy trình trong một dự án.
– Cấu trúc tổng thể của quy trình quản lý dự án và các giai đoạn chính của nó.
– Các quy trình thành phần khác nhau trong quy trình phần mềm và vai trò chính của quy trình
Quy trình phần mềm thành phần 11 2.3 Mô hình Quy trình Phát triển Phần mềm 13 2.3.1 Mô hình thác nước 14 2.3.2 Tạo mẫu 17 2.3.3 Phát triển lặp lại 19 2.3.4 Quy trình thống nhất hợp lý
2.2 Quy trình phần mềm thành phần 11
Trong một dự án, một đặc tả quy trình có thể được sử dụng làm quy trình mà dự án dự định tuân theo Quá trình thực tế là những gì thực sự được thực hiện trong dự án Lưu ý rằng quy trình thực tế có thể khác với quy trình đã lên kế hoạch và việc đảm bảo rằng quy trình đã chỉ định đang được tuân thủ là một vấn đề không cần thiết Tuy nhiên, trong cuốn sách này, chúng tôi sẽ giả định rằng các quy trình được lên kế hoạch và thực tế là như nhau và sẽ không phân biệt giữa hai quy trình này và sẽ sử dụng thuật ngữ quy trình để chỉ cả hai.
Như đã định nghĩa ở trên, quy trình là chuỗi các bước được thực hiện để đạt được mục tiêu Vì có thể phải thỏa mãn nhiều mục tiêu khác nhau trong khi phát triển phần mềm, nên cần có nhiều quy trình Nhiều trong số này không liên quan đến công nghệ phần mềm, mặc dù chúng có tác động đến sự phát triển phần mềm Đây có thể được coi là quá trình phi phần mềm Các quy trình kinh doanh, quy trình xã hội và quy trình đào tạo đều là những ví dụ về các quy trình thuộc điều này Các quy trình này cũng ảnh hưởng đến hoạt động phát triển phần mềm nhưng nằm ngoài tầm nhìn của công nghệ phần mềm. mục tiêu của việc phát triển phần mềm trong Hình 2.1, để đạt được Q&P cao, chúng ta cần một số quy trình “tối ưu” Chính mục tiêu này làm cho việc thiết kế một quy trình trở thành một thách thức.
Một mô hình quy trình chỉ định một quy trình chung, là quy trình “tối ưu” cho một loại dự án Nghĩa là, trong các tình huống áp dụng mô hình, việc sử dụng mô hình quy trình làm quy trình của dự án sẽ dẫn đến mục tiêu phát triển phần mềm có Q&P cao Một mô hình quy trình về cơ bản là sự tổng hợp các phương pháp hay nhất thành một “công thức” để thành công trong dự án Nói cách khác, một quy trình là một phương tiện để đạt được các mục tiêu về chất lượng cao, chi phí thấp và thời gian chu kỳ thấp và một mô hình quy trình cung cấp một cấu trúc quy trình rất phù hợp cho một loại dự án.
Các quy trình xử lý các vấn đề kỹ thuật và quản lý của phát triển phần mềm được gọi chung là quy trình phần mềm Là một dự án phần mềm sẽ phải thiết kế một giải pháp và quản lý dự án đúng cách, có
Chúng ta phải phân biệt đặc điểm kỹ thuật hoặc mô tả quy trình với chính quy trình đó Một quy trình là một thực thể động nắm bắt các hành động được thực hiện.
Một quy trình thường được chỉ định ở cấp độ cao như một chuỗi các giai đoạn Trình tự các bước cho một giai đoạn là quy trình cho giai đoạn đó và thường được gọi là quy trình con của quy trình.
Mặt khác, đặc tả quy trình là một mô tả về quy trình mà trước hết có thể được tuân theo trong một số dự án để đạt được mục tiêu mà quy trình được thiết kế.
Trong suốt dự án, nhiều sản phẩm được tạo ra thường bao gồm nhiều mục (ví dụ: mã nguồn cuối cùng có thể bao gồm nhiều tệp nguồn) Các mục này tiếp tục phát triển khi dự án tiến hành, tạo ra nhiều phiên bản trong quá trình thực hiện Vì các quy trình phát triển thường không tập trung vào sự phát triển và thay đổi, nên để xử lý chúng, một quy trình khác gọi là quy trình kiểm soát cấu hình phần mềm thường được sử dụng Mục tiêu của quy trình thành phần này là chủ yếu giải quyết việc quản lý thay đổi, sao cho tính toàn vẹn của sản phẩm không bị vi phạm bất chấp các thay đổi.
Tuy nhiên, bản thân quy trình phần mềm là một thực thể động, vì nó phải thay đổi để thích ứng với sự hiểu biết ngày càng tăng của chúng ta về phát triển phần mềm và tính khả dụng của các công nghệ và công cụ mới hơn Do đó, một quy trình để quản lý quy trình phần mềm là cần thiết. rõ ràng là hai thành phần chính trong quy trình phần mềm—quy trình phát triển và quy trình quản lý dự án Quá trình phát triển xác định tất cả các hoạt động kỹ thuật cần được thực hiện, trong khi quy trình quản lý chỉ định cách lập kế hoạch và kiểm soát các hoạt động này để đáp ứng chi phí, tiến độ, chất lượng và các mục tiêu khác Các quy trình quản lý dự án và phát triển hiệu quả là chìa khóa để đạt được mục tiêu cung cấp phần mềm mong muốn, đáp ứng nhu cầu của người dùng, đồng thời đảm bảo năng suất và chất lượng cao.
Ba quy trình cấu thành này tập trung vào các dự án và sản phẩm và có thể được coi là bao gồm các quy trình kỹ thuật sản phẩm, vì mục tiêu chính của chúng là tạo ra sản phẩm mong muốn Nếu quy trình phần mềm có thể được xem như một thực thể tĩnh, thì ba quy trình thành phần này là đủ.
Mục tiêu cơ bản của quy trình quản lý quy trình là cải thiện quy trình phần mềm Bằng cách cải tiến, chúng tôi muốn nói rằng khả năng của quy trình sản xuất hàng hóa có chất lượng với chi phí thấp được cải thiện Đối với điều này, quy trình phần mềm hiện tại được nghiên cứu, thường xuyên bằng cách nghiên cứu các dự án đã được thực hiện bằng quy trình Toàn bộ quá trình tìm hiểu quy trình hiện tại, phân tích các thuộc tính của nó, xác định cách cải thiện và sau đó ảnh hưởng đến việc cải tiến được xử lý bởi quy trình quản lý quy trình.
Mối quan hệ giữa các quy trình thành phần chính này được thể hiện trong Hình 2.2 Các quy trình thành phần này khác biệt không chỉ ở loại hoạt động được thực hiện trong chúng, mà còn ở những người thực hiện các hoạt động được quy định bởi quy trình Trong một dự án điển hình, các hoạt động phát triển được hình thành bởi các lập trình viên, nhà thiết kế, người kiểm tra, v.v.; các hoạt động của quá trình quản lý dự án được thực hiện bởi ban quản lý dự án; các hoạt động của quy trình kiểm soát cấu hình được thực hiện bởi một nhóm thường được gọi là bộ điều khiển cấu hình; và các hoạt động của quy trình quản lý quy trình được thực hiện bởi nhóm quy trình công nghệ phần mềm (SEPG).
Trong cuốn sách này, chúng ta sẽ tập trung chủ yếu vào các quy trình liên quan đến sản phẩm.
2.3 Mô hình quy trình phát triển phần mềm
2.3 Mô hình quy trình phát triển phần mềm 13 kỹ thuật, đặc biệt là các quá trình phát triển và quản lý dự án. Đối với quy trình phát triển phần mềm, mục tiêu là tạo ra một sản phẩm phần mềm chất lượng cao Do đó, nó tập trung vào các hoạt động liên quan trực tiếp đến sản xuất phần mềm, ví dụ, thiết kế, viết mã và thử nghiệm Khi quy trình phát triển xác định các hoạt động kiểm soát chất lượng và phát triển chính cần được thực hiện trong dự án, nó tạo thành cốt lõi của quy trình phần mềm Quá trình quản lý thường được quyết định dựa trên quá trình phát triển.
Hình 2.2: Các quy trình của phần mềm.
Phần lớn cuốn sách thảo luận về các giai đoạn khác nhau của quy trình phát triển và các quy trình con hoặc phương pháp được sử dụng để thực hiện các giai đoạn này Đối với phần còn lại của cuốn sách, chúng tôi sẽ sử dụng thuật ngữ quy trình phần mềm để chỉ các quy trình kỹ thuật sản phẩm, trừ khi có quy định khác.
Quy trình phát triển của một dự án xác định các nhiệm vụ mà dự án cần thực hiện theo biểu mẫu và thứ tự thực hiện các nhiệm vụ đó Một quy trình giới hạn mức độ tự do cho một dự án bằng cách chỉ định loại hoạt động nào phải được thực hiện và theo thứ tự nào, sao cho đường dẫn “ngắn nhất” (hoặc hiệu quả nhất) có được từ nhu cầu của người dùng đến phần mềm thỏa mãn những nhu cầu này Quá trình thúc đẩy một dự án và ảnh hưởng lớn đến kết quả.