【软件工程导论】期末复习试题集-精品文档资料整理.docx
《【软件工程导论】期末复习试题集-精品文档资料整理.docx》由会员分享,可在线阅读,更多相关《【软件工程导论】期末复习试题集-精品文档资料整理.docx(20页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、【软件工程导论】期末复习试题集 名词解释 软件工程 软件工程是指导计算机软件开发以及维护的工程学科软件工程的开发模型 软件开发模型是软件开发全部经过、活动以及任务的构造框架。常有瀑布模型、快速模型、增量模型、螺旋模型 它规定了把软件生命周期划分成的阶段及各个阶段的顺序。软件的评价准那么 低耦合高内聚构造图 描绘软件构造的图形工具。模块内聚 衡量一个模块内部的严密程度。模块耦合 衡量模块之间的联络严密程度。软件的设计方法 数据流、数据构造、面向对象。程序的三种根本控制构造的共同特点是 只有一个入口以及一个出口。常用的软件开发模型有 瀑布模型、快速原型、螺旋模型、增量模型软件的生存周期 从形成开发
2、软件概念起 所开发的软件使用之后 直到失去使用价值 到消失的整个经过。等价类 类中每一个值在测试中的作用与这一类的所有其它值的作用一样。原型化方法适用于 局部清楚、要求模糊 的系统。模块的独立性 模块内部各局部及模块间的关系的一种衡量标准 由内聚以及耦合来度量。断定 表示复杂条件的组合与应做的动作之间的对应关系。黑盒测试 通过测试来检测是否每个功能都正常使用 也称功能测试。典型 黑匣子 它根据外部功能。白盒测试 通过分析程序的内部逻辑来设计测试用例的方法。 根据程序的内部逻辑。从系统设计的角度出发 软件设计方法分为 数据流 数据构造 面向对象 。总体设计阶段所使用的表示工具有 层次图、HIPO
3、图、构造图。详细设计的根本目的是 是确定应该如何详细地实现所要求的系统。详细设计的工具有 图形工具、表格工具、语言工具。系统流程图 系统流程图是描绘物理系统的传统工具 用图形符号来表示系统中的各个元素 表达了系统中各个元素之间的信息流动的情况。数据字典 数据字典(Data Dictionary简称DD)就是对数据流图中包含的所有元素的定义的集合。它以及数据流图共同构成了系统的逻辑模型。数据流图(DFD) 数据流图 简称DFD 是SA方法中用于表示系统逻辑模型的一种工具 它以图形的方式描绘数据在系统中流动以及处理的经过 由于它只反映系统必须完成的逻辑功能 所以它是一种功能模型。模块 在程序中是数
4、据讲明、可执行语句等程序对象的集合 或是单独命名以及编址的元素 在软件的体系构造中 模块是可组合、分解以及更换的单元。控制耦合 控制耦合指一个模块调用另一个模块时传递的是控制变量(如开关、标志等) 被调模块通过该控制变量的值有选择地执行块内某一功能。标记耦合 是指一个模块调用另一个模块时 不是传送数据本身 而是传送存放数据的变量名或者文件名 这些是数据的标记 故称标记耦合。内聚性 内聚性指模块的功能强度的度量即一个模块内部各个元素彼此结合的严密程度的度量。单元测试 单元测试指对源程序中每一个程序单元进展测试检查各个模块是否正确实现规定的功能进而发现模块在编码中或者算法中的错误。断定/条件覆盖
5、指设计足够的测试用例使得断定表达式中的每个条件的所有可能取值至少出现一次并使每个断定表达式所有可能的结果也至少出现一次。完善性维护:在软件运行时期中用户往往会对软件提出新的功能要求与性能要求。这种增加软件功能、增强软件性能、进步软件运行效率而进展的维护活动称为完善性维护。工程风险:指工程在预算、进度、人力、资源、顾客以及需求等方面的原因对软件工程产生的不良影响。 简答题 1. 什么是软件工程 包括哪些内容 软件工程是一门研究用工程化方法构建以及维护有效的、实用的以及高质量的软件的学科。它涉及到程序设计语言 数据库 软件开发工具 系统平台 标准 设计形式等方面。在当代社会中 软件应用于多个方面。
6、典型的软件比方有电子邮件 嵌入式系统 人机界面 办公套件 操作系统 编译器 数据库 游戏等。同时 各个行业几乎都有计算机软件的应用 比方工业 农业 银行 航空 政府部门等。这些应用促进了经济以及社会的开展 使得人们的工作更加高效 同时进步了生活质量。 用科学的原理以及理论定义开发 内容 软件开发技术 软件开发管理目的 及时交付 知足用户的功能需求 本钱较低 移植性好 可靠性高 2. 需求分析的任务是什么 一。 确定对系统的综合要求 1.功能需求 2. 性能需求 3. 可靠性以及可用性需求 4. 出错处理需求 5. 接口需求 6. 约束 7. 逆向需求 8. 将来可能提出的要求。 二 。分析系统
7、的数据要求 任何一个软件系统本质上都是信息处理系统 系统必须处理的信息以及系统应该产生的信息在很大程度上决定了系统的相貌 对软件设计有深远影响 因此 必须分析系统的数据要求 这是软件需求分析的一个重要任务。 三。 导出系统的逻辑模型 综合上述两项分析的结果可以导出系统的详细的逻辑模型 通常用数据流图、实体-联络图、状态转换图、数据字典以及主要的处理算法描绘这个逻辑模型。 四。 修正系统开发方案 根据在分析经过中获得的对系统的更深化更详细的解析 可以比拟准确地估计系统的本钱以及进度 修正以前制定的开发方案。 开发人员准备的理解用户的需求 并进展细致的调查分析 将用户非形式的需求陈述转化为完好的需
8、求定义 再由需求定义转换到相应的需求规格讲明经过。 根本任务 问题识别 双发确定对问题的综合需求这些包括功能需求 性能需求 环境需求 用户界面需求。分析与综合 导出软件的逻辑模型编写文档 包括需求规格讲明书 初步用户使用手册 确信测试方案。 3. 数据流图有哪几种根本符号 并详细画出 箭头表示数据流 圆圈表示加工 双模横线表示存储 方框表示数据的原点以及终点。 4. 软件测试以及调试的区别是什么 软件测试是测试人员以及程序员都介入的一项工作 是贯穿整个生命周期的用于发现错误软件调试主要是程序员自己介入 对程序 设计、编码 进展修改、排除错误 主要在开发阶段。 (1) 测试从一个侧面证明程序员的
9、失败 调试证明程序员的正确 (2) 测试从已知条件开场 使用预先定义的程序 且有预知的结果 不可预见的仅是程序是否通过测试 调试从不可知内部条件开场 除统计性调试外 结果是不可预见的 (3) 测试有方案并且要进展测试设计 调试不受时间约束 (4) 测试是发现错误、改正错误、重新测试的经过 调试是一个推理的经过 (5) 测试执行是有规程的 调试执行要求程序员进展必要的推理 (6) 测试由独立的测试组在不解析软件设计的件下完成 调试由解析详细设计的程序员完成 (7) 大多数测试的执行以及设计可由工具支持 调试用的工具主要是调试器。 5. 讲明软件维护的经过 1、维护组织 2、维护报告 3、维护的事
10、件流 4、保存维护记录 5、评价维护活动。 软件维护的含义是什么 什么是软件的可维护性 决定软件可维护性的因素是什么 所谓软件维护是指在软件已经交付使用之后 为了改正错误或者知足新的需要而修改软件的经过。软件维护是软件生命周期的最后一个阶段 也是持续时间最长代价最大的一个阶段。 软件的可维护性可以定义为 维护人员理解、改正以及改动软件的难易程度。 决定软件可维护性的因素是可理解性、可测试性以及可修改性。 6. 什么是软件危机 产生软件危机的原因 如何消除 软件危机是指软件在开发以及维护经过中遇到的一系统严重问题 主要包含二方面的问题 一是怎样开发利用软件 二是怎样维护数量不断膨胀的已有软件。
11、产生软件危机的原因 一方面与软件本身的特点有关 另一方面以及软件开发与维护的方法不正确有关。 为了消除软件危机 首先应该对计算机软件有一个正确的认识 更重要的是必须充分认识到软件开发不是个体劳动的神秘技巧 而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程工程 应该开发以及使用更好的软件工具 总之 为解析决软件危机 既要有技术措施 又要有必要的组织管理措施。 7. 软件开发模型有几种 各有什么特点 瀑布模型 阶段间具有顺序性以及依赖性 推延实现的观点 质量保证的观点。快速原型模型 软件产品的开发根本上是线性顺序进展的。增量模型 能在较短时间内向用户提交可完成局部工作的产品 逐步增
12、加产品功能可以使用户有较充裕的时间学习以及适应新产品。螺旋模型 减少太多测试或者测试缺乏所带来的风险 在维护以及开发之间没有本质区别喷泉模型 典型的面向对象的软件经过模型之一 1 边做边改模型 一种类似作坊的开发方式 2 瀑布模型 强调文档的使用 并要求每个阶段都仔细验证 3 快速原模型 克制了瀑布模型的特点 减少由于软件需求不明确带来的开发风险 4 增量模型 高强的灵敏性 5 螺旋模型 强调风险分析 6 喷泉模型 有更多增量以及迭代性质 7 智能模型 8. 软件测试有几种方法 每种方法的特点是什么 单元测试 在模块接口、部分数据构造、重要的执行通路、出错处理通路、边界条件5个方面来对模块进展
13、测试。集成测试 是测试以及组装软件的系统化技术可分为自顶向下以及自底向上两种集成策略确认测试 验证软件的有效性。白盒测试 也称构造测试 检验程序中的每条通路是否都能按预定要求正确工作。黑盒测试 也称功能测试 检测是否每个功能都能正常使用。 9. 什么是软件的可维护性 决定软件可维护性的因素是什么 维护人员理解、改正、改动或者改良这个软件的难易程度。可理解性、可测试性、可修改性、可移植性、可重用性. 10. 软件测试的根本任务是什么 测试与调试区别是什么 尽可能多地发现并排除软件中潜藏的错误 最终把一个高质量的软件系统交给用户使用。软件测试是软件测试人员以及程序员都介入的一项工作 是贯穿整个生命
14、周期的 只需要发现软件的错误 而软件调试主要是程序员自己介入 对程序 设计、编码 进展修改、排除错误 主要是在开发阶段。 根本任务 根据软件开发各阶段的文档资料 程序的内部构造 精心设计一组高序的测试用例 利用这些用例执行程序 找出软件潜在的缺陷。软件测试是检验程序是否有错误 调试是发现错误的位置、原因一级改良错误等 软件调试是发生在测试之后的步骤。 简述软件测试的步骤 扼要讲明各测试步骤的目的。 软件系统的测试根本上由以下几个步骤组成 模块 单元 测试 目的是保证第个模块作为一个单元能正确执行。 子系统测试 目的是把经过单元测试的模块放在一起形成一个子系统 测试模块互相间的协调以及通信。 系
15、统测试 在这个经过中不仅应该发现设计以及编码的错误 还应该验证系统确实能提供需求讲明书中指定的功能 而且系统的动态特性也符合要求。 验收测试 目的是验证系统确实可以知足用户的要求。 平行运行 目的是用户能在准消费环境下熟悉系统、验证文档、负荷测试以及验证系统性能指标。 11. 软件的生存周期的概念 从形成软件概念起 所开发的软件使用之后 直到失去使用价值 消失为止的整个经过。 整个时期有 软件的定义时期 问题的定义、可行性研究、需求分析 开发时期 总体设计、详细设计、编码以及单元测试、综合测试。 维护时期 使软件持久的知足用户的需求。 12. 软件工程的根本原那么以及目的 原那么 用分阶段的生
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程导论 软件工程 导论 期末 复习 试题 精品 文档 资料 整理
限制150内