网站大量收购独家精品文档,联系QQ:2885784924

现代软件工程(第四讲).ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
现代软件工程(第四讲)

* * 模块的内聚度 模块的内聚度是指一个模块内部的各个组成部分的紧密程度,其处理动作的组合强度等,它是衡量模块独立性的标准。 G.myers定义的内聚的七种形式:按照内聚度从高到低: 1.功能内聚 2.信息内聚 3.通信内聚 4.过程内聚 5.时间内聚 6.逻辑内聚 7.偶然内聚 * * 模块内聚度的判断 该模块只能执行一个功能吗? 功能内聚 模块内各组成部分的关系如何? 是 否 次序重要吗? 次序重要吗? 数据流 控制流 两者都不是 是 是 是 否 否 否 顺序内聚 通信内聚 过程内聚 时间内聚 逻辑内聚 偶然内聚 逻辑似同 4.3 数据结构与算法设计 重要性 设计高效率的程序是基于良好的数据结构与算法,而不是基于编程小技巧 数据结构 从数据表示的观点来看,存储在数组中的一个有序整数表也是一种数据结构。 算法 算法是指对数据结构施加的一些操作,例如对一个线性表进行检索、插入、删除等操作。 一个算法如果能在所要求的资源限制(Resource Constraints)范围内将问题解决好,则称这个算法是有效率(Efficient)的 * * 常用的数据结构与算法的一些设计原则: 每一种数据结构与算法都有其时间、空间的开销和收益。 与开销和收益有关的是时间——空间的权衡。 程序员应该充分地了解一些常用的数据结构与算法,避免不必要的重复设计工作 数据结构与算法为应用服务。我们必须先了解应用的需求,再寻找或设计与实际应用相匹配的数据结构。 * * 4.4 用户界面设计 界面设计中美的需求与导向作用 重要性 美的界面能消除用户由感觉引起的乏味、紧张和疲劳(情绪低落), 大大提高用户的工作效率,从而进一步为发挥用户技能和为用户完成任务作出贡献。 从人机界面发展历史与趋势上可以看出人们对界面美的需求,以及美在界面设计中的导向作用。 * * 界面设计经历的两个界限分明的时代 第一代 以文本为基础的简单交互,如常见的命令行,字符菜单等。 由于第一代界面考虑人的因素太少,用户兴趣不高。 第二代 直接操纵的界面。 大量使用图形、语音和其它交互媒介,充分地考虑了人对美的需求。 直接操纵的界面使用视听、触摸等技术,让人可以凭借生活常识、经历和推理来操纵软件,愉快地完成任务。 更高层次的界面甚至模拟了人的生活空间,例如虚拟现实环境。 * * 界面美的内涵 界面的合适性 (首要因素) 界面的合适性是指界面是否与软件功能相融洽。 界面的合适性既提倡外美内秀,又强调恰如其分。 合适性差的界面无疑会混淆软件意图,致使用户产生误解 合适性差的界面只会给软件带来厄运 * * 界面的风格 界面的风格有两类 一是“一致性” 二是“个性化”。 商业应用软件的界面设计注重一致性。 设计者必须密切注意在相同应用领域中最流行的软件的界面,必须尊重用户使用这些软件的习惯。 在娱乐领域的软件中,有个性化的界面自然比泯然于众的界面更具有吸引力。 * * 界面的广义美 尽管界面的美并没有增加软件的功能与性能,却又是必为可少的 一切有利于人机交互的界面设计因素都具有广义美。 界面设计的一些特殊考虑也体现了广义美,如设法使残障人也可以使用软件。 * * 4.5 程序员的编程风格 程序加注释:注释是编写者与读者之间通信的手段之一,应该在 每一个模块的开头加序言注释,在程序内部加功能性注释。 变量、数据按意取名,增加可理解性。复杂的数据结构也应加注释。 语句简单直接,内层要缩进,使用空格、空行以提高程序的清晰度。 输入输出提示化、表格化、图形化。 * * 四川大学计算机(软件)学院 四川大学计算机(软件)学院 现 代 软 件 工 程 现 代 软 件 工 程 * * 第四讲 第四章 系统设计 * * 引言 系统设计是把需求转化为软件系统的最重要的环节。 系统设计的优劣在根本上决定了软件系统的质量。 本章讲述系统设计的四方面内容: 体系结构设计 模块设计 数据结构与算法设计 用户界面设计。 * * * * 4.1 体系结构设计 体系结构是软件系统中最本质的东西: 体系结构是对复杂事物的一种抽象。良好的体系结构是普遍适用的,它可以高效地处理多种多样的个体需求。 体系结构在一定的时间内保持稳定。只有在稳定的环境下,人们才能干点事情,社会才能发展。 两种非常通用的软件体系结构: 层次结构 客户机/服务器(Client/Server)结构。 * * 理解软件系统的复杂性因素 新技术融合 软件体系结构的重要性,已经比算法和数据结构更重要 灵活性与可扩展性 处理能力与吞吐量 负载与容量 可用性 失败安全与稳固性 出错容忍程度 功能 成本 兼容与可移植性 系统的复杂性 现在的挑战已经不是速度、成本和性能,而是复杂度的问题了。

文档评论(0)

ddf55855 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档