系统设计(摘抄)
来源:互联网 发布:淘宝魔镜免费版 编辑:程序博客网 时间: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)访问者模式
- 系统设计(摘抄)
- 系统可靠性(摘抄)
- 系统规划(摘抄)
- 嵌入式系统(摘抄)
- 软件架构设计(摘抄)
- 继续摘抄:高级权限管理系统的设计
- 系统的实现与测试(摘抄)
- 系统的运行和维护(摘抄)
- oracle系统表-摘抄
- 摘抄:系统进程
- 线性代数个人系统总结(摘抄,来源多,侵删)
- 《领域驱动的设计》摘抄
- Windows系统磁盘分区详解(摘抄)
- 构建机器学习系统------摘抄
- 订单系统架构笔记摘抄
- 幽默感悟(摘抄)
- 萨提亚亲密关系(摘抄)
- 俏皮箴言(摘抄)
- 用于操作字节数组的流对象 ByteArrayStreamDemo
- SwipeRefreshLayout实现下拉刷新(简洁)
- Web前端研发工程师编程能力飞升之路
- ColorFilter的简单用法 实现美图效果
- Windows监控文件变化(ReadDirectoryChangesW)
- 系统设计(摘抄)
- cocos2d-x lua开发笔记:ListView加载多个item优化处理
- Maven搭建SpringMVC+Mybatis项目详解
- eclipse中配置jUnit
- Oracle中Left Outer Join和外关联(+)的区别
- Jenkins常用插件之Publish Over SSH
- 轮播图iOS
- Unity Animator动画倒播方法
- 线程的五大状态