资讯详情

软件工程概论(第3版)-郑仁杰 【期末复习题库】

📅 2026/9/15 10:38:13 | 华诺云谱 👁 阅读
软件工程概论(第3版)-郑仁杰 【期末复习题库】
1.什么是软件软件按功能划分可划分哪几类答软件是计算机系统中和硬件相互依存的另一部分包括程序数据和文档的完整集合。软件可以分为系统软件、支撑软件、应用软件、可复用软件。2.什么是软件危机软件危机的表现是什么其产生原因是什么答软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求从而导致软件开发与维护过程中出现一系列严重问题的现象。软件危机的表现主要包括项目超时或超预算质量低下无法满足需求可维护性差维护成本高软件缺陷频繁出现安全漏洞存在软件危机的产生原因主要包括软件复杂度的不断提高软件开发需求变化频繁工程化的软件开发方法不够成熟缺乏良好的软件工程规范和流程技术人员的专业素质参差不齐缺乏有效的沟通和协作机制3.什么是软件生存周期把软件生存周期划分为阶段的目的是什么一个软件从开始计划起到废弃不用止称为软件的生存周期。把整个生命周期划分为多个阶段给每个阶段赋予确定而有限的任务能够简化每一步的工作内容。使用因为软件规模增长而大大增加了的软件复杂性变得较易控制和管理。4.软件生命周期一般划分为几个阶段一般可分为可行性分析阶段、需求分析阶段、软件设计阶段、软件编码阶段、软件测试阶段、软件维护阶段。5.软件过程模型有哪些它们的特点是什么一、瀑布模型 特点:简单、分阶段、阶段间存在因果关系各阶段完成后都有评审允许反馈 不支持用户参与要求预先确定需求。二、快速原型模型 特点:不要求需求预先完备定义支持用户参与支持需求的渐进式完善和确认能够适应用户需求的变化。三、增量模型 特点:软件产品是被增量式的一块块开发的允许开发活动并行和重叠。四、迭代模型 特点不要求一次性的开发出完整的软件系统将软件开发是为一个逐步获取用户需求 完善软件产品的过程五、螺旋模型 特点结合瀑布模型、快速原型模型、增量模型和迭代模型的思想【应引进了风险分析活动】六、统一过程模型 特点可以改造拓展和裁减可以对它进行设计开发维护和发布 强调迭代开发6.可行性研究的目的是什么可以从哪些方面来考虑软件开发的可行性可行性研究的目的就是用最小的代价在尽可能短的时间内确定为题是否能够解决。可以从四个方面考虑经济可行性、技术可行性、社会法律可行性、操作可行性7.简述需求分析工作可以分成哪四个方面软件需求分析的基本原则有哪些软件需求分析阶段的工作分为以下四个方面问题识别、分析与建模、需求描述和规格说明、需求确认和评审原则:1.能够表达和理解问题的信息域。2.建立描述系统信息功能和行为的模型3.能够对所建模型按一定形式进行分解 4.分清系统的逻辑视图和物理视图8.设计用户调查问卷的基本原则有哪些至少说出四条1.调查问卷不是考试不适合安排问答题2.无论网上还是线下作答时间不要超过十分钟3.开篇一般放一些简单的不需要思考的问题4.需要思考的较为敏感的问题一般放中间5.有关被访者的信息一般放在最后6.尽可能的覆盖目标群体中的各种类型用户且比例合适9.为什么要设计高内聚 低耦合的模块高内聚低耦合的系统具有更好的重用性、维护性、拓展性可以更高效的完成系统的维护开发 持续的支持业务的发展而不会成为业务发展的障碍10.人机交互设计的基本原则有哪些1.一致性含有一致的术语、一致的步骤、一致的活动2.操作步骤尽量少3.给用户操作足够的提示4.提供恢复和撤销操作的功能5.减少用户的记忆负担6.减少用户学习使用系统的成本11.面向对象方法学的有点有哪些1.与人类习惯的思维方法一致2.具有较高的稳定性3.可重用性好4.适合开发大型软件5.易拓展 可维护性好12.简述面向对象程序设计的原则有哪些至少说出四条1.单一职责原则2.开闭原则3.里氏替换原则4.接口合理原则5.依赖倒置原则6.迪米特原则13.UML图中的活动图、状态基图、顺序图的各自特点是什么顺序图特点1.强调角色之间的交互信息传递很明确2.强调按时间先后顺序发生了什么事情3.不太适合表达复杂的流程活动图特点1.强调每个角色做了什么事以及事情的先后关系2.适合表达各种特殊流程如分支循环状态图特点侧重于表述对象的状态 常用于状态较多的业务对象14.软件测试的基本任务是什么软件测试的基本任务1.制定编写软件测试方案与计划2.编写测试文档测试报告提交测试结果3.测试环境的设计设置。完善测试规范流程 创建和维护测试用例4.改进软件测试流程工具和质量15.说明软件测试和调试有何区别1.性质不同软件测试是用来促进、鉴定软件的正确性、完整性、安全性和质量的过程软件调试泛指重现软件故障定位故障根源并最终解决软件问题的过程2.目的不同测试人员是发现程序中的缺陷调试的任务是定位并解决程序中的问题3.参与者不同测试主要是由测试人员和开发人员来执行黑盒测试主要四测试人员完成 单元/集成测试主要是由开发人员执行调试是由开发人员完成4.执行阶段不同测试贯穿整个软件开发的生命周期测试一般在开发阶段16.软件测试包括哪些步骤说明这些步骤的测试对象是什么1.单元测试测试对象为单元模块2.集成测试测试对象为组装后的程序模块3.确认测试测试对象为可运行的目标软件系统4.系统测试测试对象为计算机系统的各组成部分17.什么是白盒测试什么是黑盒测试白盒测试又叫结构测试主要用于单元测试阶段它的前提是可以把程序看成装在一个透明的白箱子里测试者完全知道程序的结构和处理算法这种方法按照程序内部逻辑设计测试用例 检测程序的主要执行通路是否能够按预定要求正常工作黑盒测试又叫功能测试主要用于集成测试和确认测试阶段它把软件看作一个不透明的黑箱子完全不考虑或不了解软件内部结构和处理算法它只检查软件功能是否能按照软件需说明书的要求正常使用软件是能够适当的接收输入数据并产生正确的输出信息软件运行过程中能否保证外部信息如文章和数据库的完整性18.哪些测试用例设计方法属于白盒测试常用的技术是逻辑覆盖即考察用测试数据运行被测程序时对程序的逻辑覆盖程度主要的覆盖标准有【】语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、组合条件覆盖、路径覆盖19.哪些测试用例设计方法属于黑盒测试等价类划分‘边界值分析、错误推测和因果图20.什么是软件维护软件维护可以分为哪几类软件维护是之软件发布后在其生命周期内对软件进行修改、优化、拓展等工作的过程软件维护通常包括四个方面1.纠正性维护2.适应性维护3.完善性维护4.预防性维护21.使用NS图描述排序算法22.使用PAD图描述排序算法23.简述为什么要使用版本管理工具对源代码进行版本管理常用的源代码版本管理工具有哪些使用版本管理工具有诸多好处1.可以作为数据备份2.可以避免代码版本管理混乱3.可以提高代码质量4.可以提高团队协同开发时的效率5.可以明确团队分工职责6.可以追溯项目中所有内容的变化常用的源代码管理工具有git、svv、gitte、github24.简述软件定义、软件开发和运行维护每个阶段里程碑的提交物是什么可行性研究阶段 提交物可行性分析报告需求分析阶段 提交物需求规格说明书系统设计阶段 提交物软件概要设计和详细设计说明书软件编码阶段 提交物软件项目技术文档源代码清单测试阶段 提交物测试报告软件维护阶段 提交物软件维护说明书25.简述文档在软件工程中的作用1.提高软件开发过程的能见度2.实现对软件开发的工程管理3.提高开发效率4.作为开发人员在一定阶段的工作成果和结束标志5.提供软件运行、维护和培训有关资料6.记录开发过程中有关信息便于协调以后的软件开发的使用和维护7.便于用户了解软件功能性能26.作为软件人你该如何为中华民族伟大复兴做出贡献1.热爱祖国、热爱人民、拥护中国共产党的领导积极相应党的号召2.兢兢业业做好本职工作3.弘扬艰苦奋斗精神和民族精神4.现代国与国的比拼是科学技术的比拼作为软件人要勇于创新解决外国对我国信息技术卡脖子问题5.遵纪守法不做危害国家安全违反公序良俗27.在软件编码过程中如何提高代码的可阅读性1.做好注释和文档2.保持缩进风格一致3.保持命名规则一致4.避免嵌套层数过深5.控制每行的长度6.使用模块化开发合理的封装代码模块28.根据E-R图设计数据库表29.git命令把代码提交本地仓储、把代码提交到远程仓储、把代码从远程仓储上拉取下来1.把代码提交本地仓储git commit --all -m2.把代码提交到远程仓储git push origin master3.把代码从远程仓储上拉取下来git pull origin master30.为什么使用边界值测试答案: 经过长期的测试工作经验表明在输入域边界或边界附近常常会发现大量缺陷。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。