-
継承(インヘリタンス)
上位のクラスがもつ属性や手続きが下位のクラスに引き継がれること。
-
抽象クラス
インスタンスを作らないクラス。
-
汎化
より一般的なクラスからより具体的なクラスを派生させるプロセス
-
特化
汎化の逆のプロセスであり、より一般的なクラスからより特定のクラスを作成すること
-
分解
複雑なオブジェクトや概念をより小さな、簡潔で管理しやすい部分に分割するプロセス
-
集約
複数のオブジェクトが論理的または物理的に結合して一つの新しいオブジェクトを形成する場合に使用される
-
多様性(ポリモフィズム)
同じ名前のメソッドが異なるクラスやオブジェクトによって異なる動作をする能力
-
動的結合
実行時にメソッドの呼び出しを解決するプロセス
-
ユースケース図(Use Case Diagram)
システムやソフトウェアの要件を可視化し、システムがどのように動作し、利用者とどのように対話するかを表現するためのUML(Unified Modeling Language)の一部。
-
UML(Unified Modeling Language)
ソフトウェア工学やシステム設計などの領域で使用される統一モデリング言語
-
クラス図
UMLの一部として使用される視覚的なモデリングツール。ソフトウェアやシステムの静的な構造を表現するために使用される。
-
オブジェクト図
UMLの一部として使用される視覚的なモデリングツールで、特定の時点でのオブジェクトのインスタンスを表現するために使用される。クラス図で定義されたクラスやオブジェクトの実際のインスタンスを示すのに役立つ。
-
シーケンス図
UMLの一部として使用される視覚的なモデリングツールで、システム内のオブジェクトとそれらのオブジェクト間でのメッセージの流れを時間軸に沿って示す
-
ステートマシン図
UMLの一部として使用される視覚的なモデリングツールで、オブジェクトやシステムの振る舞いを表現するために使用される。
-
アクティビティ図
UMLの一部として使用される視覚的なモデリングツールで、プロセスやワークフローの振る舞いを表現するために使用される。
-
アセンブラ
コンピュータープログラムを機械語に変換するためのユーティリティプログラムまたはツール
-
コンパイラ
プログラミング言語で書かれたソースコードを機械語または中間言語に変換するソフトウェアツール
-
ジェネレータ
入出力条件や処理結果をパラメタで指定して最適化して生成する。
-
インタプリタ
高水準言語を一行ずつ解釈して実行する。
-
クロスコンパイラ
異なるプラットフォームやアーキテクチャ向けにソフトウェアを変換するツール。
-
コードカバレッジ
ソフトウェアテストの品質評価ツールの一つで、テストスイートがソースコードのどの部分を実行したかを測定し、テストカバレッジの指標を提供する。
-
コミュニケーション図
システム内でのオブジェクトやコンポーネント間の相互作用を視覚的に表現するための図表。
-
クラスライブラリ
プログラミング言語やフレームワークにおいて、再利用可能なクラスや関数のコレクションを提供するコンポーネント
-
DFD(Data Flow Diagram)
情報システムやソフトウェアの設計、分析、文書化に使用される図表
-
CMMI
(Capability Maturity Model Integration)
ソフトウェアおよびシステムエンジニアリングプロセスの成熟度を評価し、改善するためのモデルとフレームワーク
-
コンカレントエンジニアリング(CE)
品開発プロセスを効率化し、製品の開発サイクルを短縮するためのアプローチ
-
マッシュアップ
異なる情報や要素を組み合わせ、新しいコンテンツやアプリケーションを作成するテクニックまたはプロセス
-
リトロスペクティブ
プロジェクトやスプリントの反省と改善を行うミーティング
-
KPT手法
プロジェクトの成功要因(Keep)、現在の問題(Problem)、改善策(Try)をリストアップするシンプルなツール
-
ストーリーポイント
アジャイルソフトウェア開発のコンテキストで使用される相対的なサイズや複雑性を評価するための指標
-
ベロシティ
チームが1つのスプリント内で実装できる作業量またはストーリーポイントの指標
-
スプリント
スクラムフレームワークにおけるタイムボックス化された開発期間
-
スクラム
プロジェクトを短い時間枠で区切り、進捗を定期的にチェックし、柔軟に変更に対応することを特徴としている。
-
リファクタリング
ソフトウェア開発のプロセスでコードを改善し、保守性、可読性、効率性を向上させる作業のこと
-
バーンダウンチャート
プロジェクトの残りの作業量を示し、プロジェクトが期限内に完了するかどうかを追跡する。
-
ペルソナ
製品やサービスのユーザーを具体的なキャラクターとして表現し、デザインプロセスにおいてユーザーの視点を強調するために利用される。
-
アジャイル開発
プロジェクトを小さなイテレーションに分割し、要求の変更に柔軟に対応することを重視し、顧客のフィードバックを絶えず取り入れながらソフトウェアを開発する方法。
-
イテレーション
プロジェクトやタスクを一連の反復的なサイクルに分割し、繰り返し作業を行う方法
-
RAD(Rapid Application Development)
ソフトウェアを素早く開発し、変更や修正を迅速に適用できるようにすることを重視している。
-
ラウンドロビン
参加者が責任者を持ち回りする。
-
インスペクション
事前に役割を決められた参加者が責任のある第三者(モデレータ)の下で成果物を確認する、最も公式なレビュー技法。
-
ウォークスルー
ソフトウェア開発プロセスやプロジェクトの異なる段階で、関係者が一緒に集まり、特定の成果物を評価、検証、および議論するプラクティス
-
ピアレビュー(Peer Review)
チームメンバー同士がお互いの作業成果物を評価、検証、および改善するためのプラクティス。
-
コードレビュー
プログラムコードを他の開発者やチームメンバーによって評価し、品質向上、バグの早期発見、コーディング規約への遵守、知識共有などの目的を達成するためのプラクティス
-
デザインレビュー
プロジェクトのデザインや設計に関する評価、検証、および承認が行われる。
-
レグレッションテスト
ソフトウェアの変更やアップデート後に、既存の機能やコンポーネントが依然として正常に動作しているかどうかを確認するためのテストプロセス
-
カバレージ分析ツール
コードのカバレッジを評価および測定するためのツール
-
テストデータジェネレータ
(Test Data Generator)
ソフトウェアテストのためにテストデータを自動的に生成するツールまたはソフトウェアコンポーネント
-
動的解析ツール
ソフトウェアやアプリケーションが実行時にどのように振る舞うかを評価するためのツール
-
静的解析ツール
ソフトウェアコードを解析し、潜在的な問題やエラーを検出するためのツール
-
例外テスト
プログラムが例外条件を適切に処理するかどうかを検証するためのテストプロセス
-
負荷テスト
フトウェアやシステムが一定の負荷条件下でどのように振る舞うかを評価するための性能テストの一種
-
性能テスト
ソフトウェアシステムが特定の負荷条件やストレス状態でどのように動作するかを評価するためのソフトウェアテスト
-
機能テスト
ソフトウェアの要件仕様に基づいて、特定の機能や機能セットが要求どおりに動作しているかを検証する
-
ボトムアップテスト
ソフトウェアシステムを構成する個々のコンポーネントやモジュールから始め、段階的に上位のコンポーネントへとテストを展開する方法
-
トップダウンテスト
システム全体から始めて、下位のサブコンポーネントを段階的にテストしていく
-
IDE
(Integrated Development Environment:統合開発環境)
ソフトウェア開発者がアプリケーションやソフトウェアプロジェクトを開発、テスト、デバッグ、および管理するための統合ツールセット
-
アサーション(Assertion)
プログラム内で特定の条件が満たされていることを表明し、プログラムの正確性や安全性を確認するために使用される文のこと
-
アサーションチェッカ
アサーションが正しく機能し、プログラムが期待どおりに動作することを確認するためのツール
-
インスペクタ
プログラム実行時のデータ内容を表示する
-
エミュレータ
コンピュータプログラムやハードウェアの機能を、異なる環境やプラットフォームで模倣・再現するためのソフトウェアやデバイスのこと
-
コードオーディタ
コードの品質、セキュリティ、パフォーマンス、適切な規約やスタイルガイドに従ったコーディング慣行を確認し、問題を特定するためのツールまたは専門家
-
コンパイラコンパイラ
コンパイラを生成するコンパイラ
-
プリコンパイラ(プリプロセッサ)
コンパイラの変換処理とは別にマクロ定義の解釈、展開を行う
-
コンバータ
ある言語で記述されたものを別の言語に変換する
-
スタブ
トップダウンテストにおいて未完成の下位モジュールの代わりに結合されるテスト用モジュール
-
#応用情報
#応用情報技術者