系统设计(摘抄)

来源:互联网 发布:淘宝魔镜免费版 编辑:程序博客网 时间:2024/05/18 12:04

系统设计包括网络设计,代码设计,输入输出设计,处理流程设计,数据存储设计,用户界面设计,安全可靠性设计。其中,代码设计是指对涉及的实体如地名,符号进行编码。
1、处理流程设计
工作流参考模型包括六个基本模块,分别是工作路执行服务,流程定义工具,客户端应用,调用应用(如OA中调用excel查看)和管理监控工具。由工作流引擎连接,组成常见的OA系统。
常见的流程设计工具有程序流程图,IPO图,N-S提,问题分析(PAD)图,过程设计语言,和判定表。
HIPO图描述系统自顶向下的模块关系
这里写图片描述
IPO图描述了模块的输入输出关系,处理内容,内部数据,和模块调用关系。
这里写图片描述
NS图很容易表示嵌套和层次关系,但是当问题很复杂时图的规模很大
PAD图适用于结构化的程序设计

PAD图

2、结构化设计
注重模块内部的高内聚和模块外部的低耦合
耦合关系从弱到强的类型排列如下:
非直接耦合:没有直接联系。通过第三个模块控制和调用来实现的
数据耦合:借助参数表传递简单数据
标记耦合:借助参数表传递数据结构
控制耦合:模块之间传递的信息用于控制模块内部逻辑
外部耦合:双方都访问一个全局简单变量
公共耦合:双方都访问一个公共数据环境
内容耦合:一个模块直接访问另一个模块的内部数据

内聚关系从高到低排列如下:
功能内聚:完成单一功能必须协作
顺序内聚:双方必须顺序执行
通信内聚:双方所处理的数据都集中在一个数据结构趋于上
过程内聚:必须按照特定的次序执行
时间内聚:必须在同一时间内执行
逻辑内聚:完成逻辑上相关的任务
偶然内聚:完全没有任何关系
常见的设计工具有系统结构图

3、面向对象设计
首先要设计软件类,将一些需要持久化存储的设计为实体类,将控制用例工作的类分为控制类,将用例内外流动的信息分为边界类。
可以使用对象持久形数据库,免于对象只能存在于内存中。在J2EE的架构中,可以容器管理持久化(CJB)来管理实体的EJB
面向对象的设计原则如下:
A开闭原则:对扩展开放,对修改关闭——————也就是说,在类的功能需要调整时,尽量采用不修改源代码的情况下进行扩展。
B里氏替换原则:一个实体软件如果可以使用基类,则也一定适用于其任何子类
C依赖倒置原则:抽象不应该依赖Yui细节,而细节应该依赖于抽象。在程序代码中传递参数是,尽量引用高层次的抽象类
D组合/聚合复用原则:在一个新的对象中通过组合和聚合关系来使用一些原有的对象,避免频繁使用集成
E接口隔离原则,对象应该提供分离的接口,而不提供单一的总接口
F最小知识原则:一个软件实体应该尽可能减少和其他实体的相互作用

4、设计模式(在系统分析类别文章下有详细解释)
设计模式包括创建型模式:
(4.1)工厂方法
(4.2)抽象工厂
(4.3)原型模式
(4.4)单例模式
(4.5)建造模式
结构型模式
(4.6)适配器模式
(4.7)桥接模式
(4.8)组合模式
(4.9)装饰模式
(4.10)外观模式
(4.11)享元模式
(4.12)代理模式
行为型模式
(4.13)职责链模式
(4.14)命令模式
(4.15)解释器模式
(4.16)迭代器模式
(4.17)中介者模式
(4.18)备忘录模式
(4.19)观察者模式
(4.20)状态模式
(4.21)策略模式
(4.22)模板方法
(4.23)访问者模式

0 0