系统设计(摘抄)

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

### 系统设计文档的相关信息 系统设计文档是一种技术文档,旨在详细描述软件或系统的架构、功能模块、交互流程以及其他重要细节。它不仅有助于开发团队理解整个系统的运作方式,还能够促进不同角色之间的沟通与协作。 #### 1. **系统设计文档的主要组成部分** 一份完整的系统设计文档通常包括以下几个部分[^2]: - **修订记录**: 记录文档的历史版本及其变更内容。 - **引言**: 包括编目的、背景介绍、参考资料列表以及术语定义。 - **设计概述**: 描述任务目标、需求概览、运行环境概况、条件与限制,以及所采用的设计方法和工具。 - **系统详细需求分析**: 提供关于具体需求的深入解析,涉及运行环境约束、接口需求等内容。 - **总体方案确认**: 明确系统的整体结构,并细化各子系统的划分。 - **系统详细设计**: 对于每一个功能模块进行详尽阐述,涵盖其内部逻辑、输入/输出关系等。 - **数据库系统设计**: 定义数据存储的要求、建模过程、具体的表结构设计(逻辑与物理)、安全性考量及数据字典说明。 - **非功能性设计**: 如性能指标、可用性标准等方面的内容。 - **环境配置**: 列举部署所需的软硬件资源及相关参数设置指南。 #### 2. **推荐的系统设计文档模板** 以下是几个可供参考的系统设计文档模板: ##### (1) 开源模板 - 超级正规版 此模板由开源社区维护,提供了非常全面的设计框架[^3]。 - 地址: [https://gitcode.com/Open-source-documentation-tutorial/f05e9](https://gitcode.com/Open-source-documentation-tutorial/f05e9) - 特点: 结构严谨,覆盖范围广,适合大型复杂项目使用。 ##### (2) 标准化模板 - 经验总结型 另一款广泛使用的模板则更加注重实用性和灵活性[^2]。 - 地址: [https://gitcode.com/Premium-Resources/ad59d](https://gitcode.com/Premium-Resources/ad59d) - 特点: 各部分内容均有详细指导,便于快速上手定制专属文档。 #### 3. **系统设计文档示例** 为了更好地理解和应用这些模板,可以查看一些现成的例子作为学习材料[^4]: ```plaintext 一、整体架构 描述系统的宏观布局,展示主要组件间的联系图解。 二、业务或功能—模块设计 2.1 需求说明 清晰表达当前模块要解决的核心问题是什么? 2.2 交互流程 勾勒出用户操作过程中经历的关键步骤图表形式呈现更佳。 2.3 页面设计 如果涉及到UI层面,则需给出草稿或者线框原型示意效果。 2.4 功能实现逻辑 2.4.1 API设计 接口规范制定,比如请求路径、参数含义、返回值格式等等。 2.4.2 DB设计 数据库表结构调整计划书,标注字段名称类型长度默认值索引情况等属性特征。 ``` 以上仅为片段摘抄,完整案例可前往指定链接获取更多信息。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值