ISO/IEC 12207

**T****iêu chuẩn ISO/IEC 12207** *Hệ thống và kỹ thuật phần mềm – quy trình vòng đời phần mềm* là một tiêu chuẩn quốc tế cho quy trình phát triển phần mềm. Tiêu chuẩn này nhằm mục đích định nghĩa tất cả các nhiệm vụ cần thiết cho việc phát triển và duy trì phần mềm.

Tiêu chuẩn ISO/IEC 12207 thiết lập một quy trình cho vòng đời một phần mềm, bao gồm cả quá trình và các hoạt động áp dụng trong việc giành được và định dạng cấu trúc của các dịch vụ trong hệ thống. Mỗi quy trình có một nhóm kết quả liên quan với nó. Có 23 quy trình, 95 hoạt động, 325 nhiệm vụ và 224 kết quả (Tiêu chuẩn ISO/IEC 12207:2008 mới - "hệ thống và kỹ thuật phần mềm – Quy trình vòng đời phần mềm" xác định 43 hệ thống và quy trình phần mềm).

Mục tiêu chính của các tiêu chuẩn là để cung cấp một cấu trúc chung để mà các người mua, các nhà cung cấp, người phát triển, bảo trì, điều hành, các nhà quản lý và kỹ thuật viên tham gia với phần mềm có thể một ngôn ngữ chung. Bộ ngôn ngữ chung này được thành lập ở định nghĩa quy trình huẩn. Cấu trúc của các tiêu chuẩn được thiết kế để được hiểu một cách linh hoạt, chia thành mô-đun để thích nghi với những nhu cầu của bất cứ ai sử dụng nó. Các tiêu chuẩn dựa vào hai nguyên tắc cơ bản: mô-đun và trách nhiệm. Mô-đun có nghĩa là quy trình với tối thiểu khớp nối và tối đa gắn kết. Trách nhiệm là phải thiết lập một trách nhiệm cho mỗi quy trình, tạo điều kiện để ứng dụng các tiêu chuẩn vào dự án, khi mà có nhiều người cùng tham gia.

Nhóm các quy trình, hoạt động và nhiệm vụ có thể được sử dụng tuỳ theo dự án phần mềm. Các quy trình này được phân loại thành 3 kiểu: cơ bản, cho hỗ trợ và một cách tổ chức. Các quy trình hỗ trợ và có tổ chức phải tồn tại độc lập với bất kì tổ chức hoặc dự án. Quy trình cơ bản được xác định tuỳ theo tình hình.

## Quy trình vòng đời chính
Quy trình vòng đời chính chứa các quy trình cốt lõi cần thực hiện để tạo ra sản phẩm phần mềm. Các quy trình này được chia thành sáu quy trình khác nhau:
* Việc mua lại
* Cung cấp
* Phát triển
* Hoạt động
* Bảo trì
* Phá hủy
Bởi vì quy trình vòng đời chính là một lĩnh vực lớn. Bài viết này giải thích tất cả các quy trình vòng đời chính nhưng sẽ giải thích quy trình Khởi động và Phát triển chi tiết hơn.

## Các hoạt động
Mỗi giai đoạn trong quy trình vòng đời chính có thể được chia thành các hoạt động khác nhau. Chương này giải thích các hoạt động khác nhau đối với mỗi quy trình vòng đời chính..

### Khởi động
Khởi động bao gồm cả các hoạt động để bắt đầu một dự án.
Giai đoạn khởi động có thể được chia thành các hoạt động và phân phôi đó được hoàn thành thứ tự thời gian.
* Khởi tạo:
** Trước hết, cần mô tả tại sao chúng ta phải có được, phải phát triển hoặc cải tiến một sản phẩm;
** Định nghĩa yêu cầu hệ thống và xác định tính khả thi;
** Toàn bộ yêu cầu phần mềm cần được xác định;
** Đánh giá của những lựa chọn khác, như một mua sản phẩm phát triển bởi bên thứ 3 hoặc cải tiến một sản phẩm có sẵn;
** Nếu một sản phẩm được phát triển bởi bên thứ 3, yêu cầu phần mềm áp dụng cho sản phẩm này cần phải được phân tích;
** Một kế hoạch khởi động được phát triển, kế hoạch này sẽ được sử dụng tiếp trong giai đoạn khởi động;
** Xác định rõ tiêu chí thành công.
* Đề nghị chuẩn bị một bản đề xuất:
** Định nghĩa các yêu cầu khởi động, ví dụ yêu cầu hệ thống và giới hạn kỹ thuật như môi trường mục tiêu;
** Quy trình ISO 12207 cần phải có cho dự án cần được định định nghĩa và thay đổi cho phù hợp, nếu cần;
** Các mốc quan trọng trong hợp đồng để xác thực và định nghĩa quá trình kiểm định của nhà cung cấp.
* Chuẩn bị Hợp đồng:
** Đề ra quy trình lựa chọn nhà cung cấp;
** Các nhà cung cấp, dựa trên quy trình đề ra, được lựa chọn;
** Tiêu chuẩn ISO 12207 - có thể thay đổi cho phù hợp, phải được đặt trong hợp đồng;
* Đàm phán thay đổi:
** Đàm phán được tổ chức với các nhà cung cấp được lựa chọn,
* Cập nhật bản hợp đồng:
** Hợp đồng được cập nhật với các kết quả từ các cuộc đàm phán trước đó.
* Giám sát nhà cung cấp:
** Các hoạt động của các nhà cung cấp theo thỏa thuận được theo dõi, giám sát;
** Nếu cần, làm việc cùng với các nhà cung cấp để đảm bảo thời gian bàn giao kết quả.
* Chấp nhận và hoàn thành:
** Tạo ra biên bản kiểm tra bàn giao và các thủ tục;
** Tiến hành thực hiện kiểm tra bàn giao trên sản phẩm nhận được;
** Hướng dẫn quản lý cấu hình trên sản phẩm được bàn giao.

### Phát triển
Trong sự phát triển giai đoạn các sản phẩm phần mềm được thiết kế, xây dựng và thử nghiệm và sẽ dẫn đến một phần mềm sản phẩm đã sẵn sàng để được phát hành khách hàng.
Trong suốt thời gian nhiều người đã được phát triển có nghĩa của việc phát triển một phần mềm. Sự lựa chọn của việc phát triển phương pháp thường phụ thuộc vào tình hình hiện nay. Sự phát triển phương pháp được sử dụng trong nhiều dự án là V-người mẫu.
Kỹ thuật có thể được sử dụng trong sự phát triển đang HỌC để thiết kế và TMap cho thử nghiệm.
Mục này chứa đựng hầu hết các bước quan trọng của các V-người mẫu.
* Xác định yêu cầu chức năng:
** Thu thập các yêu cầu chức năng, hoặc nhu cầu cho các sản phẩm đó là để được tạo ra.
* Tạo Cao cấp thiết kế: 
** Một bố trí cơ bản của các sản phẩm là được tạo ra. Điều này có nghĩa là các thiết lập của các module và làm thế nào chúng giao tiếp với nhau. Thiết kế này không chứa rất nhiều thông tin chi tiết về các mô-đun.
* Tạo thiết kế mô-Đun
** Sự khác nhau module mặt ở các cấp Cao thiết kế được thiết kế riêng. Các mô-đun được thiết kế càng chi tiết càng tốt.
* Lập trình
** Mã lập trình được viết theo thiết kế tổng quan và thiết kế các mô-đun.
* Thực hiện kiểm thử mô-đun
** Sự khác nhau module được kiểm tra cho hoạt động chính xác. Nếu đây là trường hợp dự án có thể di chuyển đến các hoạt động tiếp theo, nếu không các dự án trở về module giai đoạn thiết kế để sửa chữa các lỗi.
* Thực hiện Tích kiểm tra
** Việc liên lạc giữa module là thử nghiệm cho hoạt động chính xác. Nếu đây là trường hợp dự án có thể di chuyển đến các hoạt động tiếp theo, nếu không các dự án rơi trở lại mức độ cao thiết kế để sửa chữa các lỗi.
* Thực hiện Hệ thống kiểm tra
** Này, kiểm tra, kiểm tra cho dù tất cả các chức năng yêu cầu có mặt trong các sản phẩm. Nếu trường hợp này các sản phẩm được hoàn thành và các sản phẩm đã sẵn sàng để được chuyển giao cho các khách hàng. Khác dự án rơi trở lại với phần mềm yêu cầu hoạt động và các chức năng yêu cầu phải điều chỉnh.

## Những biên bản bàn giao
Các phần bàn giao khác nhau được phát triển tuỳ theo các hoạt động được giải thích trong chương này.

### Khởi động - thương thảo
Thương thảo bao gồm các hoạt động từ khi bắt đầu một dự án.
Giai đoạn thương thảo có thể được chia thành các hoạt động và phân phôi đó được hoàn thành thứ tự thời gian.
* Khởi: trong này hoạt động sau phôi đang được phát triển:
** Tài liệu bắt đầu;
* Yêu cầu đề nghị chuẩn bị: trong này hoạt động sau phôi đang được phát triển:
** Yêu cầu đề nghị;
* Chuẩn bị Hợp đồng:
** Hợp đồng: đây là một dự thảo thỏa thuận giữa các công ty và các nhà cung cấp, thiết lập bởi những công ty.
* Thương lượng thay đổi:
** Nhập từ các nhà cung cấp: các nhà cung cấp có thể phản ứng trên thảo thỏa thuận trình của công ty, phản ứng này sẽ dẫn đến từ đầu vào các nhà cung cấp,
* Bản Hợp đồng:
** Cuối Cùng Hợp Đồng;
* Nhà cung cấp giám sát:
** Nhà cung cấp báo Cáo tình hình: báo cáo này bao gồm những tiến bộ của các nhà cung cấp tham gia dựa trên những sự kiện quan trọng.
* Chấp nhận và hoàn thành:
** Mua báo cáo: báo cáo này bao gồm việc chấp nhận và hoàn thành giai đoạn mua lại.

### Phát triển
Trong giai đoạn phát triển các sản phẩm phần mềm được thiết kế, xây dựng và thử nghiệm và sẽ dẫn đến một phần mềm sản phẩm đã sẵn sàng để được bán cho các khách hàng.
* Xác định phần Mềm yêu Cầu:
** Phần mềm yêu Cầu: đây là một bộ sưu tập của các chức năng yêu cầu;
* Cao cấp thiết kế:
** Cao cấp thiết kế;
* Module thiết kế:
** Module thiết kế;
* Lập trình:
** Mã nguồn;
* Module kiểm tra:
** Module báo cáo kiểm tra, kiểm tra này báo cáo có những thử nghiệm-quả đó là hình thành sau một module kiểm tra của các ứng dụng. Dựa trên bài kiểm tra này-báo cáo các dự án-đội có thể quyết định hành động để thực hiện tiếp tục.
* Nhập kiểm tra:
** Nhập báo cáo kiểm tra, kiểm tra này báo cáo có những thử nghiệm-quả đó là hình thành sau khi kết hợp thử nghiệm của các ứng dụng. Dựa trên bài kiểm tra này-báo cáo các dự án-đội có thể quyết định hành động để thực hiện tiếp tục.
* Kiểm tra hệ thống:
** Kiểm tra hệ thống báo cáo;

## Tham khảo