読み方 : ソフトウェアほうしきせっけい
ソフトウェア方式設計
ソフトウェア方式設計とは?

システム開発の各段階を順番に実施するウォーターフォールモデル型の開発手法における序盤で実施される。設計工程の初期段階で行われる工程の一つで、前段階で定義されたソフトウェア要件に基づいてソフトウェアの大まかな構造、設計、機能の実装方式などを決める。
「何を作るか」が定まった後、「どのように作るか」を具体化する段階である。システムを構成するソフトウェアの構造やソフトウェア部品(コンポーネント)の方式、ソフトウェアやコンポーネント間の接続・連携の方式(インターフェース)、データベースの最上位の構成、テスト要求事項などを検討し、ソフトウェア方式として定義していく。
応答速度や可用性といった非機能要件への対応も検討範囲に含まれる場合がある。処理時間に制約があれば分散処理やキャッシュの活用を検討し、障害への備えが必要であれば冗長構成を考える。認証方式やアクセス制御といったセキュリティ上の判断も、この段階で方向を定める。これらは後工程で変更しにくいため、要件との整合を確かめながら早期に決定しておく必要がある。
設計の成果は構成図やインターフェース仕様などの設計書としてまとめられ、後続の詳細設計やプログラミングの拠り所となる。記述が曖昧であれば担当者ごとに解釈が食い違い、完成したシステムの動作に不整合が生じかねない。開発チーム全員が同じ理解を持てる水準で文書化することが求められる。ここで定めた構造の質が、システムの安定性や拡張性、開発コストや期間を左右する。
関連用語
資格試験などの「ソフトウェア方式設計」の出題履歴
▼ 基本情報技術者試験
【令2修1 問47】 ソフトウェアライフサイクルプロセスにおいてソフトウェア実装プロセスを構成するプロセスのうち,次のタスクを実施するものはどれか。
【令1修6 問47】 開発プロセスにおいて,ソフトウェア方式設計で行うべき作業はどれか。
【平30春 問47】 開発プロセスにおいて,ソフトウェア方式設計で行うべき作業はどれか。
【平28春 問46】 開発プロセスにおいて,ソフトウェア方式設計で行うべき作業はどれか。
【平25春 問45】 開発プロセスにおける,ソフトウェア方式設計で行うべき作業はどれか。
【平21秋 問47】 開発プロセスにおける,ソフトウェア方式設計で行うべき作業はどれか。