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

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

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

ホワイトボックステストの解説(基本情報技術者シラバス用語)

ホワイトボックステストとは ホワイトボックステストとは、プログラムの内部構造(ソースコードの処理ロジックや条件分岐など)がどうなっているかを理解した上で、そのプログラム内のすべての記述ルートが正しく実行されるかを検証するテスト手法です。中身が透けて見える「白い箱(透明な箱)」に例えてこう呼ばれます。 このテストでは、ソースコードの条件分岐(if文など)に注目し、すべての処理ルートを漏れなく通過する...

ブラックボックステストの解説(基本情報技術者シラバス用語)

ブラックボックステストとは ブラックボックステストとは、プログラムの内部構造やソースコードの中身は一切気にせず、システムの「入力(インプット)」と「出力(アウトプット)」の関係だけに注目して、仕様書通りに正しく動作するかを検証するテスト手法です。中身が見えない「黒い箱」に例えてこう呼ばれます。 このテストでは、「このようなデータを入力したら、仕様書通りにこの結果が返ってくるはずだ」という観点で検証...

リグレッションテストの解説(基本情報技術者シラバス用語)

リグレッションテストとは リグレッションテストとは、システムの一部のプログラムを修正したり機能を追加したりした際に、その変更によって「これまで正常に動いていた他の部分に予期せぬ不具合(デグレード)が発生していないか」を確認するための再テストのことです。日本語では「回帰テスト」と呼ばれます。 プログラムは複雑に絡み合っているため、「Aというバグを直したら、全く関係なさそうなBという機能が動かなくなっ...

レビューの解説(基本情報技術者シラバス用語)

レビューとは レビューとは、システム開発の各工程(要件定義、設計、プログラミングなど)で作成された成果物(仕様書やソースコード)を複数のメンバーで確認し、誤り(バグ)や考慮不足がないかを検査する作業のことです。早期に問題を発見することで、開発の後半での手戻り(修正作業の増加)を防ぐ目的があります。 レビューには、以下のような代表的な手法があります。 ウォークスルー:成果物の作成者が進行役とな...

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

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

リファクタリングとは リファクタリング(Refactoring)とは、プログラムの「外部から見た動作や機能」は一切変えずに、内部のソースコードの構造を整理して、より読みやすく、メンテナンスしやすい綺麗な状態に書き直す作業のことです。 システム開発を続けていると、場当たり的な修正が重なり、プログラムが複雑で読みづらい状態(いわゆるスパゲティコード)になりがちです。そのまま放置すると、新しい機能を追加...

ウォーターフォールモデルの解説(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には様々な種類の図...

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

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

PMBOKとは PMBOK(ピンボック:Project Management Body of Knowledge)とは、プロジェクトマネジメント(プロジェクトを計画通りに成功へ導くための管理手法)の知識や手法を体系的にまとめた世界的な標準ガイドです。米国のプロジェクトマネジメント協会(PMI)によって策定されています。 プロジェクトを成功させるために必要な管理項目を、「スコープ(範囲)」「スケジュ...

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

WBSとは WBS(Work Breakdown Structure:作業分解構成図)とは、プロジェクト管理において、プロジェクト全体で必要なすべての作業(タスク)を細かく分解し、階層構造で整理した図や表のことです。 プロジェクトという大きな目標のままでは、具体的に何から始めればよいか、どれくらいの時間や費用がかかるのかを正確に見積もることが困難です。そこでWBSを使い、プロジェクトの成果物を起点...

ガントチャートの解説(基本情報技術者シラバス用語)

ガントチャートとは ガントチャートとは、プロジェクトのスケジュール管理や各作業の進捗状況を視覚的に分かりやすく表現するために広く用いられる棒グラフ状の予定表のことです。縦軸に「作業(タスク)名」や「担当者」を並べ、横軸に「時間(日付や週、月)」を取って、各タスクの開始予定日から終了予定日までの期間を横棒(バー)で表現します。 ガントチャートを見ることで、どのタスクがいつ始まっていつ終わるのか、どの...

アローダイアグラムの解説(基本情報技術者シラバス用語)

アローダイアグラムとは アローダイアグラム(別名:PERT図)とは、プロジェクトにおける各作業(タスク)の前後関係や実行順序、それぞれの作業に必要な日数を「矢印(アロー)」と「丸印の結合点(ノード)」を結んでネットワーク状に表現した図のことです。 複数の作業が並行して進む複雑なプロジェクトにおいて、どの作業が終わらないと次の作業に進めないのかという関係性を視覚的に整理するために使用されます。この図...

クリティカルパスの解説(基本情報技術者シラバス用語)

クリティカルパスとは クリティカルパスとは、プロジェクト管理において、全体の作業工程の中で「最も時間がかかる、かつ遅れることができない一連の作業経路」のことです。プロジェクトの開始から終了までの依存関係をたどった中で、最長の所要時間を持つ経路を指します。 この経路上の作業が1日でも遅れると、プロジェクト全体の完了日も連動して1日遅れてしまいます。そのため、プロジェクトマネージャーはクリティカルパス...

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

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

EVMとは EVM(Earned Value Management:アーンドバリューマネジメント)とは、プロジェクトの進捗状況を「出来高(価値)」という金額の単位に換算して評価するプロジェクト管理手法です。 従来の管理方法では、「全体の50%の時間が経過したから半分進んでいるはず」といった曖昧な判断になりがちでした。EVMでは、計画された予算(PV)、実際に完了した作業の予算上の価値(EV:アーン...

ファンクションポイント法の解説(基本情報技術者シラバス用語)

ファンクションポイント法とは ファンクションポイント法(FP法:Function Point)とは、ソフトウェアの開発規模や必要な工数(作業量)を見積もるための手法の一つです。プログラムの行数ではなく、システムが提供する「機能(ファンクション)」の数や複雑さに基づいて規模を計算します。 開発するシステムが外部とやり取りする入力画面の数、出力する帳票やレポートの数、内部で保持するデータのテーブル数な...

工数見積りの解説(基本情報技術者シラバス用語)

工数見積りとは 工数見積りとは、システム開発などのプロジェクトにおいて、すべての作業を完了させるためにどれだけの「労働量(作業時間や必要な人数)」が必要であるかを事前に予測して計算する作業のことです。この見積もりは、プロジェクト全体のスケジュール策定や予算(費用)の計算、必要なスタッフの人員配置などを決定するための重要な判断基準になります。 工数を表す単位としては、1人のメンバーが1ヶ月間働いた時...