《软件工程》复习总结 226宿舍倾情打造 祝大家考出好成绩!!!
表4.1 状态转换表
从上面这个简单例子可以看出,一个有穷状态机包括下述5个部分:对于保险箱的例子,相应的有穷状态机的各部分如下。 状态集J:{保险箱锁定,A,B,保险箱解锁,报警}。 输入集K:{1L,1R,2L,2R,3L,3R }。
转换函数T:由当前状态和当前输入确定下一个状态(次态),如表4.1所示。
初始态S:保险箱锁定。 终态集F:{保险箱解锁,报警}。
一个有穷状态机可以表示为一个5元组(J,K,T,S,T), 其中:
J 是一个有穷的非空状态集;
K 是一个有穷的非空输入集;
T 是一个从(J-F)*K到J的转换函数;
S ? J,是一个初始状态; F ?J,是终态集。
总结:当前状态+事件+谓词=>下个状态 4.2.2 petri网
Petri网包含4种元素:一组位置P﹑一组转换T﹑输入函数I和输出函数O。Petri网的组成.其中,
一组位置P,在图中用圆圈代表位置.
11
《软件工程》复习总结 226宿舍倾情打造 祝大家考出好成绩!!!
一组转换T,在图中用短直线表示转换.
两个用于转换的输入函数,用由位置指向转换的箭头表示,它们是: I(t1)= {P2,P4} I(t2)= {P2}
两个用于转换的输出函数,用有转换指向位置的箭头表示,它们是:
Petri网的组成: O(t1)={P1} O(t2)={P3,P3}
注意输出函数O(t2)中有两个 P3,是因为有两个箭头有t2指向P3。
4.2.3 Z语言
用Z语言描述的、最简单的形式化规格说明含有下述4个部分:
1.给定的集合、数据类型及常数。 2.状态定义。 3.初始状态。
第五章 总体设计
4.操作。
5.1软件设计阶段一般可分为哪几个阶段
12
《软件工程》复习总结 226宿舍倾情打造 祝大家考出好成绩!!!
从工程管理的角度来看,软件设计分两步完成。
概要设计,将软件需求转化为数据结构和软件的系统结构。
详细设计,即过程设计。通过对结构表示进行细化,得到软件的详细的数据结构和算法。
5.2总体设计(概要设计)的任务,以及使用的工具
5.2.1任务
总体设计过程通常由两个主要阶段组成:系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构。
1. 设想供选择的方案 2. 选取合理的方案 3. 推荐最佳方案 4. 功能分解 5. 设计软件结构 6. 设计数据库 7. 制定测试计划 8. 书写文档 9. 审查和复审 5.2.2工具
描绘软件结构的图形工具: 层次图和HIPO图
层次图用来描绘软件的层次结构。层次图中的一个矩形框代表一个模块,方框之间的连线表示调用关系而不像层次方框图那样表示组成关系。
典型的总体设计过程包括下述9个步骤:
13
《软件工程》复习总结 226宿舍倾情打造 祝大家考出好成绩!!!
HIPO图是IBM公司发明的“层次图加输入/处理/输出图”的英文缩写,为了能使HIPO图具有可追踪性,H图中除了顶层方框之外,每个方框都加了编号。
14
《软件工程》复习总结 226宿舍倾情打造 祝大家考出好成绩!!!
结构图:
结构图是进行软件结构设计的另一个有力工具。
按惯例总是图中位于上方的方框代表的模块调用下方的模块,用带注释的箭头表示模块调用过程中来回传递的信息。如果希望进一步表明传递信息是数据还是控制信息,用尾部形状区分:尾部是空心圆表示传递的是数据,实心圆表示传递的是控制信息。
5.3内聚、耦合的定义以及衡量模块独立性的标准
模块独立程度可由两个定性标准度量:
内聚:它是衡量一个模块内部各个元素彼此结合的紧密程度。 耦合:它是衡量不同模块彼此间互相依赖的紧密程度。
15