第三讲 软件设计概述 软件设计的任务 软件设计的基本概念 模块化设计 设计需要处理的问题 设计文档及其复审 什么是设计? 把问题转化为解决方案的创造性过程;解决方案的描述也称为设计。 设计和需求有什么不同? 张君和李丽想做一栋新房子。他们的需求如下: 三个小孩有玩耍的空间,并独立拥有各自的睡房 一间主人卧房 一个厨房 冬天可取暖,夏天可制冷 室内通水通电 等等 设计和需求有什么不同? 设计师的方案: 屋子的楼上有四间睡房,楼下有一间客房,一间厨房,一个玩具房和一个杂物室等等。 还有其他方案吗? 软件设计的两个阶段 设计者必须同时满足用户和系统开发人员的要求 概要设计书 详细设计书 设计者迂回于各种活动中: 理解需求 提出可能的方案 测试方案的可能性 向用户描述各种可能 向编程人员提供设计文档 软件设计的内容 体系结构设计 定义软件部件间的关系 接口设计 软件内部、外部及与人之间的通信 数据设计 信息模型 软件数据结构 过程设计 软件组件的过程性描述 软件设计的任务 分析模型 设计模型 设计文档 回答How to do? 可以分为概要设计、详细设计 软件设计包括 数据设计 体系结构设计 接口设计 过程设计 分解和模块化 系统设计方法: 功能分解:将功能作为组件 面向数据的分解:基于外部数据结构 面向事件的分解:基于系统必须处理的事件 外部输入设
原创力文档

文档评论(0)