ソフトウェア設計
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/12/29 07:06 UTC 版)
考慮すべき点
ソフトウェア設計にあたっては、様々な観点を考慮する必要がある。ソフトウェアが達成しようとしている目標を反映しているため、それらは重要である。そのような観点の一部を以下に挙げる。
- 拡張性 - 基盤となるアーキテクチャに大きな変更を加えることなく、新たな機能を追加できること。
- 頑健性 - 高負荷状態や不正な入力があっても動作すること。例えば、使用可能なメモリ量が少なくても動作するよう設計する。
- 信頼性 - ある一定期間まで、特定の困難な状態になっても、機能すること。
- 耐障害性 - コンポーネントの障害が発生しても、それに耐えたり、回復させたりできること。
- セキュリティ - 悪意ある行為に対して耐性があること。
- 保守性 - ある一定時間で、特定の状態に復帰できること。例えば、アンチウイルスソフトのように、定期的な更新が可能であるなど。
- 互換性 - 他の製品と相互にやりとりできること。あるいは、過去の代替すべき製品と互換であること。
- モジュール性 - モジュール性を考慮した設計。それによって保守性も向上する。開発においてもコンポーネント単位で実装しテスト可能などの利点がある。また、開発作業の分割が容易になる。
- 再利用 - モジュール性がよければ、個々のコンポーネントを他の場面で再利用できる可能性が生じる。
デザインパターン
ソフトウェア設計者やアーキテクトは、設計上の問題が既存の解決済みの問題と同じであると気づくことがある。よくある問題についての解法のテンプレート(あるいはパターン)をデザインパターンと呼ぶ。過去に評価済みのデザインパターンの利用によって、ソフトウェア開発工程が加速される。
設計方法論
設計方法論は実際のシステム設計におけるテンプレートやフレームワークの役割を果たす。実際の設計工程を単純化し、品質向上のための設計原則の適用を可能とする。
- モジュール化設計 - モジュール性、凝集度と結合度、ソフトウェアコンポーネント
- オブジェクト指向分析設計
- Model View Controller、多層アーキテクチャ
- 1 ソフトウェア設計とは
- 2 ソフトウェア設計の概要
- 3 考慮すべき点
- 4 必要性
- ソフトウェア設計のページへのリンク