ソフトウェア要件、概要設計、詳細設計(文書)を行う方法を、何をすべきか?
EDITORIAL
プロジェクト以来、「ソフトウェア要求仕様書」、「ソフトウェアの概要設計仕様書」及び提供する必要性必要「ソフトウェア詳細設計仕様を。」だから、必要な関係書類の内容について学ぶためにここに組織しました。記事を詳細にすべての要件、予備設計と詳細設計の設計解析を説明していません。そのためそれらの独立した書籍コンテンツのソフトウェア・エンジニアリング分野になる任意のポイントで抽出することができます。
1つの、全体的なソフトウェアの設計プロセス:
- ソフトウェア要件分析フェーズ:「ソフトウェア要求仕様書」の出力は、具体的な方法を必要としません。ユーザーは、開発者がそれに応じて、以下の作業を行うことができ、それを理解することができます考え出す「問題を解決するために。」
- 設計段階の概要:ソフトウェアシステムの全体的なレイアウト、種々の機能モジュールとサブモジュールとの間の関係、外部システム、技術的ルート選択との関係を決定します。研究とデモンストレーションのいくつかの要素があります。そして、出力「概要ソフトウェアの設計仕様。」「全体的なインプリメンテーション」を把握
- 詳細設計段階:通常人事セクションで提供アウトラインデザインのさらなる改良は、アウトラインの設計と統合、特定の実装の詳細に応じて完了したため。各モジュールで使用される「手順」青写真決意アルゴリズム、データ構造、インタフェースの実装、属性パラメータ。そして、出力「ソフトウェア詳細設計仕様。」「モジュールのそれぞれを行う方法。」を見つけ出します
分析を必要とします
2.1なぜ私たちは、「ソフトウェア要求仕様書」に必要なのでしょうか?
あなたがソフトウェア機能の適切な説明を達成することができ、例示目的のみのソフトウェアで実現される機能、とても良い符号化構造、コードのコメントの需要を記述する場合、プログラマは、時間の節約は、より多くの機能を達成されたニーズを書くことができます。しかし、このプロジェクトは、必要があるため、このような状況は、小規模なプロジェクト、またはインターネットプロジェクトにより適して複雑ではなく、需要が急速に変化しているので、R&Dの効率は非常に重要です。より複雑なシステム、ソフトウェアの開発は共同の努力よりも、その情報転送プロセスとすることができる大規模なソフトウェアプロジェクトのためや機能しかし、私たちは、事前に適切なソフトウェア開発に必要な時間を評価するために、優れたソフトウェア要件の内容を検討し、コスト要素は、なるように、より良いプロジェクトを管理することができます。
2.2 「ソフトウェアの要求仕様、」一般的な構造
- 第一章では、本体である1.概要、含まれてい
- 1.1書き込みの目的; 1.2用語と定義; 1.3参照;三つの部分
- 第二章はに与えられたプロジェクトの規格や仕様だけでなく、プロジェクトの開発プロセスは、文書の内容のその後の準備の基準や規範を遵守して行わなければなりません。
- 第三章で記述するべきプロジェクトの基礎となる仮定、制約および依存関係の数が基準値を有することができ、システムのその後の展開の過程で、。
- 第IV章「機能仕様は、」需要関数とビュー機能ポイントリストの焦点であるこのシステム、インターフェイスデザインのアイデア、システム、およびシステムユースケースの役割を強調しています。このコンテンツは、その後の開発とテストに関するガイダンスを提供するために、詳細に説明する必要があります。
- 第5章、「非機能仕様プロジェクト、セキュリティ、バックアップ、データ復旧のパフォーマンスおよびその他のコンテンツの説明説明、フル機能するだけでなく、パフォーマンス、セキュリティの適切な要件を考慮し、その上に加えて、プロジェクトの」。
- 第VI章「付録」、「ソフトウェア要件トレーサビリティマトリックス」は、この文書の焦点であるいくつかの追加のドキュメントのソフトウェアの要求仕様は、フォローアップの要件を厳密に制御されたの度合いを改善することです。
3アウトラインデザイン
3.1「アウトライン設計仕様、」一般的な構造:
- 概要:(物質の起源について話)が必要か、目的、環境、制限。
- 全体的な設計:ようにモジュール、モジュール、オペレーティング環境との間の関係を有する組織構造、機能、処理フロー、約グローバルな視点から。(図出力:システム構成図、システムのフローチャート、データフロー、線描画ツールを推奨https://www.processon.com/)
- 外部インターフェース:外部ユーザー、ソフトウェアおよびハードウェアインターフェース(使用可能なリソース)の一般的な説明。
- モジュラー設計:各モジュールが「何を」、「どのように」(入力、出力、処理ロジックは、他のシステムまたはモジュールへのインターフェイス)の簡単な説明、物理的位置、論理的なもの場所です。
模块设计,可以写以下内容:
1、模块描述:说明哪些模块实现了哪些功能;
2、模块层次结构:可以使用某个视角的软件框架图来表达;
3、模块间的关系:模块间依赖关系的描述,通信机制描述;
4、模块的核心接口:说明模块传递的信息、信息的结构;
5、处理方式设计:说一些满足功能和性能的算法;
- データ構造:論理構造、物理構造。
- 災害復旧デザイン:エラーメッセージ、エラー処理。(オプション)
- モニタリングデザイン:実行モジュールを組み合わせ、制御、時間。(オプション)
- ユーザーインターフェイスのデザイン:(オプション)。
- セキュリティ設計:(オプション)。
- 他のデザイン:(オプション)。
- ノルム(付録):命名規則設計原理、コード仕様、インターフェースプロトコル、。
ローカルのデザインノートの3.2まとめ
- 全体的な設計の実現可能性を評価するために使用されます。
- デザインモジュールは、対応する機能を実現していることを確認するために、各モジュールの整合性をチェックするために使用されます。
- (場合には詳細設計を書いていない)開発計画を導くために、開発努力を評価するために使用。
- ビジネスプロセスの設計フェーズを強調しすぎるの概要は誤解です。
- 詳細にあまりにも多くの注意を達成するために、概要設計段階は誤解です。
4詳細設計
4.1「詳細な設計仕様、」一般的な構造:
リファレンスソフトウェア詳細設計の内容を記述する方法について?
-
はじめに、前記
書き込み対象、背景、参照、説明の定義 -
設計の概要は、含まれています:使命と目的、需要の概要、動作環境の概要、条件や制限、詳細な設計手法やツールを
-
詳細なシステム要件分析、次のとおりです。詳細なニーズ分析、詳細なシステム動作環境や制約の分析インタフェース要件分析を
-
含む、全体的なプログラムを確認:確認システムアーキテクチャを、システムインタフェースが詳細分割されています
-
インターフェイスまたは構造の組成との関係の構成図、アルゴリズム、モジュール、および各モジュールの機能分解モジュールの説明によって分割サブシステムとシステムアーキテクチャ設計を、システムの機能モジュールの詳細設計(図HIPOを使用することが,, IPO:を含むシステムの詳細設計、要件、機能、および三つのモジュール間の相互参照。)、システムインターフェース詳細設計
每个模块的描述说明可参照以下格式:
**模块编号:**
**模块名称:**
**输入:**
**处理:**
**算法描述:**
**输出:**
- データベースシステムの設計
ローカル詳細設計(注)4.2
それとも、特に大規模なソフトウェアシステム、詳細設計フェーズ分割システムの機能モジュールやサブシステムのために、必要な場合。
5アウトライン設計と詳細設計を区別する
5.1概要設計段階:
この段階で、設計者は、一般的に考慮し、内部実装モジュールの世話をするが、より多くのここにもつれます。主分割モジュールにおいて、呼び出しの間の関係を定義する、タスクを割り当てます。モジュールおよびこの段階で設定されるパラメータを渡す非常に明確かつ詳細との間のインタフェースは、厳密なデータ・ディクショナリは、後続の設計が困惑または誤解生成を避けるために準備されるべきです。デザインのない一般的な概要は行われますが、リストラを繰り返すことができます。典型的な調整を繰り返しマージ機能モジュールまたはモジュールは、さらに、多重化を分解することが可能です。予備設計の段階では、フォローアップ作業の一部を保存し、抽出モジュールを再利用できるだけでなく、構造化システムの確立を最大化すべきです。
設計ドキュメントの最も重要な部分は、階層的な概略的なデータフロー図、構造図、データ辞書、および対応するテキストの説明です。要約すると、各モジュールの詳細設計を並行して起動することができ、設計文書に基づいています。
5.2詳細設計段階
この段階では、個々のモジュールは、設計と平行して別の人に配布することができます。詳細設計フェーズでは、作業対象物の設計者は、ローカルおよび外部インターフェイス、モジュール設計と明示的アルゴリズム、プロセス、状態遷移等に付与された概略設計作業に応じて、モジュールです。ここでは、発見された(などサブモジュールの分解、など)必要な構造調整がある場合、アウトライン設計段階に戻らなければならないことに注意しなければならない、設計文書の要約に応じて調整されますが、警告なしに、その場で解決されません。
文書の最も重要な部分は、詳細設計モジュール、状態図、ローカル変数および対応するテキスト記述を示すフローチャートです。