软件工程第四章 软件设计工程.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
界面设计 高效用户界面设计有三条重要原则: 用户控制系统 (用户为中心) 减少用户记忆负担 保持界面一致 环境分析确定了用户接口操作的物理结构和社会结构 第四章 软件设计工程 设计工程概要介绍 1 设计模型 4 设计实例分析 5 设计技术 3 设计过程和质量 2 小结 6 本章学习目标 1 2 3 能根据具体项目进行模块划分和软件架构设计 掌握软件设计的主要技术、主要内容和主要方法 理解软件设计和需求分析之间的相互关系 设计工程概要介绍 软件设计定义: 在[IEEE610.12-90]中,软件设计定义为软件系统或组件的架构、构件、接口和其他特性的定义过程及该过程的结果。 理念: 功在平时,受益最后 分析 设计 编码 测试 维护 设计工程概要介绍 软件设计 软件工程生命周期中的一个活动 进行软件编码的基础 软件需求分析被转化为软件的内部结构 是连接用户需求和软件技术的桥梁 用户需求 软件技术 设计工程活动 软件架构设计(有时称为顶层设计) 描述软件的顶层架构和组织,划分不同的组件 软件详细设计 详细描述各组件以便能够编码实现 注意: 软件设计主要为分解设计D-design; 可以包括系列模式设计FP-design; 不包括创新设计I-design;因为创新设计被认为是需求分析和需求规格定义的一部分。 设计过程和质量 好的设计应该具有如下三个特点 设计必须实现在分析模型中包含的所有明确要求,必须满足客户所期望的所有隐含要求; 设计必须是对编码人员、测试人员及后续的维护人员必须是可读可理解的; 设计应提供该软件的完整视图,以从实现的角度解决数据、功能及行为等各领域方面的问题 设计过程和质量 设计指导原则 设计应该是一种架构 设计应该是模块化的 设计应该包含数据,体系结构,接口和组件各个方面 应该设计出系统所用的数据结构 应该设计出展现独立功能特性的各组件 应该设计出各组件与外部环境连接的各接口 设计由软件需求分析过程中获得信息驱动,采用可重复的方法导出 设计应该采用正确清楚地表示 设计过程和质量 设计质量属性 功能性 可用性 可靠性 性能 可支持性 包含三个属性:扩展性、适应性、可维护性 设计技术 抽象 含义:是“忽略具体的信息将不同事物看成相同事物的过程” 抽象机制:参数化、规范化 规范化抽象 过程抽象 数据抽象 控制(迭代)抽象 设计模式 含义 在给定上下文环境中一类共同问题的共同解决方案 微观结构 实体模式 结构模式 行为模式 模块化 含义 软件被划分为命名和功能相对独立的多个组件(通常称为模块),通过这些组件的集成来满足问题的需求 软件的模块性 程序可被智能管理的单一属性 模块化的理论依据 基于人类解决问题观测数据 模块化 基于人类解决问题观测数据 对两个问题p1和p2,如果有 C(p1) C(p2) (4-1a) 则 E(p1) E(p2) (4-1b) 有如下结论: C(p1 + p2) C(p1) + C(p2) (4-2) E(p1 + p2) E(p1) + E(p2) (4-3) 推论:无限分解任务,那开发该软件的工作量将变成足够小以至于可以忽略??? 模块化 模块化和软件成本 如何确定最小代价区间M ?? 模块化 模块化设计标准 模块化分解性 模块化组合性 模块化可理解性 模块化连续性 模块化保护 信息隐藏 模块化基本问题 如何分解软件系统以达最佳的模块划分 信息隐藏原则 模块应该具有彼此相互隐藏的特性 即:模块定义和设计时应当保证模块内的信息(过程和数据)不可以被不需要这些信息的其他模块访问 特点 抽象有助于定义构成软件的过程(或信息)实体。 信息隐藏原则定义和隐藏了模块内的过程细节和模块内的本地数据结构。 功能独立 含义 每个模块只解决了需求中特定的子功能并从程序结构的其他部分看该模块具有简单的接口 好处 易于开发:功能被划分,接口被简化 易于维护(和测试):次生影响有限,错误传递减少,模块重用 定性衡量标准 内聚性:模块的功能相对强度 耦合性:模块之间的相互依赖程度 细化 含义 逐步求精的过程 与抽象的关系 抽象使设计师确定过程和数据,但不局限于底层细节 细化有助于设计者在设计过程中揭示底层细节 重构 含义 不改变组件功能和行为条件下简化组件设计(或代码)的一种重组技术 方法 检查现有设计的冗余情况、未使用的设计元素、无效或不必要的算法、较差的构建方式或不恰当的数据结构,或任何其他可更改并导致更好设计的错误 设计技术基本

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档