信息内容是可以进行逻辑一致性推导和证明的,所以它能够保证信息的正确性。而且形式化 的信息描述能够被机器所理解,它所描述的信息内容可以准确地映射为机器行为。但是形式 化描述的信息要求读者具备谓词演算方面的知识,这对普通的用户而言显然要求过高,以至 于大多数用户无法读懂以形式化方法描述的信息。形式化方法所能描述的内容也是有限的, 具体的有限性因形式化方法的不同而各异。
半形式化语言是介于自然语言和形式化语言之间的描述语言。一方面,半形式化语言 具有严格的语法,定义方式比自然语言更加严格,这使得它可以避免自然语言模糊、松散、 歧义、凌乱等不好的特性。另一方面,半形式化语言具有丰富的语义,使用规则比形式化语 言更复杂和多样,这使得它具有比形式化方法更强的表达能力。但是,丰富的语义使得半形 式化语言的语法无法严格到可以等价于数学方法的程度,所以它描述的信息还需要进行额外 的处理才能够被机器所理解或者准确地映射为机器行为。同时,严格的语法限制也使得半形 式语言的表达能力无法达到自然语言的程度。而且因为具有独特的语法和语义,所以半形式 语言对普通用户而言无异于一门全新的语言,它所描述的信息很难被用户所理解。
自然语言采用了以文本为主的描述方式;形式化语言也是使用以文本为主的描述方式; 半形式化语言采用了以图形为主的描述方式,因为:
①半形式化语言的语法限制使得它用于信息描述的基本元素是有限的,这个有限性使 得它以限定文本或者限定图形符号为描述方式成为可能。
②半形式化语言追求表达语义的丰富性,而在这一点上图形符号是胜过限定文本的, 所以人们倾向于选择使用图形符号的描述方式。
在进行需求规格说明文档的编写时,用户倾向于使用自然语言,因为其他两种类别的 语言难以理解。开发人员倾向于使用半形式语言和形式化语言,因为自然语言的表达不够严 格和准确。形式化语言在实践中的应用很少,因为需求规格说明对语言的语义和表达能力有 着较高的要求,而这恰恰是形式化语言有所欠缺的。
为了让需求规格说明文档的内容能够同时满足用户和开发人员的需要,需求工程师在 实践中更多时候会综合使用自然语言、半形式化语言和形式化语言。
27、简述评审的过程并说明何时可以结束评审? 答:(划线部分为必答要点)
常见的评审过程可以分为 6个阶段:
(1)规划阶段(Planning),作者和仲裁者共同制定审查计划,决定审查会议的次数,安 排每次审查会议的时间、地点、参与人员、审查内容。
(2)总体部署阶段(Overview),作者和仲裁者向所有参与审查会议的人员描述待审查材 料的内容、审查的目标以及一些假设,并分发文档。
(3)准备阶段(Preparation),审查人员各自独立执行检查任务。在检查的过程中,他们 可能会被要求使用检查清单、场景等检查方法,记录下来检查中发现的问题,以准备开会讨 论或者提交给收集人员。
(4)审查会议阶段(Inspection Meeting),通过会议讨论,识别、确认和分类发现的错误。 在审查会议结束时,还可以根据审查发现的问题严重程度来确定软件需求规格说明文档是可 以在修正后接受,还是需要在修正后再次进行评审。
(5)返工阶段(Rework),作者修改发现的缺陷。
(6)跟踪阶段(Follow-up),仲裁者要确认所有发现的问题都得到了解决,所有的错误都 得到了修正。仲裁者还要判断修正后的文档是否已满足审查的结束标准,如果不满足就需要 再次进行评审。
若满足下列情况,审查工作可以结束。
25
①审查期间审查人员提出的所有问题都已解决。
②文档中和相关的工作产品中的所有更改都已正确完成。 ③修订过的文档已经进行了拼写检查。
④所有标识为TBD(待确定)的问题都已经解决,或者已经对每个待确定问题的解决过 程、计划解决的目标日期和由谁来解决等编制了文档。
⑤文档已经在项目的配置管理系统中作了登记。 28、简述需求管理的主要作用。 答:(划线部分为必答要点)
在实践中发现的需求管理的作用有:
①增强了项目涉众对复杂产品特征在细节和相互依赖关系上的理解。需求管理将需求 基线纳入了项目的知识管理,能够帮助项目涉众更好地获得并理解这些知识,从而增强了项 目涉众对需求(尤其是复杂需求)的掌握。
②增进了项目涉众之间的交流。需求管理为项目涉众提供了一个共同的需求理解,从 而有助于项目涉众之间的交流,减少了可能的误解和交流偏差。
③减少了工作量的浪费,提高了生产力。需求管理能够更加有效地处理需求的变更, 减少因此产生的返工工作,从而提高了项目的生产率。
④准确反映项目的状态,有助于项目决策。需求管理收集的需求跟踪信息能够更加准 确地反映项目的进展情况,从而帮助项目管理者更好地掌握项目状态,做出更加符合实际情 况的合理决策。
⑤改变项目文化,使得需求的作用得到重视和有效发挥。需求管理可以为项目涉众带 来很多的好处,使得项目涉众认识到需求在项目工作中的重要性,并依照需求开展工作。
29、简述需求管理的重要任务 答:
需求管理的重要任务有: ①交流涉众的需要。
②将需求应用、实施到解决方案。 ③驱动设计和实现工作。 ④控制变更。
⑤将需求分配到子系统。 ⑥测试和验证最终产品。 ⑦控制迭代式开发中的变化。 ⑧辅助项目管理。
30、简述如何进行需求变更控制? 答:(划线部分为必答要点)
需求开发是一个获取、明确并定义需求的过程,但需求并不是在需求开发结束之后就 会恒定不变的。
为了解决需求变化给项目带来的影响,需要正确地处理需求变化,首先要认识到在很 多情况下,需求的变化是正当和不可避免的:
①问题发生了改变。软件被创建的目的在于解决用户的问题,可是随着时间的发展, 形势可能会发生变化,导致用户的问题也发生了变化。原来的问题可能因为各种原因不解白 破,或者用户将原来的主要问题降为次要问题,而将原来的次要问题升级为主要问题等。所
26
有这些都意味着软件的需求应该发生变化,否则创建的软件将会减小甚至失去服务用户的作 用。
②环境发生了改变。软件是通过与其周围环境进行交互的方式来解决用户的问题的。如 果软件的环境发生了改变(例如法律变化、业务变化等),那么即使用户的问题依旧,软件 的需求也应该发生改变。否则,最终的软件将不能像设想的那样有效地解决用户的问题,因 为旧有的模式已经无法和新的环境形成有效互动。
③需求基线存在缺陷。需求开发的理想结果当然是建立一个完全无缺陷的需求基线, 但这是不可能达到的目标。因为需求工程的复杂性,需求开发得到的需求基线总是或多或少 的会遗留下一些缺陷。当这些缺陷在开发或者使用中暴露出来时,必须予以及时解决。
④用户变动。在开发和使用中,软件产品的用户可能发生的人员更替,这时新的用户 就可能会提出和原有用户不同的要求。在维护期间和比较长的开发周期中往往会发生这类变 更。
⑤用户对软件的认识变化。随着对软件开发和使用的直接参与,用户会对软件领域有 越来越多的了解,这时他们也往往会提出越来越多、越来越具体的需求,其中就夹杂着对原 有需求的修改要求。在一个全新的领域或者为一个没有软件经验的企业开发软件时,这种情 况非常常见。
⑥相关产品的出现。在产品开发的过程中,可能会有竞争产品、类似产品或者需要交 互的其他产品等相关产品出现,这时往往需要开发者根据相关产品的新鲜知识,变更原有的 软件需求和开发计划。
31、在功能分解过程中,最重要的是要保证分解过程的平衡性(Balance)。平衡性是保 证功能分解不会导致需求内容出现偏差的方法,它要求 DFD子图的输入流、输出流必须和 父过程的输入流、输出流保持一致。请对下图的平衡性做出分析。
答:
在上图所描述的功能分解中,父过程 P的输入流是 a,输出流是 b。在 P分解后产生的 子图当中,a是唯一从子图范围之外进入子图的数据流,所以 a是子图唯一的输入流。同样 b是唯一从子图流向范围之外的数据流,所以 b是子图唯一的输出流。这样,P的输入流、 输出流就和子图的输入流、输出流保持了一致,对 P的功能分解就满足了平衡性。
27
32、在功能分解过程中,最重要的是要保证分解过程的平衡性(Balance)。平衡性是保 证功能分解不会导致需求内容出现偏差的方法,它要求 DFD子图的输入流、输出流必须和 父过程的输入流、输出流保持一致。请对下图的平衡性做出分析。
答:
上图所表示的功能分解中,父过程的输入流为 a,父过程输出流为 b,子图的输入流为 a和 c,子图的输出流为 b。这样,虽然父过程和子图的输出流保持一致,但它们的输入流 却存在差异,于是图所描述的功能分解破坏了平衡性,是一个错误的功能分解。 六、案例分析题
1、请按下列描述,用 DeMarco-Yourdon和 Gane-Sarson表示法分别画出“食物订货系 统”的过程模型图(DFD)。
食物订货系统主要和 3种外部的实体:顾客、管理者和厨房存在交互行为。首先,食物 订货系统需要接收顾客的食物订单,并在接收后向顾客呈送一个收条,然后将订单转交系统 内部的功能处理。其次,食物订货系统要能够将已经接收的食物订单及时的转交给厨房,这 样厨房才能够根据订货的情况进行生产。最后,食物订货系统要能够基于一段时间的事务积 累,为管理者提供管理报表,反映组织的生产状况。
食物订货系统的内部功能主要有 4个。第一个功能是接收顾客的食物订单,向顾客呈送 收条,并将订单及时转交厨房,同时启动对订单的后续处理(第二个功能和第三个功能)。 第二个功能是处理顾客食物订单,根据订单生成并记录食物的销售事务。第三个功能也是处 理顾客食物订单,但其目的是根据订单更新库存信息,以保证生成的原材料供应。第四个功 能是根据一段时间内的食物销售情况和库存管理情况,生成管理报表,向管理者反映组织的 生产状况。
在食物订货系统中,食物销售记录和库存记录是为了完成系统的功能(产生管理报表), 组织希望储存的数据。
28
解答:
图 1用 DeMarco-Yourdon表示法表示的 DFD
图 2用 Gane-Sarson表示法表示的 DFD
2、在下面的描述中,辨识参与者(ACTOR)和用例(USE CASE),并画出一个用例 图。
在医生的办公室里,接待员、护士和医生使用病人记录和计划安排系统。当病人第一次 来这里看病时,接待员使用该系统来输入病人信息,并且他们安排所有的预约。护士使用系 统来跟踪病人每次看病的结果并输入护理病人的信息,如医疗和诊断。护士也可访问这些信 息以打印病人诊断结果或病人看病历史。医生主要用这个系统来查看病人的病史,偶尔也输 入病人医疗信息,但通常他让护士输入这些信息。
29
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库软件需求分析笔试题库(6)在线全文阅读。
相关推荐: