読者です 読者をやめる 読者になる 読者になる

情報処理技術者試験ナビ

当サイトは準備中です。

ソフトウェア方式設計・ソフトウェア詳細設計

テキスト システム開発技術

ソフトウェア方式設計のタスク

ソフトウェア方式設計では,ソフトウェア構造とコンポーネントの方式設計,外部及びコンポーネント間のインタフェースの方式設計,データベースの最上位レベルの設計,利用者文書(暫定版)の作成,ソフトウェア結合のためのテスト要件の定義,ソフトウェア方式設計の評価,ソフトウェア方式設計の共同レビューを実施することを理解する。

ソフトウェアコンポーネント,ソフトウェアコンポーネント分割,ソフトウェアコンポーネント間インタフェース設計,ソフトウェア結合のためのテスト要件

ソフトウェア詳細設計のタスク

ソフトウェア詳細設計では,ソフトウェアコンポーネントの詳細設計,ソフトウェアインタフェースの詳細設計,データベースの詳細設計,利用者文書の更新,ソフトウェアユニットのテスト要件の定義,ソフトウェア結合のためのテスト要件の更新,ソフトウェア詳細設計及び要求事項の評価,ソフトウェア詳細設計の共同レビューを実施することを理解する。

ソフトウェアコンポーネントの単位,機能階層図,ソフトウェアユニット,ユニット分割,コンポーネント詳細設計,ソフトウェアコンポーネントインタフェース詳細設計,ソフトウェアユニット間インタフェース設計,データベース詳細設計

ソフトウェア方式設計

ソフトウェア方式設計では,ソフトウェア要件定義書を基に,開発側の視点からソフトウェアの構造とコンポーネントの設計を行うこと,ソフトウェアをソフトウェアコンポーネント(プログラム)まで分割し,各ソフトウェアコンポーネントの機能,ソフトウェアコンポネント間の処理の手順や関係を明確にすること,ソフトウェア方式設計書作成の構成,記述上の留意事項を理解する。

構造化,ソフトウェアコンポーネント機能仕様決定,コンポーネント間インタフェース設計,基本機能,部品,入出力設計,物理データ設計,部品化,再利用

ソフトウェア詳細設計

ソフトウェア詳細設計では,ソフトウェア方式設計書を基に,各ソフトウェアコンポーネントを,コーディングし,コンパイルし,テストするソフトウェアユニット(単体,クラス,モジュール)のレベルに詳細化し,文書化することを理解する。

コンポーネントインタフェース,データベース,モジュール分割,モジュール仕様,セグメント化,制御構造,制御セグメント,データ処理,加工セグメント,プログラム設計

インタフェース設計

インタフェース設計では,ソフトウェア要件定義書を基に,操作性,応答性,視認性,ハドウェア及びソフトウェアの機能,処理方法を考慮して,入出力装置を介して取り扱われるデータに関する物理設計を行うことを理解する。

入出力詳細設計,GUI,画面設計,帳票伝票設計,レイアウト設計,インタフェース設計基準,タイミング設計,インタフェース条件,インタフェース項目,ヒューマンインタフェース,画面構成,フォームオーバレイ,リミットチェック

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

ソフトウェア詳細設計書で提示された要件を全て満たしているかどうかを確認するために,テストの範囲,テスト計画,テスト方式を定義し,ソフトウェアユニットのテスト仕様書を作成することを理解する。

テスト要件,チェックリスト,ホワイトボックステスト

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

ソフトウェア方式設計書で提示された要件を全て満たしているかどうかを確認するために,テストの範囲,テスト計画,テスト方式を定義し,ソフトウェア結合テスト仕様書を作成することを理解する。

ソフトウェア結合テスト仕様,テスト要件,チェックリスト,ブラックボックス

ソフトウェア設計の評価及びレビュー

ソフトウェア設計内容がソフトウェア要件に合致していること,ソフトウェアコンポーネント間やソフトウェアユニット間の内部一貫性などのソフトウェア設計を評価する際の基準を理解する。また,ソフトウェア方式設計書,詳細設計書について,作成後にレビューを行うことを理解する。

追跡可能性,外部一貫性,内部一貫性,設計方法や作業標準の適切性,テストの実現可能性,運用及び保守の実現可能性,レビュー参加者,レビュー方式

 

ソフトウェア品質

JISX25010(ISO/IEC25010)で規定されているシステム及びソフトウェア製品の品質特性を理解し,要件定義や設計の際には品質特性を考慮することを理解する。

JISX25010(ISO/IEC25010),ISO9000

利用時の品質

モデルシステムとの対話による成果に関係する五つの特性である,利用時の品質モデルを理解する。

有効性,効率性,満足性,リスク回避性,利用状況網羅性

製品品質モデル

システム及び/又はソフトウェア製品の品質特徴(品質に関係する測定可能な特徴とそれに伴う品質測定量)を八つに分類した製品品質モデルを理解する。また,各特性は関連する副特性の集合から構成されていることを理解する。

機能適合性,性能効率性,互換性,使用性(習得性,運用操作性,アクセシビリティほか),信頼性(可用性,回復性ほか),セキュリティ,保守性(解析性,試験性ほか),移植性

ソフトウェア設計手法

プロセス中心設計

プロセス中心設計手法によるソフトウェア設計の考え方と手順を理解する。

データ中心設計

データ中心設計手法によるソフトウェア設計の考え方と手順を理解する。

DOA(DataOrientedApproach:データ中心アプローチ),E-R図,実体,関連,正規化,一事実一箇所3構造化設計

機能分割と構造化

機能分割と構造化の手順(機能の洗い出し,データフローの明確化,機能のグループ化,階層構造化,プログラム機能の決定,機能仕様の文書化),構造化設計による機能分割の利点,留意事項を理解する。

階層,段階的詳細化,複合設計

構造化設計の手法

構造化設計で用いられる手法として,流れ図,DFD,構造化チャート,状態遷移図などがあることを理解する。

順次,選択,繰返し,NS(Nassi-Shneiderman:ナッシシュナイダマン)図,HIPO(HierarchyplusInputProcessOutput),ブロック図,バブルチャート,階層構造図,イベントトレース図,ジャクソン法,ワーニエ法

プログラムの構造化設計

プログラムの構造化設計の目的,基本的な考え方,手順を理解する。

品質特性,モジュール分割

オブジェクト指向設計

オブジェクト指向設計の考え方,手順,手法を理解する。

クラス,抽象クラス,スーパクラス,インスタンス,属性,メソッド,カプセル化,サブクラス,継承(インヘリタンス),部品化,再利用,クラス図,多相性,パッケージ,関連,派生関連,派生属性,コレクション,汎化,特化,分解,集約

コンポーネントの設計

コンポーネント分割の考え方

コンポーネントを分割する際の基準には,処理パターン適用,処理タイミングの違い,処理効率の違い,同時使用可能資源,入出力装置の特徴などがあることを理解する。また,基準ごとの特徴を理解する。

ファイルの統合,ファイルの分割,レコード処理,処理の周期

プログラム分割基準

プログラム分割の基準を理解する。

分かりやすさ,安全性,開発の生産性,運用性,処理能力,保守性,再利用性

モジュールの設計

分割手法

分割手法には,データの流れに着目した手法とデータ構造に着目した手法があり,内部処理の形態に応じて複数の分割手法を組み合わせること,分割手法の種類,特徴を理解する。

STS(SourceTransformSink)分割,TR(Transaction:トランザクション)分割,共通機能分割,論理設計,領域設計,サブルーチン,再帰プログラム

分割基準

モジュールの独立性の評価基準として,モジュールの強度,結合度,それらと独立性との関係,分割量の評価基準,部品化と再利用のための評価基準を理解する。

モジュールの制御領域,モジュールの影響領域,分割量,モジュール再分割,従属モジュール,機能的強度,情報的強度,データ結合,制御結合

モジュール仕様の作成

各モジュール仕様の作成の考え方,手順,モジュール仕様の作成に用いられる手法を理解する。

流れ図,PSD(ProgramStructureDiagram),DSD(DesignStructureDiagram),SPD(StructuredProgrammingDiagrams),HCP(HierarchicalandCompactdescription)チャート,PAD(ProblemAnalysisDiagram),決定表(デシジョンテーブル),ワーニエ法,ジャクソン法,NS図,論理構造図,プログラミングテーブル

部品化と再利用

ソフトウェアの部品化と再利用の必要性,部品の種類と特徴,部品設計の留意事項,ソフトウェアパッケージの利用法を理解する。

コンポーネントウェア,ホワイトボックス型,ブラックボックス型,クラスライブラリ,デザインパターン,レガシーラッピング

アーキテクチャパターン

アーキテクチャパターンはソフトウェア構造のパターンであることなどの特徴を踏まえて,アーキテクチャパターンを利用する利点,留意事項を理解する。

MVCモデル

デザインパターン

デザインパターンは主にオブジェクト指向設計に用いられ,生成に関するパターン,構造に関するパターン,振る舞いに関するパターンの3種類に分類されることなどの特徴を踏まえて,デザインパターンを利用する利点,留意事項を理解する。

生成,構造,振舞い

レビュー

レビューの目的と手順

プロジェクト活動の状況や成果物を適宜評価するためのレビューの目的を理解する。また,レビューは文書の作成,レビューの実施(レビュー方式の決定,レビューの評価基準の決定,レビュー参加者の選出),レビュー結果の文書への反映作業という手順で行われることを理解する。

レビューの対象と種類

レビューの対象,実施タイミング,種類を理解する。

プログラム設計レビュー,コードレビュー,テスト仕様レビュー,利用者マニュアルレビュー,デザインレビュー,インスペクション,モデレータ,文書化手法,ウォークスルー,共同レビュー

妥当性評価の項目

レビューで確認する妥当性評価の項目を理解する。

機能,性能,容量・能力,信頼性,操作性,安定性,運用の容易性,技術的整合性,合目的性,実現可能性,開発の合理性,経済性,投資効果

その他の妥当性評価手法

測定器やテストプログラムの利用によるデータ実測,利用者の意見や感想の収集など,レビュー以外の妥当性評価の手法を理解する。

ヒアリング,アンケート,チェックリスト

 

関連書籍

 

過去問題

基本情報技術者

応用情報技術者

システムアーキテクト