|
===================================== 〔語彙分解〕的な部分一致の検索結果は以下の通りです。 ・ ソフトウェア : [そふとうぇあ] 【名詞】 1. software 2. (n) software ・ 設計 : [せっけい] 1. (n,vs) plan 2. design ・ 設計者 : [せっけいしゃ] (n) designer ・ 計 : [けい] 1. (n,n-suf) plan ・ 者 : [もの] 【名詞】 1. person
ソフトウェア設計()は、ソフトウェアのための問題解決と計画の工程である。ソフトウェアの目的と仕様が決定した後で、ソフトウェア開発者が設計をしたり、専門の設計者が開発計画を立てる。細かいコンポーネントやアルゴリズムの実装だけではなく、アーキテクチャ的観点での検討も行われる。 ソフトウェア開発工程での要求分析によって、ソフトウェア工学における仕様が確定する。そのソフトウェアがユーザーとの対話を必要とするものか、あるいはユーザー中心設計であれば、ソフトウェア設計にはユーザーエクスペリエンス設計も関わり、絵コンテなども仕様に含まれることになる。完全に自動的に動作するソフトウェア(ユーザインタフェースのないソフトウェア)であれば、ソフトウェア設計は単なるフローチャート作成程度の作業となるかもしれない。また、統一モデリング言語 (UML) などの半形式的手法もある。いずれにしても、ソフトウェア設計工程の成果物としては、何らかのソフトウェア設計文書が生成される。 == 考慮すべき点 == ソフトウェア設計にあたっては、様々な観点を考慮する必要がある。ソフトウェアが達成しようとしている目標を反映しているため、それらは重要である。そのような観点の一部を以下に挙げる。 * 拡張性 - 基盤となるアーキテクチャに大きな変更を加えることなく、新たな機能を追加できること。 * 頑健性 - 高負荷状態や不正な入力があっても動作すること。例えば、使用可能なメモリ量が少なくても動作するよう設計する。 * 信頼性 - ある一定期間まで、特定の困難な状態になっても、機能すること。 * 耐障害性 - コンポーネントの障害が発生しても、それに耐えたり、回復させたりできること。 * セキュリティ - 悪意ある行為に対して耐性があること。 * 保守性 - ある一定時間で、特定の状態に復帰できること。例えば、アンチウイルスソフトのように、定期的な更新が可能であるなど。 * 互換性 - 他の製品と相互にやりとりできること。あるいは、過去の代替すべき製品と互換であること。 * モジュール性 - モジュール性を考慮した設計。それによって保守性も向上する。開発においてもコンポーネント単位で実装しテスト可能などの利点がある。また、開発作業の分割が容易になる。 * 再利用 - モジュール性がよければ、個々のコンポーネントを他の場面で再利用できる可能性が生じる。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「ソフトウェア設計」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 Software design 」があります。 スポンサード リンク
|