软件工程试卷及答案软件工程试题和答案
- 格式:docx
- 大小:13.84 KB
- 文档页数:14
软件工程(期末试题及答案)软件工程(期末试题及答案)一、选择题(共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大原则()。
软件工程师考试题及答案1. 以下哪个选项是面向对象编程的核心概念?A. 函数B. 过程C. 封装D. 模块化答案:C2. 在数据库设计中,为了提高数据的一致性和减少数据冗余,通常采用哪种范式?A. 第一范式(1NF)B. 第二范式(2NF)C. 第三范式(3NF)D. BCNF范式答案:C3. 在软件开发过程中,哪种测试是在软件开发周期的早期阶段进行的,目的是验证软件需求?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:D4. 以下哪个算法是用于解决图论中的最短路径问题?A. 快速排序B. 深度优先搜索C. 迪杰斯特拉算法D. 堆排序答案:C5. 在敏捷开发方法中,以下哪个实践是用于促进团队成员之间的沟通和协作?A. 持续集成B. 代码审查C. 每日站立会议D. 功能驱动开发答案:C6. 在编程语言中,多态性允许什么?A. 一个类继承多个父类B. 一个方法有多个不同的实现C. 一个变量可以存储不同类型的数据D. 一个接口有多个不同的实现答案:B7. 在软件工程中,软件维护的哪个阶段涉及到对现有代码的改进,以提高性能或增加新功能?A. 纠错性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:C8. 在关系数据库中,哪个SQL命令用于从数据库中检索数据?A. INSERTB. UPDATEC. DELETED. SELECT答案:D9. 在软件开发中,设计模式是什么?A. 一组最佳实践B. 一组预先定义的软件架构解决方案C. 一组编程语言的集合D. 一组软件测试工具答案:B10. 在Web开发中,以下哪个技术用于在客户端和服务器端之间进行数据交换?A. AJAXB. SOAPC. RESTD. 以上都是答案:D。
软件工程考试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的三要素不包括以下哪一项?A. 工具B. 方法C. 过程D. 环境答案:D2. 软件需求分析阶段的主要任务是确定软件的()。
A. 功能需求B. 性能需求C. 界面需求D. 所有选项答案:D3. 软件测试的目的是()。
A. 发现软件中的错误B. 证明软件是正确的C. 验证软件是否满足需求D. 所有选项答案:D4. 以下哪一项不是软件维护的类型?A. 纠错性维护B. 适应性维护C. 完善性维护D. 开发性维护答案:D5. 软件项目管理的主要目标是()。
A. 提高软件质量B. 控制成本C. 缩短开发周期D. 所有选项答案:D6. 瀑布模型的主要缺点是()。
A. 缺乏灵活性B. 难以适应需求变化C. 无法并行开发D. 所有选项答案:D7. 敏捷开发方法的核心理念是()。
A. 以文档为中心B. 以人为中心C. 以过程为中心D. 以工具为中心答案:B8. 软件配置管理的主要目的是()。
A. 确保软件的一致性B. 跟踪软件的变更C. 控制软件的版本D. 所有选项答案:D9. 以下哪一项不是软件工程的原则?A. 抽象B. 模块化C. 复用D. 随机性答案:D10. 软件工程的目标是()。
A. 开发高质量的软件B. 提高软件生产率C. 降低软件成本D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件需求分析阶段可能包括以下哪些活动?A. 需求收集B. 需求分析C. 需求规格说明D. 需求验证答案:ABCD2. 软件测试的类型包括以下哪些?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD3. 软件维护的常见原因包括以下哪些?A. 适应环境变化B. 修正软件缺陷C. 提高软件性能D. 增加新功能答案:ABCD4. 软件项目管理的关键活动包括以下哪些?A. 项目规划B. 项目监控C. 项目沟通D. 风险管理答案:ABCD5. 软件工程中的常见开发模型包括以下哪些?A. 瀑布模型B. 螺旋模型C. 敏捷模型D. 增量模型答案:ABCD三、判断题(每题2分,共10分)1. 软件工程的目标是开发出零缺陷的软件。
《软件工程》期末考试题及答案一、选择题(每题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. 软件维护的四种类型是:__________、__________、__________、__________。
软件工程测试题及答案一、单项选择题(每题2分,共20分)1. 软件测试的目的是:A. 证明软件无缺陷B. 证明软件存在缺陷C. 证明软件符合需求规格D. 证明软件符合设计答案:B2. 黑盒测试主要关注:A. 内部逻辑B. 输入输出关系C. 代码结构D. 内部数据结构答案:B3. 白盒测试主要关注:A. 内部逻辑B. 输入输出关系C. 代码结构D. 内部数据结构答案:A4. 单元测试通常由谁执行:A. 客户B. 测试人员C. 开发人员D. 项目经理答案:C5. 系统测试的目的是:A. 测试单个模块B. 测试整个系统C. 测试集成后的模块D. 测试用户界面答案:B二、多项选择题(每题3分,共15分)1. 以下哪些属于软件测试的类型:A. 单元测试B. 集成测试C. 系统测试D. 性能测试E. 回归测试答案:ABCDE2. 软件测试过程中可能使用到的测试用例设计技术包括:A. 等价类划分B. 边界值分析C. 决策表D. 错误猜测E. 随机测试答案:ABCDE3. 软件测试的阶段包括:A. 单元测试B. 集成测试C. 系统测试D. 验收测试E. 性能测试答案:ABCD三、填空题(每空1分,共10分)1. 软件测试的目的是________。
答案:发现软件缺陷2. 软件测试的基本原则是________。
答案:测试显示存在缺陷3. 软件测试的目的是________,而不是证明软件没有缺陷。
答案:发现错误4. 软件测试的目的是________,而不是证明软件符合需求。
答案:发现错误5. 软件测试的目的是________,而不是证明软件符合设计。
答案:发现错误四、简答题(每题5分,共20分)1. 简述软件测试的重要性。
答案:软件测试是确保软件质量的关键环节,它能够发现软件中的错误和缺陷,从而提高软件的可靠性和稳定性,减少用户在使用过程中遇到的问题。
2. 描述软件测试的一般过程。
答案:软件测试的一般过程包括测试计划、测试设计、测试实施、测试评估和测试报告。
软件工程期末试题及答案一、选择题(每题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. 软件测试的四个层次分别是单元测试、集成测试、系统测试和______。
软件工程试题及答案一、选择题1. 下列哪个选项不是软件工程的基本目标?A. 提高软件的生产率B. 提高软件的质量C. 缩短软件开发周期D. 提高软件的可维护性答案:C2. 下列哪个方法不属于软件工程的开发方法?A. 结构化方法B. 面向对象方法C. 原型方法D. 水平方法答案:D3. 下列哪个阶段不属于软件生命周期的基本阶段?A. 需求分析B. 设计C. 编码D. 测试答案:D二、填空题4. 软件工程的三个基本要素是____、____和____。
答案:方法、工具、过程5. 结构化分析方法中,用例图用于描述____和____之间的关系。
答案:用户、系统6. 软件设计的主要任务包括____、____和____。
答案:总体设计、详细设计、编码三、判断题7. 软件工程的目标是提高软件的生产率和质量,降低软件开发成本。
()答案:错误。
软件工程的目标是提高软件的生产率和质量,但并不一定降低软件开发成本。
8. 面向对象方法中,类是具有相同属性和行为的对象的集合。
()答案:正确。
9. 软件开发过程中,需求分析是软件生命周期中最重要的阶段。
()答案:错误。
虽然需求分析很重要,但软件生命周期中最重要的阶段是设计和实现。
四、简答题10. 简述软件工程的七个基本活动。
答案:软件工程的七个基本活动包括:(1)需求分析:理解用户需求,明确软件系统的功能、性能和约束。
(2)设计:根据需求分析结果,制定软件系统的设计方案。
(3)实现:根据设计方案,编写代码,实现软件系统。
(4)测试:验证软件系统的正确性、可靠性和性能。
(5)部署:将软件系统部署到实际运行环境中。
(6)维护:对软件系统进行修改和改进,以满足用户需求的变化。
(7)项目管理:对软件开发过程进行管理,确保项目按时、按质完成。
11. 简述面向对象方法的主要特点。
答案:面向对象方法的主要特点包括:(1)封装:将对象的属性和行为封装在一起,隐藏内部实现细节。
(2)继承:允许子类继承父类的属性和行为,实现代码复用。
软件工程学试题及答案一、单项选择题(每题2分,共10分)1. 软件工程的目的是()。
A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 下列哪项不是软件需求分析的任务?()。
A. 确定软件的功能需求B. 确定软件的性能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:D3. 软件生命周期中,()阶段是确定软件需求的阶段。
A. 需求分析B. 系统设计C. 编码D. 测试答案:A4. 软件测试的目的是()。
A. 证明软件是正确的B. 证明软件存在错误C. 发现软件中的错误D. 证明软件不存在错误答案:C5. 软件危机主要表现在()。
A. 软件成本B. 软件质量C. 软件进度D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件工程的基本原理包括()。
A. 用分阶段的生命周期计划严格管理B. 强调开发过程的迭代性质C. 采用合适的编程规范D. 强调软件工具的使用答案:ABD2. 软件需求分析的常用方法包括()。
A. 数据流图B. 用例图C. 状态转换图D. 流程图答案:ABC3. 软件测试的类型包括()。
A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD4. 软件维护的类型包括()。
A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:ABCD5. 软件工程中常用的设计模式包括()。
A. 单例模式B. 工厂模式C. 观察者模式D. 策略模式答案:ABCD三、简答题(每题5分,共20分)1. 简述软件工程中的模块化设计原则。
答案:模块化设计原则要求将系统分解成若干个模块,每个模块具有高内聚、低耦合的特点,以便于系统的开发、测试、维护和理解。
2. 描述软件需求分析的重要性。
答案:软件需求分析是软件开发过程中的关键步骤,它确保了开发团队对用户需求有清晰的理解,有助于避免开发出不符合用户需求的软件,减少返工和成本。
全国2024年4月高等教育自考试软件工程试题一、单项选择题1、软件生存周期是指______。
A.开发软件的全部时间B.使用软件的全部时间C.开发和使用软件的全部时间D.从形成概念开始到最后淘汰让位于新的软件产品的时间2、在常见的软件开发模型中,主要用于支持面向对象技术软件开发的是______。
A.喷泉模型B.螺旋模型C.增量模型D.瀑布模型3、RUP设计阶段的主要活动不包含______。
A.程序设计B.体系结构设计C.用况设计D.类设计4、需求规约的基本性质包括重要性和稳定性程度、一致的、完整的和______。
A.可修改的B.可复用的C.可测试的D.无歧义的5、“与所规约的系统执行之间的偏差”是指______。
A.错误B.失效C.故障D.误差6、RUP中,用于捕获系统语境中的一些重要领域对象,其中领域对象表达系统工作环境中存在的事物或发生的事件,领域模型一般采用______。
A.PAD图B.流程图C.类图D.N-S图7、集成化能力成熟度模型(CMMI)针对每个过程域设定了能力等级,其中最高级为______。
A.3级B.4级C.5级D.6级8、RUP的分析类包括边界类、实体类和______。
A.子类B.控制类C.父类D.活动类9、类的状态机一般有几种不同的运行状态,其中处于等待接收事件,接收处理完事件后又进入等待状态,通常采用______。
A.IdleB.InitializingC.CommandD.Active10、使用用况图可以实现业务建模和系统建模,而得到业务模型和系统模型之间具有的关系是______。
A.整体/部分B.一般/特殊C.功能/过程D.静态/动态11、结构精细化设计过程中,为了提高模块的独立性,应遵循的原则是______。
A.低内聚高耦合B.低内聚低耦合C.高内聚低耦合D.高内聚高耦合12、面向对象方法源于面向对象______。
A.分析B.设计C.建模语言D.编程语言13、《ISO/IEC软件生存周期过程12207-1995》标准按过程主体把软件生存周期过程分为基本过程、组织过程和______。
最新软件工程考试题库(含答案和解析)一、选择题1. 以下哪个不是软件工程的三个基本目标之一?A. 可维护性B. 可靠性C. 可用性D. 低成本答案:D解析:软件工程的三个基本目标是可维护性、可靠性和可用性。
低成本虽然也是一个重要的考虑因素,但并不是软件工程的基本目标。
2. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A解析:面向对象编程(OOP)通过将数据和操作数据的方法封装在一起,降低了软件复杂性,提高了代码的可重用性和可维护性。
3. 软件开发过程中,以下哪个阶段需要进行需求分析?A. 设计阶段B. 编码阶段C. 测试阶段D. 需求分析阶段答案:D解析:需求分析是软件开发过程中的第一个阶段,其主要任务是明确软件系统的功能、性能等需求。
4. 以下哪个软件工程方法主要关注软件项目的管理?A. 敏捷开发B. ScrumC. UMLD. 设计模式答案:B解析:Scrum 是一种敏捷开发方法,主要关注软件项目的管理和团队协作。
UML(统一建模语言)主要用于软件设计,设计模式主要用于解决软件设计中的常见问题。
5. 以下哪个软件工具主要用于版本控制?A. GitB. EclipseC. JiraD. Visual Studio答案:A解析:Git 是一款分布式版本控制系统,主要用于跟踪和管理软件开发过程中的代码变更。
二、填空题1. 软件工程的基本活动包括______、______、______和______。
答案:需求分析、设计、编码、测试2. 敏捷开发的核心价值观包括______、______、______、______和______。
答案:个体和互动、工作软件、客户协作、响应变化、持续交付3. 软件开发过程中,常用的设计模式包括______、______、______、______和______。
答案:工厂模式、单例模式、策略模式、装饰模式、观察者模式4. 软件测试的目的是______、______和______。
软件工程试卷及答案软件工程试题和答案一、选择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封装7、软件测试计划开始于需求分析阶段,完成于阶段。
A需求分析B软件设计C软件实现D软件测试第1页共1页8、在软件生存周期的瀑布模型中一般包括计划、、设计、编码、测试、维护等阶段。
A可行性分析B需求采集C需求分析D问题定义9、软件需求分析阶段的测试手段一般采用。
A总结B阶段性报告C需求分析评审D不测试10、是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。
A多态性B继承C封装D消息11、软件测试是为了而执行程序的过程。
A纠正错误B发现错误C避免错误D证明正确12、在结构化分析方法中,表达系统内部数据运动的图形化技术。
A数据字典B实体关系图C数据流图口状态转换图13、软件工程的基本要素包括方法、工具和。
A过程B软件系统C硬件环境D人员14、TURBO PASCAL 是软件。
A、系统软件B、人工智能C、事务软件第1页共1页D、应用软件15、选择结构的复杂性比顺序结构的复杂性要。
A、小8、大C、相等D、无法比较16、模块内聚度越高,说明模块内各成分彼此结合的程度越。
A、松散B、紧密C、无法判断D、相等17、软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护中以维护所占的维护量最小。
A、纠错性维护B、代码维护口预防性维护D、文档维护18、在下述哪一种测试中,测试人员必须接触到源程序。
1功能测试II结构测试A、均不需B、只有I第1页共1页C、只有IID、I和II19、软件设计阶段的输出主要是。
A、程序B、模块C、伪代码D、设计规格说明书20、软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试。
A、结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑21、下面哪几个阶段是软件的设计阶段。
A、编码B、可行性研究C、测试D、维护E、需求分析22、数据字典是用来定义中的各个成分的具体含义的。
A、流程图8、功能结构图C、系统结构图第1页共1页D、数据流图23、在面向对象设计中,意味着在同一作用域内的若干个参数不同的函数可以使用相同的函数名字。
A、重载B、类的复用C、封装D、继承二,判断1、文档是软件产品的一部分,没有文档的软件就不称其为软件。
2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。
3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。
4、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。
5、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。
6、面向对象的分析是面向计算机系统建立软件系统的对象模型。
7、不完善的系统定义往往是导致软件项目失败的主要原因。
8、一个成功的项目唯一提交的就是运行程序。
第1页共1页9、只有质量差的软件产品才需要维护。
10、一个好的测试用例在于能发现至今未发现的错误。
11、软件工作的考虑范围主要是程序设计和实现。
12、在项目计划发生延迟的情况下,增加更多的程序员一定会加快进度。
13、软件错误可能出现在开发过程的早期,越早修改越好。
14,在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。
15,模型是对现实的简化,建模是为了更好地理解所开发的系统。
16,好的测试用例应能证明软件是正确的。
17,白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。
三三三三三三,填空题1、在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是多对多关系。
2、动物与老虎之间是继承关系,森林和树木之间是组合关系。
3、衡量模块独立的两个标准是内聚和耦合。
4、结构化分析实质是就是一种建模活动,通常建立数据模型、功能模型、行为模型。
第1页共1页5、在面向对象设计过程中,先后要建立3个模型,它们分别是对象模型_、_动态模型_、_功能模型.6、组成数据流图的四种成分是、、、7、程序的逻辑结构分为顺序结构、分支结构、和循环结构等三大类8、面向对象的方法有四个要点:对象、类、继承、通信9、将正确答案的编号填入题目空白处:在白盒测试用例设计中,有语句覆盖、条件覆盖、判定覆盖、路径覆盖等,其中,2_是最强的覆盖准则。
为了对下图所示的程序进行覆盖测试,必须适当地选取测试数据。
若X、Y是两个变量,可供选择的数据组共有1、11、111、”四组,则实现语句覆盖至少应采用的测试数据组是1;实现条件覆盖至少应采用的测试数据组是5;实现路径覆盖至少应采用的测试数据组是5_或8。
[供选择的答案]:A:①语句覆盖②条件覆盖③判定覆盖④路径覆盖B—E:①I和II组②II和HI组③HI和W组④I和W组⑤1、11和HI组⑥II、HI和W组⑦I、HI和W ⑧I、II和W 组10、快速原型应该具备的基本特性是:快速、容易修改四,问答题第1页共1页1、什么是需求分析?需求分析阶段的基本任务是什么?答:需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。
需求分析阶段的基本任务是:要准确的定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。
2、为什么说面向对象方法学比传统方法学在稳定性方面要好?答:传统的软件开发以算法为核心,开发过程基于功能分析和功能分解、用传统方法所建立起来的软件系统的结构紧密依赖于系统所要完成的功能,当功能需求发生变化时将引起软件结构的整体修改、事实上,用户需求变化大部分是针对功能的,因此这样的软件系统是不稳定的。
面向对象方法基于构造问题领域的对象模型,以对象为中心构造软件系统。
它的基本作法是用对象模拟问题领域中的实体,以对象间的联系刻画实体间的联系。
当对系统的功能需求变化时并不会引起软件结构的整体变化,仅仅只需要作一些局部性的修改。
总之,由于现实世界中的实体是相对稳定的,因此,对象为中心构造的软件系统也是比较稳定的。
为什么说面向对象方法学比传统方法学在可重用性方面要好?第1页共1页答:传统的软件重用技术是利用标准函数库来构造新的软件系统,但是标准函数少必要的“柔性”,不能适应不同应用场合的不同需求,并不是理想的可重用的软件成分。
在面向对象方法所使用的对象中,数据和操作正是作为平等伙伴出现的,因此,对象具有很强的自合性。
此外,对象所固有的封装性和信息,隐藏机理,使得对象内部实现与外界隔离,具有较强的独立性。
由此可见,对象是比较理想的模块和可重用的软件成分。
3、你认为一个好的软件开发人员应具备哪些基本素质?答:1、最重要的,学习和总结的能力2、设计能力3、软件工程能力4、为什么软件需要维护?简述软件维护的过程。
答:1、软件维护就是要针对用户使用软件产品过程提出的问题而对软件产品进行相应的修改或演化,从而修正错误,改善性能或其它特征,以及使软件适应变化的环境。
2、软件维护的过程:提出维护要求,分析维护要求,提出维护方案,审批维护方案,确定维护计划,修改软件设计,修改程序,测试程序,复查验收。
5、传统第1页共1页答:“瀑布模型是文档驱动的“。
在项目的早期,用户常常很难清楚地给出所有需求,瀑布模型却要求如此。
由于瀑布模型的特点,早期的错误直到开发晚期才能被发现,开发的风险较大。
6、某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的成绩单,该系统的实体关系图如下所示:请问图中是否应该增加答:不应该增加7、下面是一段求最大值的程序,其中datalist是数据表,n 是datalist的长度。
int GetMax{int k=0;for k=j;return k;)画出该程序的控制流图,并计算其复杂度。
列出独立路径为各测试路径设计测试用例。
答:第1页共1页1、控制流图如下,McCabe环路复杂性为3。
2、测试路径:Pathl:①一③Path2:①一②—④一⑥一…Path3:①一②—⑤一⑥一…3、测试用例:Pathl:取n=1, datalist[0] =1,预期结果:k=0Path2:取n=2, datalist[0] =1, datalist[1] = 0,预期结果:k=0Path3:取n=2, datalist[0] = 0, datalist[1] =1,预期结果:k=18,以下是销售管理所需要的信息:生产厂家编号、厂家名称、联系电话、联系人、联系地址、产品编号、产品名称、产品说明、销售商场名称、销售商场编号、商场联系电话、商场联系人、商场联系地址第1页共1页分析这些信息,把它们设计成几个表,并将这些表之间建立起关系,要求反映出:一个工厂生产多种产品,一个商店经营多种产品E-R图数据流图:9,写出求最小公倍数的程序,画出其控制流图,计算其复杂度,列出独立路径,为各独立路径设计测试用例。
#includevoid main{int a,b,m,n,c,t;printf{a=b;b=c;c=a%b;}printf{int a,b;scanf{ifa-=b;elseb-=a;第1页共1页)printf输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校对无误即印出机票给旅客。
请用实体-关系图描绘本系统中的数据对象并用数据流图描绘本系统的功能习题2为方便旅客,某航空公司拟开发一个机票预定系统。
旅行社把预定机票的旅客信息输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校对无误即印出机票给旅客。
请用实体-关系图描绘本系统中的数据对象并用数据流图描绘本系统的功能习题3目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。
某医院打算开发一个以计算机为中心的患者监护系统,请画出本系统的实体-关系图和数据流图。