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

软件工程复习、考概览.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件危机的典型表现: 1.对软件开发成本和进度估计的常常很不准确 2.用户对“已完成的”软件系统不满意的现象经常发生 3.软件产品的质量往往靠不住 4.软件常常是不可维护的 5.软件通常没有适当的文档资料 6.软件成本在计算机系统总成本中所占的比例逐年上升 7.软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势 软件工程的定义: 采用工程的概念、原理、方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 软件工程的基本原理: 1.用分阶段的生命周期计划严格管理 2.坚持进行阶段评审 3.实行严格的产品控制 4.采用现代程序设计技术 5.结果应能清楚的审查 6.开发小组人员应该少而精 软件工程方法学: 包含三个要素:方法,工具和过程 ??用的最广泛的软件工程方法学,分别是传统方法学和面向对象方法学 软件生命周期: 软件定义时期的任务: 1.确定软件开发工程必须完成的总目标 2.确定工程的可行性 3.导出实现工程目标应该采用的策略及系统必须完成的功能 4.估计完成该项工程需要的资源和成本,并制定工程进度表 软件开发时期: 1.总体设计 2.详细设计 3.编码和单元测试 4.综合测试 软件维护时期: 1.当软件在使用过程中发现错误时应该加以改正 2.当环境改变时应该修改软件以适应新的环境 3.当用户有新要求时应该及时改进软件以满足用户的新需要 软件过程 瀑布模型 1.阶段见具有顺序性和依赖性 2.推迟实现的观点 3.质量保证的观点 快速原型模型 增量模型 螺旋模型 喷泉模型 可行性研究 1.技术可行性 2.经济可行性 3.操作可行性 p38系统流程图看看看 p40数据流图看看看 p47数据字典 1.数据流 2.数据流分量 3.数据存储 4.处理 需求分析 需求分析的任务: 1.功能需求 通过需求分析应该划分出系统必须完成的所有功能 2.性能需求 系统必须满足的定时约束或容量约束,通常包括时间、信息量速率、主存储量、磁盘容量、安全性等方面的需求 3.可靠性和可用性需求可靠性需求定量的指定系统的可靠性 4.出错处理需求 5.接口需求 6.约束 7.逆向需求 8.将来可能提出的要求 访谈 正式的和非正式的 分发调查表 情景分析技术 E-R图 总体设计 系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构。 总体设计过程: 1.设想供选择的方案 2.选取合理的方案 3.推荐最佳方案 4.功能分解 5.设计软件结构 6.设计数据库 7.制定测试计划 8.书写文档 9.审查和复审 设计原理 模块化 抽象 逐步求精 信息隐藏和局部化 模块独立 1.耦合 尽量使用数据耦合,少用控制耦合和特征耦合 限制公共环境耦合的范围 完全不用内容耦合 2.内聚 优劣评分:功能内聚 顺序内聚 通信内聚 过程内聚 时间内聚 逻辑内聚 偶然内聚 启发规则 1.改进软件结构提高模块独立性 2.模块规模应该适中 3.深度、宽度、扇出和扇入都应适当 4.模块的作用域应该再控制域应该再控制域之内 P102 层次图和HIPO图 结构图 面向数据流的设计方法 概念:1.变换流 2.事物流 3.设计过程 设计步骤: 1.复查基本系统模型 2.复查并精化数据流图 3.确定数据流图具有变换特性还是事物特性 4.确定输入流和输出流的边界,从而孤立出变换中心 5.完成第一级分解 (①输入信息处理控制模块Ca,协调对所有输入数据的接收 ②变换中心控制模块Ct,管理对内部形式的数据的所有操作 ③输出信息处理模块Ce,协调输出信息的生产过程)6.完成第二级分解(①从变换中心的边界开始逆着输入通路向外移动,把输入通路中每个处理映射成软件结构中Ca控制下的一个底层模块②沿着输出通路向外移动,把输出通路中每个处理映射成直接或间接受模块Ce控制的一个低层模块③把变换中心内的每个处理映射成受Ct控制的一个模块)7.使用设计度量和启发式规则对第一次分割得到的软件结构进一步精化 第六章 全是图。 选择程序设计语言的实用标准:(1)系统用户的要求.(2)可以使用的编译程序(3)可以得到的软件工具.(4)工具规模.(5)程序员的知识.(6)软件可移植性要求.(7)软件的应用领域. 编码的规则:(1)程序内部的文档:恰当的标识符、适当的注解、程序的视觉组织.(2)数据说明.(3)语句构造.(4)输入输出.(5)效率. 软件测试:(1)为了发现程序中的错误而执行程序的过程.(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案.(3)成功的测试是发现了至今为止尚未发现的错误

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档