软件需求期末考试资料整理

合集下载

软件工程期末考试参考题及答案

软件工程期末考试参考题及答案

软件工程期末考试参考题及答案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.需求工程:是软件工程的一个分支,它关注与软件系统所应予实现的现实世界目标,软件系统的功能和软件系统应当遵守的约束,同时它也关注以上因素的准确的软件行为规范说明之间的联系,关注以上因素与其随时间或跨产品族而演化之后的相关因素之间的联系。

软件需求工程考试复习资料:复习提纲.doc

软件需求工程考试复习资料:复习提纲.doc

第二章:描述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. 假设你正在参与一个跨文化团队的软件项目,团队成员来自不同的国家和文化背景。

请讨论在这种环境下进行需求收集和沟通时可能遇到的挑战,并提出你的解决方案。

注意:请考生仔细阅读题目,认真作答,确保答案清晰、准确。

考试结束后,将答题纸交回。

祝各位考生考试顺利!。

软件需求分析复习资料

软件需求分析复习资料
复旦大学计算机科学与工程系 软件工程课程 4

计算机系统本身是无用的

������ ������ ������ ������ ������ ������

软件开创了新的可能性

目录
首页
上页
下页
末页

软件需求包括三个不同的层次—业务需求、用户需求和 功能需求(非功能需求)
业务需求( business requirement)反映了 组织机构或客户对系统、产品高层次的目标 要求
原型法
适合于开发方清楚 对于开发方要求较 在以往类似项目应 项目需求但用户方 高 用系统的基础上进 不清楚项目需求的 行少量修改得出一 情况 可运行系统
节省开销 无法满足个性化软 重用建好的领域模 件要求 型,获得新系统需 13 复旦大学计算机科学与工程系 软件工程课程 求
目录 首页 上页 下页 末页

复旦大学计算机科学与工程系 软件工程课程 31
目录
首页
上页
下页
末页
类图

当你考虑如何将问题域对象映射到系统对象, 并进一步细化每个类的属性和操作时,面向对 象技术可以方便需求开发到设计阶段的转换。 类图(class diagram)是用图形方式叙述面向对 象分析所确定的类以及它们之间的关系。 用统一建模语言(UML)的符号为化学制品跟 踪系统的一部分(你所假设的)绘制类图。
末页
业务需求
•业务需求是组织或客户对于系统的高层次目标要求,定义 了项目的远景和范围,即确定软件产品的发展方向、功能 范围、目标客户和价值来源。 •业务需求的内容
–业务:产品属于哪类业务范畴?应该完成什么功能?需要为什么
服务? –客户:产品为谁服务?目标客户是谁?

《软件需求工程》期末考试试题2套含答案(大学期末复习资料).doc

《软件需求工程》期末考试试题2套含答案(大学期末复习资料).doc

考试科目名称 软件需求工程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.用例是对用户目标或用户需要执行的业务工作的一般性描述;使用场景则是某个用例的一条特定路径。

软件需求期末考试资料整理

软件需求期末考试资料整理
(2)使用原型的原因:产品开发初期很难确定用户的需求规格,为了解决用户与开发者之间的鸿沟,以原型(软件产品的样品)为共同语言,实现用户与开发者双向沟通。原型直观、易于理解与沟通,此外,还是解决需求二义性和不完整性的有效方法。具体而言,使用原型的目的有三:【P163】
(3)对原型的理解
原型的好处:
1)保证产品有较好的可维护性。
第七讲
数据字典
1、业务规则是什么?包含哪些内容?
定义:业务规则是对业务的某个方面进行定义或约束的语句。业务规则用于声明业务结构,或者控制、影响业务的行为。P105
包含内容:事实、约束、动作触发规则、计算、推论、术语表六部分(P105图)
(书上只画了五部分,老师上课讲时补充了“术语表”部分)。
(1)事实:是对业务的真实陈述,常常描述重要业务术语见的关联。事实也称为不变量——关于数据实体及其属性的不可改变的真实情况。
f)写作能力
g)组织能力
h)建模能力
i)人机交往能力
j)创造力
(3)需求分析员必备的知识–P45
a)除了前面提到的专门技能以及性格特点,需求分析员还需具备从实验经验中积累的广博知识。其中最基础的是对当代需求管理技术的深刻理解,以及在各种不同的软件开发生命周期环境中应用这些技术的能力。
b)如果需求分析员能够充分理解项目管理、风险管理和质量工程,则有助于避免因需用开发(RAD,Rap Application Development)模型基础上演变而来,由于将整个开发过程构造成一个V字形而得名。V模型强调软件开发的协作和速度,将软件实现和验证有机地结合起来,在保证较高的软件质量情况下缩短开发周期。
开发特点
下面介绍v字形开发软件开发和测试的关系,理解V模型具有面向客户、效率高、质量预防意识等特点,能帮助我们建立一套更有效的、更具有可操作性的软件开发过程。

软件需求分析--复习题

软件需求分析--复习题

软件需求分析--复习题1、名词解释题1.需求分析答:开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说明)的过程。

2.需求工程3.业务模型4.原型开发方法5.数据字典2、简答题1.需求分析阶段的基本任务是什么?答:需求分析阶段的基本任务是:(1.问题识别:双方对问题的综合需求:a.功能需求b.性能需求c.环境需求d.用户界面需求.(2.分析与综合,导出软件的逻辑模型.(3.编写文档2.需求说明书由哪些部分组成?各部分之间的关系是什么?答:软件需求说明书一般包括如下内容:1)引言部分编写目的;项目背景(应包括:a.项目的委托单位、开发单位和主管部门;b.该软件系统与其他系统的关系。

) ;定义;(列出文档中所用到的专门术语的定义和缩写词的原文。

)参考资料。

2)任务概述3)数据描述目标;运行环境;条件与限制。

静态数据;动态数据(包括输入数据和输出数据) ;数据库描述(给出使用数据库的名称和类型) ;数据词典;数据采集。

4)功能要求5)性能需求功能划分;功能描述。

数据精确度;时间特性(如响应时间、更新处理时间、数据转换与传输时间、运行时间等);适应性(在操作方式、运行环境、与其他软件的接口以及开发计划等发生变化时,应具有的适应能力。

)6)运行需求障处理。

7)其他要求用户界面(如屏幕格式、报表格式、菜单格式、输入输出时间等);硬件接口;软件接口;故如可使用性、安全保密、可维护性、可移植性等。

8)附录1.概括说明如何进行需求分析?(20)答:(1)需求分析是指在需求开发过程中,对所获取的需求信息进行分析,及时排除错误和弥补不足,确保需求文档正确地反映用户的真实意图。

(2)分析方法大体有两类:“问答分析法”和“建模分析法”。

第一:问答分析方法很简单:刨根究底地问,如果问题都被解答了,那么需求也就分析清楚了。

一个人可以“自问自答”地分析需求,几个人分析需求则称为“研讨”。

2023国家开放大学电大本科《软件需求分析》期末试题及答案

2023国家开放大学电大本科《软件需求分析》期末试题及答案

2023国家开放大学电大本科《软件需求
分析》期末试题及答案
本文档旨在提供2023年国家开放大学电大本科《软件需求分析》期末试题及答案。

以下是试题及答案的详细内容:
1. 试题一
- 题目:请简要说明软件需求分析的定义和目标。

- 答案:软件需求分析是指在软件开发过程中,通过对用户需
求的分析和理解,明确软件系统中所需的功能、性能和约束等要求。

其目标是确保开发出满足用户需求的高质量软件系统。

2. 试题二
- 题目:请列举至少三种软件需求分析的常用技术和方法。

- 答案:常用的软件需求分析技术和方法包括用户访谈、场景
建模、原型设计、用例规约等。

3. 试题三
- 题目:请解释需求确认的重要性并阐述常用的需求确认技术。

- 答案:需求确认是为了确保所得到的需求是准确且完整的,
避免误解和偏差。

常用的需求确认技术包括原型演示、问卷调查、
系统交互分析等。

4. 试题四
- 题目:请简述软件需求规约的作用及常见的规约方式。

- 答案:软件需求规约是对软件需求的详细说明和规范,作用
是确保开发人员可以根据需求进行准确的开发和测试。

常见的规约
方式有自然语言、图形表示和数学方法等。

以上是2023年国家开放大学电大本科《软件需求分析》期末
试题及答案的内容。

希望能对大家的研究有所帮助。

请大家认真研
究本科目,掌握软件需求分析的基本知识和技术。

感谢阅读本文档。

(Word count: 192)。

软件需求分析复习资料

软件需求分析复习资料

1、为什么软件需求很难?(前言)客户经常没有耐心参与需求开发,或者是指派不适合的人选来提供需求消息。

项目参与者甚至经常不能就“到底什么是需求”达成一致意见。

2、项目涉众包括:(p4)·客户:为达到其公司的业务目标而投标项目或购买产品·用户:直接或间接与产品打交道,是客户的一部分·需求分析员:负责编写需求并传达给开发团队·开发人员:设计、实现和维护产品·测试人员:确定产品的行为是否与预计的相一致·文档编制人员:负责编写用户手册、培训资料和系统帮助·项目经理:制定项目计划并带领开发人员获得成功·法律人员:确保产品符合所有相关规定·生产人员:制造包含该软件的产品·市场营销、技术支持及其他与产品和客户打交道的人员。

3、软件需求的定义(p5)·用户为解决某个问题或达到每个目标而需具备的条件或能力·系统或系统组件为符合合同、标准、规范或其他正式文档而必须满足的条件或必须具备的能力·上述第一项或第二项中定义的条件和能力的文档表达4、软件需求的层次:(3个)(p6-p7)业务需求:表示组织或客户高层次的目标用户需求:描述的是用户的目标,或用户要求系统必须能完成的任务。

功能需求:规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。

以上为功能需求,出了功能需求外,SRS中还包含非功能需求包括性能指标和对质量属性的描述。

质量属性对产品的功能描述做了补充,它从不同的方面描述了产品的各种特性。

5、不属于需求的内容(p8)需求规格说明中不包括(除已知约束外的)设计和实现的细节、项目的计划信息,以及测试信息。

6、需求开发可进一步分为获取、分析、规格说明和确认。

这些子学科涵盖了为软件和软件相关产品收集、评估和记录需求相关的所有活动,包括:(p9)·确定产品将要面试的各类用户。

软件工程期末复习要点归纳总结

软件工程期末复习要点归纳总结

软件工程期末复习要点归纳总结软件工程是指在软件开发的全过程中,应用工程的原理、方法和经验对软件进行开发、运行和维护的过程。

在软件工程这个学科中,包括了软件需求、软件设计、软件构建、软件测试、软件维护等多个阶段和技术。

下面是软件工程期末复习的要点归纳总结:1.软件开发过程模型-瀑布模型:各个阶段按顺序进行,每个阶段完成后不可回溯。

-增量模型:将软件划分为多个增量,每个增量独立进行开发。

-螺旋模型:将软件开发过程分为多个循环,每个循环都包括需求分析、设计、开发和测试。

-迭代模型:将软件开发过程分为多个迭代,每个迭代包括需求分析、设计、开发和测试。

2.软件需求工程-需求获取:通过需求采集、用户访谈、问卷调查等方式获取需求。

-需求分析:对需求进行整理、分类、抽象和规范化,得出系统需求。

-需求规格说明:将需求规格化为需求文档,包括用例、用例图、领域模型等。

-需求验证:通过评审、原型验证等方式验证需求的正确性和完整性。

3.软件设计-结构化设计:通过模块化、自顶向下、逐步求精的方式进行软件设计。

-面向对象设计:通过类、继承、多态等面向对象的概念进行软件设计。

-架构设计:设计软件的整体框架和组件之间的关系。

-接口设计:设计软件的各个组件之间的接口。

4.软件构建-编码:根据设计文档进行编码,可以使用编程语言、集成开发环境等工具。

-调试:通过调试工具,对程序进行调试,找出存在的问题并进行修复。

-集成:将各个模块集成到一起,进行整体测试,确保功能的正确性。

-部署:将软件部署到目标环境中,确保软件能够正常运行。

5.软件测试-单元测试:对软件的最小单元进行测试,如函数、方法等。

-集成测试:对软件的各个模块进行整合测试,确保模块之间的协调性。

-系统测试:对整个系统进行测试,确保系统满足用户需求。

-验收测试:由用户对软件进行测试,验证软件是否满足用户需求。

6.软件维护-改正性维护:修复软件中的错误。

-适应性维护:根据用户需求,对软件进行功能扩展。

软件考试知识点总结

软件考试知识点总结

软件考试知识点总结一、软件开发流程1. 软件需求分析阶段在软件开发的早期阶段,需要对用户的需求进行详细的分析,包括功能需求、性能需求、安全需求等,以便为后续的软件设计和开发提供依据。

2. 软件设计阶段软件设计是将需求转化为软件的过程,主要包括架构设计、模块设计、接口设计等。

在软件设计过程中,需要考虑系统的可扩展性、易用性、安全性等因素。

3. 软件编码阶段软件编码是将设计文档转化为实际的程序代码的过程,需要对编程语言、算法、数据结构等方面的知识有深入的了解。

4. 软件测试阶段软件测试是为了验证软件的正确性、完整性、可靠性等方面的过程,主要包括单元测试、集成测试、系统测试等。

5. 软件部署和维护阶段软件部署是将软件安装到用户的设备上并进行配置的过程,而软件维护则是对软件进行升级、修复漏洞等方面的工作。

二、软件工程原理1. 软件工程概念和原则软件工程是一门应用科学,是将工程原理和方法应用于软件开发的学科。

软件工程的核心原则包括模块化、抽象化、标准化、规模化等。

2. 软件工程模型软件工程模型是描述软件开发过程的一种形式化的方法,主要包括瀑布模型、迭代模型、敏捷开发模型等。

3. 软件质量和质量保证软件质量是衡量软件产品是否符合用户需求和标准的重要指标,而质量保证则是通过测试、评审、培训等手段来保证软件质量。

4. 软件项目管理软件项目管理是对软件开发过程进行计划、组织、指挥、协调和控制的过程,需要对成本、进度、质量、风险等方面进行有效管理。

5. 软件工具和环境软件工具是为了提高软件开发效率和质量而设计的软件,包括编辑器、编译器、调试器、版本控制系统等。

而软件环境则是软件开发过程所需的硬件和软件的集合。

三、软件开发技术1. 编程语言编程语言是软件开发的基本工具,主要包括C、C++、Java、Python、JavaScript等。

2. 数据库技术数据库技术是用于存储、管理和检索数据的一种技术,主要包括关系数据库、NoSQL数据库、数据仓库、数据挖掘等。

软件需求工程 期末复习资料

软件需求工程 期末复习资料

☆什么是软件需求工程?请说明软件需求工程中各阶段的主要任务。

p51 定义一般定义:指应用工程化的方法、技术和规格来开发和管理软件的需求。

需求工程的目标:获取高质量的软件需求。

与软件工程中传统的需求分析概念相比,需求工程突出了工程化的原则,强调以系统化、条理化、可重复化的方法和技术进行与软件需求相关的活动,从而有利于提高所有与软件需求相关的活动及其过程的可管理性,降低需求开发和管理的难度和成本。

其它定义:Alan.Davis:直到(但不包括)把软件分解为实际架构组建之前的所有活动,即软件设计之前的一切活动。

该定义虽然没有详细说明需求工程是什么,但其给出了需求工程的范围。

Lan K. Bray:对问题域及需求做调查研究和描述,设计满足那些需求的解系统的特性,并用文档给予说明。

这个定义明确指出了需求工程的任务就是获取、分析和表达软件的需求。

需求工程= 需求的开发活动+ 需求的管理活动2 各阶段主要任务需求获取阶段:获取用户的需求信息。

需求分析阶段:分析和综合已经收集到的需求信息。

需求建模阶段:根据待开发软件系统的需求利用某种建模方法建立该系统的逻辑模型。

需求定义阶段:根据用户需求编写出需求规格说明。

需求的形式化描述阶段:用严格的数学知识和符号来构造系统的需求模型。

需求验证阶段:检验软件需求规格说明。

需求管理阶段:开发人员在与提出更改的请求者协商的基础上,评估需求变更带来的潜在影响及可能的成本及费用,然后实施更改,一级有效的管理需求规格说明文档和跟踪更改需求的状态。

☆什么是软件需求?软件需求有哪些类型,并分别给出它们的定义。

p2软件需求的定义:A. Davis:软件需求是从软件外部能发现的,软件所具有的,满足于用户的特点、功能及属性等的集合。

I. Sommerville:需求是问题信息和系统行为、特性、设计和实现约束的描述的集合。

M. Jackson等:需求是客户希望在问题域内产生的效果。

IEEE软件工程标准:(1)用户解决问题或达到目标所需的条件或能力;(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、如果在最终的物件(Final Artifact)产生之前,一个中间物件(Mediate Artifact)被用来在一定广度和深度范围内表现这个最终物件,那么这个中间物件就被认为是最终物件在该广度和深度上的()。

(A)模拟(B)构造(C)原型(D)模型8、按照使用方式进行分类,原型可分为:演示原型、()、试验原型和引示系统原型。

(A)非操作原型(B)系列首发原型(C)选定特征原型(D)严格意义上的原型9、按照功能特征进行分类,原型可分为:()、非操作原型、系列首发原型和选定特征原型。

(A)拼凑原型(B)样板原型(C)纸上向导原型(D)严格意义上的原型10、按照开发方法进行分类,原型可分为:演化式原型和抛弃式原型,其中抛弃式原型又被细分为()。

(A)演示原型和试验原型(B)系列首发原型和选定特征原型(C)探索式原型和实验式原型(D)样板原型和纸上向导原型11、原型的需求内容可以从三个纬度上分析:即()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c)对于优秀的需求分析员而言,掌握应用领域的知识也是一项重要的能力。
(4)谁能成为程序员–P47
a)用户
b)开发人与那
c)主题专家(SME)
(5)营造合作的气氛,要达到的目的-P48
a)客户对产品感到满意
b)开发组织因产品在商业上去的成就而兴奋
c)开发团队成员在具有挑战性和高回报的项目中去的的成果而骄傲。
用户需求(user requirement) 文档描述了用户使用产品必须要完成的任务,这在使用实例(use case)文档或方案脚本(scenario)说明中予以说明。
功能需求(functional requirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。
用户对产品的工作性能有期望,用户衡量这种性能的特性包括:产品的易用性、运行速度、出错频率,以及处理异常情况的能力。这些特性合起来称为软件质量属性或这两因素,是系统非功能性需求的一部分。P149-150
主要对用户重要的属性
主要对开发人员重要的属性
可用性
可维护性
有效性
可移植性
灵活性
可重用性
完整性
可测试性
第七讲
数据字典
1、业务规则是什么?包含哪些内容?
定义:业务规则是对业务的某个方面进行定义或约束的语句。业务规则用于声明业务结构,或者控制、影响业务的行为。P105
包含内容:事实、约束、动作触发规则、计算、推论、术语表六部分(P105图)
(书上只画了五部分,老师上课讲时补充了“术语表”部分)。
(1)事实:是对业务的真实陈述,常常描述重要业务术语见的关联。事实也称为不变量——关于数据实体及其属性的不可改变的真实情况。
2)用户容易陷入重点关注系统的“how(如何)”诸如外观、界面等浮于表面的因素,而忽略掉在需求阶段本应当重点关注的“what(什么)”方面的问题。
3)用户容易根据原型的性能来推断最终产品的期望性能。
最后,注意原型不适合做如下开发:嵌入式软件、实时控制软件和科学数值计算软件。
2.为什么要设定需求的优先级?如何设定优先级?
2.1横向特点
左边是设计和分析,是软件设计实现的过程,同时伴随着质量保证活动——审核的过程,也就是静态的测试过程;右边是对左边结果的验证,是动态测试的过程,即对设计和分析的结果进行测试,以确认是否满足用户的需求。如:
1、需求分析和功能设计对应验收测试,说明在做需求分析、产品功能设计的同时,测试人员就可以阅读、审查需求分析的结果,从而了解产品的设计特性、用户的真正需求,确定测试目标,可以准备用例(Use Cas用开发(RAD,Rap Application Development)模型基础上演变而来,由于将整个开发过程构造成一个V字形而得名。V模型强调软件开发的协作和速度,将软件实现和验证有机地结合起来,在保证较高的软件质量情况下缩短开发周期。
开发特点
下面介绍v字形开发软件开发和测试的关系,理解V模型具有面向客户、效率高、质量预防意识等特点,能帮助我们建立一套更有效的、更具有可操作性的软件开发过程。
f)写作能力
g)组织能力
h)建模能力
i)人机交往能力
j)创造力
(3)需求分析员必备的知识–P45
a)除了前面提到的专门技能以及性格特点,需求分析员还需具备从实验经验中积累的广博知识。其中最基础的是对当代需求管理技术的深刻理解,以及在各种不同的软件开发生命周期环境中应用这些技术的能力。
b)如果需求分析员能够充分理解项目管理、风险管理和质量工程,则有助于避免因需求问题导致项目失败。
3、Followrequirements development process
(1)不要期望可以线性地、顺序地完成获取、分析、编写规格说明和验证这些需求开发活动。实际上,这些活动是交叉的、递增的和反复的,如图1。-P39
图1
(2)由于软件开发项目和公司文化的多样性,需求开发没有一种单一的、公式化的方法。图2给出了一个可用于很多项目的需求开发过程框架。-P39
图3
(1)需求分析员的工作–P42
a)定义业务需求
b)确定项目涉众和用户类型
c)获取需求
d)分析需求
e)编写需求规格说明书
f)为需求建模
g)主持对需求的验证h)源自导对需求的优先级划分i)管理需求
(2)需求分析人员必备的技能–P44
a)倾听的技巧
b)交谈和提问的技巧
c)分析能力
d)协调能力
e)观察能力
c)唯一标识每项需求
d)记录业务规范
e)定义质量属性
(7)需求验证
a)审查需求文档
b)测试需求
c)确定合格标准
2、Learn project management
软件项目管理方法和项目的需求过程紧密相关。应根据需求实践的需求来规划项目资源、进度和承诺。需求变更会影响到这些项目计划,因此项目计划应该预先为需求变更和范围过大作一些准备。-P36
“签字”的核心在于建立需求协议的基线,即某一时刻需求的瞬态图。在需求规格说明书上签字表示,同意这份文档所描述的系统能够满足客户的需求,进一步的变更将在此基础上,依照项目定义的变更过程进行。
在实务操作中,“签字”常出现如下问题:一是客户代表把在需求文档上签字当做毫无意义的仪式;二是开发经理把签字当做冻结需求的方法。这些都是需要规避的,即不能把“签字”当做武器,而应该将之视为项目的一个里程碑,对于签字之前应进行哪些活动,以及签字对将来变更的影响,各方应形成明确一致的理解。
软件需求工程期末考试复习资料
第一讲
1.什么是需求分层?为什么要进行需求分层?【P6~P9】
一些基本术语和概念,需求,软件需求工程,需求分析
(1)软件需求包括三个不同的层次—业务需求、用户需求和功能需求,除此之外,每个系统还有各种非功能需求。
业务需求( business requirement)反映了组织机构或客户对系统、产品高层次的目标要求,它们在前景和范围文档中予以说明。
(4)推论:是根据某个条件的真实性得出某些新事实的规则,也称为“推导出的知识”。推论可根据其他事实或从计算中推导出新的事实,常用“如果/则”的句式来表达。
(5)计算:使用特定数学公式或算法进行。
(6)术语表:定义了对业务重要的词汇、短语和缩写。
2、质量属性有哪些?哪些是对用户的质量属性,哪些是对开发人员的质量属性?
f)确定用例
g)确定系统事件和响应
h)距离进一步需求获取的讨论
i)观察用户如何工作
j)检查问题报告
k)重用需求
(5)需求分析
a)绘制关联图
b)创建原理
c)分析可行性
d)确定需求优先级
e)为需求建模
f)创建数据字典
g)将需求分配至各子系统
h)应用质量功能调度
(6)编写规格说明
a)采用SRS模板
b)确定需求来源
它们各自包含的活动有:【参见课本】
3.好的需求是什么样的?【P15~P16】
单条需求(即需求声明)的特点:【P15】
SRS作为整体应具备的特点:【P16】
4.如何去理解需求签约以及如何认识?【P25】
客户和开发人员之间合作伙伴关系的核心是就产品的需求达成一致,很多组织把在需求文档上签字作为客户认可需求的标志。
第三、四讲
视图和范围文档
第五、六讲
1.什么是原型?为什么用原型?如何看待原型?【P162~P171】
(1)软件原型是所提议的新产品的部分实现或可能的实现。它是软件系统的最初版本,以最少的费用,最短的时间开发出的、以反映最后软件的主要特征的系统。是一个可实地运行的模型,有正式产品的主要特征,但不是全部特征。
2)改善用户与开发人员的信息交流和思想沟通,给用户修改的机会。
3)减少或消灭下游返工的可能,改进了瀑布模型的弊病。
4)原型系统可作为培训环境,有利于用户培训和开发同步。
5)开发成本降低,周期缩短。
但是创建原型也同时带来了风险:
1)最大的风险是涉众看到一个正在运行的原型,从而得出产品几乎已经完成的结论。
互操作性
可靠性
健壮性
易用性
第九讲
1、V字模型的概念及思想
V字模型表明测试活动应该与相应的开发活动同时开始。这个模型表明,验收测试以用户需求为基础,系统测试以功能性需求为基础,集成测试以系统的体系结构为基础。
该模型基于“需求驱动”的思想,认为在相应的开发阶段,必须规划测试活动并着手开发初步的测试用例。虽然不可能在需求开发阶段就进行任何测试,因为还没有可以执行的软件,但可以早在开发团队编写代码之前,以需求为基础建立概念性测试用例,以便发现软件需求规格说明和分析模型中的错误、二义性和遗漏之处。P182
2、当系统设计人员在做系统设计时,测试人员可以了解系统是如何实现的,基于什么样的平台,这样可以设计系统的测试方案和测试计划,并事先准备系统的测试环境,包括硬件和第三方软件的采购。因为这些准备工作,实际上是要花去很多时间。
所有的用户需求都必须符合业务需求,需求分析员从用户需求中推导出产品应具备哪些对用户有帮助的功能。
开发人员则根据功能需求和非功能需求设计解决方案,在约束条件的限制范围内实现必需的功能,并达到规定的质量和性能指标。
2.需求开发和需求管理是按照什么来划分的?它们各自包含哪些活动?【P9~P10】
按照需求基线来划分的,即:按照某一时刻,对特定版本中已达成一致的需求内容为界限。
(2)使用原型的原因:产品开发初期很难确定用户的需求规格,为了解决用户与开发者之间的鸿沟,以原型(软件产品的样品)为共同语言,实现用户与开发者双向沟通。原型直观、易于理解与沟通,此外,还是解决需求二义性和不完整性的有效方法。具体而言,使用原型的目的有三:【P163】
(3)对原型的理解
原型的好处:
1)保证产品有较好的可维护性。
相关文档
最新文档