软件设计(三)https://blog.csdn.net/ke1ying/article/details/128808681
31、结构化开发中,过程设计 主要包含对数据结构和算法的设计。
体系结构设计:定义软件的主要结构元素及其关系。
数据设计:基于实体联系图,设计文件系统结构和数据库的表结构。
接口设计:描述用户界面,软件和其他硬件设备、其他软件系统和使用人员的外部接口,以及各种构件之间的内部接口。
过程设计:确定软件内部各个组成部分内的算法以及内部数据结构。
32、在敏捷开发方法中,并列争球法 使用了迭代的方法,其中,把每段时间(30天)一次的迭代称为一个“冲刺”,并按需求的优先级来实现产品,多个小组或者组织并行的递增实现产品。
敏捷开发的方法有:极限编程XP、水晶法、并列争球法、自适应软件开发。
极限编程XP:激发开发人员创造性,使管理负担最小的的一组技术。
水晶法:认为每一个不同的项目都需要一套不同的策略和约定。
自适应软件开发(ASD)有六个基本的原则:
- 设定了项目的目标,但并不会描述如何实现目标。
- 特征被视为客户键值的关键,因此,项目围绕构造的构件来组织并实现特征。
- 过程中迭代很重要,因此重做与做同样重要,变化包含在其中。
- 变化不视为一种更正,而是对软件开发实际情况的调整。
- 确定交付时间,迫使开发人员认真考虑每一个生产版本的需求。
- 风险包含在其中,开发人员优先考虑影响最大,最艰难的问题。
33、成本估算时,COCOMO II 方法以规模作为成本主要因素,考虑多个成本驱动因子。该方法包含三个阶段性模型,即 应用组装模型、早期设计阶段模型、体系结构阶段模型。
专家估算:依赖于个人的背景和经验,主观性较大。
Wolverton模型基于一个成本矩阵,定义不同的软件类型(如控制、输入、输出等)和难易的成本。
COCOMO 模型将规模视为成本的主要因素,考虑多个成本驱动因子。
COCOMO II 增加了考虑软件开发的不同阶段,包含 应用组装模型、早期设计阶段模型、体系结构阶段模型。
34、系统中有n个进程共享三台扫描仪,并采用PV操作实现进程同步与互斥。若系统信号量S的当前值为-1,进程P1和P2又分别执行了一次P(S)操作,当前s的值为 3。
解析:因为有三台扫描仪,S默认是3,但当前是-1,当P1执行P(S)操作后为-2,当P2执行P(S)操作后为-3。
35、某字长为32位的计算机的文件管理系统采用位示图(Bitmap)记录磁盘使用情况,若磁盘容量为300gb,物理块大小为1MB,那么视为图大小为 多个 个字?
解析:300 * 1024 = 307200个磁盘物理块数。
视为图大小个数则是 307200 / 32 = 9600 个字。
36、MTBF/(1+MTBF)来度量计算机系统的 可用性。
MTTF/(1+MTTF)来度量计算机系统的 可靠性。
MTTR/(1+MTTR)来度量计算机系统的 可维护性。
MTTF:全称mean time to failure,即平均失效时间,系统正常运行多长时间,才发生一次故障,系统可靠性越高,平均无故障时间越长。
MTBF:全程mean time between failure,可用性表示在给定时间内,系统正在运行,平均失效时间间隔。
MTTR:全程mean time to repair,在规定的时间内,使用规定的过程和资源来维护活动,平均修复时间。
37、末模块中有两个处理A和B,分别对数据结构X写和读数据,则该模块的内聚类型为
通信内聚。
解析:内聚和耦合是度量模块独立性的两个准则。内聚是模块强度的度量,即模块内部各个元素彼此的紧密程度,一个模块内部各个元素紧密程度越高,内聚性越高,模块独立性越好。
偶然内聚(巧合内聚):指一个模块内的各个处理元素之间没有任何联系。
逻辑内聚:指模块内执行若干逻辑上相似功能,通过参数确定该模块完成哪个功能。
时间内聚:把需要同一时间执行的动作组合在一起模块。
过程内聚:指一个模块完成多个任务,这些任务必须按指定的过程执行。
通信内聚:指模块内的所有处理元素都在同一个数据结构上操作,或者各处理使用相同的输入数据或产生相同的输出数据。
顺序内聚:指模块内的各个元素都密切相关同一个功能,且必须按顺序执行。
功能内聚:指模块内的所有元素共同作用完成一个功能,缺一不可。
38、在面向对象方法中,不同对象接受到同一个消息产生完全不同的结果,这现象称呼 多态。当一个对象发送通用消息请求服务时,要根据接收对象的具体情况将请求操作与实现方法进行连接,这种方式称为 动态绑定。
解析:有一些类存在特殊关系,在定义和实现一个类的时候,可以在一个已经存在类的基础上进行,把这个已存在类的内容定义称自己并且加入新的内容,这种机制就是继承。
在定义子类时,可以继承他父类属性和方法,也可以重新定义父类已定义的方法,其方法可以对父类方法进行覆盖,在父类原有基础上,要求实现置换父类中相应的实现。
39、面向对象分析的目的是获得对应用问题的理解,其主要活动不包括 面向对象设计程序。
面向对象分析包含五个活动:认定对象、组织对象、描述对象间的相互作用、定义对象的操作、定义对象的内部信息。
40、UML状态图(Transition)转换的叙述不正确的是 一个转换可以有事件触发器、监护条件和一个状态。
- 一般活动可以在状态转换时执行,也可以在走状态时候执行。
- 检测到一个事件可能从一个状态转移到另一个状态,这样移动即为转换,即事件触发转换,这样引起的事件叫做触发器。
- 事件发生时,有事件触发器和监护条件,但如果不满足条件,则不会转换状态。