第九章
9-5:什么是模型?开发软件为何要建模? 所谓模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。 建模的目的主要是为了减少复杂性。
9-6:什么是对象模型?建立对象模型时主要使用哪些图形符号?这些符号的含义是什么? (1)对象模型表示静态的、结构化的系统的“数据”性质。它是对模拟客观世界实体的对象以及对象彼此间的关系的映射,描述了系统的静态结构。 (2)通常使用UML提供的类图来建立对象模型。
(3)在UML中术语“类“的实际含义是,一个类及属于该类的对象
9-7:什么是动态模型?建立动态模型时主要使用哪些图形符号?这些符号的含义是什么? (1)动态模型表示瞬时的、行为化的系统的“控制”性质, 它规定了对象模型中 的对象的合法变化序列。
(2)通常,用 UML 提供的状态图来描绘对象的状态、触发状态转换的事件以及对 象的行为(对事件的响应)。 每个类的动态行为用一张状态图来描绘, 各个类的状态图通过共享事件合并 起来,从而构成系统的动态模型。也就是说,动态模型是基于事件共享而互相关 联的一组状态图的集合。
9-8:什么是功能模型?简历功能模型时主要使用哪些图形符号?
(1)功能模型表示变化的系统的功能性质,它指明了系统应该做什么,因此更直接地反映了用户对目标系统的需求。
(2)功能模型由一组数据流图组成。在面向对象方法学中,数据流图远不如在结杂对象提供的服务, 简单的处理(或用例)对应于更 基本的对象提供的服务。有时一个处理(或用例)对应多个服务,也有一个服务对 应多个处理(或用例)的时候。 (1)数据流图中的数据存储,以及数据的源点/终点,通常是对象模型中的 对象。 (2)数据流图中的数据流,往往是对象模型中对象的属性值,也可能是整个 对象。 (3)用例图中的行为者,可能是对象模型中的对象。 (4)功能模型中的处理(或用例)可能产生动态模型中的事件。 (5)对象模型描述了数据流图中的数据流、 数据存储以及数据源点/终点的结构。
21
第十三章
13-4:假设自己被指定为项目负责人,任务是开发一个应用系统,该系统类似于自己的小组以前做过的那些系统,但是规模更大且更复杂一些。客户已经写出了完整的需求文档。应选用哪些项目组结构?为什么?打算采用哪种(些)软件过程模型?为什么? 解答:
根据上述,应该主程序员组的项目组结构。因为项目小组已经开发过类似的系统,开发人员已经具备了一定的经验。这个时候开发过程遇到的难题不会很多,所以应该减少通信开销,充分发挥技术骨干的作用,统一意志统一行动,提高生产率,加快开发进度。 应该采用“已定义级”的软件过程模型。因为客户已经写出了完整的需求文档,而且项目小组已经有过类似的开发经验。软件过程已经文档化和标准化。这种过程模型是基于在软件机构中对已定义的过程模型的活动、人员和职责都有共同的理解。
13-5: 13-6:
13-7:什么是软件质量?叙述它与软件可靠性的关系。 概括的说,软件质量就是“软件与明确地和隐含地定义的需求相一致的程度”。更具体的说,软件质量是软件与明确的叙述的功能和性能需求、文档中明确描述的开发标准以及任何专业开发的软件产品都应该具有的隐含特征相一致的程度。
13-10:什么是基线,为什么要建立基线?
(1)基线是软件文档或源码(或其它产出物)的一个稳定版本,它是进一步开发的基础。 (2)1、重现性
重现性是指及时返回并重新生成软件系统给定发布版的能力,或者是在项目中的早些时候重新生成开发环境的能力。
2、可追踪性
可追踪性建立项目工件之间的前后继承关系。其目的在于确保设计满足要求、代码实施设计以及用正确代码编译可执行文件。 3、报告
报告来源于一个基线内容同另一个基线内容的比较。基线比较有助于调试并生成发布说明。建立基线后,需要标注所有组成构件和基线,以便能够对其进行识别和重新建立。
13-11:配置审计和技术复审有何不同?可否把它们的功能放在一次复审中完成? 正式的技术复审关注被修改后的配置对象的技术正确性。复审者审查该对象以确定它与其他软件配置项的一致性,并检查是否有遗漏或副作用。软件配置审计通过评估配置对象的那些通常不在复审过程中考虑的特征,而成为对正式技术复审的补充。
13-12:CMM的基本思想是什么?为什么要把能力成熟度划分成5个等级? 答:
(1)CMM指能力成熟度模型,其基本思想是:由于问题是由人们管理软件过程的方法不当引起的,所以新软件技术的运用并不会自动提高软件的生产率和质量。
(2)由于对软件过程的改进,是在完成了一个又一个小的改进步骤基础上不断进行的渐进
22
过程,而不是一蹴而就的彻底革命。所以CMM把软件过程从无序到有序的进化过程分成5个阶段。
23