软件工程知识点答案课案

上传人:我** 文档编号:114723149 上传时间:2019-11-12 格式:DOCX 页数:12 大小:40.97KB
返回 下载 相关 举报
软件工程知识点答案课案_第1页
第1页 / 共12页
软件工程知识点答案课案_第2页
第2页 / 共12页
软件工程知识点答案课案_第3页
第3页 / 共12页
软件工程知识点答案课案_第4页
第4页 / 共12页
软件工程知识点答案课案_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《软件工程知识点答案课案》由会员分享,可在线阅读,更多相关《软件工程知识点答案课案(12页珍藏版)》请在金锄头文库上搜索。

1、计算机软件发展的3个时期及其特点 时间特点程序设计程序系统软件工程软件所指程序程序及说明书程序,文档,数据主要程序设计语言汇编及机器语言高级语言软件语言软件工作范围程序编写包括设计和测试软件生存期需求者程序设计本人少数用户市场用户开发软件的组织个人开发小组开发小组及大中型开发机构软件规模小型中小型大中小型决定质量的因素个人程序技术小组技术水平管理水平开发子程序,程序库结构化程序设计数据库,开发工具,开发环境。工程化开发方法,标准和规范,网络和分布式开发,面向对象技术维护责任者程序设计者开发小组专职维护人员硬件特征价格高 存储容量小 工作可靠性差降价 速度 容量及工作可靠性有明显提高大容量 模型

2、化及网络化方向发展软件特征完全不受重视软件技术的发展不能满足需求,出现软件危机开发技术有进步2.软件工程的定义软件工程的定义:采用工程的概念、原理、技术和方法来计划、开发与维护软件,把经过 时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结 合起来,以较经济的手段获得能在实际机器上运行的可靠软件的一系列方法。 软件工程=工程技术+管理技术+技术方法3.软件开发方法的模型随意编程 面向过程 面向对象 面向组件 面向配置文件 面向WebService4.软件危机定义:是计算机 软件在它的开发和维护过程中所遇到的一系列严重问题5.软件危机主要包含问题: 如何开发软件,怎样满足对软件日益增长

3、的需求; 如何维护数量不断膨胀的已有软件。6.软件危机的原因:客观:软件本身特点(软件的规模庞大、复杂性高) 主观:不正确的开发方法,软件开发和维护有许多错误的认识和作法。 (忽视需求分析;软件开发=程序编写;轻视软件维护)7.软件危机的特征:软件价格在整个项目投入中的比例不断升高 软件开发成本严重超标 软件开发周期大大超过规定日期 软件质量难于保证 软件修改,维护困难 失败的根本原因在于:开发人员写出的东西达不到用户要求(人的问题 技术问题) 8.软件工程的原理: 用分阶段的生命周期计划严格管理 不成功的软件项目中有一半左右是由于计划不周造成的 。 坚持进行阶段评审 软件的质量保证工作不能等

4、到编码阶段结束之后再进行。 实行严格的产品控制 在软件开发过程中不应随意改变需求,因为改变一项需求往往需要付出较高的代价。 采用现代程序设计技术 采用先进的技术既可提高软件开发的效率,又可提高软件维护的效率。 结果应能清楚地审查根据软件开发项目的总目标及完成期限,规定开发组织的责任和产品标准,从而使得所得到的结果能够清楚地审查。 开发小组的人员应该少而精 承认不断改进软件工程实践的必要性不仅要积极主动地采纳新的软件技术,而且要注意不断总结经验。9.软件生命周期:软件定义,软件开发和运行维护10.常用的软件生存周期模型有瀑布模型,演化模型,螺旋模型,增量模型,喷泉模型,快速应用开发( RAD )

5、模型。11.软件过程分类及各类内容:基本过程:生命周期原动力 支持过程:辅助基本过程执行 组织过程:建立控制和改进生命周期过程12. 软件过程的构造: 建立一个公共过程框架,其中定义了少量可用于所有软件项目的框架活动 给出各个活动的任务集合,使得框架活动能够活动能够适合于项目的特点和项目组的需求 保护伞活动,如软件质量保证等,它们独立于任何一个框架活动并将贯穿于整个过程13.软件工程包括三要素:方法、工具和过程。 14.软件工程过程的基本活动 软件规格说明:规定软件的功能及其运行的限制; 软件开发:产生满足规格说明的软件; 软件确认:确认软件能够完成客户提出的要求; 软件改进:为满足客户的变更

6、要求,软件必须在使用的过程中改进。15软件工程的原则: 抽象与自顶向下、逐层细化 采用分层抽象的方法,有效控制软件开发的复杂性。 模块化 把问题分解为若干较小的较易解决的模块,有助于信息隐蔽和抽象。 信息隐蔽和数据封装 将模块中的软件设计决策封装在模块内部,使得模 块实现与使用分离,有助于控制修改局部化。抽象与自顶向下、逐层细化 局部化 在一个物理模块内集中逻辑上相互关联的计算机资源,促使聚合具有 特定目的的事物。 一致性 整个软件系统的模块使用一致的设计策略、编程风格,保持程序内部 接口的一致性、软件与硬件接口的一致性、系统规格说明与系统行为的一致性。 完备性 软件系统中不丢失任何成分。 可

7、验证性 系统分解应当遵循易检查、易测试和易评审的原则,以保证系统的正确性。16. 需求的层次?业务需求;用户需求;功能需求和非功能需求;系统需求17. 信息系统需求获取的步骤? 定义项目的视图和范围 确定用户类 确定目标系统的业务工作流 运用需求获取技术开发反映主要业务规则的用例(或数据流图)并设置优先级。 收集来自用户的质量特性信息和其他非功能需求 分类在用例(或数据流图)中涉及的数据 详细拟订用例(或数据流图)的规格说明 开发并评估界面原型 从功能描述中开发概念测试用例 18. 功能性需求包括什么? 1功能需求 例举出开发软件在职能上应做什么,这是最主要的需求。 2性能需求 给出所开发软件

8、的技术性能指标,包括存储容量限制、运行时间限制、安全保密性等。 3环境需求 软件系统运行时多所处的环境要求。 4可靠性需求 各种软件在运行时,失败的影响各不相同,在需求分析时,应对所开发的软件在投入运行后不发生故障的概率,按实际的运行环境提出的要求。 5安全保密要求 把软件运行的安全需求恰当地做出规定,以便对所开发的软件给予特殊的设计,使其在运行中其安全保密方面的性能得到必要的保证。 6用户界面需求 软件与用户界面的友好性是用户能够方便有效、愉快地使用该软件的关键之一。 7资源使用需求 开发软件运行时所需的数据、软件、内存空间等各项资源。 8软件成本消耗与开发进度需求 软件项目立项后,要根据合

9、同规定,对软件开发的进度和各项步骤的费用提出要求,作为开发管理的依据。 9预先估计系统可能达到的目标 在开发过程中可对系统将来可能的扩充与修改做准备。19. 非功能性需求包括什么? 过程需求;产品需求;外部需求20. 如何将分析模型转换为设计?将数据流图转换为体系结构设计21. 软件设计的主要手段设计应遵循抽象化的原则,包含数据抽象和过程抽象。 过程抽象 是指在软件设计中将处理过程的实现细节隐藏在数据抽象中,可 以直接通过模块接口使用这些处理操作。 数据抽象 是指采用抽象数据类型表示数据,实现数据封装,使得使用者可通 过接口使用数据而不必关心数据结构的实现。设计应遵循自顶向下、逐步细化的原则,

10、建立一个层次的结构。设计应当遵循模块化的原则设计应遵循信息隐蔽的原则22. 衡量功能独立性的两个准则?模块间的耦合和模块的内聚23. 结构化设计方法的实施要点? 首先研究、分析和审查数据流图 根据数据流图确定数据处理的类型 由数据流图推导出系统的初始结构图。 利用一些启发式原则改进系统初始结构图,直到得到符合要求的结构图为止。 修改和补充数据字典。 制定测试计划。24.结构图的主要成分?模块;模块的调用关系和接口;模块间的信息传递;重复调用和选择调用的符号25.结构图中的4种类型的模块?传人模块;传出模块;变换模块;协调模块26.使用结构化方法进行软件系统设计的过程?复查并改造数据流图;确定数

11、据流图具有交换流特性还是事务流特性;导出初始的软件结构图;逐级分解;改进软件结构;导出接口描述和全局数据结构。27. 改进系统结构的启发式原则?模块功能的完善化;消除重复功能,改善软件结构;模块的作用范围应在控制范围之内;尽可能减少高扇出结构,随着控制层次深度的增大增加扇入;减少或者避免使用病态连接;模块的大小是适中;设计功能可预测的模块,避免过分受限的模块;软件包应满足设计的约束和可移植性28软件开发的4个阶段:状态捕获,问题定义,技术开发,方案综合 29数据设计的原则? 为在需求分析阶段所确定的数据对象选择逻辑表示,需要对不同结构进行算法分析 确定对逻辑数据结构所必需的那些操作的程序模块(

12、软件包),以便限制或确定各个 数据设计决策的影响范围。30内聚类型?功能内聚;层内聚;通信内聚;顺序内聚;过程内聚;时间内聚;实用程序内聚31举例说明如何实现程序的自顶向下?32程序设计的风格? 源程序文档化 数据说明 语句结构 输入/输出方法33在语句结构中需要注意什么?(315)尽量只采用三种基本的控制结构来编写程序在一行内只写一条语句,并且采用适当的移行格式,使程序的逻辑和功能变得更加明确。在一行内写多个语句,会使程序可读性变差,因而不可取程序编写首先应考虑清晰性,不要刻意追求技巧性,使程序编写得过于紧凑34什么是软件测试?目的是什么?从用户的角度出发,普边希望通过软件测试暴露软件中隐藏

13、的错误和缺陷从软件开发者角度出发,希望测试称为表明软件产品中不存在错误的过程35软件测试的原则?软件测试原则: 1.应当把“今早的和不断的进行软件测试”作为软件开发者的座右铭 2.测试用例应由测试输入数据,执行条件对应的预期输出结果组成 3.程序员应当避免检查自己的程序 4.再设计测试软件时,应当包括合理的输入条件和不合理的输入条件 5.充分注意测试中的集群现象 6.严格执行测试计划,排除测试的随意性 7.应对每一个测试结果做全面检查 8.妥善保存测试计、测试用例、出错统计和最终分析报告。为维护提供方便。36软件测试与程序设计之间的区别?软件测试并不等于程序测试软件测试贯穿于软件定义与开发的整个期间程序测试只涉及到编码阶段37基本路径测试的步骤?1.基本流经测试方法把覆盖的路径压缩到一

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号