软件设计师考点内容分析(二)

1.软件质量特性

  • 功能性:适合性、准确性、互操作性、保密安全性、功能依从性。
  • 可靠性:成熟性、容错性、易恢复性、可靠依从性。
  • 易用性:易理解性、易操作性、易学性、吸引性、易用依从性。
  • 效率:时间特性、资源利用、效率依从性。
  • 维护性:易分析性、易改变性、稳定性、易测试性、维护依从性。
  • 可移植性:适用性、易安装性、共存性、易替换性、可移植性的依从性。

2.环形复杂度计算

  • 环形复杂度V(G) = E - N + 2
    (E是流图中的边的条数,N是节点数)

3.内聚类型

  • ① 偶然内聚:模块中的代码无法定义其不同功能的调用。但它使该模块能执行不同的功能,这种模块称为巧合强度模块。
  • ② 逻辑内聚:这种模块把几种相关的功能组合在一起, 每次被调用时,由传送给模块参数来确定该模块应完成哪一种功能
  • ③ 时间内聚:把需要同时执行的动作组合在一起形成的模块为时间内聚模块。
  • ④ 过程内聚:构件或者操作的组合方式是,允许在调用前面的构件或操作之后,马上调用后面的构件或操作,即使两者之间没有数据进行传递。
  • ⑤ 通信内聚:指模块内所有处理元素都在同一个数据结构上操作(有时称之为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据。
  • ⑥ 顺序内聚:指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素输出就是下一功能元素的输入。即一个模块完成多个功能,这些模块又必须顺序执行。
  • ⑦ 功能内聚:这是最强的内聚,指模块内所有元素共同完成一个功能,联系紧密,缺一不可。

4.UML状态图的转换(transition)的五要素

  • 源状态:即受转换影响的状态。
  • 目标状态:当转换完成后对象的状态。
  • 触发事件:用来为转换定义一个事件,包括调用、改变、信号、时间四类事件。
  • 监护条件:布尔表达式,决定是否激活转换。
  • 动作:转换激活时的操作。

5.策略模式

策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以互相替换。策略模式让算法独立于它的客户而独立变换。
应用场景:

  • 多个类只区别在表现行为不同,可以使用Strategy模式,在运行时动态选择具体要执行的行为。
  • 需要在不同情况下使用不同的策略(算法),或者策略还可能在未来用其它方式来实现。
  • 对客户隐藏具体策略(算法)的实现细节,彼此完全独立。

6.生成器模式

生成器模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
适用范围:

  • 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。
  • 当构造过程必须允许被构造的对象有不同表示时。

7.乔姆斯基(chomsky)文法分类

  • 0型文法(短语结构文法):0型文法的能力相当于图灵机(Turing)。或者说,任何0型文语言都是递归可枚举的,反之,递归可枚举集必定是一个0型语言。0型文法是这几类文法中,限制最少的一个,所以我们在试题中见到的,至少是0型文法。
  • 1型文法(上下文有关文法):此文法对应于线性有界自动机。它是在0型文法的基础上每一个α→β,都有|β|≥|α|。这里的|β|表示的是β的长度。
  • 2型文法(上下文无关文法):此文发对应于下推自动机,形式语言论中一种重要的变换文法,用来描述上下文无关语言。由于程序设计语言的语法基本上都是上下文无关文法,因此应用十分广泛。2型文法是在1型文法的基础上,再满足:每一个α→β都有α是非终结符。如A->Ba,符合2型文法要求。
  • 3型文法(正规文法):此文发对应于有限状态自动机。它是在2型文法的基础上满足:A→α|αB(右线性)或A→α|Bα(左线性)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值