《软件工程导论》期末思考题解答.doc

上传人:丁** 文档编号:4181654 上传时间:2019-10-02 格式:DOC 页数:9 大小:83.50KB
下载 相关 举报
《软件工程导论》期末思考题解答.doc_第1页
第1页 / 共9页
《软件工程导论》期末思考题解答.doc_第2页
第2页 / 共9页
《软件工程导论》期末思考题解答.doc_第3页
第3页 / 共9页
《软件工程导论》期末思考题解答.doc_第4页
第4页 / 共9页
《软件工程导论》期末思考题解答.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、软件工程期末思考题 (计算机科学与技术专业) 1. 什么是软件?软件的特点有哪些? 概念:软件是产品,由满足一定要求的,具有可用性、可靠性的程序系统和与之相匹 配的文档资料所组成。 特点:不可见(难以管理、控制开发过程) 、不磨损、难维护(维护即修改原有设计) 、 复杂(复杂性随规模指数增加) 、开发而成、手工定做、成本高。 2. 什么是软件危机?软件危机的表现是什么? 是指:软件开发、维护过程中遇到的一系列严重问题。 如何开发软件,以满足对软件日益增长的需求。 如何维护数量不断膨胀的已有软件。 表现:估、满、靠、维、文、比、率。 开发成本、进度估计不准确。 用户对“已完成”的软件不满意。 质

2、量不可靠。 不可维护。 没有适当文档资料。 软件成本在计算机系统总成本中所占的比例逐年上升。 软件开发生产率提高速度跟不上计算机普及速度。 3. 软件危机产生的原因是什么? 原因: 软件自身特点:不可见(难以管理、控制开发过程) 、难维护(维护即修改 原有设计) 、规模大(复杂性随规模指数增加) 。 软件开发、维护方法不正确:忽视需求分析(定义时期) 、轻视软件维护。 4. 什么是软件工程?软件工程的基本内容有哪两个方面? 概念:采用工程的概念、原理、技术和方法来开发与维护软件,把正确的管理和最好 的技术结合起来,以经济地开发出高质量的软件并有效地维护它。 两方面:管理(开发、经济) 、技术(

3、方法、工具、过程) 5. 软件工程三个要素是什么? 方法:开发技术方法。 工具:为运用方法提供的支撑环境。 过程:任务框架、工作步骤。 6. 你知道的软件工程过程模型有哪些? 瀑布模型 原型模型 螺旋模型 迭代模型 7. 什么是软件生命周期?它有哪几个阶段? 概念:软件从定义、开发、使用和维护,知道被废弃的过程。 阶段:定、性、需、概、详、变蛋、综、维 1) 问题定义 2) 可行性研究 3) 需求分析 4) 总体设计 5) 详细设计 6) 编码和单元测试 7) 综合测试 8) 软件维护 8. 可行性研究的任务是什么? 了解客户的要求及现实环境,从技术、经济和社会因素等三方面研究并论证本软件项

4、目的可行性,编写可行性研究报告,制定初步项目开发计划。 9. 需求包括的内容有哪些? 业务 功能 性能 环境 界面 用户或人的因素 文档 数据 资源 安全保密 软件成本消耗与开发进度 质量保证 10. 需求分析的步骤 1) 需求获取:双方确定对问题的综合需求。 2) 分析与综合:导出软件的逻辑模型。 3) 书写文档。 4) 需求分析评审。 11. 什么是业务模型 定义系统的操作流程 12. 什么是功能模型 定义系统的功能、性能、接口、界面等 13. 什么是 DFD,它包括几种基本符号?其作用是什么? DFD:数据流图 是描述数据处理的工具。从数据传输和加工的角度,以图形的方式刻画数据流 从输入

5、到输出的移动变换过程 是一种功能模型 符号: 方框:数据源/终点 圆角框:数据处理 双横线:数据存储 有向线:数据流 作用:作为交流信息、分析和设计的工具。 14. 画出你所做项目的 0 层数据流图 15. 画出你所做项目的 1 层数据流图 16. 说出画数据流图的原则,至少 5 条 数据流图上所有符号只限于四种基本图形元素 主图必须包括四种基本元素,缺一不可 每个加工至少有一个输入数据流和一个输出数据流 每个数据流都应有与相联系的加工 数据文件必须既有读操作,也有写操作 需按层给加工编号(但不表示先后顺序) , 任何一个子图必须与它上一层的一个加工对应,二者的输入数据流和输出数据流 必须一致

6、 图上每个元素都必须有名字 数据流图中不可夹带控制流(这与程序流程图有本质区别) 17. 什么是数据字典,它与 DFD 有什么关系 是关于数据信息的集合,它对数据流图中的各个元素作完整的定义与说明,是数据流 图的补充工具。 18. 需求分析阶段产生的主要文档? 软件需求规格说明书:对已确定的需求进行清晰准确的描述的文档 初步的用户手册:反映用户界面和用户使用的具体要求 确认测试计划:将来验收的依据 19. 什么是软件概要设计,该阶段的基本任务是什么? 概念:概括地回答“怎样实现目标系统” 任务: 1) 设计软件系统结构(软件结构 ) 2) 用户界面及数据库设计 3) 编写概要设计文档 a) 概

7、要设计说明书 b) 数据库设计说明书 c) 用户手册 d) 修订测试计划。 4) 评审 20. 概要设计包括哪些内容? 体系结构设计 模块设计 用户界面设计 数据库设计 21. 什么是模块独立性?衡量模块独立程度的标准是什么? 概念:使每个模块完成一个相对独立的特定子功能,并且和其他模块之间的关系很简 单。 标准: 耦合:衡量不同模块间互相依赖的紧密程度 内聚:衡量一个模块内部个元素彼此结合的紧密程度 22. 什么是耦合,包括哪些种类? 概念:衡量不同模块间互相依赖的紧密程度 种类:紧密 XX、松散 XX、无 XX 23. 什么是内聚,包括哪些种类? 概念:衡量一个模块内部个元素彼此结合的紧密

8、程度 种类: 偶然内聚 逻辑内聚 时间内聚 过程内聚 通信内聚 信息内聚 功能内聚 24. 简述软件结构优化的启发原则。 提高模块独立性 模块规模适中 适当选择深度、宽度、扇出和扇入 模块的作用域应该在控制域之内 降低模块接口的复杂程度 设计单入口单出口的模块 模块功能可以预测 25. 画出你所做项目的软件结构图 26. 画出你所做项目的软件 ER 图 27. 用户界面设计准则有哪些? 适合于功能 容易理解(无误、提示信息) 一致性(风格、术语、步骤、动作) 减少记忆负担 及时反馈 出错处理 适应各种用户(初学者/专家、色盲等) 国际化(图标、语言、单位、日期格式等) 个性化(与众不同、记忆深

9、刻) 布局合理(行列对齐、尺寸合理、缩放正常) 色彩和谐 28. 概要设计阶段产生的主要文档? 概要设计说明书 数据库设计说明书 用户手册 修订测试计划 29. 什么是详细设计?内容? 概念:说明“应该怎样具体地实现这个系统” 内容:数据结构与算法设计 30. 描述算法的工具有哪些? 图形工具 程序流程图 盒图(N_S 图) PAD 图 HIPO 图 表格工具 判定表 语言工具 过程设计语言(PDL) 31. 说说程序流程图的优缺点 优点: 对控制流程的描绘直观。 缺点 不是逐步求精的好工具,诱使程序员过早地考虑程序的控制流程,而不去考 虑程序的全局结构。 图中的箭头代表控制流,因此程序员不受

10、约束,可随意转移控制。 不易表示数据结构 32. 详细设计阶段产生的主要文档? 详细设计说明书 33. 你认为编码时要注意的问题有哪些? 编码风格 程序效率 编程安全 34. 什么是软件测试? 软件开发过程必须伴有质量保证活动。 软件测试是软件质量保证的关键元素,代表了规约、设计和编码的最终检查。 35. 应该由谁去测试? 应由独立的第三方来构造测试(开发和测试队伍分别建立) 。 36. 软件测试的目标是什么?软件调试的目的是什么? 测试目标:发现错误,证明程序有错,而不是证明程序无错。 调试目的:确定错误的位置、性质并纠正。 37. 什么是白盒测试,设计白盒测试方案的技术是什么? 概念:又称

11、结构测试、玻璃盒测试、基于覆盖的测试。模块的内部逻辑对测试者是可 见的。检查程序中的每条通路是否都能按预定要求正确工作。 技术:逻辑覆盖法:有选择地执行程序中某些最有代表性的通路 38. 白盒测试的逻辑覆盖有几种? 语句覆盖 判定覆盖 条件覆盖 判定/条件覆盖 条件组合覆盖 点覆盖 边覆盖 路径覆盖 39. 什么是黑盒测试,黑盒测试的主要方法是什么? 概念:又称功能测试、数据驱动测试、基于规格说明书的测试。不考虑模块内部的逻 辑结构和内部特性。检查程序的功能是否符合功能说明。 方法: 等价类划分 边界值分析 错误推测 40. 软件测试的步骤是什么? 1) 单元测试 2) 集成测试 3) 确认测

12、试 4) 系统测试 41. 什么是单元测试?测试哪些内容? 概念: 把一个模块作为独立的程序单元进行测试,主要测试单元是否符合“设计” 。 一般由开发小组采用白盒方式来测试,以路径覆盖为最佳测试准则。 针对的程序规模小,易于查错,易于定位错误,易于排错,可多模块并行测 试。 内容: 模块接口 错误处理 局部数据结构 重要执行路径 边界条件 42. 什么是集成测试?集成测试的目标是什么? 概念:将已通过彻底测试的模块按设计要求组装起来,同时进行测试。一般由开发小 组采用白盒加黑盒的方式来测试。 目标:发现与接口有关的问题 数据穿过接口是否可能丢失 一个模块对另一个模块可能造成有害影响 把子功能结

13、合起来可能不能产生预期的主功能 误差积累到不能接受的程度 全程数据结构可能有问题 43. 什么是确认测试? 概念:验证软件的功能和性能及其它特性是否与用户的需求一致(根据需求规格说明 书) 44. 有了“黑盒” 测试为什么还要“ 白盒”测试? 黑盒测试只能观察外部表现,即使软件的输入输出正确,不能说明软件正确。因 为程序可能用错误的运算方式得出正确的结果,例如“负负得正,错错得对” ,只 有白盒测试才能发现真正的原因。 白盒测试能发现程序里的隐患,象内存泄漏、误差累计问题。在这方面,黑盒测 试存在严重的不足。 45. 软件系统的主要测试内容有哪些? 接口与路径测试 功能测试 健壮性测试 性能测

14、试 用户界面测试 信息安全测试 压力测试 可靠性测试 安装/反安装测试 46. 什么是测试用例?包括什么内容? 内容: 应输入的测试数据 预期的输出结果 47. 你对你所做项目作了什么测试?举例说明。 白盒测试 黑盒测试 48. 什么是对象、类、继承、封装、多态? 对象: 是组成客观世界的实体 是由描述该对象属性的数据和对这些数据施加的所有操作封装在一起构成的 统一体 类: 具有相同数据和相同操作的一组相似对象 类是对象的定义 一个对象是类的实例 继承:子类自动地共享基类中定义的数据和方法 封装:当一个对象执行自己的操作时,它对外界隐藏了操作细节 多态:可使用一个消息引发执行不同对象的操作从而实现不同的功能 49. 什么是 UML? 统一建模语言(Unify Modeing Language 简称 UML) 通常使用 UML 提供的类图来建立对象模型。 50. 软件维护的四类活动是什么? 改正性维护 适应性维护 扩充与完善性维护 预防性维护 51. 什么是 CMMI? CMM(软件能力成熟度模型:Capability Maturity Model For Software) 概念:是一套融合多学科的、可扩充的产品集合,同时也是工程实践与管理方法

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

当前位置:首页 > 教育教学资料库 > 试题真题

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。