软件工程(10)
启发式规则人们在开发软件的长时间实践中积累了丰富的经验,总结这些经验得到一些启发规则。常见启发规则:1.改进软件结构提高模块独立性(通过模块合并或分解)2.模块范围应当适中(一个模块包括的语句超过30条语句,理解程度下落)3.深度、宽度、扇出和扇入都应适当深度:软件结构中控制的层数;(深度和程序长度应有粗略的对应关系)宽度:软件结构内同一个层次上的模块总数的最大值;(宽度越大,系统越复杂)扇出:一个模块直接控制(调用)其它模块的数目;(平均)扇入:一个模块被其它模块调用的数目。
《概要设计说明书》的一般结构:1、总述:需求或目标(讲一下事情的起源)、环境、局限;—-主要交代背景与大环境。(非重点)2、整体设计:从全局的角度说一下整体结构、功能、处理流程、有哪些模块、模块间的关系;—-使读者有“全局”观,为下一步深入各个模块做好准备。3、外部接口:整体说明外部用户、软、硬件接口(可用资源);4、模块设计:每一个模块“做甚么”、扼要说明“怎样做”(输入、输出、处理逻辑、与其它模块或系统的接口),处在甚么逻辑位置、物理位置;(重点)5、数据结构:逻辑结构、物理结构(存储在数据表中,还是缓存中);6、容灾设计:出错信息、出错处理;(可选)7、监控设计:运行模块组合、控制、时间;(可选)8、用户界面设计:(可选)9、安全设计:(可选)11、制定规范(附录):设计原则,代码规范、接口规约、命名规则。–是小组协同开发的基础对扇出、扇入过大的改进:
4..模块的作用域应当在控制域以内作用域:受该模块内一个判定影响的所有模块的集合。控制域:模块本身和所有从属于它的模块的集合。
力争下降模块接口的复杂度模块接口复杂是软件产生毛病的一个主要原因。应仔细设计模块接口,使的信息传递简单并且和模块的功能一致。
6.设计单入口、单出口的模块正告软件工程师不要使用内容耦合
7.模块功能应当可以预测(也应避免模块功能过分局限)
图形工具层次图和HIPO图层次图用来描写软件的层次结构。
HIPO图是:“层次图+输入/处理/输出图”
结构图结构图是进行软件结构设计的另一个有力工具。其中:方框:代表一个模块,框内注明模块的名字或主要功能。箭头(直线):表示模块的调用关系。
概要设计说明书该说明书是概要实际阶段的工作成果,它应说明功能分配、模块划分、程序的整体结构、输入输出和接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础。
北京治疗白癜风多少钱啊白癜风的治疗费用