技術ブログ・資格学習データベース

Django、Python、AWS、Linux、セキュリティ、CVE、基本情報技術者、応用情報技術者、ITパスポートの用語を、図解と実務手順で解説します。個人開発kurutann.comの検証記録や障害対応事例も公開しています。

📖 資格別の電子書籍で読む 基本情報などの用語記事を、章立てされた1冊の本として通読・保存できます 📚 3D図書館で記事を探す カテゴリごとの区画を歩いて記事を発見できる新しい探索画面

タグ「ソフトウェア開発管理技術」の記事を表示中× クリア

マイクロサービスの解説(応用情報技術者シラバス用語)

マイクロサービスとはマイクロサービス(Microservices)は、1つの巨大なシステムを、機能ごとに独立した複数の小さなWebサービス(サービス)に分割して開発・運用するシステム設計の手法です。従来のシステムが「すべての機能を1つにまとめた巨大なプログラム(モノリス)」だったのに対し、マイクロサービスでは機能ごとにデータベースやサーバープログラムを分け、それらがネットワークを通じて互いに通信し...

コンテナオーケストレーションの解説(応用情報技術者シラバス用語)

コンテナオーケストレーションとはコンテナオーケストレーションは、アプリを動かすための「コンテナ(OS上で仮想的に独立した実行環境を作る技術)」を、大量かつ自動的に管理・運用する仕組みのことです。Webサービスが大規模になると、何百個、何千個ものコンテナを同時に動かす必要があり、これらを人間が手動で監視・管理するのは不可能です。コンテナオーケストレーション(代表例:Kubernetes)を使えば、コ...

DevOpsの解説(応用情報技術者シラバス用語)

DevOpsとはDevOps(デブオプス)は、システムを開発する「開発(Development)チーム」と、システムを安定稼働させる「運用(Operations)チーム」が密接に連携し、お互いに協力し合うことで、新しい機能や修正をより早く、高い品質でユーザーに提供し続けるための開発手法や組織的な文化のことです。開発チームが「新しい機能をどんどん追加したい」と考え、運用チームが「トラブルを避けるため...

CI/CDの解説(応用情報技術者シラバス用語)

CI/CDの解説(応用情報技術者シラバス用語)

CI/CD(継続的インテグレーション/継続的デリバリー)とはCI/CDは、ソフトウェアの「ビルド(プログラムを動く状態にする処理)」「テスト」「本番サーバーへの配布(デプロイ)」という一連の開発手順を自動化し、安全かつ高頻度でリリースを行うための仕組みです。CI(Continuous Integration:継続的インテグレーション)により、コードを変更するたびに自動でテストが実行されてバグが早期...

テスト駆動開発の解説(応用情報技術者シラバス用語)

テスト駆動開発の解説(応用情報技術者シラバス用語)

テスト駆動開発(TDD)とはテスト駆動開発(TDD:Test-Driven Development)は、実際の製品プログラムを書く前に、まず「そのプログラムが満たすべき仕様を確認するテストコード」を先に書き、そのテストに合格するように少しずつ製品プログラムを実装していくソフトウェア開発の手法です。「①失敗するテストを書く(Red)」「②テストを通る最小限のコードを書く(Green)」「③コードを綺...

リファクタリングの解説(応用情報技術者シラバス用語)

リファクタリングの解説(応用情報技術者シラバス用語)

リファクタリングとはリファクタリング(Refactoring)は、プログラムの「外側から見た動作(仕様や挙動)」は一切変えずに、プログラムの「内側の構造(コードの綺麗さや整理状況)」を整理して、読みやすく・修正しやすく改善する作業のことです。ソフトウェアは機能追加を繰り返すとソースコードが複雑になり(スパゲッティコード)、バグが発生しやすくなったり開発効率が落ちたりします。定期的にリファクタリング...

アジャイル開発の解説(ITパスポートシラバス用語)

アジャイル開発とは アジャイル開発(あじゃいるかいはつ)とは、システムやソフトウェアを迅速(アジャイル:俊敏な)に開発するための手法の総称です。最初に完璧な計画を立てるのではなく、開発対象をいくつかの小さな機能に分割し、「計画 → 設計 → プログラミング → テスト」という短いサイクル(1〜4週間程度)を何度も繰り返しながら、徐々にシステムを完成させていきます。 家づくりに例えると、最初にプレハ...

スクラムの解説(ITパスポートシラバス用語)

スクラムとは スクラムとは、アジャイル開発を進めるための具体的なフレームワーク(進め方のルールや枠組み)のひとつです。ラグビーの「スクラム」のように、開発チームが一丸となって緊密にコミュニケーションを取り合い、お互いに助け合いながらプロジェクトを前進させることからこの名がついています。 スクラムでは、1週間から4週間ほどの短い期間(スプリントと呼びます)ごとに小さな目標を設定し、スプリントの最後に...

ウォーターフォールモデルの解説(ITパスポート/基本情報技術者/応用情報技術者シラバス用語)

ウォーターフォールモデルの解説(ITパスポート/基本情報技術者/応用情報技術者シラバス用語)

ウォーターフォールモデルは、要件定義・設計・実装・テストなどの工程を順番に進める代表的なソフトウェア開発モデルです。基本情報技術者試験で重要となる特徴、メリット、デメリット、手戻りが大きくなる理由、アジャイルとの違いをIPA公式シラバスVer.9.2に基づいて分かりやすく解説します。

アジャイル開発の解説(基本情報技術者シラバス用語)

アジャイル開発とは アジャイル開発とは、システムやソフトウェア開発において、短期間で動作するプログラムを作り、それを何度も繰り返しながら徐々に完成度を高めていく開発手法です。「アジャイル(Agile)」には「素早い」「機敏な」という意味があります。 従来の開発手法であるウォーターフォール開発では、最初にすべての設計を完璧に決めてから開発を行っていましたが、アジャイル開発では計画を細かく分け、短いサ...

スクラムの解説(基本情報技術者シラバス用語)

スクラムとは スクラムとは、アジャイル開発における代表的なフレームワーク(枠組み・進め方)の一つです。ラグビーの「スクラム」のように、開発チーム全員が密に連携し、一丸となってプロジェクトを進めることからこの名前がつきました。 スクラムでは、一般的に1週間から4週間程度の「スプリント」と呼ばれる短い期間を一つの単位として開発を繰り返します。チームメンバーには役割があり、製品の責任者である「プロダクト...

XPの解説(基本情報技術者シラバス用語)

XPとは XP(エクストリーム・プログラミング:Extreme Programming)とは、アジャイル開発における手法の一つで、技術的な実践(プラクティス)に重点を置いた開発手法です。「極限(Extreme)プログラミング」という意味があり、ソフトウェア開発における良い習慣を極限まで高めて実践しようという思想から生まれました。 XPには、開発を成功させるための重要な価値観(コミュニケーション、シ...

テスト駆動開発の解説(基本情報技術者シラバス用語)

テスト駆動開発とは テスト駆動開発(TDD:Test-Driven Development)とは、プログラムの実装コードを書く前に、まずそのプログラムが満たすべき動作を確認するための「テストコード」を先に作成し、そのテストに合格するように実装を進めていく開発手法です。 一般的な開発では、コードを書き終えた後にテストを行いますが、TDDでは手順が逆になります。まず、わざと失敗するテストを書き(Red...

DevOpsの解説(基本情報技術者シラバス用語)

DevOpsとは DevOps(デブオプス)とは、システムの「開発(Development)」を担うチームと「運用(Operations)」を担うチームが密接に連携し、より迅速かつ安定して価値あるソフトウェアをユーザーに提供し続けるための開発手法や文化のことです。 従来は、新しい機能をどんどん作りたい「開発側」と、システムを安定して動かし続けたい「運用側」で対立が生じがちでした。DevOpsでは、...

CI/CDの解説(基本情報技術者シラバス用語)

CI/CDとは CI/CDとは、ソフトウェア開発における「継続的インテグレーション(Continuous Integration)」と「継続的デリバリー(Continuous Delivery)」、または「継続的デプロイメント(Continuous Deployment)」を組み合わせた言葉です。開発プロセスを自動化し、素早く安全に本番環境へ届ける仕組みを指します。 CI(継続的インテグレーション...

バージョン管理の解説(基本情報技術者シラバス用語)

バージョン管理とは バージョン管理とは、作成したプログラムやファイルの変更履歴を記録・管理し、過去の状態にいつでも戻せるようにする仕組みのことです。また、複数の開発者が同時に同じファイルを編集した際に、お換いの変更が上書きされて消えてしまわないように調整する役割も持っています。 現在、最も広く使われているバージョン管理ツールとして「Git(ギット)」があります。バージョン管理を導入することで、「い...

プロトタイピングの解説(基本情報技術者シラバス用語)

プロトタイピングとは プロトタイピングとは、システムやソフトウェアの開発において、早い段階で「試作品(プロトタイプ)」を作成し、ユーザーや開発チーム内で実際に触って確認しながら開発を進める手法です。 仕様書などの文章や図面だけで画面の操作感やシステム全体のイメージを正確に共有することは難しく、完成間近になってから「思っていたものと違う」といった問題が発生することがあります。そこで、まずは見た目や主...

リバースエンジニアリングの解説(基本情報技術者シラバス用語)

リバースエンジニアリングとは リバースエンジニアリングとは、完成した製品やソフトウェアを分解・解析し、その仕組みや構造、設計データ、ソースコードなどを明らかにする技術や手法のことです。「リバース(逆)」という言葉通り、通常の「設計図から製品を作る」という流れを逆行させて「製品から設計図を導き出す」アプローチです。 この技術は、古いシステムで設計図(ドキュメント)が紛失してしまっている場合の解析や、...

UMLの解説(基本情報技術者シラバス用語)

UMLとは UML(Unified Modeling Language:統一モデリング言語)とは、ソフトウェアの設計やシステムの構造、動作の流れを視覚的に表現するための、世界的に統一された「図の書き方のルール(表記法)」です。 システム開発に関わる人々(開発者、顧客、マネージャーなど)が言葉だけで設計を議論すると誤解が生じやすいため、共通の「図」を使って意思疎通を図ります。UMLには様々な種類の図...