《软件需求工程》期末考试试题2套含答案(大学期末复习资料).doc
- 格式:doc
- 大小:655.78 KB
- 文档页数:31
软件工程期末考试参考题及答案1. 考试题目:软件需求工程考试要求:根据给定的需求文档,完成以下题目。
题目一:根据给定的需求文档,设计一个在线购物系统。
请根据以下要求完成系统设计:(1)使用UML类图绘制系统的类结构;(2)使用UML时序图描述用户登录和浏览商品的流程;(3)使用UML活动图描述用户下订单的流程。
答案:(1)类图如下所示:[在这里插入UML类图图片](2)时序图如下所示:[在这里插入UML时序图图片](3)活动图如下所示:[在这里插入UML活动图图片]题目二:根据给定的需求文档,设计一个在线学习系统。
请根据以下要求完成系统设计:(1)使用UML用例图描述系统的功能需求;(2)使用UML活动图描述学生完成在线学习的流程;(3)使用UML状态图描述学生的学习状态变化。
答案:(1)用例图如下所示:[在这里插入UML用例图图片](2)活动图如下所示:[在这里插入UML活动图图片](3)状态图如下所示:[在这里插入UML状态图图片]2. 考试题目:软件设计模式考试要求:根据给定的题目,选择并解答以下问题。
题目一:分析以下代码,判断其使用了哪种设计模式,并阐述该设计模式的作用和优势。
```javapublic interface Car {void drive();}public class Sedan implements Car {@Overridepublic void drive() {System.out.println("Driving a sedan car."); }}public class SUV implements Car {@Overridepublic void drive() {System.out.println("Driving an SUV car."); }}public class CarFactory {public Car createCar(String type) {if (type.equals("sedan")) {return new Sedan();} else if (type.equals("suv")) {return new SUV();} else {throw new IllegalArgumentException("Invalid car type: " + type);}}}```答案:该代码使用了工厂模式。
《软件工程》期末复习题及答案1.运用所掌握的知识,通过抽象,给出该系统的结构,这就是A.系统建模B.软件开发C.问题求解D.验证确认3.结构化分析方法给出了一种能表达功能模型的工具是()。
A.HIP0图 B.PAD图 C.N-S图 D.DFD图7.在某大学学生学籍管理信息系统中,假设学生年龄的输入范围为16~40,则根据黑盒测试中的等价类划分技术,下面划分正确的是()。
A.可划分为2个有效等价类,2个无效等价类B.可划分为1个有效等价类,2个无效等价类C.可划分为2个有效等价类,1个无效等价类D.可划分为1个有效等价类,1个无效等价类10.是把对象的属性和服务结合成一个独立的系统单元,并尽可能隐藏对象的内部细节;继承是指子类可以自动拥有父类的全部属性和服务;()是对象发出的服务请求,一般包含提供服务的对象标识、服务标识、输入信息和应答信息等。
A.继承B.多态C.消息D.封装11.分层DFD中父子平衡是指()。
A.父加工的数据流数目与子图中数据流数目相同B.父图应包含子图中的全部数据流C.子图应包含父图中的全部数据流D.父加工和子图的输入数据和输出数据应分别保持一致2.在建模过程中,可用以描述加工的工具是()。
A.数据流 B.判定树 C.数据字典 D.数据存储13.以下软件生存周期的活动中,要进行软件结构设计的是()。
A.测试用例设计 B.概要设计C.程序设计 D.详细设计16.CMMI 成熟度等级中的第四级为()。
A.已定义级B.已定量管理级C.持续优化级D.已重复17.以下选项中,最适合于用交互式计算机软件解决的问题是()。
A.非结构化决策问题B.半结构化决策问题C.结构化决策问题D.确定性问题18.系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。
不是系统测试的内容()。
A.路径测试 B.可靠性测试 C.安装测试 D.安全测试19.项目管理工具中,将网络方法用于工作计划安排的评审和检查的是()。
《软件工程》期末试卷及答案一、选择题(每题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)是衡量软件规模的两个指标,其中______是一种基于软件功能需求的规模度量方法。
软件工程期末试题(含答案)预览说明:预览图片所展示的格式为文档的源格式展示,下载源文件没有水印,内容可编辑和复制一、填空题(每空1分,共25分)1.软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试和运行和维护。
2.基于软件的功能划分,软件可以划分成___系统软件_、支撑软件、应用软件__三种。
3.可行性研究,应从经济可行性、技术可行性、运行可行性、法律可行性和开放方案可行性等方面研究。
4.系统流程图是描绘物理系统的传统工具。
它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、加工、数据流和数据存储文件。
6.结构化分析方法是面向_数据流_进行需求分析的方法。
结构化分析方法使用_数据流图DFD_与_数据字典_来描述。
7.继承性是自动地共享类、子类和对象中的方法和数据的机制。
8.软件详细设计工具可分为3类,即_图示工具_、_设计语言_和_表格工具_。
9.为了在软件开发过程中保证软件的质量,主要采取下述措施:_审查__、复查和管理复审、___测试_。
10.大型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。
二、单项选择题(每小题2分,共20分)1.软件设计中划分模块的一个准则是( C )。
A、低内聚低耦合 B.低内聚高耦合 C.高内聚低耦合 D.高内聚高耦合2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向( C )的软件设计方法。
A、对象 B.数据流 C.数据结构 D.控制结构3.试判断下列叙述中,哪个(些)是正确的( C )。
a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.( A )是用户和设计交换最频繁的方法。
A、原型化方法B、瀑布模型方法 C. 螺旋模型方法D、构件组装模型5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )。
软件需求期末考试题及答案# 软件需求期末考试题及答案一、选择题(每题2分,共20分)1. 软件需求分析的主要目的是:A. 确定软件的功能B. 确定软件的性能C. 确定软件的界面D. 确定软件的成本答案: A2. 以下哪项不是需求分析阶段的输出?A. 需求规格说明书B. 系统设计文档C. 用户手册D. 数据字典答案: B3. 需求变更控制的目的是什么?A. 降低成本B. 减少开发时间C. 确保需求的一致性和完整性D. 提高软件质量答案: C4. 以下哪个不是功能性需求的例子?A. 系统必须能够处理在线支付B. 系统必须支持多语言界面C. 系统必须在1秒内响应用户请求D. 系统必须能够存储用户数据答案: C5. 非功能性需求通常包括以下哪些方面?A. 可用性B. 性能C. 安全性D. 所有以上选项答案: D...(其他选择题省略)二、简答题(每题10分,共30分)1. 简述什么是软件需求,并区分功能性需求与非功能性需求。
答案:软件需求是指用户对软件系统的功能、性能、行为和约束的详细描述。
功能性需求描述了软件系统必须执行的任务,例如处理数据、执行计算或与用户交互。
非功能性需求则描述了软件的属性,如性能、安全性、可用性、可靠性等,这些属性通常不涉及软件的具体功能,但对软件的整体表现至关重要。
2. 解释什么是需求变更,以及如何处理需求变更。
答案:需求变更是指在软件开发过程中,由于各种原因(如市场变化、用户需求变化、技术进步等)导致的对原始需求文档的修改。
处理需求变更通常包括以下几个步骤:识别变更、评估影响、与利益相关者沟通、更新需求文档、重新评估项目计划、重新测试以及重新部署。
3. 描述需求获取的方法,并给出一个具体的例子。
答案:需求获取是指从用户或其他利益相关者那里收集需求的过程。
常见的方法包括访谈、问卷调查、观察、原型开发、焦点小组讨论等。
例如,通过访谈,开发团队可以直接与用户交谈,了解他们的工作流程、痛点和期望的功能,从而获取需求。
软件工程期末试题及答案一、选择题(每题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. 软件测试的四个层次分别是单元测试、集成测试、系统测试和______。
《软件工程》试题及参考答案(第2套)《软件工程》试题及参考答案(第2套)一、选择题1.在软件工程中,瀑布模型的生命周期包括以下几个阶段()。
A.需求分析阶段B.设计阶段C.编码阶段D.测试阶段E.维护阶段F.以上都包括参考答案:F.以上都包括2.软件工程的基本特性包括()。
A.可维护性B.可移植性C.可靠性D.可重用性E.可伸缩性F.以上都包括参考答案:F.以上都包括3.以下哪种模型强调迭代和增量开发?A.瀑布模型B.原型模型C.敏捷模型D.螺旋模型参考答案:D.螺旋模型4.软件工程中的需求分析包括()。
A.系统功能需求B.非功能需求C.用户需求D.软件需求E.硬件需求F.以上都包括参考答案:F.以上都包括5.在软件测试中,黑盒测试主要是通过()来检查程序功能是否正确。
A.检查程序内部逻辑B.检查代码覆盖率C.检查输入输出D.检查程序性能参考答案:C.检查输入输出二、填空题1.软件工程中的标准化组织是指由()制定的一系列标准。
参考答案:IEEE2. V字模型的测试活动是()的。
参考答案:并行进行3. 敏捷开发的核心原则是()。
参考答案:个体和交互高于流程和工具4. 软件开发中,CI是指()的集成。
参考答案:持续5. 软件工程中的 CASE 是指()。
参考答案:计算机辅助软件工程三、简答题1.请简要阐述软件工程的定义及其重要性。
参考答案:软件工程是一门研究如何有效地设计、创建和维护软件的学科。
它涵盖了软件开发的全过程,包括需求分析、设计、编码、测试等各个阶段。
软件工程的重要性体现在以下几个方面:1) 提高软件质量:通过采用系统化的方法和标准化的流程,可以减少软件缺陷和错误,提高软件的质量和可靠性。
2) 提高软件开发效率:软件工程提供了一整套的方法和工具,可以提高软件开发的效率和生产率,减少开发周期和成本。
3) 管理软件开发过程:软件工程强调项目管理和团队合作,可以有效地管理软件开发过程,确保项目按时交付,并能够满足用户需求。
软件工程期末试题(一)单项选择题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。
软件需求工程期末考试试题### 软件需求工程期末考试试题一、选择题(每题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. 个人偏好二、简答题(每题10分,共30分)1. 描述需求工程的一般过程,并解释每个阶段的主要活动。
2. 解释为什么需求变更控制对于软件项目的成功至关重要。
3. 简述如何使用用例来捕捉和组织软件需求。
三、案例分析题(每题25分,共50分)1. 假设你是一名软件需求工程师,负责一个在线书店系统的开发。
请根据以下场景,列出至少5个功能性需求和3个非功能性需求,并解释每个需求的重要性。
场景:用户需要能够浏览书籍,搜索特定书籍,购买书籍,并能够查看订单历史。
系统需要能够处理高并发访问,并保证数据的一致性和安全性。
2. 描述一个需求变更的情况,并解释在这种情况下,需求变更控制流程如何帮助确保项目顺利进行。
附加题(10分)1. 假设你正在参与一个跨文化团队的软件项目,团队成员来自不同的国家和文化背景。
请讨论在这种环境下进行需求收集和沟通时可能遇到的挑战,并提出你的解决方案。
注意:请考生仔细阅读题目,认真作答,确保答案清晰、准确。
考试结束后,将答题纸交回。
祝各位考生考试顺利!。
软件需求工程_金陵科技学院中国大学mooc课后章节答案期末考试题库2023年1.软件需求规格说明文档结束审查的标准有()。
参考答案:以上都可能是。
2.后向跟踪是指需求被定义到()之后的演化过程。
参考答案:软件需求规格说明书3.如果用户新增需求或变更需求,正确的做法是()参考答案:灵活处理需求4.需求开发阶段包括需求获取、需求分析、需求规格说明和()四个具体的活动。
参考答案:需求验证5.已经通过正式评审和批准的规格说明或产品,可作为进一步开发的基础,只有通过正式的变更控制过程才能修改的是()参考答案:需求基线6.在实际的项目开发中,人们总是希望使用自动工具来执行需求变更控制过程。
下列描述中()不是这类工具所具有的功能。
参考答案:定义变更控制计划,并指导设计人员按照所制定的计划实施变更。
7.原型可以说是一个()。
参考答案:演示系统8.性能需求、质量属性、约束、接口属于()参考答案:非功能性需求9.需求评审是()中常用的一种方法。
参考答案:需求验证10.下列描述中,属于需求基线的内容的是()参考答案:标识符、版本号、源头11.文档审查是()中常用的一种方法。
参考答案:需求获取12.需求评审的困难有哪些()。
参考答案:以上都是13.在验证过程中发现的问题应及时修正,常见的问题修正方法有()。
参考答案:以上都是14.需求验证的目的()。
参考答案:保证需求及其文档的正确性,即需求正确反映了用户的真实意图15.需求规格说明的目的()。
参考答案:将完整、一致的需求与能够满足需求的软件行为以文档的形式明确的固定下来16.需求分析的目的()。
参考答案:保证需求的完整性和一致性17.需求获取的目的()。
参考答案:从项目的战略规划开始建立最初的原始需求18.需求确认指()。
参考答案:确认每一条需求都是符合用户的真实意愿。
19.以下对需求验证的过程说法正确的是()。
参考答案:需求验证的过程,就是在软件需求规格说明文档完成后,对文档采用相应的验证方法进行验证。
学年学期期末考试卷卷课程《软件工程》考试时间: 120 分钟班级姓名学号一、填空题(每空1分,共30分)1、软件是计算机系统中的的逻辑成分,其主要内容包括:_____________、______________、_____________和用户文档。
2、按软件工作方式分,软件可分为_____________、______________、交互式软件和批处理软件。
3、主要的软件工程方法有:___________________、___________________和面向对象方法。
4、软件生命周期可细分为可行性研究、项目计划、___________________、___________________、___________________、编码实现与单元测试、系统集成测试、系统确认验证、系统运行与维护等几个阶段。
5、对软件项目的可行性分析,主要包括__________________、__________________和应用可行性3个方面。
6、需求分析涉及面向用户的__________________和面向开发者的__________________。
7、进行需求有效性验证时,一般需要对需求文档草稿从________________、_________________、__________________、现实性等几个方面进行有效性验证。
8、概要设计主要包括三个方面的设计,分别是_________________、__________________和数据结构设计。
9、模块的独立性一般采用__________________和__________________两个定性的技术指标进行度量。
10、模块的__________是指模块直接调用的下级模块的个数;模块的__________是指模块受到了多少个直接上级模块的调用。
11、数据库结构设计包括逻辑结构设计和____________________。
考试科目名称 软件需求工程1、(本题满分10分) (1) 解释下列三个概念:业务需求、用户需求、系统需求;(2)说明为什么在需求开发当中要重视软件的质呈属性。
2、(本题满分10分)试分析按下列顺序安排的问题是什么面谈结构:(1) 你在这个职位多久了?(2) 你的主要责任是什么?(3) 你接受什么报告?⑷你是如何看待部门目标的?(5) 你是如何描述决策过程的?(6) 怎样才能最好地支持这个过程?(7) 做这些决策的频度如何?(8) 当你做决策时会咨询谁?(9) 你做过的对于部门机能有重要意义的决策是什么?(1)这里采用了什么结构?你是如何确定的?得分 得分(2)通过改变问题的顺序,重新安排面谈的结构(如果有些必要,可以省略一些问题)。
标明所用的结构。
3、(本题满分15分)在各种关于软件的调研当中,无一例外的发现“缺乏用户参与”是导致软件失败的最大原因,请列举至少3条会使得用户参与不足的原因?并说明相应的解决方法。
4、(本题满分15分)根据下列叙述性描述,为描述的内容绘制一个上下文DFD:校园书店“课本库存系统”的目的是向学生提供本地大学课程的课本。
大学的教学部门通过一个“课本主清单”向书店提交初始数据,包括课程、教师、课本和预计注册人数。
书店生成一个“购买订单”,“购买订单”被送到供应课本的出版公司。
图书订单随着一个“包装清单”到达书店,它被接收的部门检查和验证。
学生填写包含课程信息的“购书要求”,当他们付了书款Z后就得到一个“销售单据”。
5、(本题满分15分)一个CD销售商店需要开展网上销售业务,下而是它的一个典型销售场景:Normal Flow of Events:1.Customer submits a search request to the system, the request contains the category information ofCDs.2.The system provides the customer a list of recommended CDs.3.The customer chooses one of the CDs to find additional information according to its identifie匚4.The system provides the customer with basic information & CD Reviews5.The customer maintains the order, records the item chosen・6.The customer iterates over 3 through 5 until finished shoppin g・7.The customer checks out and leaves the website・请以上述场景的描述为基础,执行名词抽取、建立关联和识别属性三个过程,并最终为上述描述建立领域模型,要求详细记录你在执行三个过程时的具体步骤。
软件工程-期末考试题(含答案)软件工程-期末考试题(含答案)1. 题目一:软件需求工程软件需求工程是软件开发的重要环节之一,主要包括需求获取、需求分析、需求规格、需求验证等阶段。
在软件开发的整个过程中,需求工程的目标是确保开发出的软件能够满足用户的需求,同时保证软件的质量和可靠性。
1.1 需求获取需求获取是软件需求工程的第一步,它涉及到对用户的需求进行调研和收集。
需求获取的方法可以包括面谈、问卷调查、观察等。
通过与用户的沟通和了解,开发团队可以获取到用户对软件的期望和需求,为后面的分析和规格阶段提供依据。
1.2 需求分析需求分析是对收集到的需求进行认真分析和理解的过程。
在这个阶段,开发团队将准确定义软件所需具备的功能、性能和约束。
通过对需求的分析,可以帮助开发团队更好地理解用户的需求,并将其转化为可执行的任务。
1.3 需求规格需求规格是将需求分析的结果进行详细描述和规范化的过程。
在这个阶段,开发团队需要将需求规格书写成可读、可理解的形式,以便于开发人员进行后续的开发工作。
需求规格书通常包括用例图、类图、时序图等各种工具和技术。
1.4 需求验证需求验证是对需求的正确性和完整性进行验证的过程。
在这个阶段,开发团队需要与用户进行确认,确保所开发的软件能够满足用户的期望和需求。
需求验证也可通过模拟测试、原型验证等方式进行。
2. 题目二:软件设计原则软件设计原则是开发人员编写高质量软件的指导原则,旨在提高软件的可维护性、可扩展性和可重用性。
下面介绍几个常用的软件设计原则。
2.1 单一职责原则单一职责原则(SRP)要求每个类或模块只负责一种功能或职责。
这样可以保持代码的简洁性和可读性,并使得类或模块更加易于维护和扩展。
2.2 开放封闭原则开放封闭原则(OCP)要求软件实体(类、模块、函数等)应该对扩展开放,对修改封闭。
这样可以使得软件设计能够适应需求的变化,而不需要修改原有的代码。
2.3 里氏替换原则里氏替换原则(LSP)要求子类必须能够替换父类,并且不影响程序的正确性。
需求工程期末考试题及答案# 需求工程期末考试题及答案一、选择题(每题2分,共20分)1. 需求工程的主要目的是:A. 确保软件按时交付B. 确保软件成本控制C. 确保软件满足用户需求D. 确保软件技术先进答案:C2. 需求分析阶段不包括以下哪项活动?A. 需求获取B. 需求规格化C. 需求验证D. 软件编码答案:D3. 以下哪个不是需求工程的基本原则?A. 需求应该是可验证的B. 需求应该是可追踪的C. 需求应该是可修改的D. 需求应该是不可变更的答案:D4. 需求优先级排序的目的是为了:A. 减少项目成本B. 提高开发效率C. 确定开发顺序D. 增加用户满意度答案:C5. 需求变更控制的目的是:A. 保证需求的完整性B. 避免需求的变更C. 降低需求变更的成本D. 确保需求变更的合理性答案:D二、简答题(每题10分,共30分)1. 简述需求工程中的“需求获取”和“需求分析”两个阶段的主要任务。
答案:需求获取阶段的主要任务是与用户沟通,收集用户的需求信息,包括功能需求、性能需求、约束条件等。
需求分析阶段的主要任务是对收集到的需求进行分析,明确需求的具体内容,消除需求中的矛盾和模糊性,形成清晰、准确、一致的需求规格说明。
2. 描述需求验证的重要性以及常见的需求验证方法。
答案:需求验证的重要性在于确保需求的准确性和完整性,避免在开发过程中因需求理解错误而导致的返工。
常见的需求验证方法包括:需求评审、原型测试、需求跟踪矩阵、需求一致性检查等。
3. 解释什么是需求变更控制,以及它在软件开发过程中的作用。
答案:需求变更控制是指在软件开发过程中对需求变更进行管理和控制的过程。
它的作用是确保需求变更不会对项目的进度、成本和质量产生负面影响,同时保证需求变更的合理性和必要性。
三、案例分析题(每题25分,共50分)1. 假设你是一个软件开发团队的需求工程师,你的团队正在开发一个在线购物平台。
请描述你将如何进行需求获取和需求分析。
《软件工程》期末考试及答案《软件工程》期末考试及答案编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(《软件工程》期末考试及答案)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为《软件工程》期末考试及答案的全部内容。
第 1 页共9 页(软件工程)DD方法二、填空题(每空2分,共20分).在软件开发过程中要产生大量的信息,要进行大量的修改,2.规定功能的软件,在一定程度上对自身错误的作用具有屏蔽能力,则称此软件具有的软件。
3.McCall提出的软件质量模型包括个软件质量特性。
4.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、、可使用性和效率。
5. 为了便于对照检查,测试用例应由输入数据和预期的两部分组成.6。
程序设计语言的心理特性主要表现在、简洁性、传统性、局部性和顺序性。
7。
软件结构是以为基础而组成的一种控制层次结构。
8. 使用类创建对象的过程实际上是类的过程。
9. 结构化语言是介于自然语言和之间的一种半形式语言。
10。
若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P= 。
得分评卷人三、简答题(每小题5分,共20分)1.简述容错技术的四种主要手段,并解释。
2. 以G.J.Myers的观点,简述对软件测试的目的。
3. 就程序设计语言的工程特性而言,对程序编码有哪些要求?4。
模块的内聚性包括哪些类型?第 3 页共9 页(软件工程)得分评卷人四、理论应用题(每小题15分,共30分)1. 请使用PAD图和PDL语言描述在数组A(1)~A(10)中找最大数的算法。
2.根据下列条件使用等价类划分法设计测试用例。
第一部分选择题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、源程序11. 面向对象分析是对系统进行()的一种方法。
A 需求建模B 程序设计C 设计评审D 测试验收13、因计算机硬件和软件环境的变化而作出的修改软件的过程称为( )A.校正性维护B.适应性维护C.完善性维护D.预防性维护14、一个模块内部各程序都在同一数据结构上操作,这个模块的内聚性称为( )。
A、时间内聚B、功能内聚C、信息内聚C、过程内聚15.面向对象技术中,对象是类的实例。
对象有三种成份:( )、属性和方法(或操作)。
A. 标识B. 规则C. 封装D. 消息16.数据字典是用来定义_()中的各个成份的具体含义的。
软件工程期末考试题(含答案)软件工程期末考试题(含答案)一、选择题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) 与项目发起人进行需求讨论,明确系统的功能和性能需求,并进行需求分析和整理,编写需求文档。
(精编)软件工程期末考试总复习题及答案复习题填空题1.在信息处理和计算机领域内,一般认为软件是程序文档____ 和数据 ____ 。
2.数据流图的基本组成部分有数据的源点与终点、加工、数据文件3.数据流图和数据字典共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。
4.划分模块时尽量做到高内聚、低耦合,保持模块的独立性,尽量使用公共模块。
5.类的实例化是对象6.人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件可7.靠性的两个指标是_成功地运行的概率和平均故障时8.将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,9.将得到软件的总开发量。
这种成本估算方法称为自底向上10.如果一个模块被n个模块调用,其中直接的上级模块的个数是m个(mv=n )那么该模块的扇入数是个。
11. 结构化设计以数据流图为基础,按一定的步骤映射成软件结构。
12. 软件的风险分析可包括风险识别、风险预测和风险驾驭(或风险管理)等3项活动。
13. 软件著作权登记的3种主要类型:(1)著作权登记;(2)著作权延续登记;(3)权利转移备案登记。
14. 软件工程管理的主要内容有:项目经费管理,软件质量管理,项目进度管理和人员管理。
15. 面向对象分析的目的是对客观世界的系统进行建模16. 软件维护工作的生产性活动包括分析评价、修改设计和编写程序代码等。
17. 为了使应用软件适应计算机环境的变化而修改软件的过程称为适应性维护。
18. 一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性是内聚19. 投资回收期就是使累计的经济效益等于最初的投资费所需的时间。
20. 软件生存周期是指一个软件从提出开发要求开始直到软件废弃____ 止的整个时期。
21. 曾被誉为“程序设计方法的革命”的结构化程序设计,使程序设计从主要依赖于程序员个人的自由活动变成为有章可循的一门科学。
考试科目名称 软件需求工程1、(本题满分10分) (1) 解释下列三个概念:业务需求、用户需求、系统需求;(2)说明为什么在需求开发当中要重视软件的质呈属性。
2、(本题满分10分)试分析按下列顺序安排的问题是什么面谈结构:(1) 你在这个职位多久了?(2) 你的主要责任是什么?(3) 你接受什么报告?⑷你是如何看待部门目标的?(5) 你是如何描述决策过程的?(6) 怎样才能最好地支持这个过程?(7) 做这些决策的频度如何?(8) 当你做决策时会咨询谁?(9) 你做过的对于部门机能有重要意义的决策是什么?(1)这里采用了什么结构?你是如何确定的?得分 得分(2)通过改变问题的顺序,重新安排面谈的结构(如果有些必要,可以省略一些问题)。
标明所用的结构。
3、(本题满分15分)在各种关于软件的调研当中,无一例外的发现“缺乏用户参与”是导致软件失败的最大原因,请列举至少3条会使得用户参与不足的原因?并说明相应的解决方法。
4、(本题满分15分)根据下列叙述性描述,为描述的内容绘制一个上下文DFD:校园书店“课本库存系统”的目的是向学生提供本地大学课程的课本。
大学的教学部门通过一个“课本主清单”向书店提交初始数据,包括课程、教师、课本和预计注册人数。
书店生成一个“购买订单”,“购买订单”被送到供应课本的出版公司。
图书订单随着一个“包装清单”到达书店,它被接收的部门检查和验证。
学生填写包含课程信息的“购书要求”,当他们付了书款Z后就得到一个“销售单据”。
5、(本题满分15分)一个CD销售商店需要开展网上销售业务,下而是它的一个典型销售场景:Normal Flow of Events:1.Customer submits a search request to the system, the request contains the category information ofCDs.2.The system provides the customer a list of recommended CDs.3.The customer chooses one of the CDs to find additional information according to its identifie匚4.The system provides the customer with basic information & CD Reviews5.The customer maintains the order, records the item chosen・6.The customer iterates over 3 through 5 until finished shoppin g・7.The customer checks out and leaves the website・请以上述场景的描述为基础,执行名词抽取、建立关联和识别属性三个过程,并最终为上述描述建立领域模型,要求详细记录你在执行三个过程时的具体步骤。
、(本题满分15分)请为卞面的描述建立概念数据模型,只要求提供最终的结果。
南京大学软件学院设立的研讨班制度如下:1.在每个学年开始的时候开设,研讨班为期一个学年2.每个研讨班针对一个或几个研究方向3.由一位主持教师和几位支持教师进行引导4.每个学生都可以根据兴趣参加某个研讨班,但是所有的学生必须且只能参加一个研讨班的学习5.研讨班定期开展活动,一般为期1・2周活动一次6.每次活动吋,由一位或多位同学做学习报告,检验自己的学习成果,并由教师进行点评和指导7、(本题满分10分)进行需求文档写作时主要有三种手段:形式化语言、非形式化语言和半形式化语言,请:(1)说明这三种手段的不同及其各自的优缺点,并试举例;(2)说明在实践当中,应该怎样综合运用这三种手段。
8、(本题满分10分)说明在需求基线建立以后,应该如何处理需求的改变?考试科目名称 软件需求工程1、(本题满分10分) (1)解释下列三个概念:业务需求、用户需求、系统需求;(2)说明为什么 在需求开发当中要重视软件的质呈属性。
答案:(1)■ Busin ess requirements□ High-level objectives of the organization or customer who requests the system ■ User requirements (requirements definition)□ Statements in natural language plus diagrams of the services the system provides and its operational constraints. Written for customers■ Software requirements (software specification)□ A detailed software description which can serve as a basis for a design or implementation. Written for developers(2)■质量属性非常重要是因为它对设计的影响很大。
在软件设计当屮,对任何指定的功 能都会有多种可选的方案,不同的方案选择产生不同的设计结果。
这些不同的设计 结果都体现了共同的功能特性,但它们之间却有着很大的区别,差异之处即在于拥 有不同的质量因素。
设计方案的质量因素往往包含很多不同的质量属性,而且不同 的质量属性之间互有折中(例如,提高可移植性往往会导致效率的降低),很难会 出现某一个设计方案的质量属性完全优于其他方案的情况,因此,软件设计必须根 据需求的质量属性在多种方案中选择一个最优的方案。
而如果不存在事先定义好的 质量属性盅求,设计方案的选择将完全没有依据,结果就很有可能导致软件不被用 户所接受。
2、(本题满分10分)试分析按下列顺序安排的问题是什么面谈结构:(1)你在这个职位多久了? (2)你的主要责任是什么? (3)你接受什么报告? ⑷你是如何看待部门目标的?(5)你是如何描述决策过程的?得分 得分(6) 怎样才能最好地支持这个过程?(7) 做这些决策的频度如何?(8) 当你做决策时会咨询谁?(9) 你做过的对于部门机能有重要意义的决策是什么?(1) 这里采用了什么结构?你是如何确定的?(2) 通过改变问题的顺序,重新安排面谈的结构(如果有些必要,可以省略一些问题)。
标明所用的结构。
答案:(1)菱形,按照问题的开放和闭合程度确定6、7、8、9,金字塔3、(本题满分15分) 在各种关于软件的调研当中,无一例外的发现“缺乏用户参与”是导致软件失败的最大原因,请列举至少3条会使得用户参与不足的原因?并说明相应的解决方法。
(1) 用户数量太多,选择困难。
随着现有系统规模和功能的不断扩大,它们屮的相当一部分拥有了大量角色各异的用 八,要覆盖所有用八来获取需求已经变得越来越不可能。
这些用八乂都只是使用系统功能的 某些片断,企望某个用户能够提供系统全部的需求视图也不现实。
因此,如何选择用户,以 在需求获取可以有效进行的同时保证获収需求的完整性和代表性,就带来了用户的选择困 难。
(2) 用户认识不足,不愿参与。
在很多情况下,用户认识不到开展需求工作的重要性。
在极端情况下,用户会以为软件 产品的生产和其他工业用品一样,顾客的任务只是付费然后坐等合格产品的交付。
在通常情 况下,用户会在简单的提出要求后,就急不可耐要求看到开发者的进展,在得不到满足之后, 又会抱怨开发者能力不足、领悟力不够。
但事实上软件系统的开发是一项非常复杂的任务, 它要求用户在需求开发上进行积极的配合,因为一方而软件系统的特性不是可以简单定制 的,它必须针对用户的问题,另一方面开发者不是用户领域的专家,只有用户自己才真正了 解自己的问题。
(3) 用户情绪抵制,消极参与。
一个软件系统被引入问题域之后,它在解决问题的同时,也可能会产生其他的附带影响。
其屮就包插可能会对某些用户产生不利的影响,并引起他们的情绪抵制。
组织木身是一个拥 有独立目标、策略和管理方式的实体,同时它的成员又有自己的兴趣、信仰、价值和利益, 成员的取向和组织的取向部分统一又部分分离,并在一段时期内形成一个平衡的状态,既满 足组织的需要又能让成员们满意。
在平衡状态下,如果用户怀疑一个新的软件系统会侵害他 们的取向,或者他们看不到新系统对他们取向的尊重,他们就对能努力的拒绝变化发生,抵 制新的系统,消极的参与需求获取活动。
根据下列叙述性描述,为描述的内容绘制一个上下文DFD :校园书店“课本库存系统”的冃的是向学生提供本地大学课程的课本。
大学的教学部门通过一个“课本主清单” 向书店提交初始数据,包括课程、教师、课本和预计注册人数。
书店生成一个“购买订单”, “购买订单”被送到供应课本的出版公司。
图书订单随着一个“包装清单”到达书店,它被接收的部门检查和验证。
学生填写包含课程信息的“购书要求”,当他们付了书款之后就得 到一个“销售单据”。
4、(本题满分15分)(2): 4、答案评分标准:• 没有语法错误• 外部实体完整• 数据流完整5、(本题满分15分)一个CD 销售筒店需要开展网上销售业务,下血是它的一个典型销售场景:Normal Flow of Events:1. Customer submits a search request to the system, the request contains the category information of CDs.2. The system provides the customer a list of recommended CDs ・3. The customer chooses one of the CDs to find additional in formation according to its identifie 匚4. The system provides the customer with basic information & CD Reviews5. The customer maintains the order, records the item chosen ・6. The custome 『iterates over 3 through 5 until finished shopping ・7. The customer checks out and leaves the website ・请以上述场景的描述为基础,执行名词抽取、建立关联和识别属性三个过程,并最终为 上述描述建立领域模型,耍求详细记录你在执行三个过程时的具体步骤。