处理流程设计
程序流程图:用一些图框表示各种操作,独立于任何一种程序语言。任何复杂的程序流程图都应该由顺序、选择和循环结构组合或嵌套。
IPO(input process out)图:输入输出和加工。(数据流图也是IPO图的一种)
N-S图又叫盒图(如下):嵌套和层次关系,不适合复杂程序的设计。
问题分析图PAD(如下):支持结构化程序设计。
业务流程重组BPR
业务流程重组Business Process Repeat
BPR基本原则:以流程为中心的原则、团队管理原则(以人为本)、以客户为导向的原则。
BPR系统规划:战略规划,流程规划,数据规划,功能规划,系统实施。
业务流程管理BPM
管理分为三层:规范流程、优化流程和再造流程。
BPM和BPR的区别不需要对所有业务流程进行再造,根据现有的流程情况,对流程进行规范化设计。
系统设计
系统设计 分为 结构化设计 和面相对象设计。
步骤:分为概要设计 和 详细设计。
概要设计,又叫总体结构设计,模块和模块之间的调用,形成软件的模块结构图,即系统结构。
详细设计,详细的算法设计,模块内部数据结构设计,数据库物理设计,其他设计(代码,输入输出格式等)。
系统基本原理:抽象化,自顶向下,逐步求精,信息隐蔽,模块独立(高内聚低耦合)。
系统设计原则:保持模块大小适中。尽可能减少调用深度。多扇入,少扇出。单入口,单出口。模块的作用域应该在模块之内。功能应该可预测的。
(
多扇入,少扇出:意思是别人多调用我,我少调用被人。
)
高内聚低耦合
偶然内聚:一个模块内部的处理没任何关系。(无直接关系)
逻辑内聚:若干逻辑相似的功能,通过参数确定调用哪些功能模块。(逻辑相似,参数决定)
时间内聚:把需要同时执行的动作形成一个模块。(同时执行)
过程内聚:一个模块完成多个任务,任务必须按照指定过程执行。(指定过程)
通信内聚:相同的数据结构,相同输入输出。
顺序内聚:按照顺序执行。
功能内聚:所有元素完成一个功能,缺一不可。
无直接耦合:两个模块没有关系(无直接关系)。
数据耦合:两个模块调用关系,传递数据值。
标记耦合:两个模块传递数据结构。(数据结构则是结构体或者树,图)
控制耦合:一个模块调用另一个模块,传递的是控制变量。(控制变量,执行功能)
外部耦合:通过软件之外的环境联合,比如I/O连接到机器。(外部环境)
公共耦合:通过公共的环境耦合,公共的数据结构。
内容耦合:当一个模块直接调用另一个模块内部,或非正常入口转入内部。(模块内部关联)