見出し画像

ソフトウェア開発で使用される用語の理解

本記事では、ソフトウェア開発で一般的に使用される用語を解き明かすことを目指します。明確な定義と例を提供することで、ソフト開発の概念を志望する開発者からソフトウェア制作の内部動作について単に興味がある人々まで、誰にとってもアクセスしやすいものにしようと努めます。用語を理解することは、絶えず進化するソフトウェア開発の風景をナビゲートする上で重要なステップです。

1. プラットフォーム (Platform) :
説明:
ソフトウェア開発におけるプラットフォームは、ソフトウェアアプリケーションが開発され、実行される環境です。ハードウェアアーキテクチャ、オペレーティングシステム、プログラミング言語、および関連ツールを含むことがあります。プラットフォームは、アプリケーションが依存し、相互作用するための一連の基準と機能を定義します。
例: Windows、macOS、Linux(オペレーティングシステムとしてのプラットフォーム)、AndroidおよびiOS(モバイルオペレーティングシステムとしてのプラットフォーム)。

2. 統合開発環境 (IDE):
説明:
IDEは、ソフトウェア開発のための包括的な機能を提供するソフトウェアアプリケーションです。通常、コードエディタ、ビルド自動化ツール、デバッガーを含みます。
例: Visual Studio Code、IntelliJ IDEA、Eclipse

3. ミドルウェア (Middleware):
説明:
ミドルウェアは、オペレーティングシステムが提供するもの以外の共通サービスと機能をアプリケーションに提供するソフトウェアです。分散アプリケーションのための通信とデータ管理を容易にします。
例: ウェブサーバー、アプリケーションサーバー、コンテンツ管理システム

4. バージョン管理システム (VCS):
説明:
VCSは、時間の経過とともにソースコードの変更を管理するソフトウェアツールです。変更を特別なデータベースに記録し、必要に応じて以前のバージョンに戻すことができます。
例: Git、Subversion(SVN)

5. ビルドツール (Build Tool):
説明:
ビルドツールは、ソースコードから実行可能なアプリケーションを自動的に作成するプログラムです。コードのコンパイルとリンク、デプロイ可能な形式へのパッケージングなどのタスクを処理します。
例: Apache Maven、Gradle、Make

6. パッケージマネージャー (Package Manager):
説明:
パッケージマネージャーは、ソフトウェアパッケージをグローバルまたはローカルリポジトリからインストール、アップグレード、設定、管理するプロセスを自動化するソフトウェアツールのコレクションです。
例: npm(Node.js用)、pip(Python用)

7. リポジトリ (Repository):
説明:
ソフトウェア開発において、リポジトリはデータが保管され、維持される中心的な場所です。バージョン管理システム内のソースコードリポジトリを指します。
例: GitHub、GitLab、Bitbucket

8. 依存関係マネージャー (Dependency Manager):
説明:
依存関係マネージャーは、プロジェクトに必要なソフトウェア依存関係をインストール、アップグレード、設定、管理するプロセスを自動化するツールです。
例: Maven(Java用)、Bundler(Ruby用)

9. 継続的インテグレーション/継続的デプロイメント (CI/CD):
説明:
CI/CDは、開発者が頻繁にコードの変更を中央のリポジトリにマージし、その後自動化されたビルドとテストを実行する方法論です。継続的デプロイメントは、変更がパイプラインを通過し、自動的に本番環境にデプロイされることを意味します。
例: Jenkins、Travis CI、GitLab CI

10. フレームワーク (Framework) :
説明:
フレームワークは、ソフトウェアアプリケーションを開発するための構造化された方法を提供するコードとツールの集合です。アプリケーションのアーキテクチャを定め、さまざまな事前定義された機能やクラスを提供します。フレームワークは特定の方法で物事を行うことを強制し、一般的なタスクを処理するための組み込み機能を備えています。
例: Django(Pythonのウェブ開発用)、React(フロントエンドのJavaScript
開発用)

11. ソフトウェア開発キット (SDK):
説明:
SDKは、特定のプラットフォーム上でアプリケーションを開発するために開発者が使用できるツール、ライブラリ、ドキュメント、コードサンプル、プロセス、ガイドのセットです。SDKには通常、API、プログラミングツール、および特定のエコシステムのためのソフトウェアを作成するためのその他のユーティリティが含まれます。
例: Android SDK(Androidアプリケーションの構築用)、iOS SDK(iOSアプリケーションの構築用)

11. ライブラリ (Library) :
説明: ライブラリは、アプリケーションが特定のタスク(数学演算、文字列処理など)を実行するために使用できる再利用可能な関数やクラスの集合です。フレームワークとは異なり、ライブラリはアプリケーションの構造を定めません。ライブラリを自由に多く使ったり少なく使ったり、任意の方法で利用できます。
例: jQuery(DOM操作用のJavaScriptライブラリ)、NumPy(数値演算用のPythonライブラリ)

12. アプリケーションプログラミングインターフェース (API):
説明:
APIは、ソフトウェアアプリケーションの構築および相互作用のための一連の規則とプロトコルです。異なるソフトウェアコンポーネントがどのように相互作用すべきかを定義し、異なるシステム間の通信を可能にします。APIは、ライブラリ、フレームワーク、またはサービスによって提供される機能にアクセスするために使用できます。
例: Twitter API(Twitterのデータとやり取りするために使用)、Google Maps API(ウェブページにGoogleマップを埋め込むために使用)

                                                 エンジニアファーストの会社 株式会社CRE-CO
                            su_myat_phyu

この記事が気に入ったらサポートをしてみませんか?