?形式化说明技术
–所谓形式化方法,是描述系统性质的基于数学的技术,也就是说,如果一种方法有坚实的数学基础,那么它就是形式化的。–有穷状态机–Petri网–Z语言
–应用形式化方法的准则(1) 应该选用适当的表示方法
(2) 应该形式化,但不要过分形式化。(3) 应该估算成本
(4) 应该有形式化方法顾问随时提供咨询(5) 不应该放弃传统的开发方法(6) 应该建立详尽的文档(7) 不应该放弃质量标准
(8) 不应该盲目依赖形式化方法(9) 应该测试、测试再测试。(10) 应该重用。
3、软件设计基本原理
?传统的软件工程方法学采用结构化设计技术完成软件(概要设计和详细设计)。结构化设计技术的基本要点是:
–软件系统由层次化结构的模块构成–模块是单入口单出口
–构造和连接模块的基本准则是模块独立
–用图来描述软件系统的结构,并且使软件结构与问题结构尽量一致
?软件设计的任务
–概要设计
总体设计又称为概要设计或初步设计,该阶段的任务是:
?1.方案设计?2.体系结构设计
?设计原理
–1.模块化
?模块:又称构件,是能够单独命名并独立地完成一定功能的程序语句的集合。例如高级语言中的过程、函数、子程序等都可作为模块。?详细设计
(1)过程设计,即设计软件体系结构中所包含的每个模块的实现算法
(2)数据设计,即设计软件中所需要的数据结构
(3)接口设计,即设计软件内部各个模块之间、软件与协作系统之间以及软件与使用它的人之间的通信方式