Quản lý cấu hình phần mềm trong Kỹ thuật phần mềm

Quản lý cấu hình phần mềm là gì?

Trong Kỹ thuật phần mềm, Quản lý cấu hình phần mềm (SCM) là một quá trình quản lý, tổ chức và kiểm soát một cách có hệ thống những thay đổi trong tài liệu, mã và các thực thể khác trong Vòng đời Phát triển Phần mềm. Mục tiêu chính là tăng năng suất với những sai sót tối thiểu. SCM là một phần của lĩnh vực quản lý cấu hình liên ngành và nó có thể xác định chính xác ai đã thực hiện sửa đổi nào.

Tại sao chúng ta cần quản lý cấu hình?

Những lý do chính để triển khai Hệ thống quản lý cấu hình phần mềm kỹ thuật là:

  • Có nhiều người làm việc trên phần mềm được cập nhật liên tục
  • Đó có thể là trường hợp có nhiều phiên bản, nhánh, tác giả tham gia vào một dự án cấu hình phần mềm và nhóm được phân bổ theo địa lý và hoạt động đồng thời
  • Những thay đổi về yêu cầu, chính sách, ngân sách, lịch trình của người dùng cần phải được điều chỉnh.
  • Phần mềm phải có khả năng chạy trên nhiều máy khác nhau và Operahệ thống ting
  • Giúp phát triển sự phối hợp giữa các bên liên quan
  • Quy trình SCM cũng có lợi trong việc kiểm soát chi phí liên quan đến việc thực hiện các thay đổi đối với hệ thống.

Cần quản lý cấu hình

Mọi thay đổi về cấu hình phần mềm sẽ ảnh hưởng đến sản phẩm cuối cùng. Vì vậy, những thay đổi đối với các mục cấu hình cần phải được kiểm soát và quản lý.

Nhiệm vụ trong quy trình SCM

  • Nhận dạng cấu hình
  • Đường cơ sở
  • Thay đổi kiểm soát
  • Kế toán trạng thái cấu hình
  • Kiểm tra cấu hình và Revtin tức

Nhận dạng cấu hình

Nhận dạng cấu hình là một phương pháp xác định phạm vi của hệ thống phần mềm. Với sự trợ giúp của bước này, bạn có thể quản lý hoặc kiểm soát thứ gì đó ngay cả khi bạn không biết nó là gì. Đó là mô tả chứa loại CSCI (Mục cấu hình phần mềm máy tính), mã định danh dự án và thông tin phiên bản.

Các hoạt động trong quá trình này:

  • Xác định các mục cấu hình như mô-đun mã nguồn, trường hợp thử nghiệmvà đặc tả yêu cầu.
  • Xác định từng CSCI trong kho SCM bằng cách sử dụng phương pháp hướng đối tượng
  • Quá trình bắt đầu với các đối tượng cơ bản được nhóm thành các đối tượng tổng hợp. Chi tiết về những gì, tại sao, khi nào và bởi ai thay đổi trong bài kiểm tra được thực hiện
  • Mỗi đối tượng đều có những đặc điểm riêng giúp xác định tên của nó và rõ ràng đối với tất cả các đối tượng khác
  • Danh sách các tài nguyên được yêu cầu như tài liệu, tệp, công cụ, v.v.

Ví dụ:

Thay vì đặt tên Tệp login.php, nó nên được đặt tên là login_v1.2.php trong đó v1.2 là số phiên bản của tệp

Thay vì đặt tên thư mục là “Code”, nó nên được đặt tên là “Code_D” trong đó D đại diện cho mã cần được sao lưu hàng ngày.

Baseline

Đường cơ sở là phiên bản được chấp nhận chính thức của mục cấu hình phần mềm. Nó được chỉ định và cố định tại một thời điểm cụ thể trong khi tiến hành quy trình SCM. Nó chỉ có thể được thay đổi thông qua các thủ tục kiểm soát thay đổi chính thức.

Các hoạt động trong quá trình này:

  • Tạo điều kiện thuận lợi cho việc xây dựng các phiên bản khác nhau của ứng dụng
  • Xác định và xác định cơ chế quản lý các phiên bản khác nhau của các sản phẩm công việc này
  • Đường cơ sở chức năng tương ứng với các yêu cầu hệ thống được xem xét
  • Các đường cơ sở được sử dụng rộng rãi bao gồm các đường cơ sở chức năng, phát triển và sản phẩm.

Nói một cách đơn giản, đường cơ sở có nghĩa là sẵn sàng để phát hành.

Thay đổi kiểm soát

Kiểm soát thay đổi là một phương pháp thủ tục nhằm đảm bảo chất lượng và tính nhất quán khi thực hiện các thay đổi trong đối tượng cấu hình. Ở bước này, yêu cầu thay đổi được gửi tới người quản lý cấu hình phần mềm.

Các hoạt động trong quá trình này:

  • Kiểm soát thay đổi đặc biệt để xây dựng môi trường phát triển phần mềm ổn định. Những thay đổi được cam kết với kho lưu trữ
  • Yêu cầu sẽ được kiểm tra dựa trên giá trị kỹ thuật, tác dụng phụ có thể xảy ra và tác động tổng thể đến các đối tượng cấu hình khác.
  • Nó quản lý các thay đổi và cung cấp các mục cấu hình trong suốt vòng đời của phần mềm

Kế toán trạng thái cấu hình

Tính toán trạng thái cấu hình theo dõi từng bản phát hành trong quá trình SCM. Giai đoạn này liên quan đến việc theo dõi từng phiên bản có những gì và những thay đổi dẫn đến phiên bản này.

Các hoạt động trong quá trình này:

  • Giữ một bản ghi về tất cả những thay đổi được thực hiện đối với đường cơ sở trước đó để đạt được đường cơ sở mới
  • Xác định tất cả các mục để xác định cấu hình phần mềm
  • Theo dõi trạng thái yêu cầu thay đổi
  • Danh sách đầy đủ tất cả các thay đổi kể từ đường cơ sở cuối cùng
  • Cho phép theo dõi tiến trình đến đường cơ sở tiếp theo
  • Cho phép kiểm tra các bản phát hành/phiên bản trước đó được trích xuất để thử nghiệm

Kiểm tra cấu hình và Revtin tức

Kiểm tra Cấu hình Phần mềm xác minh rằng tất cả sản phẩm phần mềm đều đáp ứng các nhu cầu cơ bản. Nó đảm bảo rằng những gì được xây dựng là những gì được giao.

Các hoạt động trong quá trình này:

  • Kiểm tra cấu hình được thực hiện bởi các kiểm toán viên bằng cách kiểm tra xem các quy trình đã xác định có đang được tuân thủ hay không và đảm bảo rằng các mục tiêu SCM được đáp ứng.
  • Để xác minh việc tuân thủ các tiêu chuẩn kiểm soát cấu hình. kiểm tra và báo cáo những thay đổi được thực hiện
  • Kiểm toán SCM cũng đảm bảo rằng khả năng truy xuất nguồn gốc được duy trì trong suốt quá trình.
  • Đảm bảo rằng những thay đổi được thực hiện đối với đường cơ sở tuân thủ các báo cáo trạng thái cấu hình
  • Xác nhận tính đầy đủ và nhất quán

Người tham gia quy trình SCM

Sau đây là những người tham gia chính trong SCM

Người tham gia quy trình SCM

1. Trình quản lý cấu hình

  • Trình quản lý cấu hình là người đứng đầu chịu trách nhiệm xác định các mục cấu hình.
  • CM đảm bảo nhóm tuân theo quy trình SCM
  • Anh ấy/Cô ấy cần phê duyệt hoặc từ chối các yêu cầu thay đổi

2. Nhà phát triển

  • Nhà phát triển cần thay đổi mã theo hoạt động phát triển tiêu chuẩn hoặc yêu cầu thay đổi. Anh ta chịu trách nhiệm duy trì cấu hình của mã.
  • Nhà phát triển nên kiểm tra các thay đổi và giải quyết xung đột

KHAI THÁC. Kiểm toán viên

  • Kiểm toán viên chịu trách nhiệm kiểm tra và đánh giá SCM.
  • Cần đảm bảo tính thống nhất và đầy đủ khi phát hành.

4. Giám đốc dự án:

  • Đảm bảo rằng sản phẩm được phát triển trong một khung thời gian nhất định
  • Theo dõi tiến trình phát triển và nhận ra các vấn đề trong quy trình SCM
  • Tạo báo cáo về trạng thái của hệ thống phần mềm
  • Đảm bảo rằng các quy trình và chính sách được tuân thủ khi tạo, thay đổi và thử nghiệm

5. Người dùng

Người dùng cuối phải hiểu các thuật ngữ chính của SCM để đảm bảo mình có phiên bản phần mềm mới nhất

Kế hoạch quản lý cấu hình phần mềm

Việc lập kế hoạch quy trình SCMP (Lập kế hoạch quản lý cấu hình phần mềm) bắt đầu ở giai đoạn mã hóa ban đầu của dự án. Kết quả của giai đoạn lập kế hoạch là kế hoạch SCM có thể được mở rộng hoặc sửa đổi trong suốt dự án.

  • SCMP có thể tuân theo tiêu chuẩn công cộng như IEEE 828 hoặc tiêu chuẩn cụ thể của tổ chức
  • Nó xác định các loại tài liệu sẽ được quản lý và đặt tên tài liệu. Ví dụ Kiểm tra_v1
  • SCMP xác định người sẽ chịu trách nhiệm về toàn bộ quy trình SCM và tạo đường cơ sở.
  • Sửa chính sách quản lý phiên bản và kiểm soát thay đổi
  • Xác định các công cụ có thể được sử dụng trong quá trình SCM
  • Cơ sở dữ liệu quản lý cấu hình để ghi lại thông tin cấu hình.

Công cụ quản lý cấu hình phần mềm

Bất kỳ phần mềm quản lý thay đổi nào cũng phải có 3 tính năng chính sau:

Quản lý đồng thời:

Khi hai hoặc nhiều tác vụ diễn ra cùng lúc, nó được gọi là hoạt động đồng thời. Đồng thời trong ngữ cảnh với SCM có nghĩa là cùng một tệp được nhiều người chỉnh sửa cùng một lúc.

Nếu tính đồng thời không được quản lý chính xác bằng các công cụ SCM thì nó có thể tạo ra nhiều vấn đề cấp bách.

Kiểm soát phiên bản:

SCM sử dụng phương pháp lưu trữ hoặc lưu mọi thay đổi được thực hiện vào tệp. Với sự trợ giúp của tính năng lưu trữ hoặc lưu, có thể khôi phục về phiên bản trước đó trong trường hợp có vấn đề.

Syncđồng ngữ hóa:

Người dùng có thể kiểm tra nhiều hơn một tệp hoặc toàn bộ bản sao của kho lưu trữ. Sau đó, người dùng làm việc trên tệp cần thiết và kiểm tra các thay đổi trở lại kho lưu trữ. Họ có thể đồng bộ hóa bản sao cục bộ của mình để luôn cập nhật các thay đổi do các thành viên khác trong nhóm thực hiện.

Sau đây là các công cụ phổ biến

1.Git: Git là một công cụ mã nguồn mở và miễn phí giúp kiểm soát phiên bản. Nó được thiết kế để xử lý tất cả các loại dự án với tốc độ và hiệu quả.

Tải về liên kết: https://git-scm.com/

2. đội Foundation Server: Nhóm nghiên cứu Foundation là một nhóm các công cụ và công nghệ cho phép nhóm cộng tác và phối hợp để xây dựng một sản phẩm.

Tải về liên kết: https://azure.microsoft.com/en-us/services/devops/server/

3.Ansible: Nó là một công cụ quản lý cấu hình Phần mềm nguồn mở. Ngoài quản lý cấu hình, nó còn cung cấp khả năng tự động hóa tác vụ và triển khai ứng dụng.

Tải về liên kết: https://www.ansible.com/

Tham khảo thêm công cụ SW Configuration: https://www.guru99.com/software-configuration-management-tools.html

Kết luận

  • Các phương pháp hay nhất về Quản lý cấu hình giúp các tổ chức quản lý, sắp xếp và kiểm soát một cách có hệ thống những thay đổi trong tài liệu, mã và các thực thể khác trong quá trình Chu trình phát triển phần mềm.
  • Mục tiêu chính của quy trình SCM là tăng năng suất với ít sai sót nhất
  • Lý do chính đằng sau quy trình quản lý cấu hình là có nhiều người làm việc trên phần mềm liên tục cập nhật. SCM giúp thiết lập tính đồng thời, đồng bộ hóa và kiểm soát phiên bản.
  • Đường cơ sở là phiên bản được chấp nhận chính thức của mục cấu hình phần mềm
  • Kiểm soát thay đổi là một phương pháp thủ tục nhằm đảm bảo chất lượng và tính nhất quán khi thực hiện các thay đổi trong đối tượng cấu hình.
  • Tính toán trạng thái cấu hình theo dõi từng bản phát hành trong quá trình SCM
  • Kiểm tra Cấu hình Phần mềm xác minh rằng tất cả sản phẩm phần mềm đều đáp ứng các nhu cầu cơ bản
  • Người quản lý dự án, Người quản lý cấu hình, Nhà phát triển, Người kiểm tra và người dùng là những người tham gia vào quy trình SCM
  • Việc lập kế hoạch quy trình SCM bắt đầu ở giai đoạn đầu của dự án.
  • Git, Team foundation Sever và Ansible là một số công cụ SCM phổ biến.