需求分析简答重点
- 格式:doc
- 大小:323.50 KB
- 文档页数:10
需求分析怎么写什么是需求分析在软件开发和项目管理中,需求分析是指对系统、软件或产品的需求进行详细的研究、定义和提取的过程。
通过需求分析,可以确保开发团队和客户对于项目的目标清晰、需求明确,并最终实现客户期望的软件或产品。
需求分析是软件开发的关键阶段之一,它的质量直接影响项目的成功与否。
一个好的需求分析阶段能够有效减少后期开发的修改和修补,提高项目的整体效率和质量。
需求分析的步骤需求分析通常包含以下几个步骤:1.确定需求的背景和目标:在开始需求分析之前,需要明确项目的背景和目标。
了解项目的背景有助于理解系统所处的环境和条件。
目标的明确能够帮助开发团队更加有针对性地进行需求分析和设计。
2.收集需求:收集需求是需求分析的核心步骤。
需求可以通过与客户交流、访谈、问卷调查、观察等方式收集。
可以借助一些工具来帮助实现需求的有效收集和管理,例如需求管理工具、协作工具等。
3.需求分类和整理:将收集到的需求进行分类和整理,有助于管理和分析。
可以将需求按照功能、优先级、可行性等进行分类,以便后续的分析和处理。
4.需求验证:需求验证是为了确保收集到的需求是准确、完整和一致的。
可以通过与客户进行需求确认、原型演示、测试等方式来验证需求的正确性和有效性。
5.需求文档编写:将收集、整理、验证后的需求编写成文档。
需求文档是供开发团队、测试团队和客户参考的重要文档,并且是后续开发和测试的依据。
需求文档的要素一个好的需求文档应包含以下要素:1.项目背景和目标:简要描述项目的背景和目标,包括项目的业务背景、目标受众、预期效果等。
2.需求概述:对项目的需求进行总体概述,包括主要功能需求、非功能需求等。
3.功能需求:详细描述系统或产品的功能需求,包括功能描述、输入输出要求、流程图等。
4.非功能需求:描述系统或产品的非功能性需求,如性能要求、安全要求、可维护性要求等。
5.约束和假设:列出与需求相关的约束条件和假设条件,如技术限制、人力资源限制、时间限制等。
第一部分软件需求的基本概念*好需求的特征:无歧义、完整、一致、可检验、确定、可跟踪的,正确的,可行的和必要的。
软件开发的目标,简单而言,就是满足用户的需要。
三种最经常使项目“遇到困难"的因素是:⏹缺乏用户介入:占所有项目的13%⏹不完整的需求和规格说明:占所有项目的12%⏹不断改变的需求和规格说明:占所有项目的12%三种项目最主要的“成功因素"是:⏹用户介入:占所有成功项目的16%⏹高层管理的支持:占所有成功项目的14%⏹需求陈述清晰:占所有成功项目的12%高质量的需求过程带来的好处:在开发后期和整个维护阶段的重做的工作大大减少了。
IEEE软件工程标准词汇表定义需求为:1.用户解决问题或达到目标所需的条件或能力。
2.系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力.3.一种反映上面(1)或(2)所描述的条件或能力的文档说明.第二章需求的层次*需求是多层次的,包括业务需求、用户需求、功能需求和非功能需求。
业务需求反映了组织机构或客户对系统、产品高层次的目标要求,位于需求链中的最顶层,在项目视图和范围文档中予以说明。
用户需求描述了用户使用产品必须要完成的任务,这在实例文档或方案脚本予以说明。
功能需求定义了开发人员必须实现的软件功能,使得用户完成他们的任务,从而满足了业务需求。
和非功能需求在SRS中说明。
非功能性的需求描述了系统展现给用户的行为和执行的操作等,它包括产品必须遵从的标准、规范和约束,操作界面的具体细节和构造上的限制。
需求路线图:涉众需要-〉系统的特性—〉建立软件需求软件的6个质量特征(非功能性需求):可靠性,可用性,有效性,可维护性,可移植性,约束。
有效性(Efficiency)是在规定的条件下,软件性能水平与所使用资源量之间关系有关的一组属性.可靠性(Reliability)是与在规定的一段时间和条件下,软件维持其性能水平的能力有关的一组属性可维护性(Maintainability)是与进行指定的修改所需的努力有关的一组属性约束定义为:对开发人员在软件产品设计和构造上的限制。
习题答案一、简答题1.需求分析的任务是什么?答:需求分析的任务是正确获取用户需求,并对需求进行深入分析,以确定合理的信息系统需求。
具体包括需求获取,需求分析,需求描述,需求验证和需求管理等工作。
2.需求分析中的目标分析与领域分析中的目标分析有什么区别?两者之间存在什么联系?答:领域分析中的目标是企业系统的目标,需求分析中的目标是信息系统的目标,企业系统的目标是信息系统目标的依据。
3.什么叫需求结构?需求结构用什么来表示?答:信息系统需求结构是根据信息系统目标、职能域和需求的相关性,从总体上把信息系统需求划分成为多个部分,每一个部分称为一个需求单元,由这些需求单元构成的信息系统的需求框架。
需求结构用UML中的包图来表示。
4.什么叫用例说明?它有什么作用?答:用例说明是对功能用例图中的用例做出的说明。
在用例说明中,需要给出描述用例的编号、名称、使用者和用例的功能和交互过程给出说明。
5.信息系统性能都包括那些因素?答:信息系统性能是信息系统功能实现的方式、效率和保障,它包括信息系统的效率、处理方式、可靠性、安全性、适应性等内容。
6.为什么要对需求变更实施管理?答:由于信息系统的环境会发生变化、用户会发生变化、分析人员和用户对信息系统的认识也会逐步深入,因此在需求开发完成后需求出现一定程度的变更是合理的。
为了避免因需求变更引起开发过程的混乱和开发成本的提高,需要对需求变更实施有效管理。
二、填空题1.需求分析包括目标分析、需求结构分析、(功能分析)、(性能分析)和(需求建模)等内容。
2.需求调查的方法除了采用一般调查方法之外,还需要采用( 启发法)、( 观摩法)和(原型法)等辅助方法。
3.一般从(技术)、(工程)和(社会)等方面,对信息系统性能进行分析。
三、选择题1.下面哪项工作不属于需求分析的工作?(A)A:数据库分析 B:功能分析C:性能分析 D:风险分析2.下面说法不正确的是( D )A:需求调查也被称为需求获取B:信息系统核心功能属于总体需求的范围C:需求调查还需要调查用户的投资能力、开发时间等非技术性需求D:需求调查可以采用启发法、观摩法和原型法等一般调查方法3.下面说法正确的是(C)A:信息系统目标等同与企业系统目标B:信息系统目标包括企业系统目标C:信息系统目标是企业系统目标的构成部分D:信息系统目标与企业系统目标没有关系答:1:A; 2:D; 3:C四、思考题1.试以一台电视机为例,谈功能与性能的区别。
四、名词解释题1、需求工程:需求工程是软件工程的一个分支,它关注于软件系统所应予实现的现实世界目标、软件系统的功能和软件系统应当遵守的约束,同时它也关注以上因素和准确的软件行为规格说明之间的联系,关注以上因素与其随时间或跨产品族而演化之后的相关因素之间的联系。
2.需求:需求是用户对问题域中的实体状态或事件的期望描述。
2、需求:IEEE对需求的定义为:①用户为了解决问题或达到某些目标所需要的条件或能力。
②系统或系统部件为了满足合同、标准、规范或其他正式文档所规定的要求而需要具备的条件或能力。
③对①或②中的一个条件或一种能力的一种文档化表述。
3、需求分析:需求分析是利用建模与分析技术对获取笔录的内容进行明确、整理、汇总,建立一个综合考虑问题域特性和需求的系统模型,然后根据系统模型将用户需求转化为系统需求的需求工程活动。
4、前景(Vision):前景描述了产品的作用以及最终的功能,它将所有涉众都统一到一个方向上。
5、范围(scope):范围指出当前项目是要解决产品长远规划中的哪一部分,范围声明它为项目划定了需求的界线。
7、硬数据:表格和文档资料是用户对实际业务进行加工和抽象之后的结果,是一种精化过的知识。
这些文档资料被称为硬数据。
硬数据分为定量硬数据和定性硬数据两种类型。
8、结构化面谈:结构化面谈指在面谈的过程中,会见者会完全按照事先的问题和结构来控制面谈。
结构化面谈通常被用来获取一些比较确定或者选择空间比较有限的信息,一些统计性倾向信息的获取也可以使用结构化面谈。
9、半结构化面谈:半结构化面谈指在面谈的过程中,事先需要根据面谈内容准备面谈的问题和面谈结构。
但在面谈过程中,会见者可以根据实际情况采取一些灵活的策略。
半结构化面谈是在需求获取中应用最多的一种面谈类型,能够处理大部分的需求获取任务。
10、非结构化面谈:在非结构化面谈的过程中,没有事先预定的议程安排。
在比较极端的情况下,会见者甚至会在没有太多事前准备的情况下就直接到访被会见者的工作地,就某个主题开展会谈。
需求分析师笔试题考号:姓名:一.单项选择题(每题2分)◆在项目立项阶段应该进行需求定义,此时定义的需求属于需求三个层次中的(1)A:它不应该包括的内容是(2)C。
(1) A.业务需求 B.用户需求 C.软件需求 D.设计约束(2) A.用上下文关系图表示的项目范围 B.包含的主题域与主题域之间的关系C.业务活动的详细事件流D.系统涉与的业务事件◆根据下面所示的构件图可以得知,接口提交采购申请是(3)C实现的,客服管理子系统共使用了(4)D接口。
(3) A.门店管理子系统 B.客服管理子系统C.采购管理子系统D.无法确定(4) A.1个 B.2个 C.3个 D.4个◆以下关于需求定义的描述中,正确的是(5)D;对于酒店管理系统而言,以下各个选项中,(6)C最不适合表示为业务事件。
(5) A.上下文关系图能够清晰地界定出系统与人的职责边界B.鱼骨图和帕累托图是来界定系统范围的C.项目涉众(stakeholder)就是将使用系统的用户D.需求定义的产物主要包括项目目标、范围以与需求大纲的初稿(6) A.入住 B.换房 C.付款 D.续房◆在需求捕获的过程中,用户经常会制定解决方案而不是阐述需求,有效识别这一情况的措施是(7)A:以下措施中,(8)A是用来克服用户非正事心理的。
(7) A.询问用户提出需求的理由 B.提前向用户提供访谈计划C.利用原型来与时验证用户的需求D.让用户介绍工作场景(8) A.选择打扰较少的访谈场所B避免向用户提出过细的问题C.让用户以介绍工作场景为主D.通过业务流程图确认访谈正确的对象◆在下面关于需求验证任务的描述中,不正确的是(9)D:需求验证属于需求工程中的(10)A范畴。
(9) A.需要核查功能描述的正确性 B.需要核查功能描述的清晰性C.需要明确需求的完整性D.除管理者外的用户不能参与评审(10)A.需求开发 B.需求管理C需求文档化 D.需求跟踪◆根据下面的活动图,最可能是不合适的用例的是(11)D,理由是(12)。
习题1一、单项选择题1、软件生产中产生需求问题的最大原因在于对应用软件的(C)理解不透彻或应用不坚决。
(A)复杂性(B)目的性(C)模拟性(D)正确性2、需求分析的目的是保证需求的(B)。
(A)目的性和一致性(B)完整性和一致性(C)正确性和目的性(D)完整性和目的性3\现实世界中的(B)构成了问题解决的基本范围,称为该问题的问题域。
(A)属性和状态(B)实体和状态(C)实体和操作(D)状态和操作4、比较容易发现的涉众称为初始涉众,又称为(B),通常包括客户、管理者和相关的投资者。
(A)关键涉众(B)涉众基线(C)普通涉众(D)一般涉众5、按照使用方式进行分类,原型可分为:演示原型、(D)、试验原型和引示系统原型。
(A)非操作原型(B)系列首发原型(C)选定特征原型(D)严格意义上的原型二、填空题1、传统的需求分析方法都是从设计领域转入分析领域的。
2、需求工程是所有需求处理活动的总和,它收集信息、分析问题、整合观点、记录需求并验证其正确性,最终反映软件被应用后与其环境互动形成的期望效应。
3、软件需求开发用来确定系统需求中应该由软件满足的部分,将其映射为软件行为,产生软件需求规格说明。
三、简答题1、简述需求工程的主要任务。
答:需求工程有以下三个主要任务:①需求工程必须说明软件系统将被应用的环境及其目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用方式、方法所施加的限制和约束,也即要同时说明软件需要“做什么”和“为什么”需要做。
②需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。
需求规格说明是需求工程最为重要的成果,是项目规划、设计、测试、用户手册编写等很多后继软件开发阶段的工作基础。
③现实世界是不断变化的世界,因此需求工程还需要妥善处理目标、功能和约束随着时间的演化情况。
同时,为了节省开支和进行需求规格说明的重用,需求工程还需要对目标、功能和约束在软件产品族中的演化和分布情况进行综合考虑与处理。
需求分析师笔试题七口考号:姓名:•单项选择题(每题 2分)在项目立项阶段应该进行需求定义,此时定义的需求属于需求三个层次中的(1) A:它不应该包括的内容是(_2)Co(1) A.业务需求 B. 用户需求 C. 软件需求 D. 设计约束(2) A.用上下文关系图表示的项目范围 B. 包含的主题域及主题域之间的关系C.业务活动的详细事件流D. 系统涉及的业务事件根据下面所示的构件图可以得知,接口提交采购申请是( 3) C实现的,客服管理子系统共使用了( 4) D接口。
正确的是( 5) D:对于酒店管理系统而言,以下各个选项中,(6) C最不适合表示为业务事件。
(5) A.上下文关系图能够清晰地界定出系统与人的职责边界B. 鱼骨图和帕累托图是来界定系统范围的C. 项目涉众(stakeholder )就是将使用系统的用户D.需求定义的产物主要包括项目目标、范围以及需求大纲的初稿(6) A.入住 B. 换房 C. 付款 D. 续房在需求捕获的过程中,用户经常会制定解决方案而不是阐述需求,有效识别这一情况的措施是(7) A:以下措施中,(8) A是用来克服用户非正事心理的。
(3) A•门店管理子系统 B. 客服管理子系统C•采购管理子系统 D. 无法确定(4) A.1 个B.2 个 C.3 个D.4个以下关于需求定义的描述中,采购理子杀统(7) A•询问用户提出需求的理由 B. 提前向用户提供访谈计划C. 利用原型来及时验证用户的需求D.让用户介绍工作场景(8) A.选择打扰较少的访谈场所 B 避免向用户提出过细的问题C. 让用户以介绍工作场景为主D. 通过业务流程图确认访谈正确的对象在下面关于需求验证任务的描述中,不正确的是(9) D:需求验证属于需求工程中的(10)A范畴。
(9) A.需要核查功能描述的正确性 B. 需要核查功能描述的清晰性C. 需要明确需求的完整性D. 除管理者外的用户不能参与评审(10) A.需求开发B.需求管理 C需求文档化 D.需求跟踪根据下面的活动图,最可能是不合适的用例的是(11) D,理由是(12)。
需求分析方法需求分析是指在软件工程中对用户需求进行详细的调查、分析和界定的过程。
需求分析的目的是为了准确地理解用户的需求,为软件开发的后续工作提供清晰的指导和依据。
在软件开发过程中,需求分析是至关重要的一步,它直接关系到软件最终的质量和用户满意度。
因此,选择合适的需求分析方法对于软件开发来说至关重要。
一、访谈法。
访谈法是需求分析中常用的一种方法,通过与用户进行面对面的交流,了解用户的需求和期望。
访谈法可以直接获取用户的真实需求,有利于深入了解用户的需求背后的真正目的和动机。
在进行访谈时,需求分析人员需要充分准备,提前制定好访谈问题,确保访谈的高效和准确。
同时,需要注意保持良好的沟通和交流技巧,以便更好地引导用户表达他们的需求。
二、问卷调查法。
问卷调查法是另一种常用的需求分析方法,通过设计问卷并向用户发放,收集用户的意见和建议。
问卷调查法适用于用户群体较大或用户分散的情况,可以更全面地了解用户的需求和看法。
在进行问卷调查时,需要设计合理的问题,确保问题的准确性和完整性,同时也需要考虑用户填写问卷的便利性和有效性。
三、头脑风暴法。
头脑风暴法是一种集体讨论和思维碰撞的方法,通过团队成员之间的交流和讨论,收集和整理用户的需求。
头脑风暴法可以激发团队成员的创造力和想象力,从而获得更多新颖的需求点和创意。
在进行头脑风暴时,需要注意引导团队成员发表自己的观点和想法,确保每个人都能有机会表达自己的看法。
四、原型法。
原型法是通过制作软件原型,让用户直接体验和感受软件的功能和界面,从而获取用户的需求和反馈。
原型法可以直观地展现软件的功能和交互流程,有利于用户更直观地表达自己的需求和期望。
在进行原型设计时,需要注重原型的易用性和真实性,确保原型能够准确地反映用户的需求。
五、观察法。
观察法是通过观察用户的行为和环境,获取用户的需求和习惯。
观察法适用于用户无法清晰表达自己需求的情况,通过观察用户的行为和环境,可以更加直观地了解用户的需求。
需求分析复习重点考试简答题重点:一、软件需求从层次上分哪三类?业务、用户、系统业务需求:抽象层次最高需求,是系统建立战略出发点,表现为高层次目标,描述了组织为什么要开发系统;用户需求:执行实际工作用户对系统所能完成具体任务期望,描述了系统能够帮助用户做些什么。
表达了用户对系统期望。
系统需求:用户对系统行为期望,一系列系统需求联系在一起可以帮助用户完成任务,达成用户需求,进而满足业务需求;可以直接映射为系统行为,定义了系统中需要实现功能,描述了开发人员需要实现什么。
业务需求一一目标(最高层次)用户需求一一具体任务系统需求一一系统行为联系:业务需求可以明确系统最终目标和努力方向,进而指导具体需求获取活动,发现用户需求;用户需求经过明确和细化处理,可以转化为系统需求。
二、软件需求分哪儿种活动?包括需求开发和需求管理需求开发4 (获取、分析、规格说明,需求验证)+1 (需求管理:版本管理,追踪,控制)需求JL程需求开发需求管理软件需求工程分为需求开发和需求管理两部分1、需求开发任务可进一步细分为4点>需求获取(是从人、文档或者环境当中获取需求过程)>分析(建模来整合各种信息)>规格说明(获取需求需要被编写成文档,在系统涉众之间交流需求信息)>验证(确保需求规格说明文档能正确、准确反映用户意图)2、需求管理保证需求作用在整个软件产品生命周期中连续、稳定和有效发挥需求管理子活动有以下3点:>建立和维护需求基线集A建立需求跟踪信息>进行变更控制三、需求获取有哪儿种方法?(要举例)传统方法、集体获取方法、认知方法、采样…1.传统方法问卷调查、面谈、硬数据分析、文档检查、需求剥离等2.集体获取方法头脑风暴(Brainstorming) 专题讨论会(Workshop) >JAD等3.认知方法任务分析(Task Analysis)、协议分析(Protocol Analysis)等4.采样随机采样、分层采样5.原型书面描绘、幻灯片演示、程序代码6.基于上下文方法观察、民族志(Ethnography)和话语分析(Conversation Analysis )四、分析建模有哪儿种常见手段,分别举例(ppt有)1、结构化需求分析建模>过程建模(过程建模以DFD为中心,结合使用微规格说明、数据字典、ERD、FDD、PDD等技术一起完成结构化分析建模任务)>数据建模(模型建立:ERD)2、面向对象需求分析建模:它以UML为基础,综合使用了多种不同分析技术,主要有:对象模型、用例模型、行为模型、状态机模型、对象约束语言。
)1. 以下哪一项不是软件危机的表现A.开辟的软件可维护性差 B.软件极易被盗版C.经费预算时常被突破 D.开辟的软件不能满足用户需求2.下面不属于软件工程的三个要素是) 。
A 过程B 环境C 方法D 工具)。
3. 需求分析阶段的任务是确定A 软件开辟方法B 软件开辟工具C 软件开辟费用D 软件开辟功能4. 下列不属于需求分析工具的是)。
A。
数据流图 B.用例图 C。
状态图D。
程序流程图5.关于软件测试的目的,下面观点错误的是) ArrayA.为了发现错误而执行程序的过程B.一个好的测试用例能够发现至今尚未发现的错误C。
证明程序是正确、没有错误的D。
一个成功的测试用例是发现了至今尚未发现的错误的测试6。
软件详细设计阶段的任务是)。
A.算法与数据结构设计B.功能设计C.调用关系设计 D。
输入/输出设计)7. 下列属于静态测试方法的是A.人工检测 B.路径覆盖C.黑盒测试 D.白盒测试)8.汽车是一种交通工具,汽车类和交通工具类之间的关系是ArrayA.组合会萃关系 B。
共享会萃关系C.普通-具体关系 D。
整体-部份关系) .9.结构化程序设计的风格,主要强调的是ArrayA.程序的执行效率B.模块的内聚C.程序的可理解性 D.模块的耦合)。
10.在整个软件维护阶段所花费的全部工作中,所占比例最大的是ArrayA.校正性维护 B.适应性维护C.预防性维护 D.完善性维护11 。
“ 软件工程的概念是为解决软件危机而提出的”这句话的意思是)A。
强调软件工程成功解决了软件危机的问题B。
说明软件危机的存在总是使软件开辟不像传统工程项目那样容易管理C.说明软件工程这门学科的形成是软件发展的需要D。
说明软件工程的概念 ,即:工程的原则、思想、方法可解决当时软件开辟和维护存在的问题12。
在软件工程的需求分析阶段,不属于问题识别内容的是)A。
输入/输出需求 B。
性能需求C.环境需求D.功能需求13. 软件需求规格说明书的作用不包括)A.软件验收的依据B.软件设计的依据C.软件可行性研究的依据D.用户与开辟人员对软件要做什么的共同理解14.一个成功的测试可以)A.表明程序没有错误B.发现了尚未发现的错误C。
需求分析一、选择题(1)在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,( C )是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。
A.业务需求 B.系统要求 C.非功能需求 D.用户需求(2)需求分析的任务包括( D )。
A.确定对系统的综合要求 B.分析系统的数据要求C.导出逻辑模型并修正开发计划 D.以上全是(3)需求分析的任务不包括( C )。
A.确定对系统的综合要求 B.分析系统的数据要求C.从技术角度分析系统是否可行 D.导出逻辑模型并修正开发计划(4)要将一个复杂的系统分析清楚,传统软件工程常用方法是结构化分析方法,结构化分析方法就是( A )。
A.面向数据流自顶向下,逐步求精的方法B.由内向外进行分析的方法C.先局部后整体的分析方法D.使用IPO图形工具分析的方法(5)需求分析是要完整、准确、清晰、具体地确定系统所要完成的工作,其主要依据是前一阶段的文档( D )。
A.用户手册和参考手册 B.软件需求规格说明书C.开发计划 D.可行性研究报告(6)需求分析阶段的主要任务是确定( D )。
A.软件开发方法 B.软件开发工具C.软件开发费 D.软件系统的功能(7)数据字典是用来定义( D )中的各个成份的具体含义的。
A.流程图 B.功能结构图C.系统结构图 D.数据流图(8)数据流图是一种用来描述( B )的图形化工具。
A.系统物理组成 B.系统信息流和数据流C.所有功能 D.系统控制流和数据流(9)( C )和数据流图共同构成系统的逻辑模型,没有它,数据流图就不完整。
A.系统流程图 B.E-R图 C.数据字典 D.层次方框图(10)数据流图DFD中的每个加工至少需要( B )。
A. 一个输入流B.一个输出流和一个输入流C. 一个输入或输出流D.一个输出流(11)数据流图(DFD)是( A )方法中用于表示系统的逻辑模型的一种图形工具。
需求分析师笔试题考号: 姓名:一.单项选择题(每题2分)◆在项目立项阶段应该进行需求定义,此时定义的需求属于需求三个层次中的(1)A:它不应该包括的内容就是(2)C。
(1)A、业务需求 B、用户需求 C、软件需求 D、设计约束(2)A、用上下文关系图表示的项目范围 B、包含的主题域及主题域之间的关系C、业务活动的详细事件流D、系统涉及的业务事件◆根据下面所示的构件图可以得知,接口提交采购申请就是(3)C实现的,客服管理子系统共使用了(4)D接口。
(3)A、门店管理子系统 B、客服管理子系统C、采购管理子系统D、无法确定(4) A、1个 B、2个 C、3个 D、4个◆以下关于需求定义的描述中,正确的就是(5)D;对于酒店管理系统而言,以下各个选项中,(6)C最不适合表示为业务事件。
(5) A、上下文关系图能够清晰地界定出系统与人的职责边界B、鱼骨图与帕累托图就是来界定系统范围的C、项目涉众(stakeholder)就就是将使用系统的用户D、需求定义的产物主要包括项目目标、范围以及需求大纲的初稿(6) A、入住 B、换房 C、付款 D、续房◆在需求捕获的过程中,用户经常会制定解决方案而不就是阐述需求,有效识别这一情况的措施就是(7)A:以下措施中,(8)A就是用来克服用户非正事心理的。
(7) A、询问用户提出需求的理由 B、提前向用户提供访谈计划C、利用原型来及时验证用户的需求D、让用户介绍工作场景(8) A、选择打扰较少的访谈场所 B避免向用户提出过细的问题C、让用户以介绍工作场景为主D、通过业务流程图确认访谈正确的对象◆在下面关于需求验证任务的描述中,不正确的就是(9)D:需求验证属于需求工程中的(10)A范畴。
(9) A、需要核查功能描述的正确性 B、需要核查功能描述的清晰性C、需要明确需求的完整性D、除管理者外的用户不能参与评审(10) A、需求开发 B、需求管理 C需求文档化 D、需求跟踪◆根据下面的活动图,最可能就是不合适的用例的就是(11)D,理由就是(12)。
软件⼯程导论简答题三、简答题1.什么是需求分析?需求分析阶段的基本任务是什么?答:需求分析是当前软件⼯程中的关键问题,需求分析阶段的任务是:在可⾏性分析的基础上,进⼀步了解、确定⽤户需求。
准确地回答“系统必须做什么?”的问题。
获得需求规格说明书。
还涉及到软件系统的⽬标、软件系统提供的服务、软件系统的约束和软件系统运⾏的环境。
它还涉及到这些因素和系统的精确规格说明,以及系统进化之间的关系。
需求分析的基本任务包括:(1)抽取需求分析现⾏系统存在需要解决的问题。
获取⾜够多的问题领域的知识,需求抽取的⽅法⼀般有问卷法、⾯谈法、数据采集法、⽤例法、情景实例法以及基于⽬标的⽅法等;还有知识⼯程⽅法,例如,场记分析法、卡⽚分类法、分类表格技术和基于模型的知识获取等。
(2)模拟和分析需求需求分析和模拟⼜包含三个层次的⼯作。
⾸先是需求建模。
需求模型的表现形式有⾃然语⾔、半形式化(如图、表、结构化英语等)和形式化表⽰等三种。
需求概念模型的要求包括实现的独⽴性:不模拟数据的表⽰和内部组织等;需求模拟技术⼜分为企业模拟、功能需求模拟和⾮功能需求模拟等。
(3)传递需求传递需求的主要任务是书写软件需求规格说明。
(4)认可需求就是对需求规格说明达成⼀致,其主要任务是冲突求解,包括定义冲突和冲突求解两⽅⾯。
常⽤的冲突求解⽅法有:协商、竞争、仲裁、强制、教育等,其中有些只能⽤⼈的因素去控制。
(5)进化需求客户的需要总是不断(连续)地增长,但是⼀般的软件开发⼜总是落后于客户需求的增长,如何管理需求的进化(变化)就成为软件进化的⾸要问题。
对于传统的变化管理过程来说,其基本成分包括软件配置、软件基线和变化审查⼩组。
当前的发展是软件家族法,即产品线⽅法。
多视点⽅法也是管理需求变化的⼀种新⽅法,它可以⽤于管理不⼀致性,并进⾏关于变化的推理。
2.等价分类法的基本思想是什么?答:根据程序的输⼊特性,将程序的定义域划分为有限个等价区段——“等价类”,从等价类中选择出的⽤例具有“代表性”,即测试某个等价类的代表值就等价于对这⼀类其他值的测试。
需求分析面试一、背景介绍需求分析是软件开辟过程中非常重要的一环,它旨在确定用户的需求,将其转化为可实施的系统需求。
在软件开辟过程中,需求分析人员需要具备良好的沟通能力、逻辑思维能力和分析能力,以确保开辟出符适合户需求的软件系统。
二、面试内容1. 介绍自己的背景和经验- 提供个人的教育背景和工作经历,特殊是与需求分析相关的经验。
- 强调自己在需求分析方面的专业知识和技能,例如需求采集、需求验证和需求文档编写等方面的能力。
2. 分析需求的方法和技巧- 解释如何进行需求采集,包括面对面访谈、问卷调查和用户观察等方法。
- 讨论如何识别和管理需求冲突,以及如何进行优先级排序和需求变更管理。
- 强调自己在需求分析过程中所运用的技巧和工具,例如用例图、流程图和数据字典等。
3. 与用户沟通和合作能力- 需求分析人员需要与用户密切合作,了解用户需求并解决问题。
- 强调自己的沟通能力和团队合作精神,例如如何与用户进行有效的沟通和如何协调团队成员之间的合作。
4. 需求文档编写能力- 需求文档是需求分析的重要产物,它需要清晰、准确地描述用户需求和系统功能。
- 强调自己的文档编写能力,例如如何组织需求文档的结构、如何使用标准化的术语和如何确保文档的可读性和易理解性。
5. 面对问题的解决能力- 需求分析过程中可能会遇到各种问题和挑战,面试官可能会提出一些具体的问题,考察你解决问题的能力。
- 在回答问题时,要清晰地陈述问题的核心,分析问题的原因,并提出解决方案。
三、面试技巧1. 提前准备- 对需求分析的基本概念和方法进行复习,熟悉相关的工具和技术。
- 回顾自己的经验和项目,准备一些相关的案例和故事,以便在面试中进行展示。
2. 给出清晰的回答- 在回答问题时,要清晰地陈述观点,避免使用含糊的词汇和表达方式。
- 尽量给出具体的例子和实际经验来支持自己的观点。
3. 展示自己的思量过程- 在面对问题时,展示自己的思量过程是很重要的。
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 每一个集成的需求变更必须能跟踪控制到一个经核准的变更请求。
管理信息系统的简答题重点管理信息系统(Management Information System,简称 MIS)是一个以人为主导,利用计算机硬件、软件、网络通信设备以及其他办公设备,进行信息的收集、传输、加工、储存、更新和维护,以提高企业效益和效率为目的,支持企业高层决策、中层控制、基层运作的集成化的人机系统。
以下是管理信息系统相关的简答题重点:一、管理信息系统的定义和特点1、定义管理信息系统是一个由人、计算机等组成的能进行管理信息收集、传递、储存、加工、维护和使用的系统。
它能实测企业的各种运行情况,利用过去的数据预测未来,从全局出发辅助企业进行决策,利用信息控制企业的行为,帮助企业实现其规划目标。
2、特点(1)综合性:管理信息系统是多学科交叉的产物,融合了管理科学、信息科学、系统科学等。
(2)人机系统:管理信息系统需要人的参与和控制,人的作用不可或缺。
(3)面向管理决策:旨在为企业的管理决策提供支持。
(4)现代管理方法和手段相结合:如数据库技术、网络技术等。
二、管理信息系统的结构1、概念结构从概念上看,管理信息系统由信息源、信息处理器、信息用户和信息管理者四个部分组成。
信息源产生信息,信息处理器对信息进行加工和处理,信息用户使用信息,信息管理者负责系统的规划、协调和控制。
2、层次结构通常分为战略层、管理层和操作层。
战略层系统支持高层决策,管理层系统辅助中层管理,操作层系统服务基层业务。
3、功能结构包括销售与市场、生产、财务与会计、人力资源等子系统,每个子系统完成特定的管理功能。
三、管理信息系统的开发方法1、结构化方法按照系统工程的思想和工程化的方法,遵循用户至上的原则,自顶向下整体性地分析与设计和自底向上逐步实施的系统开发过程。
2、原型法在获得一组基本的需求定义后,快速地构造出一个能反映用户需求的初始系统原型,让用户在计算机上试用它,通过实践来了解系统的不足和优点,然后反复改进,最终建立一个完全符合用户需求的系统。
需求分析考试题型及答案一、单选题(每题2分,共20分)1. 需求分析的目的是()。
A. 确定项目范围B. 确定项目成本C. 确定项目时间D. 确定项目风险答案:A2. 需求分析阶段不包括以下哪项活动?()A. 收集需求B. 定义需求C. 测试需求D. 验证需求答案:C3. 以下哪项不是需求分析的原则?()A. 明确性B. 完整性C. 一致性D. 可变性答案:D4. 需求分析过程中,通常采用哪种方法来获取用户需求?()A. 问卷调查B. 访谈C. 观察D. 所有以上答案:D5. 需求分析文档中,不包括以下哪项内容?()A. 功能性需求B. 非功能性需求C. 项目预算D. 项目计划答案:C6. 以下哪种工具通常用于需求分析?()A. 甘特图B. 用例图C. 流程图D. 所有以上答案:B7. 需求变更控制的目的是什么?()A. 避免需求变更B. 管理需求变更C. 增加需求变更D. 减少需求变更答案:B8. 需求验证的方法不包括以下哪项?()A. 原型验证B. 需求审查C. 需求测试D. 需求分析答案:D9. 需求分析阶段的输出是什么?()A. 需求规格说明书B. 项目计划C. 项目预算D. 项目风险评估报告答案:A10. 需求优先级排序的目的是()。
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. 需求复审答案:ABC5. 需求变更控制的步骤包括()。
第一部分软件需求的基本概念*好需求的特征:无歧义、完整、一致、可检验、确定、可跟踪的,正确的,可行的和必要的。
软件开发的目标,简单而言,就是满足用户的需要。
三种最经常使项目“遇到困难”的因素是:缺乏用户介入:占所有项目的13%不完整的需求和规格说明:占所有项目的12%不断改变的需求和规格说明:占所有项目的12%三种项目最主要的“成功因素”是:用户介入:占所有成功项目的16%高层管理的支持:占所有成功项目的14%需求陈述清晰:占所有成功项目的12%高质量的需求过程带来的好处:在开发后期和整个维护阶段的重做的工作大大减少了。
IEEE软件工程标准词汇表定义需求为:1.用户解决问题或达到目标所需的条件或能力。
2.系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。
3.一种反映上面(1)或(2)所描述的条件或能力的文档说明。
第二章需求的层次*需求是多层次的,包括业务需求、用户需求、功能需求和非功能需求。
业务需求反映了组织机构或客户对系统、产品高层次的目标要求,位于需求链中的最顶层,在项目视图和范围文档中予以说明。
用户需求描述了用户使用产品必须要完成的任务,这在实例文档或方案脚本予以说明。
功能需求定义了开发人员必须实现的软件功能,使得用户完成他们的任务,从而满足了业务需求。
和非功能需求在SRS中说明。
非功能性的需求描述了系统展现给用户的行为和执行的操作等,它包括产品必须遵从的标准、规范和约束,操作界面的具体细节和构造上的限制。
需求路线图:涉众需要—〉系统的特性—〉建立软件需求软件的6个质量特征(非功能性需求):可靠性,可用性,有效性,可维护性,可移植性,约束。
有效性(Efficiency)是在规定的条件下,软件性能水平与所使用资源量之间关系有关的一组属性。
可靠性(Reliability)是与在规定的一段时间和条件下,软件维持其性能水平的能力有关的一组属性可维护性(Maintainability)是与进行指定的修改所需的努力有关的一组属性约束定义为:对开发人员在软件产品设计和构造上的限制。
第二部分需求工程与需求工程过程第3章主要软件生命周期模型瀑布模型快速应用开发模型(RAD)螺旋模型RUP迭代式模型瀑布模型的优点客户很容易熟悉该模型。
以有序的方式解决复杂的问题,易于理解,目标简单—完成所需要的活动。
可以严格控制项目进程,使项目管理易于实施。
方便按阶段设置里程碑,便于项目跟踪。
定义了质量控制过程。
运用该过程来确定系统的质量。
采用瀑布模型需要具备的项目特征在系统开发前要对需求有完整、全面、清晰的了解。
上述需求不存在隐含的不可克服的风险。
需求变更不能过于频繁。
不同涉众的需求互相兼容,不存在明显的冲突。
开发团队掌握了解决需求问题的有效方法。
开发期限允许分阶段地串行工作。
RAD模型的优点采用高效率的开发工具,从而减少了整个产品的开发周期。
提高了生产率,降低了成本。
用户能够持续地参与开发,提高了用户参与程度,从而使用户的满意度上升,保证了系统能够满足用户的需要。
工作重点从文档转为构建,所见即所得。
RAD方法包含三个阶段:需求计划阶段,用户描述,构建阶段采用RAD模型的项目特征系统可模块化(基于组件的结构)和可缩放。
用户能参与到整个生命周期中。
项目开发周期很短通常约60天。
项目团队熟悉问题领域,能熟练使用开发工具螺旋模型的基本思想是,使用原型及其他方法来尽量降低风险。
理解这种模型的一个简便方法,是把它看作在每个阶段之前都增加了风险分析过程的快速原型模型。
螺旋模型的优点能够及时找到项目存在的风险,避免因为克服不了的困难而造成大的损失。
使用户能够尽早将信息经常反馈给开发人员,保证了产品的正确性和高质量。
可以方便地评估和验证每次迭代的成果;实现从开发到维护的无缝连接。
采用螺旋模型的项目特征适用于大型项目;更适用于内部开发(指没有外包的开发内容)。
用于新功能、新产品或需要采用新技术时。
收益不确定,项目不能确保成功时。
用户不能确定其需求或需求很复杂时。
Rational统一过程是一种软件工程过程。
提供了如何在开发组织中严格分配任务和职责的方法。
目标:按照预先制定的时间计划和经费预算,开发高质量的软件产品以满足最终用户的需求。
*RUP6个核心过程工作流:业务建模,需求,分析和设计,实现,测试,部署*3个核心支持工作流:配置和变更管理,项目管理,环境RUP的优点降低了在一个增量上的开支风险。
如果开发人员重复某个迭代,那么损失只是这一个开发有误的迭代的花费。
降低了产品无法按照既定进度进入市场的风险。
通过在开发早期就确定风险,可以尽早来解决而不至于在开发后期匆匆忙忙。
加快了整个开发工作的进度。
因为开发人员清楚问题的焦点所在,他们的工作会更有效率。
由于用户的需求并不能在一开始就作出完全的界定,它们通常是在后续阶段中不断细化的。
因此,迭代过程这种模式使适应需求的变化会更容易些。
迭代模型与瀑布模型的差别在于风险的暴露时间上敏捷方法的价值观包括了沟通,简单,反馈,勇气,谦逊敏捷方法分为三个部分:敏捷项目管理,敏捷需求分析和敏捷软件开发敏捷思想的核心是人与交流第4章需求工程需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。
*完整的软件需求工程包括需求开发和需求管理两个部分,需求开发的一般过程分为需求获取、需求建模、需求规格说明、需求验证四个阶段,需求管理则主要包括需求基线的建立、需求变更控制以及需求跟踪等活动。
需求工程方法大致分为四类:面向过程、面向数据、面向控制、面向对象。
面向对象的需求工作流包括:问题分析,理解涉众需要,定义系统,管理项目规模,改进系统定义。
软件需求过程的改进具有以下两个主要目标:解决在以前项目或目前项目中遇到的问题;防止和避免你可能在将来的项目中要遇到的问题面向对象的开发方法强调从问题域的概念到软件程序和界面的直接映射面向对象的需求工程方法基本步骤:与用户广泛接触,收集和查看相关资料,对问题域有一个大致的了解。
在此基础上,提炼和标识对象。
描述对象(类)的属性。
描述对象之间的关系,如整体关系和从属关系等。
描述问题域的“场景”,即描述问题域中完成每个任务需要的对象间的协作关系。
第五章需求获取的方法获取需求是一个确定和理解不同涉众的需要和约束的过程。
获取需求的方法:面向目标,基于场景,面向方面,面向视点,基于知识。
需求描述语言可分为三种:非形式化、半形式化和形式化语言。
第六章寻找客户的需求鱼骨图也称为因果鱼骨图,它是一种以直观的图形找出问题或现象的所有潜在原因的方法,它有利于追踪出问题的根源。
具有三个典型的优点:它允许探讨各种类别的原因它鼓励通过自由讨论发挥创造性它提供问题与各类原因的直观图帕累托图的作用:为80%的问题找到关键的20%的原因;一目了然地显示出每个原因的相对重要程度;有助于预防在解决了一些问题后,却使另外一些问题变得更糟的情况。
第7章理解用户的需要用户访谈优缺点和使用时机优点是直接有效、形式灵活、交流深入的宽带通信形式(有文字、有声音、有图像)。
缺点:占用时间长:通常要访谈的人比较多,语言交流会占用大量时间。
信息存在片面性:用户代表经常各执一词,导致收集的信息无法代表所有用户的想法,从而导致偏差的出现。
用户访谈是需求获取中的主要技术,只要有可能,就应该尽可能多地进行用户访谈。
*情节串联板是通常就是一系列图片,通过这些图片讲故事。
一种很生动的技术,它经常被称为原型法。
(强调借助原型来加速需求获取过程)情节串联板就是使用工具向用户(主角)说明(有时是动画演示)系统如何适应组织的需要,并表明系统将如何运转。
类型:被动式、主动式和交互式。
其复杂度依次递增被动式通常由草图、图片、屏幕截图、幻灯片等组成。
主动式试图使用户能够看到类似“电影样片”。
可以自动播放的,描述系统在典型用法和典型场景中的行为方式。
交互式让用户能体验系统的行为。
系统需要用户的参与才能继续运行。
可以是仿真器、实物模型甚至是抛弃式原型。
静态工具:纸和铅笔、白板、即时贴、powerpoint等。
动态工具:Flash、Macromedia Director和其他动画工具。
第8章定义系统项目范围涉及三个要素:项目所要提交的功能,项目可用资源,实现项目可用的时间。
第9章管理客户在你与客户协商时,要遵循这样的原则:少承诺,多提交。
第11章结构化分析建模分析模型必须达到三个主要目标:描述客户的需要;建立创建软件设计的基础;定义在软件完成后可以被确认的一组需求。
在分析模型的核心是“数据字典”,包含了软件使用或生产的所有数据对象描述的中心库。
围绕着这个核心有三个层次的子模型,数据模型、功能模型和行为模型。
数据流图服务于两个目的:指明数据在系统中移动时如何被变换;描述对数据流进行变换的功能(和子功能)。
数据模型数据建模回答与任何数据处理应用相关的一组特定问题数据模型包含三种互相关联的信息:数据对象、描述数据对象的属性和数据对象相互连接的关系。
用于对复杂数据数据分析和建模:E-R图*商业建模的步骤第一步,从涉众中找出用户。
并定义这些用户之间的关系。
第二步,找出每个用户要做的事,即业务用例。
第三步,利用业务场景图帮助分析业务流程。
第四步,绘制用例场景图。
第五步,从第三步或第四步中绘制的活动图中找到每一步活动将使用到的或产生的结果。
第六步,在上述过程中,随时补充词汇表。
它包括所有业务词汇,专业词汇等一切在建模过程中使用到的需要解释的名词。
第七步,根据涉众的期望评审建立好的模型,确定业务范围,决定哪些业务用例在系统建设范围内。
上述的步骤 是可以迭代的业务角色是实现业务用例的人,业务主角是和业务有关的人用例驱动是RUP 的特征。
各种类型的开发活动包括项目管理、分析设计、测试、实现等都是以系统用例为主要输入工件,用例模型奠定了整个系统软件开发的基础用例图使我们对系统的功能有了一个整体的认知,我们可以知道有哪些参与者会与系统发生交互,每一个参与者需要系统为它提供什么样的服务。
用例方法完全是站在用户的角度上(从系统的外部)来描述系统的功能的。
使用用例的方法来描述系统的功能需求的过程就是用例建模。
用例模型是由用例图和用例规约所组成的。
对用例模型进行检查,可以从几个方面进行:功能需求的完备性;模型是否易于理解;是否存在不一致性;避免二义性语义。
用例模型主要用于描述系统的功能性需求,对于其他的非功能性需要用其他文档来记录。
用例的粒度不但决定了用例模型级的复杂度,而且也决定了每一个用例内部的复杂度。
用例间的关系 :关联关系,包含关系,扩展关系,泛化关系第15章 原型开发候选原型方法的因素:软件应用领域、软件应用复杂性、客户特征、以及项目特征。
为了导出快速原型,可采用第四代技术、可复用软件构件、形式化规约和原型环境。