スキル一覧



「IoT人材(IoTサーバスペシャリスト)」のスキル例

以下は、「IoT人材(IoTサーバスペシャリスト)」で定義されているスキル例です。これらを参考にしながらスキルや職種を定義してください。
また、各スキルの詳細を参照する場合は、「知識項目を表示」ボタンをクリックしてください。
この職種に関する研修・書籍・資格の情報が こちらから検索できます。

スキルカテゴリ スキル分類 スキル項目
メソドロジ (実装) ソフトウェアエンジニアリング手法 セキュリティ実装手法知識項目を表示
ソフトウェアデザイン手法知識項目を表示

▼知識項目

UML

インタフェース設計

オブジェクト指向の基本概念

オブジェクト指向開発プロセス

サブコンポーネントの識別、役割定義

サブコンポーネント間の関係定義

システム機能設計

データモデルの設計

外部設計の手順

外部設計書の作成

機能設計

主なオブジェクト指向技術

製品情報の設計、開発

内部データ設計

内部設計書の作成

分析、設計、実装

ソフトウェアのモデリング手法知識項目を表示

▼知識項目

CASEツール

MBD(Model-Based Development)

MBSE(Model-Based Systems Engineering)

MDD(Model-Driven Development)

SysML

UML

アサーション(表明)

アジャイル開発

アナリシスパターン(プロブレムフレーム、仕様の再利用など)

ウォータフォール

エンタープライズシステムのモデリング(ビジネスプロセス、組織、ゴールなど)

サポートする表記法(データフロー図、状態推移図、BPMN、IDEF0、ペトリネット、UMLアクティビティ図)

スプレットシート

ツール統合技法

デ―タモデリング技法の活用と実践

ドメインのモデリング(ドメインエンジニアリング・アプローチなど)

トレーサビリティ

パフォーマンスモデリング技法の活用と実践

プロセスモデリング技法の活用と実践

プロトタイピング技法の活用と実践

ベンチマーキング技法の活用と実践

まとまりの分析(完全性、一貫性、ロバスト性など)

モデリングツール

モデリングの原則(分解、抽象化、汎化、投影/ビュー、明快性、形式的アプローチの利用など)

モデリング言語の性質

モデルの記述と意味(モデルの表現の理解)

モデルベース・システム開発(MBSD)

モデル化の技法

モデル駆動開発(MDD)

モデル検査

ライフサイクルモデル

レビューとインスペクション

一貫性の分析

機能のモデリング(コンポーネント図など)

形式検証の技法

形式手法

構造のモデリング(アーキテクチャなど)

構造化チャート(PAD)

試行錯誤法(ヒューリスティック法)

事前条件、事後条件、不変表明

受け入れテストの設計

情報モデリング

情報やデータのモデリング(ERD、クラス図など)

振る舞いのモデリング(構造化分析、状態遷移図、ユースケース分析、インタラクション図、FMEA、FTAなど)

進化型(evolutional)プロトタイピング

数理モデルと仕様記述言語(ZやVDM)の紹介

正当性の分析(静的解析、シミュレーション、モデルチェッキングなど)

組込みシステムのモデリング(リアルタイムスケジュール分析、外部インタフェース分析など)

相互作用の分析

追跡可能性

定理証明

品質特性(非機能特性)の分析(安全性、セキュリティ、性能、根本原因分析など)

品質特性の評価

不変条件

明快性(前提が全くない場合、全ての前提を記述する場合)

網羅性の分析

優先順位付け、トレードオフ分析、要求のためのリスク分析および影響解析

要求の評価のためのプロトタイピング(累積型プロトタイピング)

要求マネージメントツール

要求競合のための分析(機能競合、品質の家、ビューポイント分析など)

離散系のモデル化技法

連続系のモデル化技法

ソフトウェア開発手法知識項目を表示

▼知識項目

テスト計画と仕様の作成

デバッガ、シミュレータ等

プログラム設計基準

プログラム設計書の作成

開発環境

開発手法とプラットフォームの選定

各種ADツール

構成管理ツール

ソフトウェア製作手法知識項目を表示

▼知識項目

C、C++、COBOL、Basicなど各言語の特徴

UML

オブジェクト指向の基本概念

オブジェクト指向開発プロセス

グラフィカルな開発環境における開発

コーディング

テストケース設計

テストツールの活用

テストデータ準備

テスト環境設定

テスト工程、手順、手法の理解と実践

デバッガ、シミュレータ等

デバッグツールの活用と実践

開発環境

各種アプリケーション開発ツール

各種プログラミング言語技術、表記法の活用と実践

管理

構成管理ツール

仕様決定

主なオブジェクト指向技術

分析、設計、実装

ソフトウェア設計の表記手法知識項目を表示

▼知識項目

アスペクト指向設計

オブジェクト指向設計

コンポーネント準拠設計(CBD)

サービス指向アーキテクチャ

その他手法(形式手法、厳密手法、変換手法)

ソフトウェア設計ツール

ソフトウェア設計戦略(分割・克服、段階的詳細化戦略、トップダウン対ボトムアップ戦略、発見的手法を利用する戦略、パターンおよびパターン記述言語の利用、反復および暫時拡張手法の利用)

ビヘイビア記述(アクティビティ図、コミュニケーション図、DFDs、デシジョンテーブル・デシジョン図、フローチャート、シーケンス図、状態推移図・ステートチャート図、形式的記述言語、PDLs)

機能指向(構造化)設計(データフロー図、transformation analysis、transaction analysis、fan-in/out、scope of effectvs.Scope of control)

計量尺度

構造的記述(アーキテクチャ記述言語、クラス図・オブジェクト図、コンポーネント図、CRCs、配置展開図、ERDs、IDLs、ストラクチャードチャート)

反復法、適応法、アスペクト指向設計、サービス指向アーキテクチャ)

品質特性

品質分析および評価手法(ソフトウェアデザインレビュー、静的分析、シミュレーションおよびプロトタイピング)

開発プロセス設定手法知識項目を表示

▼知識項目

ASIL(自動車用安全度水準)

CMMI(能力成熟度モデル統合)

FDD(機能駆動型開発)

HAZOP

IDEAL

ISO/IEEE 12207:プロセスの要求

PLE(Product Line Engineering)

PSP(パーソナル・ソフトウェア・プロセス)

SIL(安全度水準)

SOUP(Software Of Unknown Pedigree)

SPL(Software Product Line)

TMMi(テスト成熟度モデル統合)

TPI(テストプロセス改善)

TSP(チーム・ソフトウェア・プロセス)

USDM

アーキテクチュラルパターン

アーティファクト駆動型手法

アクティビティ

アジャイル・ソフトウェア開発

アジャイルプロセスモデル

アジャイル法(RAD、XP、Scrum、FDD)

イテレーティブ開発

インクリメンタルモデル

ウォーターフォール型、RAD(Rapid Application Development)型、スパイラル型

エクストリーム・プログラミング(XP:eXtreme Programing)

エクスペリエンスファクトリ

エンタプライズプロセス

クリーンルーム手法

クリスタル

システムライフサイクルプロセスに関する規格(ISO/IEC 15288)

シナリオベース

スクラム

スパイラルモデル

スペックアウト

セーフティ・クリティカル・ライフサイクルモデル

セーフティゴール

ソフトウェア・メトリクス

ソフトウェアエンジニアリングプロセスグループ

ソフトウェアの決定論的原因故障

ソフトウェアプロセス

ソフトウェアプロセス・インフラストラクチャ

ソフトウェアプロセスマネージメント

ソフトウェアプロセス改善のためのマネジメント技法

ソフトウェアプロセス改善のマネジメント

ソフトウェアプロセス改善モデル

ソフトウェアプロセス査定モデル

ソフトウェアプロセス査定法

ソフトウェアプロセス適応

ソフトウェアプロセス能力改善のためのプロセスモデル

ソフトウェアライフサイクルプロセスに関する規格(ISO/IEC 12207)

ソフトウェア安全クラス

ソフトウェア安全度水準

ソフトウェア開発に関連する規格及びモデル

ソフトウェア部品の利用

タスク

チームによるソフトウェアプロセス(モデル、定義、組織、測定、分析、改善)

テクニカルプロセス

デザインパターン

ドメイン駆動型手法

トレーサビリティマトリクス(TM)

なぜなぜ分析

ハザード分析

ビジネスプロセスにおける位置づけ

フィーチャー

フレームワークなど

プロジェクトプロセス

プロセスアセスメントに関する規格(ISO/IEC 15504)

プロセスのインフラストラクチャ(開発者、ツール、教育など)

プロセスのテーラリング

プロセスのモデリングと仕様化

プロセスの改善(個人の改善、チームの改善)

プロセスの概念と用語

プロセスの測定と分析

プロセスモデルのモデリングと分析

プロセス定義のための表記法

プロセス定義のレベル(組織、プロジェクト、チーム、個人など)

プロダクトライン開発

プロトタイピング法(スタイル、ターケード、評価手法)

プロトタイプ

ペーパープロトタイピング

ベンチマーキングパラダイム

ポストモーテム

ユースケース駆動型手法

ライフサイクルフレームワーク

ライフサイクルプロセス

ライフサイクルモデル(アジャイル、ヘビーウェイト、ウォーターフォール、スパイラルなど)

ライフサイクルモデルの標準(IEEE標準、ISO標準など)

ランダムハードウェア故障

リスク

安全機能要求

安全性解析

安全性重視システム

安全妥当性確認

安全度要求

医療機器ソフトウェア-ソフトウェアライフサイクルプロセス(IEC 62304)

運用、サポート、保守、移転実装、退役撤収の容易性

加速的開発

開発プロセスアセスメント(アセスメントの実施)

開発プロセスアセスメント(アセスメントの準備)

開発プロセスアセスメント(結果の判断)

開発プロセステーラリング(テーラリング条件の分析)

開発プロセステーラリング(標準プロセスのカスタマイズ)

開発プロセステーラリング(標準プロセスの選択)

開発計画書の作成(サブプロセス、メジャメント、要員配置、ツール、成果物など)

開発手法の活用と実践

開発手法の選定

危険事象

機能安全(IEC 61508)

機能安全規格

業務パッケージ固有の開発手法

形式的方法(仕様記述言語、プログラムの詳細化・導出、形式的検証、論理的推論)

個人によるソフトウェアプロセス(モデル、定義、測定、分析、改善)

高速アプリケーション開発

合意プロセス

根源的原因分析

再利用手法の活用と実践

三階層SEPG

支援ライフサイクルプロセス

自動車電子制御の機能安全(ISO 26262)

主ライフサイクルプロセス

先行プロジェクトの成果物利用

組織に関するライフサイクルプロセス

属性モデルベース

統一プロセス

派生開発(XDDP)

発見的方法(構造化分析・設計法、データモデリング法、オブジェクト指向分析・設計法)

反復型開発プロセス

標準、指示、政策・顧客要請・ソフトウェアプロダクトの臨界性・組織的成熟度に対する遵守・適合

品質の分析とコントロール(欠陥予防、レビュー、品質特性、根本原因分析など)

本質安全

落穂拾い

連続的および段階的ソフトウェアプロセス格付け

開発環境設計手法知識項目を表示

▼知識項目

システム開発環境(システム開発環境の構築)

システム開発環境(システム開発環境の選定)

システム開発環境(要求仕様定義)

ソフトウェア開発環境(ソフトウェア開発環境の構築)

ソフトウェア開発環境(ツールの選定)

ソフトウェア開発環境(要求仕様定義)

プラットフォーム選定

開発環境要件の定義

ソフトウェア設計手法知識項目を表示

▼知識項目

エラー率と発生源の追跡

オブジェクト指向設計

データ中心型設計

期限と予算を順守した設計

構造化設計

設計レビュー

多人数による設計プロジェクト

変更管理

テクノロジ (システム) ソフトウェアの基礎技術 ソフトウェア工学知識項目を表示
ソフトウェアの標準化知識項目を表示

▼知識項目

世界の標準化団体(IEEE、ISO、ITU)

標準化されたソフトウェアの実例

標準化のプロセス

標準化の必要性

ソフトウェアエンジニアリングツール・開発技術知識項目を表示

▼知識項目

GUIビルダ

ユニットテスティング(テストランナー)

開発環境

性能分析ツール(プロファイリング・ツール、プログラム・スラッシング・ツール)

ソフトウェア構築の基礎知識知識項目を表示

▼知識項目

形式構築法(formal construction methods)

検証を考えた構築

言語的構築法

構築における標準

構築における標準(外部標準の利用、内部標準の利用)

再利用

視覚的構築法

複雑さの減少

複雑さの最小化

変更の予測

ソフトウェア設計の基礎知識知識項目を表示

▼知識項目

イベントに対する制御と処理

インタフェースと実現の分離

エラーおよび例外処理、フォールト・トレランス

カプセル化

カプセル化/情報隠ぺい

コンポーネントの分散化

セキュリティ

データの永続化

階層化

結合と凝集

十分性、網羅性、および原始性

対話と表示

代替抽象

抽象化

分割とモジュール化

並行処理

プログラミング基礎技術知識項目を表示

▼知識項目

WindowsとUnixオペレーティングシステム

アスペクト指向プログラミング

アセンブリレベルでのマシン機構

アルゴリズムの概念と特性

アルゴリズムの実現戦略

イベント処理手法

イベント伝播

インターフェースと通信

エレクトロニクスの基本

オブジェクト指向プログラミング

オブジェクト指向設計

オペレーティングシステムの原則

カプセル化と情報隠蔽

クラスとサブクラス

クラス階層

グラフ、木の使用

コレクションクラスと反復プロトコル

サーバ

サーバファーム(データセンタ)

シリアルとパラレル

スクリプティング

スケジューリングとディスパッチ

スタック、キューの使用

セキュリティと保護

デジタル論理とデジタルシステム

デバイス管理

デバッグ戦略

バージョン付与

バーチャルマシンエミュレーション

ハードウェアとソフトウェアの統合

ハードウェア設計言語

ハッシュ関数の知識

パフォーマンス向上

ファームウェア、ソフトウェア、ハードウェア

ファームウェアストレージオプション

ファイルシステム

フォルトトレランス

ベンチマーク

ポインタと参照

マシンレベルでのデータ表現

マルチプロセッシングと代替アーキテクチャ

ミドルウェアフレームワーク

メモリシステム機構とアーキテクチャ

メモリ管理

メモリ内でのデータの表現

リアルタイムと組み込みシステム

リレーショナルデータベース用に開発されたリレーショナル代数操作(選択、射影、結合、商)

レコード

管理

関数と引数受渡し

企業におけるデプロイメントとマネジメントのソフトウェア

基本型

機能的構成

継承(オーバライド、動的ディスパッチ)

構成

構造化/手続き型/命令型プログラミング

構造的分解

高位プログラミング言語

高水準言語の基本構文と意味論

再帰の概念

実装オプション

消費電力と熱収支

条件判定と繰返しの制御構造

宣言型・対・命令型プログラミング言語

多相性(サブタイプ多相性と継承)

単純な入出力

低位プログラミング言語

定義

適切なデータ構造を選択するための戦略

動作とその実装の分離

配列

非構造的プログラミング

並列制御

変数、型、式、代入

問題解決過程におけるアルゴリズムの役割

問題解決戦略

例外処理

連結構造

プログラミング知識項目を表示

▼知識項目

APIプログラミング

API環境におけるデバッグ

CORBA

DCOM

DTD.XMLスキーマ

JSON

nodejs

Python

REST

RMI

RPC

XML

XMLドキュメントの構文解析

XPath

XSL

XSLT

アセンブラ、コンパイラ、インタープリタ、クロスアセンブラ、クロスコンパイラ、非手続き言語、スクリプト言語、機械語、オブジェクト指向言語

アプリケーションエラーハンドリング(入出力検証)

アプリケーションとスクリプト言語

アルゴリズムとデータ構造

アルゴリズムと問題解決

イベント駆動型プログラミング

イベント処理時の競合管理

イベント処理手法

イベント伝播

インターフェース

ウェブサービスとミドルウェア

エラー条件の扱い

オブジェクト指向設計

カプセル化と情報隠蔽

クラス、サブクラス、継承

クラスブラウザと関連ツール

クラス階層

コーディング規約

コーディング不良

コードチューニング

コードの文書化

コードレベルのセキュリティ破損の防止

コレクションクラスと反復プロトコル

コンパイル型とインタープリタ型言語

コンピュータ工学におけるプログラミングの基礎の目的と役割

コンポーネントベースのコンピューティング

システムとサービスの間で転送されるデータの暗号化

システム資源やサービスへのアクセスに対する認証

システム統合のためのアーキテクチャ

スクリプティングとスクリプト言語の役割

スクリプトの作成と実行

セキュリティコーディングの実例

ソースコードのスタイルと品質

ソースコードの組織化

ソースコードを理解する手法

ソフトウェア作法

チェックポイント/リスタート

データ辞書

データ表現とエンコーディング

デザインパターン

デバイスへのアクセス

トランザクション管理

ネットワークプログラミング

バージョンとバージョン管理

バックアップと冗長性の管理

バックドア

フィールドの初期設定と再利用

プログラミングに対するスクリプトの影響

プログラミングの基礎に関連する補完的な教材

プログラミングの基礎の領域への貢献や影響が認められる人物

プログラミングの基本的構成要素

プログラミングパラダイム

プログラミング言語の歴史

プログラミング構造、アルゴリズム、問題解決、データ構造、プログラミングパラダイム、再帰、オブジェクト指向プログラミング、イベント駆動型プログラミング、並行プログラミングなどの重要なトピック領域

ミドルウェア

メタデータ

メッセージとキューイングサービス

リアルタイムプログラミングと機器の制御

一時ファイルのセキュリティ

仮想マシン

関数およびパラメータの引渡し

関数型プログラミング

基本データ構造

基本設計パターン

既存言語を用いたプログラミング(プログラミング作法、プログラム構造、データ型、文法の表記法ほか)

規模の効果

継承

高水準言語の基本シンタクスとセマンティクス

再帰

再利用可能な資源アクセスに関する規則

採用または適用するか、作成するか

時間制約への対応

実装の技法

手続き型、関数型、論理型、オブジェクト指向などのプログラミングパラダイム

手続き型プログラミング

証拠ベースセキュリティとコードアクセスセキュリティ

条件付き制御構造と反復制御構造

振る舞いと実装の分離

制御構造の使用

多相性

単純な入出力

低レベルデータ通信

排他機構を用いた資源使用

配列、レコード、スタック、キューなどの基本データ構造

分割統治法

変数、型、式、代入

変数、型、式、代入を区別

問題解決におけるアルゴリズムの役割

例によるプログラミング

例外処理

プログラム言語知識項目を表示

▼知識項目

APIの設計と利用

C、C++、COBOL、Java、UML、HTML、XMLなどの各種言語

GUI構築ツール

アサーション、契約による設計(DbC)、防御的プログラミング

アプリケーション指向言語(スクリプト言語、ビジュアル言語、ドメイン特化言語、マークアップ言語、マクロなど)

アルゴリズムとデータ構造、データ表現(静的・動的)、複雑性

エキスパートシステムシェル

エラーハンドリング、例外処理、フォールトトレラント

オブジェクト指向パラダイムにおける実行時のトピック(ポリモルフィズム、ダイナミックバインディングなど)

オブジェクト指向言語

オブジェクト指向設計、言語、及びプログラミング

グラフィカルな開発環境の使用法

コードジェネレータ

コードの再利用とライブラリ

コンパイラとトランスレータ

スクリプト言語

ソフトウェア設計言語

データ共有と制限付きアクセスの仕組み

テストファーストプログラミング

ドメイン特化言語(DSL)

バーチャルコンピュータ

パラメータのパスメカニズム(参照、値、名前、結果など)

パラメータ化と汎化

プラットフォーム標準(POSIXなど)

プログラミング基礎(制御とデータ、型付け、再帰)

プログラミング言語、設計、実装と比較

プログラミング言語の意味論

プログラミング言語の概要

プログラミング言語の基礎

プログラミング言語の構文解析におけるプッシュダウンオートマトンの応用

プログラミング言語の構文法のための形式的記述デバイスとしての文脈自由型文法の使用

プログラミング言語の設計

プログラミング言語解析に対する正規表現の応用

プログラム言語(アセンブラ言語、C、C++、COBOL、Java)、ECMAScript、Ruby、Perl、PHP、Pythonほか)の種類と特徴

プロファイリング・パフォーマンス分析・スライシングのツール

ホットスポット分析とパフォーマンスチューニング

ミドルウェア(コンポーネントとコンテナ)

ユーザ定義のデータ型の生成と応用

仮想計算機

開発環境

関数型言語

関数型言語のパラダイムと言語

基本と構造化データ型

基本的なプログラミング言語の構造(言語間の機能比較)

基本的な型宣言(算術演算子、代入、条件文、ループと再帰)

機械語とアセンブリレベルの言語

記憶領域のスタックベースのアプリケーション

記憶領域のヒープベースのアプリケーション

共通言語基盤(CLI)

型システム

型検査の規則の多様性とそれらのしくみ

契約による設計(DbC)

計算の制限付きモデル及び正規表現(regular expression)のアクセプタとしての有限オートマトン

言語のオブジェクト指向への拡張

言語翻訳システム

言語翻訳プロセス、コンパイラからインタプリタまで

言語翻訳入門

最高水準言語;SQL、第4世代言語

式、評価の順序、及び副作用

式とステートメントの抽象化としてのサブプログラムとコルーチン

実行時コンフィグレーションと国際化

手続き、関数とパラメータ;配列とレコード

手続き型プログラミングの利点と欠点

手続き型言語(実装、性能の改善、デバッギング、バグ発見)

手続き型言語の発展

初期の言語の歴史

状態ベースおよびテーブル駆動の構築技法

静的対動的スコープ、生涯、可視性

宣言と型

組込みシステムの構築とハードウェア・ソフトウェア協調設計

第4世代言語

単体テストツール

抽象化(カプセル化や階層化など)

抽象化メカニズム

非手続き型言語(論理型、関数型、イベントドリブン)

非手続き型言語の発展

表記法の特徴

分散ソフトウェアのための構築技術

文法ベースの入力処理(パース処理)

文脈自由型文法とプッシュダウンオートマトンの同等性

並列プログラミングの構成概念

並列処理の基本要素(セマフォ、モニターなど)

例外の取り扱い

論理プログラミング言語(LISP、PROLOG、論理指向プログラミング)

論理型言語

その他の言語知識項目を表示

▼知識項目

データ記述言語(DDL)

マークアップ言語(HTML、XMLほか)の種類と特徴

オープンソースソフトウェア知識項目を表示

▼知識項目

LAMP/LAPP

OSSの種類と特徴

OSSの利用・活用と考慮点(安全性、信頼性ほか)

UNIX系OS

オープンソースコミュニティ

オープンソースライブラリ

動向

テスティング知識項目を表示

▼知識項目

アルファおよびベータテスティング

インタフェース・テスティング

システムテスティング

ストレス・テスティング

セキュリティ・テスティング

バック・ツー・バック・テスティング

パフォーマンス・テスティング

ユーザビリティ・テスティング

運用テスティング

回帰テスティング

構成テスティング

受け入れ/認定テスティング

据付けテスティング

ソフトウェア品質知識項目を表示

▼知識項目

ソフトウェアプロセス品質

ソフトウェアプロダクト品質

ソフトウェア安全性

ソフトウェア品質改善

ソフトウェア品質特性・品質属性

品質の価値・コスト

(システム) ソフトウェアの構築技術 システム開発の概念と方法論知識項目を表示

▼知識項目

オブジェクト指向方法論

ソフトウェア工学のプロセスとプロダクト

データモデリング(例:ER図、正規形)

データ指向方法論

プロセス指向方法論

モデル化の概念

行動指向(イベントモデリング)方法論

組織のモデル化及びソフトウェアプロセスのモデル化

非同期モデル及びパラレルモデルを含む高度なモデル化の概念

システム開発のアプローチ知識項目を表示

▼知識項目

エンドユーザ開発のシステム

オブジェクト指向開発技術(ボトムアップ設計、再利用の支援)

システムエンジニアリングの考察

システムの構成要素としてのソフトウェア

システム開発アプローチの選択

システム開発のライフサイクル:ソフトウェアのライフサイクルモデル(反復による強化、フェーズ分け開発、スパイラル、ウォーターフォール)

システム開発モデル(例:SDLC、プロトタイピング)

システム設計の方式とツール

ソフトウェアの生成方式とツール(スクラッチからの設計とコード作成、プログラム及びアプリケーション生成プログラム、高水準言語、再利用可能なコンポーネント)

ソフトウェアプロセス及びプロダクトライフサイクルモデル

ソフトウェア構成要素の統合

データ指向開発技術

パッケージの取得と実装

パッケージ使用による開発

プロセス指向開発技術

プロトタイピングによる開発

ソフトウェア要件定義知識項目を表示

▼知識項目

DFD(Data Flow Diagram)

E-R図

UML

アーキテクチャモデル

シェルスクリプトの設計に関する知識

システム運用管理方式に関する知識

システム機能定義に関する知識

システム分析:必要性の識別、実現可能性の検討、経済性の検討

スキルの蓄積

ソフトウェア要求事項の定義(機能要求/非機能要求の明確化)

ソフトウェア要求事項の定義(要求定義)

ソフトウェア要求事項の定義(要求分析手法)

ソフトウェア要求事項の評価・レビュー(ソフトウェア要求定義レビュー)

ソフトウェア要件の確立(機能、能力、インタフェースほか)

ソフトウェア要件の評価

チェックディジット法

データモデリングツール

データモデリング技法

トップダウンアプローチに関する知識

バックアップリカバリ方式に関する知識

ヒアリング

ヒューマンインターフェイスに関する知識

プロトタイピング、シミュレーション、モデリング

プロトタイピング、再利用の概要

プロトタイプ

ユースケース

レポート設計に関する知識

移行スケジュールの記述項目

移行テストに関する知識

移行中の影響分析に関する知識

移行方式に関する知識

画面設計に関する知識

機能および非機能要求の違い

機能以外の要件、可能性の範囲、資格問題

形式仕様技法の基本概念

個別のアプリケーション、コンピュータシステムの構築(デスクトップPC、ノートPC、ハンドヘルドデバイス、ディジタルカメラ、携帯電話、テレビ電話等)

人的要因

人的要因問題:標準、ユーザインタフェースの設計

正常、異常時の運用方式と運用フロー設計に関する知識

専門家の役割と経験

標準化コードに関する知識

変更管理プロセス設計に関する知識

要求獲得する方法

要求分析モデル化技法

要件の性質:機能要件と機能以外の要件

要件決定のアプローチ:分析作業とその要素(コミュニケーションと情報収集を含む)

論理モデル

ソフトウェア方式設計・ソフトウェア詳細設計知識項目を表示

▼知識項目

DSM(依存関係マトリクス)

GoF

TDD(テスト駆動開発)

UML(Unified Modeling Language)

アーキテクチャスタイル(パイプアンドフィルタ、レイヤード、トランザクション中心、ピアツーピア、publish/subscribe、イベント駆動、ソフトウェアアーキテクチャ)

アーキテクチャで考慮すべき様々な特性間のトレードオフ

アーキテクチャにおける要求のトレーサビリティ

アーキテクチャのスタイル、パターン、再利用

アーキテクチャのための記法(アーキテクチャ上のビューポイントと表現、コンポーネント図など)

アーキテクチャパターン

アーキテクチャ設計の各種アプローチ、その長所と短所

アスペクト指向による設計

アナリシスパターン

インタフェース設計

ウォークスルー

オブジェクト

オブジェクト指向による設計

オブジェクト指向のシステム設計技術

オブジェクト指向開発技術

オブジェクト指向言語

オブジェクト指向設計

オブジェクト指向分析および設計

オブジェクト設計の知識

クライアントサーバ

クラス設計の原則

コード体系の設計に関する知識

コンピュータシステム工学で採用するシステムレベル設計戦略(長所と短所を含む)、障害に備えた診断機能の実装、ハードウェアおよびソフトウェアインタフェースの特殊な問題

コンポーネント

コンポーネントとシステムのインタフェース設計

コンポーネントベース設計

コンポーネントレベルの設計

コンポーネント設計

サービス指向設計

サブコンポーネントの識別・役割定義

サブコンポーネント間の関係定義

サブシステム間のインターフェイスに関する知識サブシステム間の接続方式に関する知識

サブシステム構造図の記述項目

システムとサブシステムへの分割の基礎、その判断の基礎

システムのモデル化技法と表現

システム性能と柔軟性に関するハードウェアソフトウェアのトレードオフ

システム性能の予測

システム設計の柔軟性

システム設計技術(反復設計技術、モデル化など)

システム設計方式とツール

ソフトウェアアーキテクチャ

ソフトウェアアーキテクチャで考慮すべきハードウェア

ソフトウェアインターフェース

ソフトウェアパターン(例:デザインパターン、アーキテクチャパターン)

ソフトウェアユニットのテストの設計

ソフトウェア結合テストの設計

ソフトウェア構造とコンポーネントの設計

ソフトウェア構造のデザインレビュー(ソフトウェア方式設計レビュー)

ソフトウェア構造の決定(NTCR設計)

ソフトウェア構造の決定(プラットフォーム選定)

ソフトウェア構造の決定(開発方針)

ソフトウェア構造の決定(設計手法)

ソフトウェア詳細設計

ソフトウェア詳細設計のデザインレビュー(ソフトウェア詳細設計レビュー)

ソフトウェア設計とシステム設計の役割

ソフトウェア設計の評価

ソフトウェア品質

ソフトウェア方式設計

データの正規化

データモデリングツール

データ構造を中心とした設計

データ中心設計

データ特性(データ量、トランザクション)の分析

テーブル定義

デザインパターン

テスト駆動開発

ドメイン特化アーキテクチャおよびプロダクトライン開発

ハイレベルインタフェースの設計(ハードウェアとソフトウェア、ソフトウェアとソフトウェア)

パッケージ設計の原則

ファイル媒体、ファイル編成方式に関する知識

フォーマルメソッドによる設計の分析

フレームワーク

プログラム間インターフェースの定義の記述項目

プログラム機能の定義の記述項目

プロセス中心設計

ミドルウェア

メッセージ設計に関する知識

モジュールの設計

リファクタリング

レコードレイアウトの設計に関する知識

レビュー

画面設計に関する知識

開発方式(例:アジャイル、RAD、ラピッドプロトタイピングなど)

基本的な設計の概念および原理

基本的な設計の考慮事項(データの永続性、ストレージマネジメント、例外など)

機能の強度と結合度に関する知識

機能仕様とそれ以外の仕様:各種のアプローチと可能性

機能指向による設計

共通原因故障の概念

原票設計に関する知識

構造化設計

構造化設計の概要

高品質設計の要素

再利用を考慮した設計技法

仕様に関連する品質、整合性、一貫性、単純性、検証可能性、設計の基礎、障害に備えた仕様

仕様に基づいたテスト:テストに関連した独立性の役割、安全性ケース

仕様に基づいたテストの限界

詳細設計の技法

詳細設計の技法(SSA/SD、JSD、OODなど)

障害モード、フォールトトレラント設計のアプローチ、障害の対処

情報表現の代替案、認知スタイル

信頼性実現に関連する設計問題、冗長性の役割、設計の独立性、関連性の分離、サブシステムの仕様、下請業者の選択

性能対策(信頼性や安全性など)を実現する設計

設計(論理、物理)

設計という概念の定義

設計と要求との競合

設計におけるトレードオフ

設計のメトリックス(アーキテクチャ上の要因、変換、一般的な使い方におけるメトリクス)

設計の記法(クラス図とオブジェクト図、UML、状態遷移図など)

設計の技法

設計の原則(情報隠蔽、凝集度と結合度)

設計原則

設計支援ツール(アーキテクチャ、静的解析、動的評価など)

設計上の特性の測定(結合度、凝集度、情報隠蔽、関心事の分離など)

設計方法論(リアルタイム、オブジェクト指向、構造化、イベントドリブン)

設計目標(例:ユーザビリティ、性能)

創造的な設計プロセスを促進する技術

帳票設計に関する知識

低下運転モード:可能性、この状況でのテスト

品質に基づくアーキテクチャ設計・評価手法

品質特性の設計(信頼性、ユーザビリティ、性能、テスト容易性、フォールトトレラント性)

部品化と再利用

部品化の技法

複数のソフトウェア開発ライフサイクルにおける設計の関係

物理モデル

方式設計の技法

アプリケーション方式設計手法知識項目を表示

▼知識項目

オブジェクト設計

システム間連携設計

テスト技法

フレームワーク設計・評価技術

開発ツール評価技術

開発標準化技法(設計、コーディング、テスト)

共通機能設計(ユーザ認証、アプリケーションログ設計等)

構成・変更管理技法

アプリケーション設計知識項目を表示

▼知識項目

データベース、ミドルウェア、分散コンピューティングを利用したアプリケーションデザインの実践

データベース、ミドルウェア、分散コンピューティング機能、制約事項の理解

最適データベース、ミドルウェア、分散コンピューティング選定

分散コンピューティングの機能と制約事項の理解、設計

リアルタイムシステム設計知識項目を表示

▼知識項目

コンテクスト切り替え機構

スケジューリングポリシー

その他のスケジューリングポリシー(EDFなど)

プロセス間通信スタイル(メールボックス、RPCなど)

メッセージ通過と共有メモリ通信

レート単調スケジューリング:理論と実践

優先順位反転

ソフトウェア開発のフォールトトレランス知識項目を表示

▼知識項目

オペレーティングシステムとデータ構造におけるフォールトトレランス

ソフトウェアフォールトトレランスの実現方式:Nバージョンプログラミング、回復ブロック、ロールバック、回復

ソフトウェア信頼性モデル

データベースと分散システムにおけるフォールトトレランス

ソフトウェア構築知識項目を表示

▼知識項目

API設計

STS(Source Transform Sink division)分割に関する知識

アサーション

オブジェクト指向プログラミングに関する知識

グラフィカルな開発環境に関する知識

コーディング基準

コーディング支援手法

コードチューニング

コードレビュー

コードレビューとプログラムテスト項目のデザインレビュー(コードレビュー)

コードレビューとプログラムテスト項目のデザインレビュー(プログラムテスト項目レビュー)

コントラクトつき設計

システムのインストール

システムの構築

システム移行(アプローチ、計画、実装)

システム統合とシステムテスト:検証と妥当性、テスト計画の生成、テスト(受入れテスト、単体テスト、結合テスト、回帰テスト)

ソフトウェアシステムの構築(例:プログラミング、単体テスト、ロードモジュールのパッケージ化)

ソフトウェアの実装(実装とソフトウェア設計の関係、ソフトウェアの実装過程とプログラミング支援環境の関係、設計の原則と実装言語の関係、ツール、評価(コーディング標準、メトリクス等))、実装におけるその他の検討事項(言語構造とプログラミング技術、再利用、アプリケーションジェネレータ、等)

ソフトウェアの正当性と信頼性:原則、概念、モデル化、方式

ソフトウェアの統合(例:パッケージ)

ソフトウェアの品質保証(問題点、定義、標準、対象分野としての品質保証、品質に影響を及ぼす要因、SDLCのフェーズにおける品質、計測、品質保証のための組織構造、計画、文書、品質保証プロジェクトチーム、品質とセキュリティ、産業での実践)

ソフトウェアの要求:原則;タイプ(機能、性能、その他);分析:確認の技術(プロトタイピング、モデル化、シミュレーション);顧客とのコミュニケーション:ツール

ソフトウェアプロジェクトの管理:スコープの設定、スケジューリング、構成管理、品質保証:ソフトウェアの信頼性の問題(安全、責任、リスク評価);メンテナンス

ソフトウェアユニットの作成

ソフトウェア開発

ソフトウェア仕様:目的;標準;タイプ(機能、性能、信頼性、その他);形式モデル;表現;文書(標準、構造、内容、ユーザ、完全性、一貫性);技術;品質属性の仕様:形式仕様言語とツール

ソフトウェア設計:設計の原則(抽象、情報隠蔽、モジュール性、再利用、プロトタイピング);よく知られたシステムの枠組み;設計の水準;文書;設計の説明;サブシステムの設計;設計の品質の評価;言語とツール;方式、実施及び技法

ソフトウェア品質保証の検証と妥当性:役割と方式、形式モデル、独立した検証と妥当性を確かめるチーム、ツール、報告

テスト・ファースト・プログラミング

テストの実施

テスト結果の評価

テスト手法

テスト準備(テスト環境、テストデータほか)

デバッグ

トランザクション分割に関する知識

フォールト・トレランス

プラットフォーム標準(J2EE、POSIX標準)

プログラムテストケースの記述項目

プログラムテストシナリオの記述項目

プログラムテストの実施(テストツール)

プログラムテストの実施(デバグツール)

プログラムテストの実施(不具合情報の分析)

プログラムの作成とプログラムテスト項目の設計(プログラミング)

プログラムの作成とプログラムテスト項目の設計(プログラムテスト設計手法)

プログラム言語に関する知識

プログラム構造図の記述項目

ミドルウェア

メトリクス計測

モジュールの独立性や強度に関する知識

関連する標準と文書化の役割

技術に固有な問題

訓練(例:ユーザ、管理、運用、システム、訓練用教材)

結合テスト計画書の記述項目

結合テスト仕様書の記述項目

結合テスト実施手法と評価手法

結合テスト実施手法と評価手法に関する知識

個別の目的に適した技術の選択

構造化プログラミングに関する知識

構造化定義に関する知識

高速アプリケーション開発

実行可能モデル(xUML)

実装後のレビュー

状態準拠プログラミング

性能レベルの保証、テストの性質、回帰テスト

単体テスト計画書の記述項目

単体テスト仕様書の記述項目

単体テスト実施手法と評価手法に関する知識

非構造化プログラミングに関する知識

非斉次システム構築(複数言語による妥当性確認、コシミュレーション、インターフェイス作り)

表駆動構築法

分散ソフトウェア構築(クライアント・サーバ、3ティア・アーキテクチャ、nティア・アーキテクチャ、分散オブジェクト、疎結合、密結合)

文法準拠入力処理

並行プリミティブ(同期プリミティブ)

防御的プログラミング

ソフトウェア結合・ソフトウェア適格性確認テスト知識項目を表示

▼知識項目

インスペクションの実施方法

オブジェクト指向のテスト技法

システムレベルのテストと診断

ソフトウェアテスト

ソフトウェアとハードウェアシステムの統合:方式、計画、テスト(開発時の増殖テストも含む)、テスト結果の評価と文書化、システムの欠陥の診断、ハードウェアの欠陥のシミュレーション

ソフトウェアのテスト:役割、原則と標準;テストと品質保証の関係;方式;テストの水準(ユニット、システム、統合、受け入れ等);計画、監査;限界;統計的な手法;形式モデル;文書;ツール;テストと評価のチーム;テスト環境の構築;テストケースの生成:回帰テスト;ブラックボックスあるいはホワイトボックスのテスト;技術的なレビュー;性能の分析;結果の分析と報告

ソフトウェアの品質の概要

ソフトウェアの品質確保方式

ソフトウェア結合テストの実施(テストツール)

ソフトウェア結合テストの実施(デバグツール)

ソフトウェア結合テストの実施(不具合情報の分析)

ソフトウェア結合テスト仕様の設計(ソフトウェア結合テスト設計レビュー)

ソフトウェア結合テスト仕様の設計(ソフトウェア結合テスト設計手法)

テストの基本事項(テスト計画立案、テストケース生成など)

テストの実施

テストの性質、ライフサイクル全体での実施、効率的かつ効果的なプロセス

テスト計画

テスト計画、その目的と性質

テスト結果の評価

テスト準備(テスト環境、テストデータほか)

ブラックボックスおよびホワイトボックステスト技術の違い

プリント回路基板、MCM、コアベースのテスト

ホワイトボード、ブラックボード、回帰テスト、ストレステスト、インタフェーステスト

効率的かつ効果的な開発をサポートするツール(回帰テストなど)

妥当性検査(validation)

単体テスト、統合テスト、妥当性確認テスト、システムテストの違い

受入れ支援知識項目を表示

▼知識項目

IT基盤構築プロセス

システムのリリース手順の作成に関する知識

システム又はソフトウェアの受入れレビューと受入れテスト

システム又はソフトウェアの納入と受入れ

データ移行設計に関する知識

テスト準備(テスト環境、テストデータほか)

ネットワークシステムの導入と移行に関する知識

ユーザビリティ(使い易さ)テスト

教育訓練

業務移行戦略

業務引継ぎに関する知識

業務指示に関する知識

業務内容の把握に関する知識

計画の評価に関する知識

受入れレビューと受入れテストに関する知識

設計カバレッジ(リスト網羅、マトリクス網羅)

利用者マニュアル

開発ツール知識項目を表示

▼知識項目

CASE

IDE(統合開発環境)

RTOSツール

インサーキットエミュレータ(ICE)

エミュレータ

グループベースの方式(例:JAD、構造化ウォークスルー、設計とコードレビュー)

コード生成ソフト

コンパイラとプログラミング環境

シミュレータ

スクリプト言語

ソフトウェア管理ツール

ソフトウェア実装の概念とツール(例:データ辞書、リポジトリ、アプリケーション生成プログラム、再利用、プログラム生成プログラム、ソフトウェア実装言語)

ツール(CASEツール、コードジェネレータ)、GDSS(グループ意思決定支援システム)

ツール(IDEF他の仕様と設計ツール)、データベース設計とスキーマ変換ツール、実装ツール、描画とグラフィックツール

ツールキット言語

ツールチェーン

テストツール

テスト補助および文書化ツール

デバッギングツール(シングル・ステッピング、ブレークポイント、ウォッチポイント)

デバッギング手法

バージョン管理システム

プログラミング言語

プロジェクト管理ツール

言語処理ツール(コンパイラ、インタプリタ、リンカ、ローダほか)

構成言語(configuration language)

構築ツール

構築設計

実行パスおよびカバレッジ分析ツール

設計ツール

電力解析

統合開発環境

統合開発環境(例:Eclipse)

統合開発環境の事例(Boehm、1984)

特定用途のエディター

方法論(情報工学、ジャクソン法、ヨードン法、マーチン法など)、ソフトウェア設計目標

論理アナライザ

構築品質知識項目を表示

▼知識項目

アサーション

セキュリティ指向レビュー

テスト優先開発

デバッギング

静的分析

防御的プログラミング

テスティングツール知識項目を表示

▼知識項目

キャプチャ/リプレイ・ツール

テストジェネレータ

テスト用具(ドライバ、スタブ)

トレーサ

回帰テスティングツール

信頼性評価ツール

神託者/ファイル比較/アサーション検査・ツール

網羅度分析ツールおよび網羅度計測ツール

セキュアプログラミング技法知識項目を表示

▼知識項目

C++デストラクタ

CORBA(Common Object Request Broker Architecture)

coreファイルから情報漏洩

DCOM(Distributed Component Object Model)

EJB(Java Beans and Enterprise Java Beans)

forkの利用

hiddenの危険性

JAVAのアサーション

NTFS(New Technology File System)ストリーム

NTFSのセキュリティ機能

PATH変数/子プロセスのすり替え

Requestへのアクセス

setuid

SOAP(Simple Object Access Protocol)メッセージの取扱

synchronizedとレースコンディション

Taintモード

Webフォームの選択項目の危険性

Webページとユーザ認証

XMlアクセスコントロール

XML暗号

XML署名

エラーメッセージからの情報漏洩

オブジェクト再利用のリスク

カプセル化

クエリストリングからの情報漏洩

クラス継承となりすまし

クロスサイトスクリプティング

サニタイジングの対策

サブシェルの呼び出し

シリアル化と情報漏洩

シンボリックリンクの悪用

セキュリティホール

セッションタイムアウト

ソースコードチェックツール

テンポラリファイルからの情報漏洩

パスワードの取り扱い

バッファーオーバーフロー

ファイルオープン

プロセス、スレッドのアクセス権

プロセス間通信

プロセス間通信オブジェクトのアクセス権

ミドルウエアの役割と利用

メモリリーク

モジュールの分割設計

ユーザインターフェースデザイン

レースコンディション

レジストリ管理・アクセス権

ログ

安全なパス名

仮想パスのマッピング

危険なクラス

危険な関数

偽装アカウント

再利用と部品化

最適化による脆弱化

出力コードの特性

制限アカウント

動作オプションによるオーバーフロー防止

特権の管理

特権処理の局所化

入力値のチェック方法

文字列処理の際の危険

セキュアプログラミング技法(データベース)知識項目を表示

▼知識項目

ACIDテスト

DBMS(Database Management Systems)

SQL(Structured Query Language)

SQL引数のチェック

エラーの取り扱い

エラーメッセージの表示

スクリプトへのDBパスワードの埋め込み

データベース、データマート、データ倉庫

データベースとアクセス権限

データベースとアプリケーションのインターフェース

データベースの完全性のリスク/管理

データベースの種類

バックアップと復旧

メタデータ

ユーザーと管理者のためのアクセス制御(職務の分離)

効率的処理

錠の管理

保管された情報の防護vs移動中の情報の防護

(システム) ソフトウェアの利用技術 アプリケーション計画知識項目を表示

▼知識項目

ISアーキテクチャの計画

ISセキュリティ、プライバシ及び管理のための計画

RFP(Request for Proposal)

インフラストラクチャ計画(ハードウェア、通信、データベース、サイト)

システム規模、ファンクションポイント、COCOMO、複雑さ管理のメトリクス

プロジェクトの打ち切り、損害賠償

運用のための計画

検収

見積もりの考え方、見積もりの方法

発注

発注と権利(著作権、使用権)

発注管理

既存ソフトウェアの把握技法知識項目を表示

▼知識項目

コードクローン分析

ソフトウェア若化

プログラム理解

リエンジニアリング

リバースエンジニアリング

運用の技法

保守の技法

保守性

ソフトウェアの進化や保守知識項目を表示

▼知識項目

(技術面とビジネス面での)システムおよび業務プロセスのリエンジニアリング

(技術面とビジネス面での)マイグレーション(移行)

データのリバースエンジニアリング

プログラムの理解とリバースエンジニアリング

プログラム変換

リファクタリング

レガシーシステムの扱い(ラッパーの利用など)

影響解析

進化や保守のコストモデル

進化や保守のモデル(理論面、法制面など)

進化や保守の基礎

進化や保守の計画(アウトソーシング、内製など)

進化や保守の対象間の関係(前提、要求、アーキテクチャ、設計、ソースコードなど)

業務パッケージ最新動向知識項目を表示

▼知識項目

競合製品状況の把握と活用

業務パッケージ最新技術動向の把握と活用

最新業務パッケージ技術動向の把握

最適業務パッケージ選定

導入事例の把握と活用

(システム) IoTの構築技術 IoTサーバ分散処理技術知識項目を表示

▼知識項目

CEP(複合イベント処理)

Hadoop

Jubatus(ユバタス)

データ収集・分析技術知識項目を表示

▼知識項目

アップロード型データ収集方式

クラウド環境

データ分析手法

パブリッシュ・サブスクライブ方式

ポーリング方式

モバイル型ゲートウェイによるデータ収集

移動体とのセンサ移動技術

一時蓄積方式

区間集約方式

人体に関連するセンシング技術

逐次収集方式

分散処理技術知識項目を表示

▼知識項目

Apache Hadoop

Apache Spark

Apache Storm

ストリーム処理

分散バッチ処理

(システム) IoTの利用技術 IoTアプリケーション知識項目を表示

▼知識項目

パーソナル(ウェアラブル、フィットネス、ヘルス、娯楽、家庭、スポーツ、玩具、高齢者)

ホーム(自動化、ハブ、セキュリティ、キッチン、センシング、ロボット、ペット、ガーデン、追跡)

企業(ヘルスケア、リテール、支払い・ロイヤリティ、スマートオフィス、農業、インフラ)

産業(機械、エネルギー、サプライチェーン、ロボット、産業ウェアラブル)

乗り物(自動車、自動走行、ドローン、宇宙、自転車・オートバイ)

(非機能要件) 非機能要件(可用性、性能・拡張性) 非機能要件の基礎知識項目を表示

▼知識項目

キャパシティ

セキュリティ

セキュリティ重視システムとその他の高整合性システム、高整合性機能:性能の保証

リスクとハザードの分析、リスク緩和戦略、リスク管理、実装の影響、予備ハザード分析の役割

安全性重視、安全性計画の概念

可用性

拡張性

高性能レベルの達成に向けた各種戦略。安全性、信頼性、セキュリティの実装

国際標準、法的要件

信頼性

整合性レベルの概念:定量化とそれがライフサイクル問題に及ぼす影響

整合性レベルの達成に適したアプローチをライフサイクル全体で選択する

整合性レベルの達成に必要な主要機能に基づく設計

システム信頼性、性能設計知識項目を表示

▼知識項目

システム構成設計技術

信頼性実現技術

性能設計技術(性能・容量を考慮した設計技術および見積もり技術)