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