ソフトウェアエンジニアリングにおけるソフトウェア構成管理
ソフトウェア構成管理とは何ですか?
ソフトウェアエンジニアリングでは、 ソフトウェア構成管理(SCM) ソフトウェア開発ライフサイクル中のドキュメント、コード、その他のエンティティの変更を体系的に管理、編成、制御するプロセスです。 主な目標は、ミスを最小限に抑えて生産性を向上させることです。 SCM は構成管理の学際的な分野の一部であり、誰がどのリビジョンを作成したかを正確に判断できます。
なぜ構成管理が必要なのでしょうか?
技術的なソフトウェア構成管理システムを導入する主な理由は次のとおりです。
- 複数の人がソフトウェアの開発に取り組んでおり、継続的に更新されています
- 複数のバージョン、ブランチ、作成者がソフトウェア構成プロジェクトに関与しており、チームが地理的に分散しており、同時に作業している場合が考えられます。
- ユーザーの要件、ポリシー、予算、スケジュールの変更に対応する必要があります。
- ソフトウェアはさまざまなマシン上で実行できる必要があり、 Operaティングシステムズ
- 関係者間の調整を促進する
- SCM プロセスは、システムの変更にかかるコストを管理するのにも役立ちます。
ソフトウェア構成項目の変更は最終製品に影響します。 したがって、構成アイテムへの変更は制御および管理する必要があります。
SCMプロセスのタスク
- 構成識別
- ベースライン
- 変更管理
- 構成ステータス アカウンティング
- 構成監査と Revレビュー
構成識別
構成の識別は、ソフトウェア システムの範囲を決定する方法です。 このステップを利用すると、それが何であるか分からない場合でも、何かを管理または制御することができます。 CSCIタイプ(コンピュータソフトウェア構成項目)、プロジェクト識別子、バージョン情報を含む記述です。
このプロセス中のアクティビティ:
- ソースコードモジュールなどの構成アイテムの識別 テストケース、および要件仕様。
- オブジェクト指向アプローチを使用した、SCM リポジトリ内の各 CSCI の識別
- プロセスは、集約オブジェクトにグループ化された基本オブジェクトから始まります。テストの変更が何、なぜ、いつ、誰によって行われたかの詳細
- すべてのオブジェクトには、他のすべてのオブジェクトに対して明示的にその名前を識別する独自の機能があります。
- ドキュメント、ファイル、ツールなど、必要なリソースのリスト。
例:
ファイルに「login.php」という名前を付ける代わりに、「login_v1.2.php」という名前を付ける必要があります。v1.2 はファイルのバージョン番号を表します。
フォルダーに「Code」という名前を付ける代わりに、「Code_D」という名前を付ける必要があります。D はコードを毎日バックアップする必要があることを表します。
ベースライン
ベースラインは、ソフトウェア構成アイテムの正式に受け入れられたバージョンです。 SCM プロセスの実行中に特定の時刻に指定および固定されます。 これは、正式な変更管理手順を通じてのみ変更できます。
このプロセス中のアクティビティ:
- さまざまなバージョンのアプリケーションの構築を容易にする
- これらの作業成果物のさまざまなバージョンを管理するためのメカニズムを定義および決定する
- 機能ベースラインはレビューされたシステム要件に対応します
- 広く使用されているベースラインには、機能ベースライン、開発ベースライン、製品ベースラインが含まれます
簡単に言うと、ベースラインとはリリースの準備ができていることを意味します。
変更管理
変更管理は、構成オブジェクトに変更が加えられたときに品質と一貫性を保証する手順的な方法です。 このステップでは、変更リクエストがソフトウェア構成マネージャーに送信されます。
このプロセス中のアクティビティ:
- アドホックな変更を制御し、安定したソフトウェア開発環境を構築します。 変更はリポジトリにコミットされます
- リクエストは、技術的な利点、考えられる副作用、および他の構成オブジェクトへの全体的な影響に基づいてチェックされます。
- 変更を管理し、ソフトウェアのライフサイクル中に構成アイテムを利用できるようにします。
構成ステータス アカウンティング
構成ステータス アカウンティングは、SCM プロセス中に各リリースを追跡します。 この段階では、各バージョンの内容と、このバージョンにつながる変更点を追跡することが含まれます。
このプロセス中のアクティビティ:
- 新しいベースラインに到達するために以前のベースラインに加えられたすべての変更の記録を保持します。
- ソフトウェア構成を定義するすべての項目を特定する
- 変更リクエストのステータスを監視する
- 最後のベースライン以降のすべての変更の完全なリスト
- 次のベースラインまでの進行状況の追跡が可能
- テストのために抽出される以前のリリース/バージョンを確認できます
構成監査と Revレビュー
ソフトウェア構成監査では、すべてのソフトウェア製品がベースラインのニーズを満たしていることを検証します。 構築されたものが配信されることが保証されます。
このプロセス中のアクティビティ:
- 構成監査は、監査人によって、定義されたプロセスに従っていることをチェックし、SCM の目標が満たされていることを確認することによって実施されます。
- 構成管理標準への準拠を検証するため。 加えられた変更を監査して報告する
- また、SCM 監査により、プロセス中のトレーサビリティが維持されていることも確認されます。
- ベースラインに加えられた変更が構成ステータス レポートに準拠していることを確認します。
- 完全性と一貫性の検証
SCMプロセスの参加者
SCMの主な参加者は次のとおりです。
1. 構成マネージャー
- 構成マネージャーは、構成アイテムの特定を担当する責任者です。
- CM はチームが SCM プロセスに従うことを保証します
- 変更リクエストを承認または拒否する必要があります
2。 開発者
- 開発者は、標準の開発アクティビティまたは変更要求に従ってコードを変更する必要があります。 彼はコードの構成を維持する責任を負います。
- 開発者は変更を確認し、競合を解決する必要があります。
3 審査員
- 監査人は SCM の監査とレビューを担当します。
- リリースの一貫性と完全性を確保する必要があります。
4.プロジェクトマネージャー:
- 製品が一定の期間内に開発されるようにする
- 開発の進捗状況を監視し、SCM プロセスの問題を認識します。
- ソフトウェア システムのステータスに関するレポートを生成します。
- 作成、変更、テストのプロセスとポリシーに従っていることを確認します。
5。 ユーザー
エンド ユーザーは、ソフトウェアの最新バージョンを確実に入手できるように、重要な SCM 用語を理解する必要があります。
ソフトウェア構成管理計画
SCMP (ソフトウェア構成管理計画) プロセス計画は、プロジェクトの初期のコーディング段階から始まります。 計画フェーズの結果として得られる SCM 計画は、プロジェクト中に拡張または修正される可能性があります。
- SCMP は、IEEE 828 などの公的標準または組織固有の標準に準拠できます。
- 管理する文書の種類や文書の命名などを定義します。 例 テスト_v1
- SCMP は、SCM プロセス全体とベースラインの作成に責任を負う人物を定義します。
- バージョン管理と変更管理のポリシーを修正
- SCM プロセス中に使用できるツールを定義する
- 構成情報を記録するための構成管理データベース。
ソフトウェア構成管理ツール
変更管理ソフトウェアには、次の 3 つの主要機能が必要です。
同時実行性の管理:
2 つ以上のタスクが同時に実行されることを同時操作といいます。SCM における同時実行とは、同じファイルが複数の人によって同時に編集されることを意味します。
SCM ツールで同時実行性が正しく管理されていない場合、多くの差し迫った問題が発生する可能性があります。
バージョン管理:
SCM はアーカイブ方式を使用するか、ファイルに加えられたすべての変更を保存します。アーカイブまたは保存機能を使用すると、問題が発生した場合に以前のバージョンにロールバックできます。
Sync栄誉:
ユーザーは、複数のファイルまたはリポジトリ全体のコピーをチェックアウトできます。その後、ユーザーは必要なファイルで作業し、変更をリポジトリにチェックインします。ローカル コピーを同期して、他のチーム メンバーによる変更を最新の状態に保つことができます。
以下は人気のツールです
1.Git: Git は、バージョン管理に役立つ無料のオープンソース ツールです。 あらゆる種類のプロジェクトを迅速かつ効率的に処理できるように設計されています。
リンクをダウンロード: https://git-scm.com/
2。 チーム Foundation サーバー: チーム Foundation は、チームが製品を構築するために協力し調整できるようにするツールとテクノロジーのグループです。
リンクをダウンロード: https://azure.microsoft.com/en-us/services/devops/server/
3.アンシブル: オープンソースのソフトウェア構成管理ツールです。 構成管理とは別に、アプリケーションの導入とタスクの自動化も提供します。
リンクをダウンロード: https://www.ansible.com/
その他の SW 構成ツールを確認してください。 https://www.guru99.com/software-configuration-management-tools.html
まとめ:
- 構成管理のベスト プラクティスは、組織が文書、コード、その他のエンティティの変更を体系的に管理、整理、制御するのに役立ちます。 ソフトウェア開発ライフサイクル.
- SCM プロセスの主な目標は、ミスを最小限に抑えて生産性を向上させることです。
- 構成管理プロセスの主な理由は、複数の人が継続的に更新されるソフトウェアに取り組んでいることです。SCM は、同時実行、同期、バージョン管理の確立に役立ちます。
- ベースラインは、ソフトウェア構成アイテムの正式に受け入れられたバージョンです
- 変更管理は、構成オブジェクトに変更が加えられたときに品質と一貫性を保証する手順的な方法です。
- 構成ステータスのアカウンティングは、SCM プロセス中に各リリースを追跡します
- ソフトウェア構成監査により、すべてのソフトウェア製品がベースラインのニーズを満たしていることが検証されます。
- プロジェクト マネージャー、構成マネージャー、開発者、監査人、およびユーザーが SCM プロセスに参加します
- SCM プロセスの計画は、プロジェクトの初期段階から始まります。
- Git、Team Foundation Server、Ansible などは、人気のある SCM ツールです。