- 1、本文档共130页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
内 容 从分析到设计的过程 设计的目的,任务原则 体系结构的设计 结构化设计的基础-模块化 面向数据流的设计方法,设计过程 数据库的设计 人机交互设计 目的:解决“怎么做”的问题 6.1 软件设计概述 6.1.1 软件设计的含义 6.1.2 软件设计的目标 6.1.3 软件设计的内容 6.1.4 软件设计的任务 6.1.1 软件设计的含义 软件设计是把软件需求规格说明 转为软件过程性的表示。 解决“怎么做”的问题。 6.1.2 软件设计的类型 从工程管理的角度软件设计包括: 概要设计 详细设计 6.1.3 软件设计的目标 将设计模型需求分析模型转换为软件 6.1.4 软件设计的任务 (1) 制 定 规 范 确定设计的目标,及优先顺序。 确定合适的设计方法 规定设计文档的编制标准 规定编码的信息形式 接口规约,命名规则 设计的任务 (2) 软件系统的结构设计 将系统按功能划分成模块的层次结构。 确定模块的功能,及与软件需求的对应关系。 确定模块间的接口关系,调用关系。 评估模块划分的质量。 设计的任务 (3) 处理方式设计 确定为实现系统的功能需求所必需的算法 评估算法的性能 确定为满足系统的性能需求所必需的算法 模块间的控制方式 周转时间 响应时间 吞吐量 精度 确定外部信号的接收发送形式 设计的任务 (4) 数据结构设计 确定文件系统的结构以及数据库的模式、子模式 确定输入,输出文件的数据结构 确定算法所必需的逻辑数据结构及其操作 确定对逻辑数据结构所必需的程序模块 限制和确定各个数据设计决策的影响范围 确定其详细的数据结构和使用规则 数据的完整性、安全性、一致性、冗余性设计 设计的任务 (5)可靠性设计 质量设计 软件可靠性是在 给定的时间内,程序按照规定的 条件成功运行的 概率。 容错技术、 冗余技术 (6)编写概要设计 阶段的文档 设计说明 数据库设计说明 接口说明 用户手册 制定初步的测试计划 设计的任务 (7) 制定测试计划 (8) 概要设计评审: 设计的任务 (9)详细设计 确定软件各模块的算法,以及内 部数据组织 描述算法 进行详细设计的评审 6.1.5 软件设计的原则 设计的原则 (Davis 1995): (1) 使用基本的设计概念:抽象、逐步求精、 自顶向下、模块化、信息隐蔽、封装等. (2) 设计应追朔到分析模型 (3) 注重复用技术 (4) 软件设计应尽量模拟问题域的结构 (5) 设计应具有一致性、集成性 (6) 设计应便于修改,适用于异常条件 (7) 设计不是编码 (8) 注重评审 软件设计的任务小结: 制定规范 软件系统的总体结构设计 处理方式设计 数据结构设计 可靠性设计 编写概要设计阶段的文档 制定测试计划 概要设计评审 详细设计 6.2 软件设计的基础—模块化 模块: 软件被划分成若干个独立命名, 可编址的部分。 模块化: 程序分成若干个模块,且: 每一个模块完成一个相对独立的子功能 每个模块定义了输入和输出的功能。 若干个模块集成,构成一个整体,完成 一个大功能。 模 块 化 模块化设计降低了复杂性. 有利于软件的可维护性. 系统可并发开发,简化系统实现。 模块特性: (1) 模块的分解 (2) 模块的抽象 (3) 模块的信息隐蔽 (4) 结构化的模块 (5) 模块的独立性 内聚、 耦合。 6.2.1 模块的内聚(Cohesion) 描述一个功能模块的组成成分之间的紧密程度。 模块的内聚性类型: 低 偶然内聚 弱(功能分散) 逻辑内聚 时间内聚 过程内聚 通信内聚 顺序内聚 高 功能内聚 强(功能单一) (1)偶然(巧合)内聚( Coincidental) 模块内各部分间无联系。例: (2)逻辑内聚 (Logical) 逻辑功能相似,且属于同一类型,但其执行行为由外部模块决定。例: (3)时间内聚 (Temporal) 模块的各个成分必须在同一时间段执 行,但各个成分之间无必然的联系。 例如: 初始化系统模块
文档评论(0)