软件需求期末考试资料整理
- 格式:docx
- 大小:304.43 KB
- 文档页数:10
软件工程期末考试参考题及答案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、需求分析的最终结果是需求规格说明书。
2、需求分析中开发人员要从用户那里解决的最重要的问题是让软件做什么。
3、需求规格说明书中的内容不应该包括对算法的详细过程的描述。
4、需求规格说明书的作用不应包括软件可行性研究的依据。
5、关于面向对象方法中消息的叙述,不正确的是操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息。
6、面向对象技术中,对象是类的实例,对象有三种成分标识、属性、方法(或操作)7、软件需求分析阶段的工作,可以分成以下四个方面对问题的识别、分析与综合、制定规格说明以及需求分析评审。
8、软件需求规格说明书的内容不应该包括对算法的详细过程的描述。
9、产品特性可以称为质量属性,在众多质量属性,对于开发人员来说重要的属性有哪些?可维护性、可移植性、可重用性、可测试性10、求包括11个方面的内容,其中网络和操作系统的要求属于环境需求,如何隔离用户之间的数据属于安全保密需求,执行速度、相应时间及吞吐量属于性能需求,规定系统平均出错时间属于质量保证。
11、需求分析过程应该建立3中模型,他们分别是数据模型、功能模型、行为模型,以下几种图形中,数据流图(DFD)属于功能模型,实体-联系图(ERD)属于数据模型,状态转换图(STD)属于行为模型。
12、常用的需求分析方法有:面向数据流的结构化分析方法(SA),面向对象的分析的分析方法(OOA),下列(D)不是结构化分析方法的图形工具。
A 决策树B 数据流图C数据字典D快速原型13、软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性,其中,探索型和实验型用完可以丢弃,而进化型围绕原型修改、增加。
14、数据流图用于描述数据的处理过程。
15、DFD 的基本符号不包括下列哪种?(A)。
A 数据字典B 加工C 外部实体D 数据流E 数据存储文件16、DD的主要字典条目包括以下哪种(E)A 数据流B文件C 数据项D加工E以上都是17、常用的动态分析方法不包括以下哪种(B)A 状态迁移图B 层次方框图C 时序图D Petri网18、需求分析阶段的文档包括以下哪些(E)A 软件需求规格说明书B 数据要求说明书C 初步的用户手册D 修改、完善与确定开发实施计划E 以上都是19、需求验证应该从下述几个方面进行验证:(C)A 可靠性、可用性、易用性、重用性B 可维护性、可移植性、可重用性、可测试性C 一致性、现实性、完整性、有效性D 功能性、非功能性20、风险管理的要素包括哪些(D)A 风险评价B 风险避免C 风险控制D 以上都是21、下列描述中错误的是(D)A 每一个集成的需求变更必须能跟踪控制到一个经核准的变更请求。
软件需求期末考试题及答案# 软件需求期末考试题及答案一、选择题(每题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. 描述需求获取的方法,并给出一个具体的例子。
答案:需求获取是指从用户或其他利益相关者那里收集需求的过程。
常见的方法包括访谈、问卷调查、观察、原型开发、焦点小组讨论等。
例如,通过访谈,开发团队可以直接与用户交谈,了解他们的工作流程、痛点和期望的功能,从而获取需求。
软件需求复习题软件需求复习题随着科技的不断发展,软件已经渗透到我们生活的方方面面。
无论是在工作中还是日常生活中,我们都离不开各种各样的软件应用。
而这些软件的开发离不开软件需求的明确和准确。
那么,你对软件需求了解多少呢?下面就让我们来复习一下软件需求的相关知识吧。
一、什么是软件需求?软件需求是指对软件系统所期望的功能、性能、接口等方面的描述。
它是软件开发过程中的第一步,也是最重要的一步。
软件需求的明确和准确直接影响着软件系统的质量和用户的满意度。
二、软件需求的分类根据软件需求的性质和表达方式,可以将软件需求分为以下几类:1. 功能需求:描述软件系统应该具备的功能和行为。
例如,一个音乐播放器应该具有播放、暂停、停止等基本功能。
2. 非功能需求:描述软件系统的性能、安全、可靠性等方面的要求。
例如,一个电商网站的非功能需求可能包括页面加载速度、交易安全性等。
3. 接口需求:描述软件系统与外部环境的交互方式和规范。
例如,一个手机应用的接口需求可能包括与摄像头、传感器等硬件设备的交互。
4. 数据需求:描述软件系统对数据的处理和管理要求。
例如,一个学生管理系统的数据需求可能包括学生信息的录入、查询和统计等。
三、软件需求的获取和分析软件需求的获取和分析是软件开发过程中的关键环节。
常用的软件需求获取和分析方法包括:1. 需求访谈:与用户和相关人员面对面交流,了解他们的需求和期望。
2. 观察法:观察用户在实际使用软件时的行为和反馈,从中获取需求。
3. 文档分析:对现有的相关文档进行分析,提取其中的需求信息。
4. 原型法:通过制作软件原型,让用户直观地感受到软件的功能和界面,从而获取需求。
四、软件需求的规格说明软件需求的规格说明是将获取到的需求进行整理和详细描述的过程。
常用的软件需求规格说明方法包括:1. 自然语言:使用自然语言进行需求的描述和说明。
例如,“系统应该能够实现用户注册和登录功能”。
2. 用例:使用用例图和用例描述对需求进行规格说明。
填空:1.在导致需求问题的原因中,一个最为重要的原因是:未能很好的掌握应用型软件的模拟特性以及由此产生的一系列的影响和要求。
2.面向专业用户的纯工具型软件的首要成功标准是:要具有功能的复杂性和使用的高效性。
3.需求开发过程中产生的主要文档有三种:项目前景和范围文档,用户需求文档,需求规格说明文档。
4.系统用例图和上下文图通常被用来定义系统的边界。
5.在需求建模时,常用的技术包括:数据流图,实体联系图,状态转换图,类图等半形式化建模技术。
6.业务需求,高层解决方案及系统特性都应该被记录下来,定义为项目前景与范围文档。
7.每一个明确,一致的问题都意味着涉众存在一些相应的期望目标,即业务需求。
8.业务需求中需要特别注意的特征是可行性和可验证性。
9.在会谈中使用的问题基本上可以分为两种:开放式和封闭式问题10.面谈的类别:结构化,半结构化和非结构化面谈11.原型的需求内容可以从三个纬度上分析:外观,角色,实现12.民族志一个主要的应用目的就是研究和解决复杂的协同问题13.分类框架将场景方法从场景的形式(又分为描述和外观两个方面),目的,内容和生命周期四个方面进行了分类和描述14.工程利用场景的目的有三种:描述,探索,解释15.抽象和分解是建模最为常用的两种手段16.抽象通过强调本质的特征,减少了问题的复杂性;分解的手段体现了分而治之的思想17.分析模型是半形式化的18.建模语言有三个要素:语法,语义,语用19.按照Zachman的矩阵框架,分析技术就是用来对第二行(企业模型)的各列进行建模和描述的技术20.面向对象分析方法以对象为基础,结构化分析方法以功能和数据为基础21.结构化,信息工程和面向对象三中方法学下的需求分析技术都是面向解系统的22.使用面向问题的技术称为前期需求阶段的分析,使用面向解系统的技术称为后期需求阶段的分析23.数据流图建模时使用的基本模型元素有四种:外部实体,过程,数据流和数据存储24.DFD定义了三个层次的DFD图:上下文图,0层图和N层图25.实体联系图用实体,属性和关系三个基本构建单位来描述数据模型26.除了静态的事物和抽象的概念之外,行为和事件也是常见的实体类型27.在关系的命名上通常使用动词28.用例模型的基本元素:用例,参与者,关系,系统边界29.UML的行为模型有三种:交互图,状态图,活动图30.在目标模型中使用的其他模型元素有行为者,场景,操作,任务,资源,UML元素等//31.需求跟踪是以软件需求规格说明文档为基线,在向前和向后两个方向上,描述需求以及跟踪需求变化的能力名词解释:1.需求工程:是软件工程的一个分支,它关注与软件系统所应予实现的现实世界目标,软件系统的功能和软件系统应当遵守的约束,同时它也关注以上因素的准确的软件行为规范说明之间的联系,关注以上因素与其随时间或跨产品族而演化之后的相关因素之间的联系。
第二章:描述1、需求的定义a用户为了解决问题和解释或达到某些目标所需要的条件能力b系统或系统部件为了满足合同,标准,规范或其他正式文档所规定的要求而需要具备的条件或能力c对a或b中的一个条件或一种能力的一种文档表述。
2、需求的内涵:问题域、解系统与共享现象a要解决问题,就需要改变现实中某些实体的状态,或者改变实体状态变化的演进顺序,使其达到期望的状态和理想的演进顺序。
这些实体与状态构成了问题解决的基本范围,称为该问题的问题域。
b软件系统通过影响问题域,能够帮助人们解决问题,称为解系统。
c共享现象:通过映射建立的共同知识,就是问题域中与解系统中的共享现象。
3、分类:类别有:功能需求,性能需求,质量需求,对外接口,约束4、功能需求的三个层次:5、需求工程的路线图问题分析:明确问题定义业务需求制定解决方案及系统特性->需求获取:用户需求,性能需求质量属性对外接口约束问题域特性->需求分析:系统需求系统模型->文档化与验证第四章:描述6、需求获取的困难用户和开发人员的背景不同,立场不同首先是知识理解的困难。
尽力去研究应用的背景,理解组织的状况,形成一个能够和用户进行有效沟通的粗略的知识框架默认(Tacit)知识现象利用有效的获取方法与技巧(角色扮演、观察等)来发现并获取默认知识普通用户缺乏概括性、综合性的表述能力普通用户的知识结构就相对局限于一些具体的业务细节善于表达具体业务的细节问题专家用户的知识结构因其渊博性而具有概括性和广泛性能够回答概括性和综合性的问题开发人员在与用户接触之前就先行确定获取的内容主题,然后设计具体的应用环境和场景条件,由用户根据细节业务的执行来描述问题、表达期望。
7、需求获取的流程第五章8、定义项目前景和范围的流程:描述9、问题分析:应用第六章:描述+应用10、涉众分析的流程11、涉众识别的方法12、涉众评估的内容13、涉众选择的策略第7——9章:描述+应用14、面谈的问题类型15、面谈的结构16、面谈的优缺点17、原型的各种特征分类18、原型的优缺点利用原型的好处有:及时、有力的响应用户需求的变化;减少返工;帮助控制不完整需求所带来的风险;可以将一个大的难以处理的开发过程细分成一些更小更容易处理的步骤;减少开发成本,提高经济效益;增加开发者之间的交流,帮助确定技术解决方案的可行性;有效的识别风险和解决风险,帮助进行风险管理;提高用户在软件开发中的参与程度。
软件需求工程期末考试试题### 软件需求工程期末考试试题一、选择题(每题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. 假设你正在参与一个跨文化团队的软件项目,团队成员来自不同的国家和文化背景。
请讨论在这种环境下进行需求收集和沟通时可能遇到的挑战,并提出你的解决方案。
注意:请考生仔细阅读题目,认真作答,确保答案清晰、准确。
考试结束后,将答题纸交回。
祝各位考生考试顺利!。
考试科目名称 软件需求工程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.需求开发可进一步细分为:获取、分析、规格说明和确认。
2.需求问题导致的主要后果是返工—重复做您认为早已做好的事情。
3.造成软件成本估算失败的最主要原因包括频繁变更需求、遗漏需求、未与用户充分沟通、需求的说明不精确,以及对需求的分析不透彻4.实现有效的需求工程过程。
减少开发后期以及整个维护过程中不必要的返工并可带来极大的回报。
第2章1.客户泛指直接或间接得益于产品的个人或组织。
2.很多组织把在需求文档上签字作为客户认可需求的标志,签字不仅仅是仪式,更重要的是建立需求协议的基线。
第3章1.需求分析包括对需求进行推敲和润色以保证所有的涉众人都能够理解需求,以及仔细检查找其中的错误、疏漏和其他缺陷。
2.分析包括将高层的需求分解成具体细节、创建开发原型,以及评估可行性和协商需求优先级。
3.需求验证可确保需求声明是正确的、具备了所需的质量属性,而且能够满足客户的需要。
第4章1.需求分析员是对项目涉众的需求进行收集、分析、记录和验证等职责的主要承担者。
第5章1.产品前景将所有涉众统一到一个方向上。
前景描述了产品用来干什么,它最终会是什么样子。
2.项目范围确定当前的项目要解决产品长远规划中哪一部分。
3.广度(breadth)指应用能完成哪些业务工作(即用例)。
而深度(depth)则说明将各项用例实现到何种程度。
4.前景与范围文档用于将业务需求收集整理到一个文档中,为后续的开发工作打好基础。
5.涉众是积极参与项目、受项目结果影响,或者能够影响项目结果的个人、团体或组织。
第6章1.开发人员开发的产品与客户期望获得的产品之间常常存在较大差距,即所谓的期望鸿沟。
第七章1.需求工程的核心任务是需求获取,即确定软件系统涉众的需要及限制条件的过程。
2.使用增量开发方法,把需求分解成低风险的更小的部分进行研究3.使用活动挂图(flipchart)来捕获以后再考虑的一些条目4.将客户的意见归类:业务需求用例或场景业务规则功能性需求质量属性外部接口需求数据定义解决思路5.用例是对用户目标或用户需要执行的业务工作的一般性描述;使用场景则是某个用例的一条特定路径。