软件需求工程 期末复习资料
- 格式:doc
- 大小:506.00 KB
- 文档页数:12
☆什么是软件需求工程?请说明软件需求工程中各阶段的主要任务。
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.下面说法正确的是A.大多数软件系统是不容易修改的,除非它们在设计时考虑了变化B.由于软件是产品,因此可以应用其他工程制品所用的技术进行生产C.一般来说,软件只有在其行为与开发者的目标一致的情况下才能成功D.购买大多数计算机系统所需的硬件比软件更昂贵8.Ariane 5火箭发射失败的事例告诉我们A.(2)软件后备系统可以通过复制生成B.(3)软件重用必须重新进行系统论证和系统测试C. 选项(1)和(3)D.(1)系统环境的变化可能影响软件采集数据的精度、范围和对系统的控制9.软件危机的主要原因是A.软件本身的特点及开发方法。
B.软件工具落后。
C.软件生产能力不足。
D.对软件的认识不够。
10.下面的描述正确的是A.软件质量是在开发过程中逐渐构建起来的。
B.软件质量是由产品的功能、性能、易用性等外在特性决定的。
C.运行正确的软件就是高质量的软件。
D.软件产品质量越高越好,最理想的情况是达到“零缺陷”。
软件需求期末考试题及答案# 软件需求期末考试题及答案一、选择题(每题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、软件生产中产生需求问题的最大原因在于对应用软件的理解不透彻或应用不坚决;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、原型的需求内容可以从三个纬度上分析:即 ;A外观、角色和实现 B开发、实现和作用C成本、技术和实现 D需求、作用和角色12、当用户无法完成主动的信息告知,或与需求工程师之间的语言交流无法产生有效的结果时,有必要采用 ;A民族志 B观察法 C话语分析 D任务分析13、以下不是情景性的重要性质A突现 B涉身 C完善 D模糊14、以下是情景性的重要性质A全局 B开放 C交互 D即时15、下列不是需求获取常见的模型驱动方法A面向目标的方法 B基于场景的方法;C基于用例的方法 D基于采样的方法16、下列属于定量硬数据A工作手册 B规章手册 C统计报表 D备忘录17、下列属于定性硬数据A数据收集表 B月报表 C年报表 D规章手册18、功能目标可以分为 ;A安全目标和可用性目标 B满足型目标和信息型目标C软目标和硬目标 D维护目标和实现目标19、在表达软目标的分解和细化时使用的AND Contribution链接和OR Contribution链接,Contribution的作用是 ;A积极的 B消极的 C积极的或消极的D不能确定20、AND链接将一个父目标连接到一系列细化的子目标,意思是如果能够满足所有细化的子目标,那么将父目标;A无法确定 B阻碍 C不能满足 D足以满足21、OR链接是将一个父目标连接到一系列细化的子目标,意思是如果能够满足所有细化子目标中的 ,那么将足以满足父目标;A每一个B任何一个 C特定的D某一个22、下列选项中, 不是在目标模型中使用的其他模型元素;A行为者 B场景 C操作 D概念23、面向目标方法的目标分析阶段的主要任务是 ;A获取目标 B确定解决方案C建立目标模型 D发现问题和缺陷24、场景的分类框架将场景方法从场景的 4个方面进行了分类和描述;A形式、目的、内容和生命周期 B外观、目的、内容和生命周期C描述、目的、内容和形式 D描述、外观、目的和内容25、场景的形式是指场景的表达模式,从形式上分为两个方面:A内容和目的B内容和生命周期C描述和外观D描述和目的26、描述场景所使用的表示法要符合正规性要求,一般可使用非形式化语言、半形式化语言和形式化语言;在实践中, 是主要的描述方式;A形式化的程序语言 B非形式化的自然语言C形式化的图形工具 D非形式化的设计语言27、外观是指场景被表达出来时的效果,主要有三种类型;A静态、动态和结构化 B线性、非线性和交互C静态、动态和动静结合D静态、动态和交互28、场景的内容是指场景所表达的知识类型;它被分为6个不同的方面;下列不是场景的内容;A主要关注点 B环境范围 C目的 D抽象层次29、需求工程利用场景的目的可能有三种:即: ;A描述、探索和解释 B描述、表示和探索C描述、探索和发现 D表示、解释和证明30、使用解释性场景在需求分析时能够 ,或者被用于进行需求的验证;A提高模型的复杂性 B降低模型的复杂性C提高预见性 D降低编程量31、下列不是场景方法在需求工程中的应用;A帮助进行详细的需求分析B编写系统需求规格说明C结合面向目标的方法,指导需求获取活动的开展D组织需求获取得到的信息32、下列是组织场景时可用的场景关系;A合取关系B定性关系 C定量关系 D演绎关系33、与其他的场景方法相比,用例最大的特点是采用了的描述方式;A静态非结构化文本 B动态非结构化文本C静态结构化文本 D动态结构化文本34、用例之间的关系主要有三种;A包含、扩展和简化 B合取、析取和扩展C包含、多态和继承 D包含、扩展和泛化35、分析的活动主要包括识别、定义和结构化,它的目的是获取某个可以转换为知识的事物的信息,这种分析活动被称为 ;A需求信息获取 B建立软件系统解决方案C需求信息转化 D建立需求分析模型36、是建模最为常用的两种手段;A具体和抽象 B抽象和分解C分解和细化 D抽象和细化37、抽象通过强调本质的特征, 了问题的复杂性;A调整 B避免 C增加 D减少38、需求分析仅仅需要描述解决方案,不需要探索实现细节的情况下,分析模型又是的,尤为适用;A形式化 B半形式化 C结构化 D非结构化39、上下文图描述系统与环境中外部实体之间的界限和联系;它从现实世界的角度说明了系统的 ,并确定了所有的输入和输出;A环境与外观 B边界和联系C边界和环境 D输入和输出40、是结构化分析方法的核心技术,它表明系统的输入、处理、存储和输出,以及它们如何在一起协调工作;A数据流图DFD B实体联系图ERD C状态转换图D上下文图41、结构化、信息工程和面向对象三种方法学下的需求分析技术都是的;A面向问题域 B面向解系统 C面向设计 D面向需求42、使用面向问题的技术对问题世界的建模就被称为需求阶段的分析;A前期 B中期 C后期 D全过程43、使用面向解系统的技术对软件系统解决方案的描述称为需求阶段的分析;A前期 B中期 C后期 D全过程44、需求分析活动的一个重要任务是进行 ,明确用户需求的隐含信息,展开为明确的对软件系统的行为期望,即系统需求;A需求整理 B需求细化 C需求获取 D需求分析45、在分层结构中,DFD定义了三个层次类别的DFD图:、0层图和N层图;A1层图 B底层图 C上下文图D顶视图46、因为数据存储是系统内部的功能实现,所以在将系统视为黑盒的情况下,上下文图中不会出现 ;A实体 B数据存储实例 C需求信息 D过程处理47、数据建模技术能够弥补过程建模在方面的缺陷,它描述数据的定义、结构和关系等特性;A需求分析 B数据转换 C数据说明D数据分析48、;概念实体是一种抽象概念,不考虑概念背后的物理存在,所以通常不包含与之相关联的其他 ;A模型 B特征即属性 C关系 D处理49、在ERD建模中,实体通常所指的就是 ;A逻辑实体 B概念实体 C物理实体 D进程实体50、ERD中属性是实体的特征,不是数据;属性会以一定的形式存在,这种存在才是数据,被称为属性的 ;A域B实例 C说明 D值51、ERD中关系的度数Degree是指参与关系的实体数量,是度量关系的一个指标;A模型 B复杂度 C精确度 D属性值52、ERD中关系的基数分为最大基数和最小基数;最大基数又被称为 ;A键约束 B参与约束C自然约束 D一般约束53、在实体之间建立关系时,可能会产生一些附带的实体,被称为关联实体,最常见的形式是 ;A逻辑实体 B进程实体 C概念实体 D自然实体54、在实现ERD与过程模型同步的技术中, 是一种较为常见的技术;A用例图 B数据流图 C功能/实体矩阵 D微规格说明55、下列不是用例模型中的关系A属性 B关联 C泛化 D包含56、系统边界是指一个系统所包含的系统成分与系统外事物的分界线;用例模型使用一个来表示系统边界,以显示系统的上下文环境;A圆形框 B菱形框 C虚线框 D矩形框57、UML使用的行为模型有三种,即: ;A交互图、状态图和顺序图 B顺序图、通信图和时间图C交互图、状态图和活动图 D交互概述图、通信图和时间图58、项目的前景和范围文档、用户需求文档都被视为属于 ,重点都是用户的现实世界;A开发文档 B需求文档 C前景文档 D用户文档59、系统需求规格说明文档、软件需求规格说明文档、硬件需求规格说明文档、接口需求规格说明文档和人机交互文档一起被用于系统开发的目的,都被认为是开发文档;A开发文档 B需求文档 C过程文档 D用户文档60、下列不是需求规格说明文档的读者A项目管理者 B编程人员 C销售商 D律师二、填空题1、传统的需求分析方法都是从设计领域转入分析领域的;2、面向专业用户的纯工具型软件分析阶段的主要目的是为充分利用创新优势而进行巧妙的功能安排;3、面向普通用户的纯工具型软件进行分析的主要目的是进行方案权衡,寻找一套切实有效的功能配置;4、应用型软件分析阶段的主要目的是发现人们利用软件的原因目的,找出需要软件解决的问题,理解应用环境中的领域知识,保证功能的模拟性;5、需求工程是所有需求处理活动的总和,它收集信息、分析问题、整合观点、记录需求并验证其正确性,最终反映软件被应用后与其环境互动形成的期望效应;6、软件需求开发用来确定系统需求中应该由软件满足的部分,将其映射为软件行为,产生软件需求规格说明;7、约束是不受解系统影响,却会给解系统带来极大影响的问题域特性;8、优秀的需求应该具备7个特性,即完整性、正确性、精确性、可行性、必要性、无歧义和可验证;9、所有对软件系统的开发和应用具有发言权和决定权的人统称为涉众;10、按照媒介载体进行分类,原型可分为:样板原型和纸上向导原型;11、演示原型主要被用在项目启动阶段;12、演示原型都是被用来展示用户想象中的系统视图,所以它要能够表现用户界面的重要特征;13、,如果一个问题的技术解决方案是不清晰的,演示原型也可以被用来展现相应的细节功能以使用户确信该问题解决的可能性;14、通常来说,如果用户需求出现了模糊、不清晰、不完整等具有一定不确定性的特征,就可以考虑使用原型方法;15、角色是指原型物件在用户工作中的价值,也就是说它为什么对用户是有用的;16、外观是指用户对原型物件的具体感觉体验,即用户在使用原型物件时会看到什么、听到什么和感觉到什么;17、实现是指原型物件完成功能的细节技术和方法;18、使用演化式原型方法,在开发时就需要注意原型的健壮性和代码的质量;19、使用实验式开发方法,需要实现多种技术方案,考察重要的系统的质量属性;20、选择使用探索式开发方法,需要尽可能地考虑各种不同的设计选项,比较不同选项下的用户反馈;21、原型方法的最大优点是能够及早地解决系统开发中的不确定性,从而降低软件项目失败的风险;22、航空调度、证券交易、医疗手术控制等复杂的协同问题都具有突现的情景性;23、民族志的一个主要应用目的就是研究和解决复杂的协同问题;24、复杂的工作总会同时存在着正常流程和异常流程,异常流程大多是一些特殊情况下的处理,限定了异常处理的上下文环境,即异常处理具有局部的情景性;25、有很多重要工作的进行需要用户具备一定的认知,认知要求已经成了用户工作必备的部分,即工作具有涉身的情景性;26、采样观察是最简单的观察方法,应用目的是发现异常流程,验证用户所述知识和实际的一致性,以及发现默认知识;27、时间采样允许需求工程师建立指定的时间间隔来观察用户的活动情况;28、文档审查主要获取对象包括相关产品的需求规格说明、硬数据和客户的需求文档;29、文档分析通常是数据建模方法的一个基础部分,它是通过检查采集的硬数据来确定潜在的需求;30、如果当前存在一份客户的需求文档,就可以使用需求剥离技术,从需求文档中抽取单个的需求并加入到新的需求文档之中;31、需求工程师可以使用模型驱动方法来进行信息的整理和归类,其中模型驱动方法所建立的模型是进行信息整理和归类的很好的框架依据;32、模型驱动方法的模型是在前期需求阶段的分析中建立的;33、目标模型的一个核心要素是元素之间的关系,称为链接;34、目标模型的链接有两类:一类是目标之间的链接;另一类是目标与其他模型元素之间的链接;35、面向目标方法的处理过程可以分为三个阶段:目标获取、目标分析即目标模型的建立和目标实现;36、目标实现阶段的主要任务是收集与目标相关的需求信息,讨论可能的候选解决方案,确定最终的系统详细需求和解决方案;37、场景具有重点描述真实世界的特征,它利用情景、行为者之间的交互、事件随时间的演化等方式来叙述性地描述系统的使用;38、静态外观的场景被展现为一个或者数个描述性的文本或者图片;39、动态外观的场景会被以动态的方式展现出来,人们可能会要求按时序向前或者向后浏览场景,也可能会要求跳转到场景的某一个时刻进行观察;40、交互外观的场景提供交互性,它允许用户在一定程度上控制和改变场景的变化时序或者效果;41、具体场景,又称为实例场景,是对个别行为者、事件、情节的细节描述;42、抽象场景,又称为类型场景,是以经验中的类别和抽象概念来描述事实;43、探索性场景可以用来进行需求获取和需求建模与分析;44、每个用例是对相关场景集合的叙述性的文本描述,这些场景是用户和系统之间的交互行为序列,帮助实现用户的目的;45、用例是场景方法中的一种,是静态的结构化文本描述;46、在高层的功能需求获取完备之前,用例的产生方式中不允许使用功能分解方式;47、单个用例描述了系统的功能片段,系统的所有用例基于一定的关系组织起来,建立用例模型,就可以描述整个系统的功能;48、原有用例和新建立的抽象用例的关系即为包含关系;49、在需求工程中,主要产生三类重要的文档:项目前景和范围文档、用户需求文档以及需求规格说明;用例文档通常被用来代替用户需求文档,起到记录、交流领域信息和用户期望的作用;50、需求获取得到的信息和需求开发应该建立的软件系统解决方案之间有着很大的差距;需求分析就是用来解决这个差距的需求工程活动;51、需求分析的根本任务是:建立分析模型并创建解决方案;52、分解将单个复杂和难以理解的问题分解成多个相对更容易的子问题,并掌握各子问题之间的联系;53、基于软件构建单位及其之间的关系建立的模型,用来说明软件逻辑上的构建方式和实现方式,由于它使用的组元及其关系都是软件的元素,因此它是来自于软件的模型,称为计算模型;54、模型语言的三要素:语法、语义、语用;其中语用给出了一个模型元素描述的更宽广的上下文,以及影响该模型元素意义的约束和假定;55、互相之间建立了语义联系的多个模型,集成在一起通常被称为视图;56、需求分析方法主要有:结构化方法、信息工程方法和面向对象方法;其中面向对象方法是目前工业界使用的主流方法;57、信息工程和结构化方法的本质差别在于解决问题的策略不同;58、前期需求阶段分析的重点是理解问题世界,因此它关注的是整个问题世界,注重于系统的环境、开发组织的业务背景、涉众的特征以及目标等等,软件系统只是整个背景下的一个要素;59、后期需求阶段分析关注的是解系统解决方案的建立,因此它以软件系统为中心,注重于分析系统的内部功能以及它与环境的互动,是对系统功能的详细信息的分析;60、以软件复用为核心,建立产品族的方法被称为产品线;61、需求协商活动既包括对目标冲突的处理,也包括对需求细节冲突的处理;62、微规格说明被用来描述DFD过程分解结构中最底层过程的处理逻辑;63、DFD中所有的外部实体联合起来构成了软件系统的外部上下文环境,它们与软件系统的交互流就是软件系统与其外部环境的接口,这些接口联合起来定义了软件系统的系统边界;64、数据流是指数据的运动,它是系统与其环境之间或者系统内两个过程之间的通信形式;65、DFD的0层图中的每个过程都可以进行分解,被分解的过程称为父过程,分解后产生的揭示更多细节的DFD图称为子图;66、DFD的0层图通常被用来作为整个系统的功能概图;67、为了保证DFD图的可理解性,0层图应该被描述的简洁、清晰,所以在描述复杂的系统时,0层图中不应出现太过具体的过程和数据存储;68、DFD中对0层图的过程分解产生的子图称为1层图;69、数据建模建立的模型称为数据模型,是问题域和解系统共享的知识集合,通常能够反映企业业务的核心知识;70、数据模型的内容是问题域和解系统所共享的知识模型,可以用问题域的语言来解释,也可以用解系统的语言来解释,还可以用介于问题域和解系统之间的中立语言来解释;71、在需求工程中,数据建模建立的是概念数据模型和逻辑数据模型,不涉及物理数据模型;72、ERD的逻辑实体是对概念实体的细化,拥有完整的特征描述;73、数据建模中对行为和事件的建模需要是为了了解它们在某些时刻的快照或者运行环境信息,而不是它们所体现出来的功能和达成的效果,所以称这类实体为进程实体;74、ERD中属性就是可以对实体进行描述的特征,一系列属性的存在集成起来就可以描述一个实体的实例;75、ERD中属性取值的受限制范围称为域Domain;76、ERD为实体指定一个属性或多个属性的组合,可以用来唯一地确定和标识每个实例,这些属性或属性的组合称为实体的标识符,又称为键;77、一个实体可能有多个键,这些键都被称为候选键;78、通常人们从多个候选键中选择和使用固定的某一个键来进行实例的标识,这个被选中的候选键被称为主键,没有被选做主键的候选键被称为替代键;79、实体实例大多数属性的值都是需要从现实中获取的,称为存储属性;80、有些实体实例的属性的值是可以由其他属性的值计算得出的,称为导出属性;81、关系是存在于一个或多个实体之间的自然业务联系;82、只有一个实体参与的关系存在于实体的不同实例之间,称为一元关系,又称为递归关系;83、ERD中关系的基数分为最大基数和最小基数;最小基数又被称为参与约束;84、ERD中一个实体在关系中的最大基数是指,对关系中任意的其他实体实例,该实体可能参与关系的最大数量;85、ERD中一个实体在关系中的最小基数是指,对关系中任意的其他实体实例,该实体可能参与关系的最小数量;86、ERD中被关系影响的实体主要是弱实体和关联实体;87、用例模型的基本元素有四种:用例、参与者、关系和系统边界;88、UML行为模型是用例模型的实现,以更加详细的方式说明用例所描述的系统行为;89、UML行为模型的活动图是依据处理流程进行的用例实现;90、UML行为模型的交互图通常描述的是单个用例的典型场景;91、接口需求规格说明文档是对整个系统中需要软、硬件协同实现部分的详细描述;92、优秀的需求规格说明文档应该具备:正确性、无歧义、完备性、一致性、根据重要性和稳定性分级、可验证、可修改、可跟踪等特性;93、需求验证常见方法有:需求评审、原型与模拟、测试用例开发、用户手册编制、利用跟踪关系和自动化分析;94、评审又被称为同级评审,是指由作者之外的其他人来检查产品问题的方法;95、在系统验证中,评审是主要的静态分析手段,所以评审也是需求评审的一种主要方法;96、需求基线的维护主要包括配置管理和状态维护;97、需求跟踪是以软件需求规格说明文档为基线,在向前和向后两个方向上,描述需求以及跟踪需求变化的能力;98、从需求向后回溯前向跟踪的两种联系之一说明软件需求来源于哪些涉众的需要和目标;99、后向跟踪是指需求被定义到软件需求规格说明文档之后的演化过程;100、后向跟踪包括两种联系:从需求向前跟踪和回溯到需求的跟踪;三、判断题1、需求工程包括需求获取和需求开发两个方面;×2、需求验证是需求工程中最后一个活动;×3、软件系统能够与问题域进行交互和相互影响的原因在于,软件系统中的某些部分对问题域中的某些部分具有模拟特性;√4、规格说明是问题域为满足用户需求而提供的解决方案,规定了解系统的行为特征;×5、业务需求具有明显的目的性和较高的抽象性,经过明确和细化的处理,可以直接转化为系统需求;×6、需求开发的一些特性决定了需求开发过程只能是一个简单的线性增量过程;×7、对于需求不确定性比较小的项目,用户参与可以取得比较好的效果,但对于需求不确定性比较大的项目,用户参与反而可能带来阻碍作用;×8、按照构建技术进行分类,原型可分为:水平原型和垂直原型;√9、严格意义上的原型主要被用在需求分析阶段;√10、要完成相同的功能,构建抛弃式原型比构建演化式原型所花费的代价要大得多;×11、水平原型方法仅仅实现选定功能实现的所有层次,能够处理较大范围的功能;×12、垂直原型方法会触及选定功能所有层次中的某些特定层次,处理的功能范围通常较小;×13、建立外观原型时重在原型的用户界面和交互方式,原型的功能和技术实现细节就会被简化处理;√14、如果选择的开发方法是实验式或者探索式开发方法,应该尽量花费最小的代价,争取最快的速度,忽略或简化不重要的功能处理;√15、原型修正主要依据评估人员的反馈,可以忽略事先的原型调整计划;×16、文档审查是一种传统的需求获取方法,是专门针对文档进行的需求获取活动;√17、由于文档是来自于当前计算机或手工系统的产物,因此它是正确的,也正是客户所需要的;×18、成功的需求获取任务不仅要求成功地执行每一次具体的需求获取行为,还要求成功地处理多次获取行为之间的关系;√19、软目标是一类无法清晰判断是否满足的目标,所以可以用AND和OR链接直接应用于软目标;×20、子目标的实现只能促进父目标的实现;×21、AND和OR链接用于描述目标的分解和细化关系;√22、目标的发现并是一个自上而下分解的过程,也就是一个不断发现和细化的过程;×23、对系统的现状和背景进行分析往往能够发现重要的目标,得到一些明确的问题和缺陷,它们的反面就是系统需要实现的目标;√24、场景被人们广泛接受的原因是因为人们更倾向于会对真实事件和真实事物的描述产生反应;√25、描述场景时所使用的常见媒介形式主要有:叙述性的自由文本、结构化文本;强限制文本、表格、图表、图像等;√26、在实践中,以动态的场景外观为主;×27、场景内包含的知识只能是关于未来的;×28、描述性场景的目的是为了记录已经得到的需求,即整理每次需求获取行为中得到的信息;√29、UML就是以用例来捕获系统所有的系统需求的;×30、用例的内容只能包含有正常流程,而不能包含有异常流程;×31、用例可以用于各种目的的应用,包括描述、探索和解释;√32、用例是在对现实世界的探索中或者是在对需求规格说明的解释中产生的,是通过功能分解的方式创建的;×33、抽象用例是不能被实例化的,它必须被包含在其他用例中才能得以执行;√34、用例间的泛化关系是指子用例继承了父用例的特征;×并增加了新的特征35、抽象一方面要求人们关注重要的信息,同时又不能忽略次要的内容;另一方面也要求人们将认知保留在适当的层次,屏蔽更深层次的细节;×36、由于计算模型的形式化特征不适合于需求工程阶段,因此计算模型不适合用于需求分析中的建模;√。
第二章:描述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、原型的优缺点利用原型的好处有:及时、有力的响应用户需求的变化;减少返工;帮助控制不完整需求所带来的风险;可以将一个大的难以处理的开发过程细分成一些更小更容易处理的步骤;减少开发成本,提高经济效益;增加开发者之间的交流,帮助确定技术解决方案的可行性;有效的识别风险和解决风险,帮助进行风险管理;提高用户在软件开发中的参与程度。
软件需求考试总复习1、为什么软件需求这么难?客户说不清楚需求需求自身经常变动分析人员或客户理解有误2、软件需求的定义软件需求=业务知识+问题列表+其他因素.业务知识包括业务事件、业务实体和业务规则;问题列表是用户在工作中遇到的困难与障碍,这也是软件开发中需要解决的问题;其他因素包括了一些设计约束和非功能方面需求。
3、需求的层次业务需求、用户需求、软件需求需求层次的产物:业务需求是需求定义的产物,用户需求是需求捕获的产物,软件需求是需求分析与建模的产物.4、软件需求的三种类型功能需求:开发人员要实现什么非功能需求:对产品功能描述的补充设计约束:限制了开发人员设计和构建系统时的选择范围5、软件开发的各个阶段,为什么只有需求阶段称为工程?需求工程是随着计算机的发展而发展的,在计算机发展的初期,软件规模不大,软件开发所关注的是代码编写,需求分析很少受到重视.后来软件开发引入了生命周期的概念,需求分析成为其第一阶段.随着软件系统规模的扩大,需求分析与定义在整个软件开发与维护过程中越来越重要,直接关系到软件的成功与否。
人们逐渐认识到需求分析活动不再仅限于软件开发的最初阶段,它贯穿于系统开发的整个生命周期。
需求分析是介于系统分析和软件设计阶段之间的桥梁.一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现、测试直至维护的主要基础.良好的分析活动有助于避免或尽早剔除早期错误,从而提高软件生产率,降低开发成本,改进软件质量。
所以才只有需求成了工程!6、需求工程划分为哪两个部分需求开发、需求管理7、需求开发包括哪些内容需求获取、需求分析、需求规约(编写需求规格说明书)和需求验证(确认).8、需求管理包括哪些内容基线管理、变更管理和需求跟踪。
9、如何评价需求的好与坏(优秀需求的特点)完整性、正确性、可行性、有优先次序、无歧义、可验证性、确定性10、客户的含义广义来讲,客户泛指直接或间接得益于产品的个人或组织。
软件工程期末复习一、填空题1. 软件是计算机系统中与硬件互相依存的另一部分,它是涉及(程序)、(数据)及其(相关文档)完整集合。
其中,(程序)是按事先设汁的功能和性能规定执行的指令序列,(数据)是使程序可以对的操纵信息的数据结构,(相关文档)是与程序开发、维护和使用有关的图文资料.2. 软件危机是指计算机软件的(开发)和(维护)过程中所碰到的一系列严重问题。
3. 软件工程是指导计算机软件(开发)和(维护)的一门工程学科,采用工程的概念、原理、技术和方法来开发和维护软件,把通过时间考验而证明对的的管理技术和当前可以得到的最佳技术方法结合起来,以经济地开发出高质量的软件并有效地(维护)它,这就是软件工程。
4. 常见的软件开发模型有(瀑布模型)、(快速原型模型)、(增量模型)和(螺旋模型)等;5. 软件工程学方法的三要素是:(方法)、(工具)和(过程)。
6. 瀑布模型是一个(文档)驱动模型。
7. 可行性研究一般可以从(经济)可行性、(技术)可行性、法律可行性和法律可行性等方面来研究。
8. 数据流图从数据传输和(数据加工)角度,以(图形)的方式描述数据流从输入到输出的传输变换过程。
9. 数据流图的四个基本符号分别表达(数据的源点或终点)、(数据的加工)、(数据存储)和数据流;10. 实体-联系图中,数据对象之间的关系有(一对一)、(一对多)和(多对多关系)。
11. 需求分析阶段应当建立三种模,即:(数据模型)、(功能模型)和(行为模型)。
12. 一般从(一致性)、(完整性)、(现实性)和(有效性)四个方面验证软件需求的对的性。
13. HIPO 图是由一组(层次图)图加上一张(IPO)图组成。
14. 模块独立性的两个度量标准为:(耦合)和(内聚)。
15. 一般说来,模块之间的耦合限度(低),则单个模块的内聚限度(高)。
16. 经验表白,设计好的软件结构,通常顶层模块的扇出(比较高),中层模块扇出(较少),底层模块(高)扇入17. 三种基本的程序控制结果是(顺序结果)、(选择(分支)结构)和(循环结构)。
考试科目名称 软件需求工程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.用例是对用户目标或用户需要执行的业务工作的一般性描述;使用场景则是某个用例的一条特定路径。
《软件工程》复习提纲1 软件与软件工程1.1软件的基本概念(例如,软件的定义、文档、软件的特点等)简单地说,软件由程序和文档两部分组成,一是机器可以执行的程序及有关的数据,二是机器不能执行的文档,软件的两种普遍定义:①软件是与计算机系统操作有关的程序,规程、规则及任何与之相关的文档和数据。
②软件是程序以及开发,使用和维护程序所需要的文档,包括机器运行所需要的各种程序及有关资料。
程序:为了解决某一问题而按事先设计的功能和性能要求执行的指令系列,或者说,用程序设计语言描述的适合于计算机处理的语句序列。
数据:使程序能正常操纵信息的数据结构。
文档:描述程序、数据和系统开发以及使用的各种图文资料。
它具有永久性并能供人或机器阅读。
软件的基本特点:·①计算机软件产品是一种逻辑产品部件而不是物理产品部件。
·②软件产品的生产主要是研制,是通过人们的智力活动,把知识与技术转化成信息的一种产品。
·③软件具有“复杂性”,其开发和运行常受到计算机系统的限制。
而且,软件投入使用后,仍需要进行维护,这就带来软件维护复杂性的问题。
·④软件不存在磨损,物理上不会老化,但存在软件退化问题。
·⑤软件成本昂贵,其开发方式目前尚未完全摆脱手工生产方式。
1.2软件危机的概念软件危机是指在软件开发和维护过程中所遇到的一系列严重问题。
【由于软件的规模越来越大,复杂度不断增加,软件需求量增大。
而软件开发过程是一种高密集度的脑力劳动,软件开发的模式及技术不能适应软件发展的需要。
致使大量质量低劣的软件涌向市场,有的花费大量人力财力,而在开发过程中就夭折。
】“软件危机”主要表现在两个方面:(1)软件产品质量低劣,甚至开发过程就夭折;(2)软件生产率低,不能满足需要。
1.3软件工程学的概念(定义)、研究的内容(三要素)1993年IEEE定义:(1)把系统化的、规范化的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;(2)研究(1)中提到的途径。