系统设计(摘抄)

系统设计包括网络设计,代码设计,输入输出设计,处理流程设计,数据存储设计,用户界面设计,安全可靠性设计。其中,代码设计是指对涉及的实体如地名,符号进行编码。
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)访问者模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值