软件工程期末考试复习题
- 格式:docx
- 大小:4.44 MB
- 文档页数:17
软件工程(期末试题及答案)软件工程(期末试题及答案)一、选择题(共20题,每题2分,共40分)1. 在软件工程中,以下哪一项不是七大工程()。
A. 软件需求B. 软件设计C. 软件开发D. 软件维护答案: D2. 软件需求分析的目的是()。
A. 理解用户需求B. 设计软件架构C. 编写用户手册D. 测试软件功能答案: A3. 软件开发过程中的迭代模型,不存在的是()。
A. 瀑布模型B. 敏捷开发模型C. 螺旋模型D. 喷泉模型答案: D4. 以下哪个不是软件测试的目的()。
A. 发现错误和缺陷B. 验证软件是否满足需求C. 评估软件的可靠性和质量D. 优化软件的性能答案: D5. 软件项目管理中,以下哪种方法适用于大型复杂项目()。
A. 瀑布模型B. 敏捷开发C. 增量模型D. 螺旋模型答案: D6. 软件开发生命周期中,以下哪个过程不属于()。
A. 需求分析过程B. 设计过程C. 编码过程D. 运维过程答案: D7. 在软件工程中,什么是软件测试()。
A. 软件开发的最后阶段B. 发现软件缺陷的过程C. 确保软件质量的控制过程D. 软件最终验收的流程答案: C8. 以下哪种测试方法旨在评估软件在不同负载下的性能和稳定性()。
A. 单元测试B. 集成测试C. 系统测试D. 性能测试答案: D9. 软件开发中,以下哪个活动不属于软件配置管理()。
A. 版本控制B. 配置变更控制C. 缺陷管理D. 代码评审答案: D10. 以下哪个是敏捷开发的基本原则()。
A. 面对面交流胜过文档B. 完全按照计划进行C. 精确的需求分析是关键D. 严格的变更控制是必要的答案: A11. 下列哪个不属于软件配置管理的内容()。
A. 变更控制B. 版本控制C. 缺陷管理D. 运维管理12. 软件的可靠性是指()。
A. 软件是否能正常运行B. 软件是否符合用户需求C. 软件运行期间不出现故障的能力D. 软件功能的完善程度答案: C13. 下列哪个不属于软件开发的7大原则()。
软件工程期末考试试卷一、单项选择题(每题2分,共20分)1. 软件工程的主要目标是______。
A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的开发成本D. 减少软件的维护工作量2. 软件需求分析阶段的主要任务是______。
A. 确定软件的功能需求B. 设计软件的数据库结构C. 编写软件的详细设计文档D. 开发软件的原型系统3. 在软件开发过程中,______是最重要的文档。
A. 用户手册B. 需求规格说明书C. 测试计划D. 维护手册4. 软件设计阶段的主要任务是______。
A. 确定软件的总体结构B. 编写软件的详细设计文档C. 设计软件的用户界面D. 编写软件的测试用例5. 软件测试的主要目的是______。
A. 验证软件的功能是否正确B. 验证软件的性能是否满足要求C. 发现并修复软件中的错误D. 确保软件的可靠性和可用性6. 在软件维护中,最常见的维护类型是______。
A. 纠错性维护B. 适应性维护C. 完善性维护D. 预防性维护7. 软件工程中的“软件危机”主要是指______。
A. 软件的开发成本过高B. 软件的开发周期过长C. 软件的质量难以保证D. 软件的维护工作量过大8. 在面向对象的软件开发方法中,______是最基本的概念。
A. 类B. 对象C. 消息D. 封装9. 在软件开发过程中,______是最重要的质量保证活动。
A. 代码审查B. 软件测试C. 需求评审D. 配置管理10. 在软件项目管理中,______是最重要的管理活动。
A. 项目计划B. 项目监控C. 风险管理D. 资源分配二、多项选择题(每题3分,共15分)11. 软件工程的主要原则包括______。
A. 抽象B. 模块化C. 逐步求精D. 客户驱动12. 在软件开发过程中,需求分析阶段的主要任务包括______。
A. 确定软件的功能需求B. 确定软件的非功能需求C. 编写需求规格说明书D. 进行需求评审13. 在软件设计阶段,主要的设计方法包括______。
《软件工程》期末试卷及答案一、选择题(每题2分,共20分)1. 下列哪项不是软件工程的基本目标?A. 提高软件的生产率B. 提高软件的质量C. 减少软件的开发成本D. 提高软件的可维护性答案:D2. 软件工程的三要素不包括以下哪项?A. 方法B. 工具C. 管理模式D. 知识库答案:D3. 下列哪种软件过程模型适用于需求不明确的项目?A. 水平模型B. 增量模型C. 迭代模型D. 瀑布模型答案:C4. 在软件项目管理中,项目经理负责以下哪项工作?A. 软件需求分析B. 软件设计C. 软件编码D. 项目计划与组织答案:D5. 以下哪种编程语言不属于面向对象编程语言?A. JavaB. C++C. PythonD. C答案:D6. 下列哪种软件测试方法属于静态测试?A. 单元测试B. 集成测试C. 系统测试D. 代码审查答案:D7. 以下哪种软件维护类型占总维护工作量的比例最大?A. 适应性维护B. 完善性维护C. 纠错性维护D. 预防性维护答案:C8. 下列哪种软件文档是软件开发过程中必须编写的?A. 项目计划书B. 需求规格说明书C. 设计文档D. 测试报告答案:B9. 下列哪种软件工程方法学强调开发过程的结构化和规范化?A. 结构化分析方法B. 面向对象分析方法C. 原型法D. 敏捷开发方法答案:A10. 以下哪个软件工具不属于CASE(计算机辅助软件工程)工具?A. 代码生成器B. 代码审查工具C. 项目管理工具D. 数据库管理系统答案:D二、填空题(每题2分,共20分)11. 软件工程的基本原则包括抽象、封装、模块化、层次化和信息隐藏等,其中______是一种将信息、数据和操作封装在一起的方法。
答案:封装12. 软件开发过程分为需求分析、设计、编码、测试和维护五个阶段,其中______阶段是软件开发过程中的核心阶段。
答案:设计13. 代码行(LOC)和功能点(FP)是衡量软件规模的两个指标,其中______是一种基于软件功能需求的规模度量方法。
软件工程导论《软件工程》期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪项不是软件工程的基本目标?A. 提高软件的生产率B. 提高软件的可维护性C. 提高软件的性能D. 降低软件的开发成本答案:C2. 下列哪种方法不属于软件需求分析的方法?A. 数据流图(DFD)B. 实体-关系图(ER图)C. 状态转换图D. Petri网答案:D3. 软件设计中,模块的内聚性越高,表明模块的:A. 功能越单一B. 独立性越强C. 复用性越低D. 可维护性越低答案:A4. 在软件测试阶段,下列哪种测试方法不属于黑盒测试?A. 等价类划分B. 边界值分析C. 代码覆盖率分析D. 逻辑覆盖分析答案:D5. 软件项目管理中,项目经理的主要职责不包括以下哪项?A. 制定项目计划B. 管理项目进度C. 组织项目团队D. 编写代码答案:D二、填空题(每题2分,共20分)6. 软件生命周期可以分为______、需求分析、设计、编码、测试、维护等阶段。
答案:需求调研7. 软件工程的三要素是______、过程、方法。
答案:工具8. 在软件设计中,模块的独立性包括______和耦合性两个方面。
答案:内聚性9. 软件测试的目的不包括______。
答案:发现并修复所有错误10. 软件项目管理的主要目标是实现项目的______、质量和成本控制。
答案:进度三、简答题(每题10分,共30分)11. 简述软件工程的基本原则。
答案:软件工程的基本原则包括:(1)抽象:将复杂问题分解为更简单的子问题;(2)分解:将问题分解为多个部分,分别解决;(3)模块化:将软件划分为独立的模块,提高可维护性和复用性;(4)信息隐藏:隐藏模块内部的信息,只暴露必要的接口;(5)一致性:保持软件各部分的一致性,提高可读性;(6)可维护性:使软件易于修改和维护。
12. 简述软件需求分析的目的和任务。
答案:软件需求分析的目的在于明确用户对软件系统的功能、性能等方面的需求。
《软件工程》期末考试题及答案一、选择题(每题2分,共20分)1. 以下哪个不属于软件工程的三个基本活动?A. 软件规格B. 软件设计C. 软件编码D. 软件测试答案:D2. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A3. 以下哪个不属于软件工程的基本原则?A. 分而治之B. 信息隐藏C. 模块化D. 编码规范答案:D4. 以下哪个不是软件工程的四大支柱?A. 软件需求B. 软件设计C. 软件验证D. 软件项目管理答案:C5. 以下哪种软件过程模型是迭代和增量的?A. 瀑布模型B. 快速应用开发C. 敏捷开发D. 原型模型答案:C6. 以下哪个不是软件测试的级别?A. 单元测试B. 集成测试C. 系统测试D. 需求测试答案:D7. 以下哪种软件维护类型是最常见的?A. 更正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:A8. 以下哪个不属于软件项目的风险管理策略?A. 风险避免B. 风险转移C. 风险减轻D. 风险接受答案:B9. 以下哪个不属于软件需求分类?A. 功能需求B. 性能需求C. 可用性需求D. 测试需求答案:D10. 以下哪个不属于软件设计的准则?A. 模块化B. 信息隐藏C. 功能耦合D. 数据抽象答案:C二、填空题(每题2分,共20分)11. 软件工程的主要目标是提高软件的__________和降低软件的__________。
答案:可维护性、成本12. 软件开发的三个基本阶段是:__________、__________、__________。
答案:需求分析、设计、实现13. 软件过程模型分为__________模型和__________模型。
答案:预测性、适应性14. 软件测试的四个基本级别是:__________、__________、__________、__________。
答案:单元测试、集成测试、系统测试、验收测试15. 软件维护的四种类型是:__________、__________、__________、__________。
2023软件工程导论期末考试题库及参考答案一、选择题(每题2分,共20分)1. 以下哪个不是软件工程的三个基本目标?A. 可维护性B. 可用性C. 可靠性D. 高效性参考答案:D2. 软件生命周期中,以下哪个阶段是软件开发过程的核心阶段?A. 需求分析B. 设计C. 编码D. 测试参考答案:C3. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程参考答案:A4. 在软件工程中,以下哪个方法用于估算软件项目的成本和进度?A. COCOMOB. WBSC. SDLCD. CASE参考答案:A5. 以下哪个是软件工程中的一个重要原则?A. 分而治之B. 一次性编写C. 重用D. 模块化参考答案:D6. 以下哪个不是软件工程的基本活动?A. 软件规格B. 软件开发C. 软件验证D. 软件测试参考答案:C7. 以下哪个是软件工程中用于提高软件质量的技术?A. 设计模式B. 重构C. 代码审查D. 单元测试参考答案:C8. 以下哪个不是软件工程的五大基本过程?A. 软件规格B. 软件开发C. 软件维护D. 软件项目管理参考答案:D9. 以下哪个是软件工程中的一个重要概念,用于描述软件系统中的各个组件之间的关系?A. 耦合B. 内聚C. 模块化D. 重用参考答案:A10. 以下哪个是软件工程中的一个重要原则,用于指导软件开发过程?A. 迭代B. 增量C.螺旋D. 模型驱动参考答案:A二、填空题(每题2分,共20分)11. 软件工程的三要素是:方法、工具和______。
参考答案:过程12. 软件生命周期包括:需求分析、设计、编码、______和软件维护。
参考答案:测试13. 软件工程中的面向对象方法包括:封装、继承和______。
参考答案:多态14. 软件工程中的 CASE 工具主要用于支持______。
参考答案:软件设计和开发15. 软件工程中的敏捷开发方法强调______、可维护性和可扩展性。
一、填空题(每空1分, 共20分)1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。
2.按软件旳功能进行划分, 软件可以划分为系统软件、支撑软件和应用软件。
3.可行性研究重要集中在如下四个方面经济可行性、技术可行性、法律可行性和抉择。
4.顾客界面旳可使用性是顾客界面设计最重要旳也是最基本旳目旳。
5.常见旳软件概要设计措施有3大类: 以数据流图为基础构造模块构造旳___构造化设计措施_________, 以数据构造为基础构造模块旳__jackson措施__________, 以对象、类、继承和通信为基础旳__面向对象设计措施__________。
6.__数据流图________和__数据字典___共同构成系统旳逻辑模型。
7.软件测试旳措施有__分析措施________和___非分析措施_______(即黑盒法)。
8.单元测试一般以___白盒_____________测试为主, ___黑盒______测试为辅。
9.成本估计措施重要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。
二、单项选择题(每题2分, 共10分)1.下列哪个阶段不属于软件生存周期旳三大阶段( C )。
A.计划阶段B.开发阶段2. C.编码阶段 D.维护阶段3.需求分析是(A )。
A. 软件开发工作旳基础B. 软件生存周期旳开始C. 由系统分析员单独完毕旳D. 由顾客自己单独完毕旳原型化措施是软件开发中一类常用旳措施, 它与构造化措施相比较, 更需要( B )。
A. 明确旳需求定义B.完整旳生命周期C、较长旳开发时间D、纯熟旳开发人员软件维护时, 对测试阶段未发现旳错误进行测试、诊断、定位、纠错, 直至修改旳回归测试过程称为( A )。
A、改正性维护B、适应性维护C、完善性维护D、防止性维护一般说来, 投入运行旳软件系统中有错误(A )。
软件工程期末试题及答案一、选择题(每题2分,共20分)1. 以下哪项不是软件工程的基本目标?A. 提高软件的生产效率B. 提高软件的质量C. 减少软件的开发成本D. 增加软件的复杂性答案:D2. 下面哪个不属于软件工程的三个主要过程?A. 软件规格B. 软件开发C. 软件测试D. 软件维护答案:A3. 下列哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A4. 以下哪个不属于软件项目的管理活动?A. 项目计划B. 风险管理C. 质量保证D. 软件开发答案:D5. 以下哪个不是软件需求分析的工具?A. 数据流图(DFD)B. 实体关系图(ERD)C. 状态转换图(STD)D. 类图答案:B6. 以下哪个不属于软件设计的原则?A. 模块化B. 抽象C. 封装D. 继承7. 以下哪种测试方法主要用于检测软件的功能是否满足需求?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:C8. 以下哪个不属于软件维护的类型?A. 适应性维护B. 完善性维护C. 纠错性维护D. 预防性维护答案:D9. 以下哪个不属于软件项目管理工具?A. Microsoft ProjectB. JiraC. TrelloD. Visual Studio10. 以下哪个不属于敏捷软件开发的特点?A. 短周期迭代B. 客户参与C. 重构D. 线性开发流程答案:D二、填空题(每题2分,共20分)1. 软件工程的基本目标包括提高软件的生产效率、提高软件的质量和______。
答案:减少软件的开发成本2. 软件工程的三个主要过程分别是软件规格、软件开发和______。
答案:软件维护3. 软件需求分析的主要工具包括数据流图(DFD)、实体关系图(ERD)和______。
答案:状态转换图(STD)4. 软件设计的原则包括模块化、抽象、封装和______。
答案:继承5. 软件测试的四个层次分别是单元测试、集成测试、系统测试和______。
软件工程期末试卷(十套含答案)-CAL-FENGHAI.-(YICAI)-Company One1软件工程期末试题(一)单项选择题1.瀑布模型的存在问题是( B )A.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )A.软件工程B.软件周期C.软件危机D.软件产生3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( B )A.数据、公共、标记、控制B.数据、标记、控制、公共C.控制、数据、标记、公共D.控制、数据、公共、标记4.在SD方法中全面指导模块划分的最重要的原则是( D )A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性5.软件测试的目的是( B )。
A.评价软件的质量 B. 发现软件的错误C.找出软件的所有错误 D. 证明软件是正确的6.在设计测试用例时,( A )是用得最多的一种黑盒测试方法。
A.等价类划分 B. 边界值分析 C. 因果图 D. 判定表7. 需求分析最终结果是产生( B )。
A. 项目开发计划B. 需求规格说明书C. 设计说明书D. 可行性分析报告8. Jackson图中,模块框之间若有直线连接,表示它们之间存在(B )。
A. 调用关系B. 组成关系C. 链接关系D. 顺序执行关系9. 软件详细设计的主要任务是确定每个模块的( C )。
A. 功能B. 外部接口C. 算法和使用的数据结构D. 编程10.为了提高软件的可维护性,在编码阶段应注意( D )A.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格11.设年利率为i,现存入p元,若计复利,n年后可得钱数为(B)A.p﹡(1+i﹡n) B.p﹡(i+1)nC.p﹡(1+i)﹡n D.p﹡(i+n)12.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。
动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是( A )。
软件工程期末试卷(十套含答案)一、选择题(每题1分,共5分)A. 方法论B. 工具C. 过程D. 人员2. 下列哪一项不是软件生命周期的阶段?A. 需求分析B. 设计C. 编码D. 销售与市场A. 瀑布模型B. 喷泉模型C. 增量模型D. 敏捷模型4. 下列哪种方法不是软件需求获取的方法?A. 问卷调查B. 访谈C. 观察D. 编码A. 单一职责原则B. 开放封闭原则C. 里氏替换原则D. 依赖倒置原则二、判断题(每题1分,共5分)1. 软件工程的目标是生产出高质量的软件产品。
(√/×)2. 在软件开发过程中,需求分析阶段是最重要的阶段。
(√/×)3. 软件开发模型只有瀑布模型和喷泉模型两种。
(√/×)4. 在面向对象方法中,类是现实世界中实体的抽象。
(√/×)5. 软件测试的目的是证明软件的正确性。
(√/×)三、填空题(每题1分,共5分)1. 软件工程的三要素包括方法论、工具和______。
2. 软件生命周期包括需求分析、设计、编码、测试和______。
3. 在面向对象方法中,对象是现实世界中实体的______。
4. 软件开发模型包括瀑布模型、喷泉模型、增量模型和______。
5. 软件测试的目的是发现软件中的______。
四、简答题(每题2分,共10分)1. 简述软件工程的目标。
2. 简述软件生命周期的阶段。
3. 简述面向对象方法的基本概念。
4. 简述软件开发模型的作用。
5. 简述软件测试的目的。
五、应用题(每题2分,共10分)1. 假设你是一个软件开发人员,你需要为一个图书馆开发一个图书管理系统。
请列出该系统的需求。
2. 请解释瀑布模型和喷泉模型的区别。
3. 请解释面向对象方法中的继承和多态的概念。
4. 请解释软件测试中的黑盒测试和白盒测试的区别。
5. 请解释软件维护的类型。
六、分析题(每题5分,共10分)1. 假设你是一个软件开发人员,你需要为一个在线购物网站开发一个支付系统。
软件工程必备期末复习题选择题1.软件设计中划分模块的一个准则是( C )。
A 低内聚低耦合B低内聚高耦合C高内聚低耦合D.高内聚高耦合2.( A )是用户和设计交换最频繁的方法。
A、原型化方法B、瀑布模型法C、螺旋模型方法D、构件组装模型3. 试判断下列叙述中,哪个些是正确的( C )。
a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质5.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言( D )A、PASCALB、VISUAL BASICC、C++D、汇编语言6. 软件测试的目的是?( D )A.软件的正确性B.找出软件系统中存在的所有错误C.证明软件系统中存在错误D.尽可能多的发现软件系统中的错误7.使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。
A、程序的内部逻辑B、程序的复杂程度C、该软件的编辑人员D、程序的功能8.软件维护工作的最主要部分是( C )。
A、纠正性维护B、适应性维护C、完善性维护D、预防性维护9.PDL是( B )语言。
A.高级程序设计语言B、伪码式C、中级程序设计语言D、低级程序设计语言10.软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立( C )。
A、软件结构B、软件过程C、软件模型D、软件模块11.在数据流图中,○(椭圆)代表( B )A、数据流B、转换C、数据源D、外部实体12.总体设计目的是确定整个系统的( D )。
A、规模B、测试方案C、费用D、功能及模块结构13. 检查软件产品是否符合需求定义的过程称为( A )。
软件工程期末试题(一)单项选择题1.瀑布模型的存在问题是(B )A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )A.软件工程B.软件周期C.软件危机D.软件产生3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( B )A.数据、公共、标记、控制B.数据、标记、控制、公共C.控制、数据、标记、公共D.控制、数据、公共、标记4.在SD方法中全面指导模块划分的最重要的原则是( D )A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性5.软件测试的目的是( B )。
A.评价软件的质量 B. 发现软件的错误C.找出软件的所有错误 D. 证明软件是正确的6.在设计测试用例时,( A )是用得最多的一种黑盒测试方法。
A.等价类划分 B. 边界值分析 C. 因果图 D. 判定表7. 需求分析最终结果是产生( B )。
A. 项目开发计划B. 需求规格说明书C. 设计说明书D. 可行性分析报告8. Jackson图中,模块框之间若有直线连接,表示它们之间存在(B )。
A. 调用关系B. 组成关系C. 链接关系D. 顺序执行关系9. 软件详细设计的主要任务是确定每个模块的( C )。
A. 功能B. 外部接口C. 算法和使用的数据结构D. 编程10.为了提高软件的可维护性,在编码阶段应注意( D )A.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格11.设年利率为i,现存入p元,若计复利,n年后可得钱数为(B)A.p﹡(1+i﹡n) B.p﹡(i+1)nC.p﹡(1+i)﹡n D.p﹡(i+n)12.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。
动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是(A )。
A .状态图 B. 数据流图 C. 系统结构图 D. 时序图13. 对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。
软件工程-期末考试题(含答案)软件工程-期末考试题(含答案)1. 题目一:软件需求工程软件需求工程是软件开发的重要环节之一,主要包括需求获取、需求分析、需求规格、需求验证等阶段。
在软件开发的整个过程中,需求工程的目标是确保开发出的软件能够满足用户的需求,同时保证软件的质量和可靠性。
1.1 需求获取需求获取是软件需求工程的第一步,它涉及到对用户的需求进行调研和收集。
需求获取的方法可以包括面谈、问卷调查、观察等。
通过与用户的沟通和了解,开发团队可以获取到用户对软件的期望和需求,为后面的分析和规格阶段提供依据。
1.2 需求分析需求分析是对收集到的需求进行认真分析和理解的过程。
在这个阶段,开发团队将准确定义软件所需具备的功能、性能和约束。
通过对需求的分析,可以帮助开发团队更好地理解用户的需求,并将其转化为可执行的任务。
1.3 需求规格需求规格是将需求分析的结果进行详细描述和规范化的过程。
在这个阶段,开发团队需要将需求规格书写成可读、可理解的形式,以便于开发人员进行后续的开发工作。
需求规格书通常包括用例图、类图、时序图等各种工具和技术。
1.4 需求验证需求验证是对需求的正确性和完整性进行验证的过程。
在这个阶段,开发团队需要与用户进行确认,确保所开发的软件能够满足用户的期望和需求。
需求验证也可通过模拟测试、原型验证等方式进行。
2. 题目二:软件设计原则软件设计原则是开发人员编写高质量软件的指导原则,旨在提高软件的可维护性、可扩展性和可重用性。
下面介绍几个常用的软件设计原则。
2.1 单一职责原则单一职责原则(SRP)要求每个类或模块只负责一种功能或职责。
这样可以保持代码的简洁性和可读性,并使得类或模块更加易于维护和扩展。
2.2 开放封闭原则开放封闭原则(OCP)要求软件实体(类、模块、函数等)应该对扩展开放,对修改封闭。
这样可以使得软件设计能够适应需求的变化,而不需要修改原有的代码。
2.3 里氏替换原则里氏替换原则(LSP)要求子类必须能够替换父类,并且不影响程序的正确性。
软件工程期末考试试卷附答案一. 选择题(每题4分,共30题,总分120分)1. 软件工程的目标是什么?A. 提高软件开发效率和质量B. 实现软件系统的功能需求C. 加快软件产品的上市时间D. 增加软件系统的用户体验答案:A2. 软件生命周期模型有哪些?A. 瀑布模型B. 原型模型C. 敏捷开发模型D. 螺旋模型答案:A、B、C、D3. 在软件工程中,需求工程的任务是什么?A. 收集用户需求B. 分析用户需求C. 规划需求开发过程D. 验证和确认需求答案:A、B、C、D4. 软件配置管理是指什么?A. 管理软件的需求变更B. 管理软件的源代码C. 管理软件的版本迭代D. 管理软件的错误修复答案:B、C、D5. 软件测试的目的是什么?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 提高软件的可靠性和质量D. 减少软件开发时间和成本答案:A、B、C6. 软件维护是指什么?A. 修复发现的软件错误B. 优化软件的性能和效率C. 更新软件的功能和特性D. 软件系统的日常管理和支持答案:A、B、C、D7. 软件风险管理包括哪些活动?A. 风险识别和评估B. 风险规避和转移C. 风险监控和控制D. 风险应对和应急处理答案:A、B、C、D8. 软件工程的核心原则是什么?A. 解释性和可行性原则B. 详细性和可测性原则C. 可维护性和可扩展性原则D. 可重复性和可验证性原则答案:B、C、D9. UML(统一建模语言)是用来做什么的?A. 描绘软件系统的静态结构B. 描述软件系统的行为和交互C. 绘制软件系统的数据流程D. 显示软件系统的部署结构答案:A、B、C、D10. 软件工程中的项目管理包括哪些主要过程?A. 项目计划和进度管理B. 项目风险和质量管理C. 项目需求和配置管理D. 项目团队和沟通管理答案:A、B、C、D11. 软件度量是用来做什么的?A. 评估软件产品的质量B. 监控软件开发的进展C. 改进和优化软件工艺D. 比较不同软件的性能答案:A、B、C、D12. 软件工程的伦理问题包括什么?A. 知识产权和版权问题B. 用户隐私和数据保护C. 软件安全和漏洞利用D. 职业道德和责任意识答案:A、B、C、D13. 什么是软件工程的标准?A. 是评估软件工程管理的指标B. 是规定软件开发流程的指南C. 是实现软件质量保证的方法D. 是确保软件安全性的基准答案:B、C14. 软件工程中的团队协作有哪些挑战?A. 沟通和协调不畅B. 人员技能和素质不匹配C. 资源和时间的约束D. 对项目目标和需求理解不一致答案:A、B、C、D15. 关于软件工程的学科范畴,下列说法正确的是:A. 软件工程包括软件开发过程的实施和管理B. 软件工程仅关注软件开发阶段C. 软件工程只涉及编程和代码实现D. 软件工程不包括对用户需求的研究答案:A二. 简答题(每题10分,共5题,总分50分)1. 什么是软件工程?软件工程的基本原理和方法有哪些?答案:软件工程是将工程学原理和方法应用于软件开发的学科,旨在提高软件开发的效率和质量。
国开电大本科《软件工程》期末考试试题及答案一、选择题(每题2分,共20分)1. 软件工程的三要素是:_______A. 软件开发、软件维护、软件管理B. 软件设计、软件编码、软件测试C. 软件需求分析、软件设计、软件开发D. 软件开发、软件项目管理、软件维护答案:B2. 下面哪个不是软件工程的七个基本活动之一?_______A. 软件规格说明B. 软件设计和实现C. 软件验证D. 软件部署答案:D3. 面向对象方法中,下面哪个不是三大基本特征之一?_______A. 封装B. 继承C. 多态D. 模块化答案:D4. 软件需求分析的主要目的是:_______A. 确定软件的功能和性能要求B. 设计软件的结构C. 编写软件的测试用例D. 确定软件的开发计划答案:A5. 下面哪个不属于软件测试的级别?_______A. 单元测试B. 集成测试C. 系统测试D. 需求测试答案:D二、填空题(每题2分,共20分)6. 软件生命周期是指软件从_______到_______的全过程。
答案:需求分析、软件退役7. 结构化分析方法主要包括数据流图(DFD)、_______和_______。
答案:实体关系图(ER图)、状态转换图(STD)8. 在软件设计中,设计模式是一种_______的解决方案,它可以解决软件设计中的常见问题。
答案:通用9. 软件编码阶段的主要任务是编写_______和_______。
答案:源代码、文档10. 软件测试的目的是_______,而不是证明软件是正确的。
答案:发现错误三、简答题(每题5分,共25分)11. 简述软件工程的定义及其目标。
答案:软件工程是一门应用计算机科学、数学及管理科学的方法、技术和工具,来定义、开发和维护软件的学科。
软件工程的目标是提高软件的生产率、提高软件的质量、降低软件的成本。
12. 简述面向对象方法的特点。
答案:面向对象方法具有以下特点:(1)封装:将数据和操作数据的方法封装在一起,形成一个对象。
软件工程复习题(课程代码252258)一、填空题(本大题共60小题)1.数据项是指__不可再分解的___数据单元。
2.软件概要设计的主要任务就是___软件结构的设计___。
3.软件维护的内容包括校正性维持,适应性维护、____完善性维护_____和预防性维护。
4.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和___数据存储对象___。
5.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件。
6.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
7.为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。
8.软件结构是以模块为基础而组成的一种控制层次结构。
9.在结构化分析中,用于描述加工逻辑的主要工具有结构化语言、判定表和判定表三种。
10.软件工程是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
11.PDL是一种介于___自然语言___和形式化语言之间的半形式化语言。
12.从软件的功能角度划分,协助用户开发软件的工具性软件称为_支撑__软件13.消除软件结构中高扇入扇出的做法是______增加中间层次的控制模块_____。
14.如果一个软件系统的全部实际加工都由原子模块来完成,而其他所有非原子模块仅仅执行控制或协调功能,这样的系统就是____完全因子分解_____的系统。
15.软件的可移植性是指当把软件移植到不同的运行环境时,不需改变其__规格___就能照原样工作的特性。
16.为满足用户对软件提出的新的要求而对软件进行扩充、改进的维护称为____完善性__维护。
17.将整个软件划分成若干单独命名和可编址的部分,称之为___模块___。
18.软件需求的____物理视图_____给出处理功能和数据结构的实际表示形式。
19.在面向对象的开发技术中,__类___是一组具有相同数据结构和相同操作的对象的集合。
软件工程期末试题(一)单项选择题1.瀑布模型的存在问题是(B )A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )A.软件工程B.软件周期C.软件危机D.软件产生3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( B )A.数据、公共、标记、控制B.数据、标记、控制、公共C.控制、数据、标记、公共D.控制、数据、公共、标记4.在SD方法中全面指导模块划分的最重要的原则是( D )A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性5.软件测试的目的是( B )。
A.评价软件的质量 B. 发现软件的错误C.找出软件的所有错误 D. 证明软件是正确的6.在设计测试用例时,( A )是用得最多的一种黑盒测试方法。
A.等价类划分 B. 边界值分析 C. 因果图 D. 判定表7. 需求分析最终结果是产生( B )。
A. 项目开发计划B. 需求规格说明书C. 设计说明书D. 可行性分析报告8. Jackson图中,模块框之间若有直线连接,表示它们之间存在(B )。
A. 调用关系B. 组成关系C. 链接关系D. 顺序执行关系9. 软件详细设计的主要任务是确定每个模块的( C )。
A. 功能B. 外部接口C. 算法和使用的数据结构D. 编程10.为了提高软件的可维护性,在编码阶段应注意( D )A.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格11.设年利率为i,现存入p元,若计复利,n年后可得钱数为(B)A.p﹡(1+i﹡n) B.p﹡(i+1)nC.p﹡(1+i)﹡n D.p﹡(i+n)12.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。
动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是(A )。
A .状态图 B. 数据流图 C. 系统结构图 D. 时序图13. 对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。
软件工程期末考试题(含答案)软件工程期末考试题(含答案)一、选择题1. 在软件项目管理中,以下哪个阶段不属于软件开发的基本阶段?A. 需求分析阶段B. 设计阶段C. 开发阶段D. 测试阶段答案:D2. “面向对象”是一种软件系统开发的基本方法论,以下哪个不属于面向对象的特点?A. 封装性B. 继承性C. 多态性D. 并发性答案:D3. 软件开发过程中,以下哪个模型不属于常见的软件开发模型?A. 瀑布模型B. 敏捷模型C. 增量模型D. 螺旋模型答案:D4. 在软件测试中,以下哪个不属于黑箱测试方法?A. 等价类划分测试B. 边界值测试C. 功能性测试D. 白盒测试答案:D二、简答题1. 请简述软件工程的定义和目标。
软件工程是研究和应用工程原理、方法和工具,以开发、维护和管理软件系统的工程学科。
其目标是提高软件开发效率、软件质量和软件项目管理能力,以满足用户的需求。
2. 什么是软件需求工程?请简要阐述软件需求工程的过程。
软件需求工程是指在软件开发过程中,通过系统化的方法和工具,对用户需求进行获取、分析、定义和规格化的过程。
软件需求工程的过程包括以下几个步骤:1) 需求获取:通过与用户沟通、分析用户需求文档等方式,获取用户对软件系统的需求。
2) 需求分析:对获取的需求进行验证、整理和分类,识别出关键需求和优先级,并进行需求的可行性评估。
3) 需求定义:将需求进行详细而准确的描述,包括功能需求、性能需求、界面需求等。
4) 需求规格化:将需求转化为形式化的规格说明,包括用例图、状态图、数据流图等工具。
5) 需求验证:通过与用户或相关人员的确认,验证需求规格是否准确、完整和一致。
三、综合题某公司决定开发一个在线购物系统,你作为软件工程团队的负责人,请围绕该系统的需求分析、设计和测试等方面,给出相应的工作计划。
1. 需求分析阶段:(1) 与项目发起人进行需求讨论,明确系统的功能和性能需求,并进行需求分析和整理,编写需求文档。
软件工程期末考试复习题 Revised by BETTY on December 25,2020《软件工程》选择题一、选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内,每小题1分)软件工程1.软件产品的开发主要是(D )。
A.复制B.再生产C.拷贝D.研制2.作坊式小团体合作生产方式的时代是(C )时代。
A.程序设计B.软件生产自动化C.程序系统D.软件工程3.软件工程与计算机科学性质不同,软件工程着重于(C )。
A.理论研究B.原理探讨C.建造软件系统D.原理的理论4.与计算机科学的理论研究不同,软件工程是一门(C )学科。
A.理论性B.原理性C.工程性D.心理性5.软件工程的出现主要是由于(C )。
A.程序设计方法学的影响B.其它工程科学的影响C. 软件危机的出现?D.计算机的发展6.在项目中,不随参与人数的增加而使软件的生产率增加的主要问题是(D )A、工作阶段间的等待时间B、生产原型的复杂性C、参与人员所需的工作站数D、参与人员之间的通信困难7.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C )A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质8、下列不属于软件工程方法学三要素的是( D ):A、方法B、工具C、过程D、操作周期1.将每个模块的控制结构转换成计算机可接受的程序代码是(A )阶段的任务。
A.编码B.需求分析C.详细设计D.测试2.可行性研究的目的是决定(B )。
A.开发项目B.项目值得开发否C.规划项目D.维护项目3.据国家标准GB8566-8计算机软件开发的规定,软件的开发和维护划分为八个阶段,其中组装测试的计划是在(C )阶段完成的A.可行性研究和计划B.需求分析C.概要设计D.详细设计4、初步用户手册在(B )阶段编写。
A.可行性研究B.需求分析C.软件概要设计D.软件详细设计5. 在软件的可行性研究中,可以从不同的角度对软件的可行性进行研究,其中是从软件的功能可行性角度考虑的是(B )A、经济可行性B、技术可行性C、操作可行性D、法律可行性6. 瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( C )。
A、详细计划B、可行性分析C、运行阶段D、测试与排错7. 研究开发所需要的成本和资源是属于可行性研究中的( B )研究的一方面。
A. 技术可行性B. 经济可行性C. 社会可行性D. 法律可行性8.进行需求分析可使用多种工具,但(C )是不适用的。
A. 数据流图(DFD)B. 判定表C. PAD图D. 数据字典9.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C )。
A、详细设计阶段B、概要设计阶段C、需求分析阶段D、测试和运行阶段10.软件概要设计结束后得到(B )。
A.初始化的软件结构图?B.优化后的软件结构图C.模块详细的算法?D.程序编码11.软件需求说明书是软件需求分析阶段的重要文件,下述哪个(些)是其应包含的内容(D )a.数据描述b.功能描述c.模块描述d.性能描述A. bB. c和dC. a,b和cD. a,b和d12.软件设计中一般将用到图形工具,下列哪种(些)可用作设计的图形工具(C )a.结构图b.实体联系图图d.层次图A、 a和bB、 c和dC、 a,c,dD、全部是软件开发过程中用于( C )阶段的描述工具。
A.需求分析B.概要设计C.详细设计D.编程14.软件需求分析阶段的工作,可以分为四个方面:对问题的识别.分析与综合.编写需求分析文档以及(B )A. 软件的总结B. 需求分析评审C. 阶段性报告D. 以上答案都不正确SA1.SA方法用DFD描述(D ) 。
A.系统的控制流程 B.系统的数据结构C.系统的基本加工 D.系统的功能2.结构化分析(SA)方法将欲开发的软件系统分解为若干基本加工,并对加工进行说明,下述是常用的说明工具,其中便于对加工出现的组合条件的说明工具是(3.A )。
a.结构化语言;b.判定树;c.判定表。
A. b和cB. a,b和cC. a和cD. a和b3、在结构化分析方法中,数据字典是重要的文档。
对加工的描述是数据字典的组成内容之一,常用的加工描述方法(C )。
A.只有结构化语言 B.有结构化语言和判定树C.有结构化语言、判定树和判定表 D.有判定树和判定表4、结构化分析SA方法以数据流图、( D )和加工说明等描述工具,即用直观的图和简洁的语言来描述软系统模型。
A、DFD图B、PAD图C、IPO图D、数据字典5.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后(A )。
A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型C.获得当前系统的物理模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型D.获得当前系统的物理模型,建立当前系统的物理模型,建立目标系统的物理模型6.结构分析方法就是面向( D)自顶向下逐步求精进行需求分析的方法。
A.目标 B.功能 C. 对象 D.数据流7. 结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象(B )A、控制流B、数据流C、程序流D、指令流8.在结构化分析方法中,用以表达系统内数据的运动情况的工具有( A )。
A. 数据流图B. 数据词典C. 结构化语言D. 判定表与判定树10.判定表和判定树是数据流图中用以描述加工的工具,它常描述的对象是( D )A. 逻辑判断B. 层次分解C. 操作条目D. 组合条件11、在软件结构化设计中,好的软件结构设计应该力求做到( B )。
A、顶层扇出较少,中间层扇出较高,底层模块低扇入B、顶层扇出较高,中间层扇出较少,底层模块高扇入C、顶层扇入较少,中间层扇出较高,底层模块高扇入D、顶层扇入较少,中间层扇入较高,底层模块低扇入测试白盒测试1.软件测试中,白盒法是通过分析程序的(B )来设计测试用例的。
A.应用范围B.内部逻辑C.功能D.输入数据2. 使用白箱测试方法时确定测试数据应根据(A )和指定的覆盖标准。
A.程序的内部逻辑B.程序的复杂程度C.使用说明书D.程序的功能3白箱测试方法重视(A )的度量。
A.测试覆盖率B.测试数据多少C.测试费用D.测试周期4. 在软件工程中,白箱测试方法可用于测试程序的内部结构。
此方法将程序可作为( A? )A.路径的集合B.循环的集合C.目标的集合D.地址的集合5. 在软件测试中,逻辑覆盖标准主要用于( B )A.黑箱测试方法B.白箱测试方法C.灰箱测试方法D.软件验收方法6. 下面的逻辑测试覆盖中,测试覆盖最弱的是(C )A.条件覆盖B.条件组合覆盖C.语句覆盖D.条件及判定覆盖黑盒测试1.在设计测试用例时,( A )是用得最多的一种黑盒测试方法。
A.等价类划分 B. 边界值分析 C. 因果图 D. 判定表2.黑盒法是根据程序的(C )来设计测试用例的。
A.应用范围B.内部逻辑C.功能D.输入数据3、黑盒测试在设计测试用例时,主要需要研究( A ) 。
A、需求规格说明与概要设计说明B、详细设计说明C、项目开发计划D、概要设计说明与详细设计说明其他1、为了提高软件测试的效率,应该(D )。
A.随机地选取测试数据B.取一切可能的输入数据作为测试数据C.在完成编码以后制定软件的测试计划D.选择发现错误可能性较大的数据作为测试用例2.与设计测试用例无关的文档是(A )。
A.项目开发计划B.需求规格说明书C.设计说明书D.源程序3、软件的集成测试工作最好由(D )承担,以提高集成测试的效果。
A.该软件的设计人员B.该软件开发组的负责人C.该软件的编程人员D.不属于该软件开发组的软件设计人员4、软件开发在需求分析、设计、编码、测试这几个阶段所需不同层次的技术人员大致是(C )A.初级、高级、高级、初级B.中级、中级、高级、中级C.高级、中高级、初级、中高级D.中级、中高级、中级、初级5. McCall提出了表明软件质量的11个质量特性。
它们是正确性、可靠性、可使用性、完整性、(D ) 、可移植性、可复用性、效率、可测试性、互联性。
A.模块独立性、性B.文档完备性、灵活性C.可维护性、安全性D.可维护性、灵活性6、软件开发中大约要付出(C )%的工作量进行测试和排错。
7、软件测试的手段有多种,通过人工来评审文档或程序,借以发现其中错误,该手段( D )。
A、黑盒测试B、正确性测试C、动态测试D、静态测试8.如果一个软件是给许多客户使用的,大多数软件厂商要使用几种测试过程来发现那些可能只有最终用户才能发现的错误,( A )测试是由一个用户在开发者的场所来进行的.测试的目的是寻找错误的原因并改正之。
A. αB. βC. γD. σ9.集成测试的主要方法有两个,一个是_____一个是_____ (B)A.白箱测试方法、黑箱测试方法B.渐增式测试方法、非渐增式测试方法C.等价分类方法、边缘值分析方法D.因果图方法、错误推测方法10、系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。
(A )不是系统测试的内容。
A.路径测试B.可靠性测试C.安装测试 D.安全测试11. 软件测试是软件质量保证的主要手段之一,测试的费用已超过( A)的30%以上,因此提高测试的有效性非常重要。
A.软件开发费用B.软件维护费用C.软件开发和维护费用D.软件研制费用内聚1. 为了提高模块的独立性,模块内部最好是(C )。
A.逻辑内聚B.时间内聚C.功能内聚D.通信内聚2、如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚( A )。
A、时间内聚B、逻辑内聚C、通信内聚D、信息内聚3. 模块的独立性是由内聚性和耦合性来度量的,其中内聚性是(B )A、模块间的联系程度B、模块的功能强度C、信息隐蔽程度D、接口的复杂程度4.模块的内聚性最低的是( C )A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.软件设计中划分模块的一个准则是( C )。
A.低内聚低耦合B.低内聚高耦合C.高内聚低耦合D.高内聚高耦合其他1.把一组具有相似特性的对象组合在一起,称之为( C )。
A、多态性B、继承性C、类D、消息2.面向对象的主要特征除对象唯一性、封装、继承外,还有( A )A、多态性B、完整性C、可移植性D、兼容3.下列模型属于成本估算方法的有( A )A、COCOMO模型B、McCall模型C、McCabe度量法D、时间估算法4.程序的三种基本控制结构的共同特点是(D )。