软件系统分析与设计 第8章 系统设计基础
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
系统级设计决策内容:有关系统接收的输入和产生的 输出的设计决策;对每个输入或条件进行响应的系统 行为的设计决策;系统数据库/数据文件如何呈现给用 户的设计决策;为满足安全性、保密性和私密性需求 所选用的方法;硬件或硬软件系统的设计和构造选择; 为了响应需求而作出的其他系统级设计决策。
3
8.1 系统设计概述
软件设计主要包括软件级设计决策、软件架构设计(概 要设计)与详细设计。软件架构设计的主要任务是程序 结构设计、全局数据结构设计、软件配置项设计、动态 交互设计和接口设计。软件详细设计是指每一个软件配 置项的具体设计。
组件化、抽象、高内聚与低耦和、封装与信息隐蔽是软 件设计的基本原则。
软件设计视图通常可分为架构视图(静态视图)和行为 视图(动态视图)两类。
8
8.2 软件设计概述
8.2.2 软件架构设计
程序结构设计 全局数据结构设计 软件配置项设计 动态交互设计 接口设计
9
8.2 软件设计概述
8.2.3 软件详细设计
软件配置项设计决策 软件配置项设计中的约束、限制或非常规特征 软件配置项使用的编程语言考虑 软件配置项使用的过程式命令选取 软件配置项的局部数据与软件配置项的输入或输
软件工程过程的每一步都是对软件解法的 抽象层次的一次精化。
软件设计中的抽象机制主要包括类、模板、 过程抽象、数据抽象和控制抽象。
12
8.3 设计原则
8.3.3 内聚与耦合
内聚是指一个组件内各个元素彼此结合的紧密程度 内聚种类(由低到高排列):偶然内聚;逻辑内聚;
瞬时内聚;过程内聚;通信内聚;顺序内聚;功能 内聚 耦合是指一个软件结构内不同组件之间的互连程度 耦合种类(由高到低排列):内容耦合;公共耦合; 外部耦合;控制耦合;标记耦合;数据耦合;非直 接耦合 组件的高内聚、低耦合原则称为组件独立原则 13
8.3 设计原则
8.3.4 封装与信息隐蔽
第一,组件是其全部属性和全部服务紧密结 合而形成的一个不可分割的整体。
第二,组件是一个不透明的黑盒子,表示组 件状态的数据和实现操作的代码都被封装在 黑盒子里面。使用一个组件的时候,只需知 道它向外界提供的接口形式,无须知道它的 数据结构细节和实现操作的算法。
14
8.3 设计原则
8.3.5 启发式规则
深度、宽度、扇出与扇入 作用域和控制域 功能的可预测性
15
8.4 设计视图
8.4.1 架构视图(静态视图)
架构描述语言(ADL)
类图与对象图
组件图
协作责任卡(C源自文库C)
部署图
实体-联系图(E-R图)
接口描述语言(IDL)
出数据设计 软件配置项的逻辑设计
10
8.3 设计原则
8.3.1 组件化
组件的可分解性 组件的可组装性 组件的可理解性 组件的连续性 组件的保护性
11
8.3 设计原则
8.3.2 抽象
抽象就是抽出事物的本质特性而暂时忽略 其细节,使得不同的事物可以当作相同的 事务来处理。
软件系统分析与设计
1
第8章 系统设计基础
系统设计概述 软件设计概述 设计原则 设计视图
2
8.1 系统设计概述
8.1.1 系统级设计决策
系统级设计决策,是指系统行为的设计决策(忽略其 内部实现,从用户角度出发,描述系统将怎样运转以 满足需求)和其他对系统部件的选择和设计产生影响 的的决策。
7
8.2 软件设计概述
8.2.1 软件级设计决策
软件级设计决策是指软件行为的设计决策(忽略其内部 实现,从用户角度出发,描述软件将怎样运转以满足需 求)和其他影响组成该软件的软件配置项的选择与设计 的决策。
软件级设计决策内容:有关软件接收的输入和产生的输 出的设计决策;对每个输入或条件进行响应的软件行为 的设计决策;有关数据库/数据文件如何呈现给用户的设 计决策;为满足安全性、保密性和私密性需求所选用的 方法;为响应需求而作出的其他软件级设计决策。
18
5
8.1 系统设计概述
8.1.4 系统出错处理设计
出错信息——包括出错信息表、故障处理技 术等。
补救措施——说明故障出现后可能采取的补 救措施。
6
8.1 系统设计概述
8.1.5 系统维护设计
检测点的设计——说明在系统中专门安排用 于系统检查与维护的检测点。
检测专用组件的设计——说明在系统中专门 安排用于系统检查与维护的专用组件。
结构图
Jackson结构图
16
8.4 设计视图
8.4.2 行为视图(动态视图)
活动图
协作图
顺序图
数据流图
决策表和决策图
流程图和结构化流程图
状态图
形式化描述语言
伪码
17
8.5 小节
系统设计是定义一个系统或软件的架构、组件、接口和 其它特征的过程。包括系统级设计决策、系统架构设计、 运行设计、系统出错处理设计和系统维护设计。
8.1.2 系统架构设计
总体设计 系统部件设计 动态交互设计 接口设计
4
8.1 系统设计概述
8.1.3 运行设计
系统初始化——说明本系统的初始化过程。 运行控制——说明对系统施加不同的外界运行控制
时所引起的各种不同的运行组件组合、每种运行所 经历的内部组件和支持软件、每一种外界运行控制 的方式方法和操作步骤、每种运行组件组合将占用 各种资源的情况以及系统运行时的安全控制。 运行结束——说明本系统运行的结束过程。
3
8.1 系统设计概述
软件设计主要包括软件级设计决策、软件架构设计(概 要设计)与详细设计。软件架构设计的主要任务是程序 结构设计、全局数据结构设计、软件配置项设计、动态 交互设计和接口设计。软件详细设计是指每一个软件配 置项的具体设计。
组件化、抽象、高内聚与低耦和、封装与信息隐蔽是软 件设计的基本原则。
软件设计视图通常可分为架构视图(静态视图)和行为 视图(动态视图)两类。
8
8.2 软件设计概述
8.2.2 软件架构设计
程序结构设计 全局数据结构设计 软件配置项设计 动态交互设计 接口设计
9
8.2 软件设计概述
8.2.3 软件详细设计
软件配置项设计决策 软件配置项设计中的约束、限制或非常规特征 软件配置项使用的编程语言考虑 软件配置项使用的过程式命令选取 软件配置项的局部数据与软件配置项的输入或输
软件工程过程的每一步都是对软件解法的 抽象层次的一次精化。
软件设计中的抽象机制主要包括类、模板、 过程抽象、数据抽象和控制抽象。
12
8.3 设计原则
8.3.3 内聚与耦合
内聚是指一个组件内各个元素彼此结合的紧密程度 内聚种类(由低到高排列):偶然内聚;逻辑内聚;
瞬时内聚;过程内聚;通信内聚;顺序内聚;功能 内聚 耦合是指一个软件结构内不同组件之间的互连程度 耦合种类(由高到低排列):内容耦合;公共耦合; 外部耦合;控制耦合;标记耦合;数据耦合;非直 接耦合 组件的高内聚、低耦合原则称为组件独立原则 13
8.3 设计原则
8.3.4 封装与信息隐蔽
第一,组件是其全部属性和全部服务紧密结 合而形成的一个不可分割的整体。
第二,组件是一个不透明的黑盒子,表示组 件状态的数据和实现操作的代码都被封装在 黑盒子里面。使用一个组件的时候,只需知 道它向外界提供的接口形式,无须知道它的 数据结构细节和实现操作的算法。
14
8.3 设计原则
8.3.5 启发式规则
深度、宽度、扇出与扇入 作用域和控制域 功能的可预测性
15
8.4 设计视图
8.4.1 架构视图(静态视图)
架构描述语言(ADL)
类图与对象图
组件图
协作责任卡(C源自文库C)
部署图
实体-联系图(E-R图)
接口描述语言(IDL)
出数据设计 软件配置项的逻辑设计
10
8.3 设计原则
8.3.1 组件化
组件的可分解性 组件的可组装性 组件的可理解性 组件的连续性 组件的保护性
11
8.3 设计原则
8.3.2 抽象
抽象就是抽出事物的本质特性而暂时忽略 其细节,使得不同的事物可以当作相同的 事务来处理。
软件系统分析与设计
1
第8章 系统设计基础
系统设计概述 软件设计概述 设计原则 设计视图
2
8.1 系统设计概述
8.1.1 系统级设计决策
系统级设计决策,是指系统行为的设计决策(忽略其 内部实现,从用户角度出发,描述系统将怎样运转以 满足需求)和其他对系统部件的选择和设计产生影响 的的决策。
7
8.2 软件设计概述
8.2.1 软件级设计决策
软件级设计决策是指软件行为的设计决策(忽略其内部 实现,从用户角度出发,描述软件将怎样运转以满足需 求)和其他影响组成该软件的软件配置项的选择与设计 的决策。
软件级设计决策内容:有关软件接收的输入和产生的输 出的设计决策;对每个输入或条件进行响应的软件行为 的设计决策;有关数据库/数据文件如何呈现给用户的设 计决策;为满足安全性、保密性和私密性需求所选用的 方法;为响应需求而作出的其他软件级设计决策。
18
5
8.1 系统设计概述
8.1.4 系统出错处理设计
出错信息——包括出错信息表、故障处理技 术等。
补救措施——说明故障出现后可能采取的补 救措施。
6
8.1 系统设计概述
8.1.5 系统维护设计
检测点的设计——说明在系统中专门安排用 于系统检查与维护的检测点。
检测专用组件的设计——说明在系统中专门 安排用于系统检查与维护的专用组件。
结构图
Jackson结构图
16
8.4 设计视图
8.4.2 行为视图(动态视图)
活动图
协作图
顺序图
数据流图
决策表和决策图
流程图和结构化流程图
状态图
形式化描述语言
伪码
17
8.5 小节
系统设计是定义一个系统或软件的架构、组件、接口和 其它特征的过程。包括系统级设计决策、系统架构设计、 运行设计、系统出错处理设计和系统维护设计。
8.1.2 系统架构设计
总体设计 系统部件设计 动态交互设计 接口设计
4
8.1 系统设计概述
8.1.3 运行设计
系统初始化——说明本系统的初始化过程。 运行控制——说明对系统施加不同的外界运行控制
时所引起的各种不同的运行组件组合、每种运行所 经历的内部组件和支持软件、每一种外界运行控制 的方式方法和操作步骤、每种运行组件组合将占用 各种资源的情况以及系统运行时的安全控制。 运行结束——说明本系统运行的结束过程。