Phát triển phần mềm SMC-S-012
Mục đích của tiêu chuẩn “SMC-S-012 Phát triển Phần mềm”, do Trung tâm Hệ thống Không gian và Tên lửa (SMC) thuộc Bộ Tư lệnh Không gian Không quân Hoa Kỳ ban hành, là để xác định các yêu cầu thống nhất cho các hoạt động phát triển phần mềm đối với các hệ thống quan trọng trong nhiệm vụ. Tiêu chuẩn này dựa trên tiêu chuẩn “MIL-STD-498 Tiêu chuẩn Quân sự: Phát triển và Tài liệu Phần mềm” do Bộ Quốc phòng Hoa Kỳ phát triển.

Tiêu chuẩn này áp dụng cho việc phát triển các hệ thống quan trọng bao gồm phần mềm (như hệ thống phần cứng-phần mềm), hệ thống chỉ có phần mềm và các sản phẩm phần mềm độc lập. Tiêu chuẩn này có thể áp dụng cho các nhà thầu thực hiện phát triển phần mềm hoặc cho các cơ quan nội bộ mua hàng. Tiêu chuẩn này có thể được điều chỉnh cho phù hợp với từng loại phần mềm mà nó áp dụng.
Tiêu chuẩn này không phụ thuộc vào bất kỳ phương pháp hoặc công cụ phát triển phần mềm cụ thể nào. Tiêu chuẩn này không có yêu cầu nào bắt buộc phải sử dụng bất kỳ phương pháp hoặc công cụ cụ thể nào.
Khung được sử dụng để tổ chức các hoạt động phần mềm chính trong quy trình phát triển phần mềm được gọi là mô hình vòng đời phát triển phần mềm.
- Nhà phát triển phải chọn mô hình hoặc các mô hình vòng đời phát triển phần mềm phù hợp với phần mềm đang được phát triển. Một dự án phần mềm có thể có nhiều mô hình vòng đời phát triển phần mềm cho các loại phần mềm khác nhau được phát triển.
- Nhà phát triển phải ghi lại mô hình hoặc các mô hình vòng đời phát triển phần mềm đã chọn trong mẫu “Kế hoạch phát triển phần mềm” đính kèm.
- Nhà phát triển phải cung cấp mô tả về từng mô hình vòng đời phát triển phần mềm sẽ được sử dụng trong dự án trong kế hoạch phát triển phần mềm.
- Đối với mỗi mô hình vòng đời phát triển phần mềm được sử dụng, nhà phát triển phải xác định trong kế hoạch phát triển phần mềm:
- Nó sẽ được sử dụng ở thời điểm nào trong vòng đời phát triển hệ thống?
- Nó sẽ được sử dụng trong điều kiện nào?
- Các thành phần phần mềm nào được sử dụng cho
- Nhà phát triển phải thiết lập quy trình phát triển phần mềm phù hợp với các yêu cầu của hợp đồng.
- Quá trình phát triển phần mềm phải bao gồm các hoạt động chính và quy trình tích hợp sau:
- Lập kế hoạch và kiểm soát dự án
- Tạo môi trường phát triển phần mềm
- Phân tích yêu cầu hệ thống
- Thiết kế kiến trúc hệ thống
- Phân tích yêu cầu phần mềm
- Kiến trúc và thiết kế phần mềm
- Triển khai phần mềm và kiểm thử đơn vị
- Tích hợp đơn vị và thử nghiệm
- Kiểm tra chất lượng phần mềm
- Tích hợp và thử nghiệm phần mềm-phần cứng
- Kiểm tra chất lượng hệ thống
- Chuẩn bị phần mềm để chuyển sang hoạt động
- Chuẩn bị phần mềm để chuyển sang bảo trì
- Quy trình tích hợp:
- Quản lý cấu hình phần mềm
- Đánh giá ngang hàng phần mềm và xếp hạng sản phẩm
- Đảm bảo chất lượng phần mềm
- Hành động khắc phục
- Đánh giá chung về mặt kỹ thuật và quản lý
- Quản lý rủi ro phần mềm
- Đo lường phần mềm
- An ninh và sự riêng tư
- Quản lý thành viên nhóm phần mềm
- Giao diện với phần mềm IV&V agent
- Phối hợp với các nhà phát triển đối tác
- Cải thiện quy trình dự án
Các hoạt động quan trọng này có thể chồng chéo, được thực hiện theo từng bước hoặc được thực hiện theo những cách khác nhau. Nó liên quan đến nhiều yếu tố khác nhau của phần mềm và không nhất thiết phải được thực hiện theo thứ tự được liệt kê ở trên.
- Quy trình phát triển phần mềm của nhà phát triển phải được mô tả trong kế hoạch phát triển phần mềm.
Yêu cầu chung đối với phát triển phần mềm bao gồm các yêu cầu chung của nhà phát triển để đáp ứng các yêu cầu chi tiết được xác định trong tiêu chuẩn này. Các yêu cầu chi tiết hơn được nêu trong phần phụ lục của tiêu chuẩn (Phụ lục H.1).
- Phương pháp phát triển phần mềm: Nhà phát triển phải sử dụng các phương pháp có hệ thống và được ghi chép lại cho mọi hoạt động phát triển phần mềm. Những phương pháp phát triển phần mềm có hệ thống này cần được nêu rõ trong kế hoạch phát triển phần mềm.
- Tiêu chuẩn cho sản phẩm phần mềm: Nhà phát triển phát triển các tiêu chuẩn để thể hiện các yêu cầu, kiến trúc, thiết kế, mã, trường hợp thử nghiệm, quy trình thử nghiệm và kết quả thử nghiệm. Các tiêu chuẩn biểu diễn sản phẩm này được chỉ định trong kế hoạch phát triển phần mềm. Nhà phát triển áp dụng các tiêu chuẩn được chỉ định trong kế hoạch phát triển phần mềm để thể hiện các yêu cầu, kiến trúc, thiết kế, mã, trường hợp thử nghiệm, quy trình thử nghiệm và kết quả thử nghiệm.
- Khả năng truy xuất nguồn gốc: Khả năng truy xuất nguồn gốc cung cấp mối quan hệ giữa nội dung của hai sản phẩm có liên quan, ví dụ, mối quan hệ từ mỗi yêu cầu phần mềm đến các thành phần thiết kế phần mềm đáp ứng yêu cầu đó. Khả năng truy xuất nguồn gốc hai chiều đảm bảo mối quan hệ hai chiều giữa nội dung của hai sản phẩm có liên quan. Một ví dụ về mối quan hệ hai chiều như vậy là khả năng truy nguyên từ mỗi yêu cầu phần mềm đến các thành phần thiết kế phần mềm đáp ứng yêu cầu đó và khả năng truy nguyên từ mỗi thành phần thiết kế đến các yêu cầu phần mềm mà thành phần thiết kế đáp ứng. Mục đích của các yêu cầu truy xuất nguồn gốc hai chiều trong phần này là truy xuất cả theo chiều lên và xuống để đảm bảo rằng:
- Chứng minh rằng tất cả các yêu cầu đã được phân bổ cho các thành phần, được triển khai và thử nghiệm
- Chứng minh rằng không có yêu cầu bổ sung nào được áp dụng
- Cung cấp thông tin về tác động của những thay đổi được đề xuất
- Cung cấp thông tin về tác động của các vấn đề được phát hiện
- Cung cấp thông tin để bảo trì phần mềm.
- Sản phẩm phần mềm có thể tái sử dụng: Nhà phát triển phải xác định các sản phẩm phần mềm có thể tái sử dụng sẽ được sử dụng để đáp ứng các yêu cầu của hợp đồng. Phạm vi tìm kiếm sản phẩm phần mềm có thể tái sử dụng phải được nêu rõ trong kế hoạch phát triển phần mềm. Nhà phát triển phải đánh giá các sản phẩm phần mềm có thể tái sử dụng sẽ được sử dụng để đáp ứng các yêu cầu của hợp đồng. Tiêu chí được sử dụng để đánh giá sản phẩm phần mềm có khả năng tái sử dụng phải được nêu rõ trong kế hoạch phát triển phần mềm. Nhà phát triển phải sử dụng ít nhất các tiêu chí đánh giá trong phụ lục của tiêu chuẩn để lựa chọn các sản phẩm phần mềm có thể tái sử dụng (Phụ lục B). Tiêu chí đánh giá có thể được đánh giá khác nhau đối với các loại phần mềm khác nhau và các yêu cầu quan trọng khác nhau. Các sản phẩm phần mềm có thể tái sử dụng được chọn phải đáp ứng các yêu cầu về quyền dữ liệu trong hợp đồng. Sản phẩm phần mềm có thể tái sử dụng có thể được sử dụng nguyên trạng hoặc có thể được sửa đổi và sử dụng để đáp ứng toàn bộ hoặc một phần yêu cầu.
Tổ chức của chúng tôi, đơn vị đã nỗ lực hỗ trợ các doanh nghiệp trong mọi lĩnh vực bằng nhiều nghiên cứu thử nghiệm, đo lường, phân tích và đánh giá đã thực hiện trong nhiều năm, có đội ngũ nhân viên hùng hậu luôn theo sát diễn biến của thế giới trong lĩnh vực khoa học và công nghệ và không ngừng cải thiện. Trong bối cảnh này, các dịch vụ thử nghiệm cũng được cung cấp cho các doanh nghiệp theo tiêu chuẩn “Phát triển phần mềm SMC-S-012”.