今日学んだこと:ソフトウェア開発管理技術に関して
概要
今日はソフトウェア開発管理技術について学んだ。
学んだこと
アジャイル開発は変化する要求に柔軟に対応し、短いサイクルで動作するソフトウェアを提供することを目的としています。頻繁なフィードバックとチーム内のコミュニケーションを重視する
DevOps(Development and Operations)は、開発と運用が協力してソフトウェアを迅速かつ継続的に提供するための考え方
GPLなど一部のOSSライセンスでは、改変したソフトウェアを配布する際にはソースコードの公開が義務付けられている。これを守らないとライセンス違反になる
商標権は、商品やサービスの識別に用いられるマーク(ロゴ・名称など)を保護する権利
職務発明は、発明者(従業員)に原則として帰属しますが、就業規則や契約により会社に帰属させることができる
著作権の譲渡は、権利を他者に完全に移す行為。一方、利用許諾は権利を移転せずに使用を許すもの。
IDE(Integrated Development Environment)は、ソースコードの編集、コンパイル、デバッグなどの開発に必要な機能を統合した環境
ビルドツールは、ソースコードをコンパイルし、必要なライブラリを組み合わせて実行ファイルを作成するツール
CI(Continuous Integration)ツールは、ソースコードが変更されるたびに自動でビルドやテストを行い、問題の早期発見・修正に貢献
Lintツールは、ソースコードの静的解析を行い、文法ミスやコーディング規約違反を検出するために使われる
デバッガは、プログラムをステップ実行し、実行時の挙動や変数の値を確認・分析するためのツール
クラウド型IDEは、インターネット上で提供される統合開発環境で、ブラウザを使って開発作業が可能
テスト自動化ツールは、同一のテストを正確かつ高速に繰り返し実行できるため、開発効率や品質の向上に役立つ
構成管理は、ソフトウェアの各構成要素(ソースコード、設計書、テストデータなど)を識別・管理し、バージョン管理や変更履歴を追跡可能にすることを目的としている
構成識別とは、管理すべきソフトウェア構成品目(SCIs: Software Configuration Items)を明確にする活動
構成監査では、成果物が適切に構成管理台帳に登録されているか、変更が正しく反映されているかなどを検証する
構成管理台帳には、ソフトウェアの構成品目ごとの識別情報、バージョン、変更履歴などが記録され、構成の追跡と監査を可能にする
スパイラルモデルは、開発を複数のサイクルで繰り返しながら進めるモデルで、各サイクルでリスク分析と対策を実施する点が特徴
CIは「Continuous Integration(継続的インテグレーション)」の略で、開発者が頻繁にコードを統合(マージ)し、自動テストなどを通じてバグの早期発見を図る手法。
変更管理では、まず変更の提案(変更要求)を受け付け、それが適切かを判断するためのプロセスが始まる
著作権の保護期間は、原則として著作者の死後70年間(2025年現在の日本の制度)。