需求复习要点
- 格式:doc
- 大小:55.50 KB
- 文档页数:9
西方经济学复习公式第一章 需求和供给1.需求函数:()dQ f P =,P 为商品的价格;dQ 为商品的需求量线性需求函数:dQ P αβ=-,式中,α、β为常数。
该函数所对应的需求曲线为一条直线。
2.需求的价格弹性系数=需求量变化的百分比价格变化的百分比3.需求的价格弹性-弧弹性:12,12x p p p x e p x x +∆=•∆+当e x,p =0时,需求完全无弹性; 当0<e x,p <1时,需求缺乏弹性; 当e x,p =1时,需求具有单位弹性; 当1<e x,p <∞时,需求富有弹性;当e x,p →∞时,需求完全弹性4.需求的价格弹性-点弹性:,x p dx p e dp x =•,其中:dxdp为需求量在价格为P 时的变动率 5.需求的收入弹性:0<e m <1:缺乏收入弹性,商品为正常品; e m >1:富有收入弹性,商品为奢侈品; e m <0:低档品。
例1(P166):若某厂商面对的市场需求曲线为=203Q P -,求价格2P =时需求的点弹性值。
该厂商如何调整价格才能使得总收益增加?解:2P = 203214Q =-⨯=203Q P =-3dQdP=- 233147dQ P E dP Q ∴=•=-⨯=- ∣E ∣<1,该产品缺乏弹性,要使总收益增加,该厂商应该提价。
因为对需求缺乏弹性的商品来说,其销售收入与价格成正方向变动,即它随价格的提高而增加,随价格的降低而减少。
所以,为了提高厂商的收入,对需求缺乏弹性的商品提价可以使得总收益增加。
例2(2009年):在一些国家,不少家庭医生既上门为社区里的富人服务又上门为社区里的穷人服务,不过对富人的收费高于穷人,这是因为__________。
A .富人的需求弹性大于穷人的需求弹性B .富人的需求弹性小于穷人的需求弹性C .两个市场的需求弹性相等D .以上都正确解析:此处所指需求弹性为对上门医疗服务这个商品的价格需求弹性。
☆什么是软件需求工程?请说明软件需求工程中各阶段的主要任务。
p51 定义一般定义:指应用工程化的方法、技术和规格来开发和管理软件的需求。
需求工程的目标:获取高质量的软件需求。
与软件工程中传统的需求分析概念相比,需求工程突出了工程化的原则,强调以系统化、条理化、可重复化的方法和技术进行与软件需求相关的活动,从而有利于提高所有与软件需求相关的活动及其过程的可管理性,降低需求开发和管理的难度和成本。
其它定义:Alan.Davis:直到(但不包括)把软件分解为实际架构组建之前的所有活动,即软件设计之前的一切活动。
该定义虽然没有详细说明需求工程是什么,但其给出了需求工程的范围。
Lan K. Bray:对问题域及需求做调查研究和描述,设计满足那些需求的解系统的特性,并用文档给予说明。
这个定义明确指出了需求工程的任务就是获取、分析和表达软件的需求。
需求工程= 需求的开发活动+ 需求的管理活动2 各阶段主要任务需求获取阶段:获取用户的需求信息。
需求分析阶段:分析和综合已经收集到的需求信息。
需求建模阶段:根据待开发软件系统的需求利用某种建模方法建立该系统的逻辑模型。
需求定义阶段:根据用户需求编写出需求规格说明。
需求的形式化描述阶段:用严格的数学知识和符号来构造系统的需求模型。
需求验证阶段:检验软件需求规格说明。
需求管理阶段:开发人员在与提出更改的请求者协商的基础上,评估需求变更带来的潜在影响及可能的成本及费用,然后实施更改,一级有效的管理需求规格说明文档和跟踪更改需求的状态。
☆什么是软件需求?软件需求有哪些类型,并分别给出它们的定义。
p2软件需求的定义:A. Davis:软件需求是从软件外部能发现的,软件所具有的,满足于用户的特点、功能及属性等的集合。
I. Sommerville:需求是问题信息和系统行为、特性、设计和实现约束的描述的集合。
M. Jackson等:需求是客户希望在问题域内产生的效果。
IEEE软件工程标准:(1)用户解决问题或达到目标所需的条件或能力;(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。
四、名词解释题1、需求工程:需求工程是软件工程的一个分支,它关注于软件系统所应予实现的现实世界目标、软件系统的功能和软件系统应当遵守的约束,同时它也关注以上因素和准确的软件行为规格说明之间的联系,关注以上因素与其随时间或跨产品族而演化之后的相关因素之间的联系。
2.需求:需求是用户对问题域中的实体状态或事件的期望描述。
2、需求:IEEE对需求的定义为:①用户为了解决问题或达到某些目标所需要的条件或能力。
②系统或系统部件为了满足合同、标准、规范或其他正式文档所规定的要求而需要具备的条件或能力。
③对①或②中的一个条件或一种能力的一种文档化表述。
3、需求分析:需求分析是利用建模与分析技术对获取笔录的内容进行明确、整理、汇总,建立一个综合考虑问题域特性和需求的系统模型,然后根据系统模型将用户需求转化为系统需求的需求工程活动。
4、前景(Vision):前景描述了产品的作用以及最终的功能,它将所有涉众都统一到一个方向上。
5、范围(scope):范围指出当前项目是要解决产品长远规划中的哪一部分,范围声明它为项目划定了需求的界线。
7、硬数据:表格和文档资料是用户对实际业务进行加工和抽象之后的结果,是一种精化过的知识。
这些文档资料被称为硬数据。
硬数据分为定量硬数据和定性硬数据两种类型。
8、结构化面谈:结构化面谈指在面谈的过程中,会见者会完全按照事先的问题和结构来控制面谈。
结构化面谈通常被用来获取一些比较确定或者选择空间比较有限的信息,一些统计性倾向信息的获取也可以使用结构化面谈。
9、半结构化面谈:半结构化面谈指在面谈的过程中,事先需要根据面谈内容准备面谈的问题和面谈结构。
但在面谈过程中,会见者可以根据实际情况采取一些灵活的策略。
半结构化面谈是在需求获取中应用最多的一种面谈类型,能够处理大部分的需求获取任务。
10、非结构化面谈:在非结构化面谈的过程中,没有事先预定的议程安排。
在比较极端的情况下,会见者甚至会在没有太多事前准备的情况下就直接到访被会见者的工作地,就某个主题开展会谈。
一、术语解释软件工程、需求工程、软件生命周期、测试用例、软件复用、软件可维护性、CASE、软件工程过程二、基本知识要点1. 软件危机的主要表现。
软件工程主要研究与软件开发和维护有关的四个方面的内容:方法和技术、工具和环境、管理技术、标准和规范。
2. 生命周期模型。
典型瀑布模型生命周期的六个阶段。
各阶段产生的文档的名称及承担的人员。
螺旋模型综合了传统瀑布模型直线式的特点和快速原型模型的迭代思想,同时增加了一个重要特征,即风险分析。
螺旋模型在4个象限定义了4个主要活动。
螺旋模型的基本思想和主要特点。
原型模型的基本思想及分类。
喷泉模型是面向对象的模型,体现了迭代和无间隙的特点。
3. 需求分析的主要方法(结构化方法SA、面向对象的方法OOA、形式化方法等)。
结构化分析方法SA、结构化设计方法SD的主要任务、结束文档及内容。
SA得到分层DFD及DD;SD得到模块结构图SC及模块功能说明书。
SD是实现了DFD→SC。
需求规格说明书的主要内容。
软件设计的分类。
E-R图的基本构成要素。
软件系统需求的分类,需求管理的主要任务。
4. DFD的四个构成要素及各自可以表达的内容。
常用加工说明的描述工具(结构化语言、判定表、判定树)。
根据问题结构的不同,可以使用变换分析及事务分析得到初始的SC(分别对应变换型DFD和事务型DFD)。
画DFD的基本原则。
5. 分解、信息隐藏和模块独立性是实现模块化设计的重要指导思想。
模块化设计的核心——模块独立性,由内聚和耦合度量(熟练掌握七种内聚、七种耦合以及控制软件耦合度的方法)。
扇入、扇出。
作用域控制域原则。
程序模块优化的启发式规则。
6. 对象的三个构成要素(对象标识、属性和方法)。
面向对象分析过程中,系统的问题域由概念模型描述,即使用类图表示概念模型;使用用例图描述角色可见的系统功能;使用顺序图和协作图描述对象的行为。
顺序图和协作图的区别。
7. UML的缩写,来自于三个方法(Booch、OMT、OOSE)。
填空: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.|Ed|=1。
这就是说,价格每提高1%或降低1%,需求量会相应地减少或增加1%,这种情况称为需求是单元弹性,或单位弹性。
其需求曲线是一条正双曲线。
这种弹性的商品在实际生活中,很难找到,但在某些商品的某一点为单元弹性的情况是存在的。
2.|Ed|>1,这表示价格每变动1%,需求量的相应变动要超过1%,也就是需求量变动的比率△Q/Q大于价格变动的比率△P/P,这种情况被称作需求富有弹性。
一般来说,奢侈品和奢侈性享乐的需求是富有弹性的。
☺例:珠宝、国外旅游等等就属于这种情况。
3.|Ed|<1,这表示价格每变动1%,需求量的相应变动小于1%,即△Q/Q<△P/P,这种情况称为需求缺乏弹性。
生活必需品的需求一般是缺乏弹性的,因为无论生活必需品的价格上升和下降,人们都要消费它们,因此,它们对于价格变动的反应是比较小的。
☺例:粮、油、蔬菜就是这样。
4.|Ed|=0,这表示价格无论如何变化,需求量都不会变动,这种情况称为需求完全缺乏弹性或需求完全无弹性。
其需求曲线是与纵轴平行的一条垂线。
这种情况也是十分罕见的,一般认为☺例:火葬费、食盐等必不可少的商品或劳务属于这种类型。
5.|Ed| 趋于无穷,也就是需求弹性无限大。
这表示当价格不变的时候,需求量可以无穷大。
也就是在既定价格水平下,需求量是无限的。
其需求曲线表现为一条平行于横轴的水平线。
这是一种罕见的极端现象。
简答题1.需求分析的目的是什么?难点在哪里?需求分析为什么特别重要?需求分析的目的:需求分析主要用于获取用户的具体需求,通过对实际需求的获取、分析、文档化和验证等需求分析过程,为进一步的设计和实现提供依据:(1) 需求分类。
将软件功能、性能、可靠性等相关需求进行分类、逐一细化。
(2) 面向用户获取并分析需求。
软件研发其他阶段都是面向技术的,只有需求分析阶段是面向用户的,深入调研获取并分析软件的功能、性能、可靠性等,也可从系统和用户需求中推导出软件具体需求,并检查需求定义准确性,是否存在二义性。
(3) 检查和解决不同需求间的矛盾。
尽量达到均衡和优化。
(4) 确定软件的边界,以及软件与环境的相互作用方式等。
如应用及运行边界和环境。
(5) 对需求文档化并进行最后验证与确认。
难点:主要体现在以下5个方面:(1)问题确定难。
主要原因一是应用领域的复杂性及业务变化,难以具体确定;二是用户需求所涉及的多因素引起的,如运行环境和系统功能、性能、可靠性和接口等。
(2)需求动态性。
软件的需求在整个软件生存周期,常会随着时间和业务而有所变化。
有的用户需求经常变化,一些企业可能正处在体制改革与企业重组的变动期和成长期,其企业需求不成熟、不稳定和不规范,致使需求具有动态性。
(3)交流共识难。
需求分析涉及的人事物及相关因素多,与用户、业务专家、需求工程师和项目管理员等进行交流时,不同的背景知识、角色和角度等,使交流共识较难。
(4)完备一致难。
由于不同人员对系统的要求认识不尽相同,所以对问题的表述不够准确,各方面的需求还可能存在着矛盾。
难以消除矛盾,形成完备和一致的定义。
(5)深入完善难。
需求理解对不全面准确的分析,客户环境和业务流程的改变,市场趋势的变化等,也会随着分析、设计和实现而不断深入完善,可能在最后重新修订软件需求。
分析人员应认识到需求变化的必然性,并采取措施减少需求变更对软件的影响。
对必要的变更需求要经过认真评审、跟踪和比较分析后才能实施。
第一章:需求工程导论1.需求工程定义:是所有需求处理活动的和,它收集信息、分析问题、整合观点、记录需求并验证其正确性,最终反映软件被应用后与其环境互动形成的期望效应.2.需求工程的基本活动:1)需求开发:需求获取,需求分析,需求规格说明,需求验证2)需求管理3.1)需求获取的目的是从项目的战略规划开始建立最初的原始需求;2)需求分析的目的是保证需求的完整性和一致性;3)需求规格说明的目的是将完整、一致的需求与能够满足需求的软件行为以文档的方式明确地固定下来;4)需求验证的首要目的是保证需求及其文档的正确性,即需求正确的反映了用户的真实意图;另一个目标是通过检查和修正,保证需求及其文档的完整性和一致性;5)需求管理的主要工作是跟踪后继阶段中的需求实现与需求变更情况,确定需求得到了正确的理解并被正确的是想到了软件产品中。
4.软件需求规格说明定义:软件需求开发用来确定系统需求中应该由软件满足的部分,将其映射为软件行为,产生软件需求规格说明。
第二章:需求基础5.软件系统能够与问题域进行交互和相互影响的原因在于,软件系统中的某些部分对问题域中的某些部分具有模拟特性.6.需求分类:1)功能需求:业务需求,用户需求,系统需求2)性能需求3)质量属性4)对外接口5)约束第三章:(不考)第四章:需求获取概述7.需求工程需要获取的内容主要有三种:1)需求2)问题域描述3)环境与约束8.需求获取信息的主要来源:1)涉众2)硬数据3)相关产品4)重要文档5)相关技术标准和法规9.获取信息的方法:1)传统方法:问卷调查,面谈,文档分析,文档检查,需求剥离2)集体获取方法:头脑风暴,专题讨论会,JAD,JRP3)原型4)模型驱动方法:基于场景,基于用例5)认知方法:任务分析,协议分析6)基于上下文的方法:观察,民族志,话语分析10.常见的组织方式是依照系统特性,确定系统的边界,建立上下文图或系统用例图,然后按照遍历上下文图和系统用例图的方式开展获取活动.第五章:确定项目的前景和范围11.前景:描述了产品的作用以及最终的功能,它将所有涉众都统一到一个方向上。
第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.用例是对用户目标或用户需要执行的业务工作的一般性描述;使用场景则是某个用例的一条特定路径。
1.1好的需求应具备的特征:无歧义性、完整性、一致性、可检验性、确定性、可跟踪性、正确性、可行性、必要性1.2若干个关于需求定义Ⅰ.IEEE软件工程标准词汇表定义需求为:(1)用户解决问题或达到目标所需的条件或能力。
(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。
(3)一种反映上面(1)或(2)所描述的条件或能力的文档说明。
Ⅱ.MERLIN DORFMAN 和RICHARD H. THAYER 的定义:(1)用户解决某一问题或达到某一目标所需的软件功能。
(2)系统或系统构件为了满足合同、规约、标准或其他正式实行的文档而必须满足或具备的软件功能。
2.1软件需求的四个层次及其内容(1)业务需求某个特定组织希望系统能达成的目标(2)用户需求用户要求系统必须能完成的任务(3)功能需求规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求(4)非功能需求描述系统展现给用户的行为和执行的操作2.2需求的特性及其描述可靠性、可用性、有效性、可维护性、可移植性、约束约束定义为:对系统的设计或开发系统过程的限制。
它不影响系统的外部行为,但必须被遵守执行以符合技术上、商业上的要求。
3.1软件生命周期的概念是软件的产生直到报废或停止使用的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。
3.2主要的生命周期模型快速应用开发模型、迭代式模型、瀑布模型、螺旋模型4.1需求工程的概念和基本组成概念:需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。
组成:完整的软件需求工程包括需求开发和需求管理两个部分。
4.2需求开发的一般过程需求开发的一般过程分为需求获取、需求建模、需求规格说明、需求验证四个阶段。
4.3需求管理的主要内容需求管理主要包括需求基线的建立、需求变更控制以及需求跟踪等活动。
第一章需求工程概述需求工程包含哪些基本活动。
第二章需求基础1、需求的定义。
(1)用户为了解决问题或达到某些目标所需要的条件或能力;⏹(2)系统或系统部件为了满足合同、标准、规范或其它正式文档所规定的要求而需要具备的条件或能力;⏹(3)对(1)或(2)中的一个条件或一种能力的一种文档化表述。
2、需求的分类。
⏹功能需求(Functional Requirement):❑和系统主要工作相关的需求,即在不考虑物理约束的情况下,用户希望系统所能够执行的活动,这些活动可以帮助用户完成任务。
功能需求主要表现为系统和环境之间的行为交互。
⏹性能需求(Performance Requirement):❑系统整体或系统组成部分应该拥有的性能特征,例如CPU使用率、内存使用率、系统的相应时间等。
⏹质量属性(Quality Attribute):❑系统完成工作的质量,即系统需要在一个“好的程度”上实现功能需求,例如可靠性程度、可维护性程度等。
⏹对外接口(External Interface):❑系统和环境中其他系统之间需要建立的接口,包括硬件接口、软件接口、数据库接口等等。
⏹约束❑进行系统构造时需要遵守的约束,例如编程语言、硬件设施等3、功能需求的层次性系统需求(1)业务需求●系统建立的战略出发点,表现为高层次的目标(Objective),它描述了组织为什么要开发系统●为了满足用户的业务需求,需求工程师需要描述系统高层次的解决方案,定义系统应该具备的特性(Feature)●参与各方必须要对高层次的解决方案达成一致,以建立一个共同的前景(Vision)●特性说明了系统为用户提供的各项功能,它限定了系统的范围(Scope)(2)用户需求●执行实际工作的用户对系统所能完成的具体任务的期望,描述了系统能够帮助用户做些什么●模糊性,不清晰(3)系统需求●用户对系统行为的期望,一系列的系统行为联系在一起可以帮助用户完成任务,满足业务需求●系统需求可以直接映射为系统行为,定义了系统中需要实现的功能,描述了开发人员需要实现什么●将用户需求转化为系统需求的过程是一个复杂的过程⏹首先需要分析问题领域及其特性,从中发现问题域和计算机系统的共享知识,建立系统的知识模型;⏹然后将用户需求部署到系统模型当中,即定义系列的系统行为,让它们联合起来实现用户需求,每一个系统行为即为一个系统需求。
软件需求分析复习题一、判断题1、使用实例方法可以使用户更清楚地认识到新系统允许他做什么,那么我们就应该试图把每一个需求与一个使用实例相联系,尽可能多的使用实例。
( F)2、在状态图中定义的状态主要有:初态(即初始状态),终态(即最终状态)和中间状态,在一张状态图中只能有一个初态,而终态则可以有0至多个。
(T )3、结构化分析方法适合于数据处理类型软件的需求分析。
(T)4、数据流图中每个加工至少有一个输入数据流,但可以没有输出数据流。
(F)5、DFD与数据流程图的区别是程序流程图用于表示程序的过程设计,DFD用作描述软件的逻辑功能,不能表示程序的控制结构。
(T)6、属性是指实体某一方面的特征,一个实体通常有多个属性。
联系也可以有属性。
(T)7、软件需求描述的是“如何做”,而不是“做什么”。
(F)8、软件成功的标准是用户在用,并且可以很容易做完要做的事。
(T)9、业务规则包括企业方针、政府条例、工业标准、会计准则和计算方法等。
业务规划本身就是软件需求。
(F)10、软件需求的层次包括业务需求、用户需求、功能需求。
(T)二、选择题1.需求分析最终结果是产生(C )A.项目开发计划B.可行性分析报告C.需求规格说明书D.设计说明书2.需求分析中,开发人员要从用户那里解决的最重要的问题是(A )A.让软件做什么B.要给软件提供哪些信息C.需求软件工作效率怎样D.让软件具有何种结构3.需求规格说明书的内容不应包括对(B )的描述。
A.主要功能B.算法的详细过程C.用户界面的运行环境D.软件性能4.需求规格说明书的作用不应包括(D )A.软件设计的依据B.用户与开发人员对软件要做什么的共同理解C.软件验收的依据D.软件可行性研究的依据5.下面关于面向对象方法中消息的叙述,不正确的是(B )A.键盘,鼠标,通信端口、网络等设备——有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C.应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同6.面向对象技术中,对象是类的实例。
1.1好的需求应具备的特征:无歧义性、完整性、一致性、可检验性、确定性、可跟踪性、正确性、可行性、必要性1.2若干个关于需求定义Ⅰ.IEEE软件工程标准词汇表定义需求为:(1)用户解决问题或达到目标所需的条件或能力。
(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。
(3)一种反映上面(1)或(2)所描述的条件或能力的文档说明。
Ⅱ.MERLIN DORFMAN 和RICHARD H. THAYER 的定义:(1)用户解决某一问题或达到某一目标所需的软件功能。
(2)系统或系统构件为了满足合同、规约、标准或其他正式实行的文档而必须满足或具备的软件功能。
2.1软件需求的四个层次及其内容(1)业务需求某个特定组织希望系统能达成的目标(2)用户需求用户要求系统必须能完成的任务(3)功能需求规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求(4)非功能需求描述系统展现给用户的行为和执行的操作2.2需求的特性及其描述可靠性、可用性、有效性、可维护性、可移植性、约束约束定义为:对系统的设计或开发系统过程的限制。
它不影响系统的外部行为,但必须被遵守执行以符合技术上、商业上的要求。
3.1软件生命周期的概念是软件的产生直到报废或停止使用的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。
3.2主要的生命周期模型快速应用开发模型、迭代式模型、瀑布模型、螺旋模型4.1需求工程的概念和基本组成概念:需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。
组成:完整的软件需求工程包括需求开发和需求管理两个部分。
4.2需求开发的一般过程需求开发的一般过程分为需求获取、需求建模、需求规格说明、需求验证四个阶段。
4.3需求管理的主要内容需求管理主要包括需求基线的建立、需求变更控制以及需求跟踪等活动。
4.4需求工程方法的分类以及面向对象的需求工作流需求工程方法大致分为四类:面向过程、面向数据、面向控制、面向对象。
面向对象的需求工作流包括:问题分析,理解涉众需要,定义系统,管理项目规模,改进系统定义。
4.5需求工程涉众人员领域专家、最终用户、系统投资人、需求分析员、系统开发人员5.1获取需求的概念获取需求是一个确定和理解不同涉众的需要和约束的过程。
5.2获取需求的五种方法面向目标,基于场景,面向方面,面向视点,基于知识5.3三种需求描述语言非形式化、半形式化和形式化语言。
6.1鱼骨图和帕累托图6.2如何确定涉众和用户涉众(stakeholder) ,在软件开发项目中主要是指和这个项目有密切相关利益的人,他们共同感兴趣的就是需求分析阶段。
这些涉众包括客户、用户、业务或需求分析员(负责收集客户需求并编写文档,以及负责客户与开发机构之间联系沟通的人)、开发人员、测试人员、用户文档编写者、项目管理者和客户管理者。
6.3什么是系统的界限该边界把我们的系统和外部世界一分为二,换言之,系统边界确定了我们系统的内涵,即它究竟包括哪些功能,可以解决哪些问题,它指出了我们的系统以及其它和它交户的系统之间的关系。
6.4确定解决方案的约束条件约束:提出解决方案的有关限制条件,从项目进度要求、投资效益、人力资源、环境设备、技术问题、组织行政问题等方面确定。
7.1用户访谈的五个阶段及其主要内容Ⅰ.准备访谈(1)确立访的目的(2)确定要访的用户(3)确定参加访谈的项目组成员(4)复查有关文档和资料Ⅱ.计划和安排访谈日程(1)建立要讨论的问题和要点列表(2)安排访谈时应遵行自上而下的原则,首先访谈部门或地区领导,其次才是他们的下属(3)访.时.和地点(4)通知所有参加者有关访谈的目的、时间和地点Ⅲ.访谈开始和结束Ⅳ.引导访谈(1)在开始一个议题时,一般会用开放性的问题(什么,为什么,多么),便于被访者展开思路(2)随着讨论的深入,渐渐转为提供结论的封闭性问题,这样能帮助证证实你的理解(3)太多的封闭性问题会导致收集的信息不完整,太多的开放性问题可能导致需求分析者的理解失误Ⅴ.后续的访谈整理工作(1)复查笔记的准确性、完整性和可理解性(2)把所收集的信息转化为文档交对方审阅(3)确定需要进一步澄清的问题交对方确认(4)在适当时向所有与会人员发一封感谢信7.2开放性问题和封闭性问题开放性:鼓励被访者提出所有应该被讨论的问题封闭性:只需要被访者从已有的选择中作出回答7.3引导访谈的三种组织形式群体访谈、调查问卷和头脑风暴7.4专题讨论会的注意点(1)开始时明确说明专题讨论会的目标(2)尽可能提出更多的提议(3)发挥想像力(4)收集信息时,不允许出现批评或争论(5)信息收集完毕后,对提议进行整理7.5情节串联板的概念及三种组织形式概念:情节串联板通常就是一系列图片,通过这些图片讲故事三种组织形式:被动式、主动式、交互式8.1项目范围涉及的三个要素项目所要提交的功能、项目可用资源、实现项目可用的时间8.2建立项目基线的步骤及必须满足的条件步骤:(1)建立系统特性表(2)设定优先级(3)评估工作量(4)加入风险因素(5)确定项目基线条件:至少对客户来说,是可以接受的;在开发团队看来,具有合理的成功可能性。
8.3前景文档的概念及所包含的内容前景文档获取用户的需要、系统的特性以及项目的其它需求。
它的范围跨越需求金字塔的上两级,在较高的抽象级别上定义问题和解决方案。
9.1与客户协商是应遵循的原则少承诺。
多提交10.1需求分析模型的概念和作用概念:需求分析模型主要描述软件目标系统的数据信息、处理功能、用户界面及运行的外部行为,它并不涉及软件的具体实现细节。
作用:模型帮助分析员理解系统的信息、功能和行为;模型成为评审焦点;模型也是设计的基础。
11.1需求分析模型的结构及各模块的作用1.数据模型是对现实世界数据特征的抽象,是用来描述数据的一组概念和定义。
分为概念数据模型(又称概念模型)和逻辑数据模型(又称数据模型)。
2.功能模型--数据流图(1)指明数据在系统中移动时如何被变换(2)描述对数据流进行变换的功能和子功能。
3.行为模型--状态转换图指明作为外部事件的结果,系统将如何动作,它表示了系统的各种行为模式以及在状态间进行变迁的方式,STD 是行为建模的基础。
4.数据字典是对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义。
使得用户和系统分析员对于输入、输出、存储和中间计算有共同的理解。
11.2实体-关系图E-R图(1)实体:实体是客观存在的且可以区别的事物。
(2)联系:实体与实体间的关系抽象为联系。
11.3数据流图:DFD图(1)数据流的分解体现在分层表述上(2)第0层的DFD-基本系统模型或语境模型(3)第0层的DFD细分多的细节时得到第1层DFD11.4数据字典的概念数据字典是对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义12.1UML的概念UML是面向对象技术发展的重要成果,是可视化建模语言事实上的工业标准。
13.1业务建模的概念和主要任务概念:业务建模是一种建模方法的集合,是一种问题分析的技术,有助于定义系统及其应用。
其工作可能包括了对业务流程建模,对业务组织建模,改进业务流程,领域建模等方面。
主要任务:(1)确定项目范围(2)建立上层(high-level)需求(3)取得涉众支持(4)业务建模会议13.2业务建模的步骤第一步,从涉众中找出用户。
并定义这些用户之间的关系。
第二步,找出每个用户要做的事,即业务用例。
第三步,利用业务场景图帮助分析业务流程。
第四步,绘制用例场景图。
第五步,从第三步或第四步中绘制的活动图中找到每一步活动将使用到的或产生的结果。
第六步,在上述过程中,随时补充词汇表。
它包括所有业务词汇,专业词汇等一切在建模过程中使用到的需要解释的名词。
第七步,根据涉众的期望评审建立好的模型,确定业务范围,决定哪些业务用例在系统建设范围内。
上述的步骤是可以迭代的。
14.1用例的概念及描述形式是一种描述系统需求的方法,该方法完全站在用户的角度上(从系统外部)来描述系统的功能,即系统应该为每个用户做什么?系统对用户有什么价值用用例图描述14.2用例的三种关系包含、扩展、泛化14.3用例的常规流和备选流举例:提款--基本事件流:用户插入信用卡输入密码输入提款金额提取现金退出系统,取回信用卡提款--备选事件流备选流一:用户可以在基本流中的任何一步选择退出,转至基本流步骤5。
备选流二:在基本流步骤1中,用户插入无效信用卡,系统显示错误并退出信用卡,用例结束。
备选流三:在基本流步骤2中,用户输入错误密码,系统显示错误并提示用户重新输入密码,重新回到基本流步骤2;三次输入密码错误后,信用卡被系统没收,用例结束。
15.1什么是原型(应该是名词解释)如果在最终的物件(final artifact)产生之前,一个中间物件(mediate artifact)被用来在一定广度和深度范围内表现这个最终物件,那么这个中间物件就被认为是最终物件在该广度和深度上的原型。
15.2典型的原型方式及选择原型方式的方法方式:(1)按照原型与最终产品间的关系抛弃式:验证和澄清系统的需求描述,重新构造系统演化式:逐步改进和细化原型,将原型进化为最终系统增量式:在建立软件总体设计的基础上,采用增量开发方法,使原型成为最终系统(2)按照构建技术分类:水平原型方法、垂直原型方法(3)按照表现分类静态画面、情景串联图版、动态程序方法:任何要创建动态可视显示、和人员用户有很多的交互、或要求必须以演化方式开发的算法或组合处理等的应用软件是原型方法的候选者。
开发项目的性质将对原型方法的功效有很大影响。
15.3原型法的最大风险涉众看到了一个正在运行的原型,得出产品几乎已经完成的结论,从而提出快速交付产品的不当要求16.1编写需求规格说明书的三种方式(1)用好的结构化语言和自然语言编写文本型文档。
(2)建立图形化模型,这些模型可以描绘转换过程、系统状态和他们之间的变化、数据关系、逻辑流或对象类和他们的关系。
(3)编写形式化规格说明,这可以通过使用数学上精确地形式化逻辑语言来定义需求。
16.2需求规格说明书的编写原则(1)句子和段落要短。
(2)要检查需求是否被有效地定义。
(3)需求编写者还要努力正确地把握细化程度。
(4)密切关注合成了多个需求的单个需求。
(5)通篇文档细节上要保持一致。
16.3需求规格说明书评审中的常见问题(1)叙述的软件目标和系统的目标是否保持一致?(2)所有系统元素的重要接口都已描述了吗?(3)问题域的信息流和结构都已被恰当地定义了吗?(4)图示是否清楚?每个图都可以不需要文字补充了吗?(5)是否包括了所有主要的功能,它们都已描述清楚了吗?17.1需求验证过程中需要确定的内容(1)软件需求规格说明正确描述了预期的系统行为和特征。