软件设计-课程(2)-基础

上传人:luoxia****01801 文档编号:74716692 上传时间:2019-01-29 格式:PPTX 页数:15 大小:69.71KB
返回 下载 相关 举报
软件设计-课程(2)-基础_第1页
第1页 / 共15页
软件设计-课程(2)-基础_第2页
第2页 / 共15页
软件设计-课程(2)-基础_第3页
第3页 / 共15页
软件设计-课程(2)-基础_第4页
第4页 / 共15页
软件设计-课程(2)-基础_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《软件设计-课程(2)-基础》由会员分享,可在线阅读,更多相关《软件设计-课程(2)-基础(15页珍藏版)》请在金锄头文库上搜索。

1、软件设计课程(2)-基础内容,梁勇 2009.05.25,内容提要,1 软件设计的目的 2 设计是一系列的决策过程 3 设计有关的术语 4 自顶向下与自底向上的设计 5 特殊类型的设计,1 软件设计的目标,设计的目的:降低成本,确保质量。 1)确保质量:如可用性,有效性,可靠性,可维护性和可重用性;(质量是设计出来的哦!) 2)加速开发过程(降低复杂度,提高项目进度控制度) 降低短期开发成本,尽快推向市场; 注:软件开发的短期成本不能过度压缩(一锤子买卖例外),否则长期维护成本会大大增加 ! 3) 确保与需求的一致性 想想:不做设计,直接根据需求写代码会怎样? 4)降低成本和增加利润收入前面三

2、点做到,这个结果自然出来。,2 设计是一系列的决策过程,2.1 什么是设计? 2.2 设计决策遇到的一系列问题 2.3 设计决策需要涉及的知识,2.1什么是设计?,什么是设计? 在软件领域, 设计是解决问题的过程, 其目的是找到并描述一种方法, 实现系统的功能性需求, 不违反由非功能性需求所引起的限制(包括预算和进度限制), 同时还要遵循高质量的通用原则. 什么是非功能性需求? 参见软件设计-辅助素材非功能性需求.ppt,2.2 设计决策遇到的一系列问题(1),1)设计分解 案例:如设备模拟软件(本课程的设计案例)分解:界面处理,业务处理,设备私有协议处理,通信协议处理等; 2)每个问题的通常

3、有几个备选方案(Option) 案例:设备模拟软件中,设备私有协议处理有两种方案: 通用协议解释方式:针对设备的通用解释执行方案;(速度慢); 独立协议处理:对每一种设备分别进行专门协议解析;(速度快23倍),2.2 设计决策遇到的一系列问题(2),3)设计人员作出设计决策: 从备选中跳出最优的选项 各种方案有不同的优缺点, 不存在绝对的”优胜”方法. 案例:设备模拟软件中,设备私有协议处理有两种方案: 通用协议解释方式:针对每一种设备编辑解释脚本指令,处理速度慢,但适应性好,扩展性好; 独立协议处理:对每一种模拟设备需要编写专门协议处理接口,速度快(测试:快35倍),扩展性尚可;,2.2 设

4、计决策遇到的一系列问题(3),4) 识别关键的设计问题实现灵活的和可维护的设计 案例:模拟软件1.0版本忽略的关键设计问题 用户界面与系统的其余部分隔离; 分层设计,降低耦合;,2.1.3 设计决策需要涉及的知识,1) 有关需求和业务实现有关的知识; 2)关于目前已有设计实现的知识 3)当前可用设计技术 4)软件设计原则和”最佳实践”知识 5)过去的成功案例,3 设计有关的术语,3.1 部件 明确的功能并可以分离出来的软件或硬件; 3.2 模块 程序设计语言级别上定义的构件,如文件处理模块; 3.3 系统 3.4 子系统,4 自顶向下与自底向上的设计,4.1 自顶向下 4.2 自底向上 4.3

5、 实际运用,4.1 自顶向下,从系统高层架构设计开始 解决的问题? 高层架构(如软件体系结构, 使用什么数据库等).,4.2 自底向上,对可重用的底层程序做决策 2) 组织成高层架构,4.3 实际运用,通常采用自顶向下和自底向上两种方法结合 自顶向下设计为系统提供良好的高层架构 自底向上设计确保创建整个系统多处可重用的构件; 确保可测试性(测试策略相关),5 特殊类型的设计,1) 体系结构设计(Architechure design) 将软件划分为子系统和构件 定义各子系统和构件交互的接口 类设计 设计类的各种特征,如关联, 属性,交互和状态. 用户界面设计 数据库设计 设计数据如何持久地存储,以满足在任何时间内多个程序和多个用户的访问; 5) 算法设计 6) 协议设计 如通信协议设计,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > Windows相关

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号