软件工程简答题范围资料.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程简答题范围 2012201308 李 昕 种子定义和IEEE定义 种子定义(Fritz Bauer): (软件工程是)建立和使用一套合理的工程原则,以便经济地获得可靠的、可以在实际机器上高效运行的软件。 -未提及软件质量,直接谈到用户满意度或按时交付产品的要求、忽略了测量和度量的重要性和有效的软件过程的重要性。 IEEE 定义: 软件工程是:(1)将系统化的、规范的、可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件。(2)在(1)中所述方法的研究。 -需要规范,也需要可适应性和灵活性 压力测试 压力测试 以非正常的数量、频率或容量的方式执行系统。测试是想要破坏程序。 举例: — 如果正常的中断频率为每秒5次,强度测试设计为每秒50次中断。 — 把输入数据的量提高一个数量级来测试输入功能会如何响应。 — 若某系统正常运行可支持200个终端并行工作,强度测试则检验1000个终端并行工作的情况。 * 设计 良好的软件设计应该展示: 坚固:程序应该不含任何妨碍其功能的缺陷。 适用:程序应该符合开发的目标。 愉悦:使用程序的体验应是愉快的。 实现设计目标的途径 先实现多样化(获取所有方案和设计的原始资料,包括目录、教科书和头脑中的构件、构件方案和知识),然后再进行聚合。 汇聚信息后,挑选合适的元素,考虑取舍候选方案,然后聚合,使之成为“构件的某种特定的配置,从而创建最终的产品。 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. * * 设计模型 数据设计 体系结构设计 接口设计 构件级(过程)设计 * 质量指导原则 设计应展示出这样一种结构:(a)已经使用可识别的体系结构风格或模式创建;(b)由展示出良好设计特征的构件构成;(c)能够以演化的方式实现,从而便于实现和测试。 对于更小的系统,设计有时可以线性开发。 设计应该模块化;也就是说,应将软件逻辑地划分为元素或子系统。 设计应该包含数据、体系结构、接口和构件的清晰表示。 设计应导出数据结构,这些数据结构适用于要实现的类,并从可识别的数据模式提取。 设计应导出显示独立功能特征的构件。 设计应导出接口,这些接口降低了构件之间以及与外部环境连接的复杂性。 设计的导出应根据软件需求分析过程中获取的信息采用可重复的方法进行。 应使用能够有效传达其意义的表示法来表达设计。 * 设计原则 设计过程中不要有“井蛙之见”。 设计应起源于分析模型。 设计不要白费力气做重复工作。 在软件和真实世界的问题之间,设计应能“最小化知识距离” [DAV95] 。 设计应表现出一致性和集成性。 设计结构应适应变化。 即使遇到数据、事件或操作条件异常时,设计结构应能温和处理。 设计不是编码,编码不是设计。 创建设计时就应对其质量进行评估,而不是创建之后。 评审设计以最小化概念上的(语义的)错误。 来自 Davis [DAV95] * 基本概念 抽象——数据、过程、控制 体系结构——软件的整个结构 模式——已证实的解决方案的“精髓” 关注点分离——任何复杂问题如果被分解为若干块,该复杂问题更容易地被处理。 模块化——数据和功能的划分 信息隐蔽——控制接口 功能独立——专一的功能和低耦合 求精——所有抽象精化的细节 方面——一种理解全部需求如何影响设计的机制 重构——一种简化设计的重新组织的技术 面向对象设计概念——附录II 设计类——提供设计细节,使分析类得以实现 * ※为什么要信息隐藏? 减少“负效应”的可能性 限制全局影响局部的设计决策 强调通过控制接口通信 不提倡使用全局数据 导致封装——高质量设计的属性 导致高质量软件 * 功能独立 模块的独立性有两条定性标准进行评估: 内聚性显示了某个模块相关功能的强度。 一个内聚的模块执行一个独立的任务,与程序的其他部分构件只需要很少的交互。简单地说,一个内聚的模块应该(理想情况下)只完成一件事情。 耦合性显示了模块间的相互依赖性。 耦合性依赖于模块之间的接口复杂性、引用或进入模块所在的点以及什么数据通过接口进行传递。 模块的独立性高 块内联系强 块间联系弱 * 七种内聚 偶然内聚 逻辑内聚 时间内聚 过程内聚 通信内聚 顺序内聚 功能内聚 * 七种耦合 非直接耦合 数据耦合 特征耦合 控制耦合 外部耦合 公共耦合 内容耦合 * 体系结构风格 每种风格描述一种系统类别,包括: (1)完成系统需要的某种功能的一组构件(例如,数据库、

文档评论(0)

基本资料 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档