文档介绍:软件工程
授课教师: 蓝天
联系电话: **********
电子邮箱:******@uestc.
第四章系统设计
设计工程概要介绍
1
面向过程的系统设计
4
面向对象的系统设计
5
设计技术
3
设计过程和质量
2
小结
6
本章学****目标
1
2
3
能根据具体项目进行模块划分和软件架构设计
掌握软件设计的主要技术、主要内容和主要方法
理解软件设计和需求分析之间的相互关系
设计工程概要介绍
软件设计定义:
在[-90]中,软件设计定义为软件系统或组件的架构、构件、接口和其他特性的定义过程及该过程的结果。
理念: 功在平时,受益最后
分析
设计
编码
测试
维护
设计工程概要介绍
软件设计
软件工程生命周期中的一个活动
进行软件编码的基础
软件需求分析被转化为软件的内部结构
是连接用户需求和软件技术的桥梁
用户需求
软件技术
软件设计
设计工程活动
软件架构设计(有时称为顶层设计)
描述软件的顶层架构和组织,划分不同的组件
软件详细设计
详细描述各组件以便能够编码实现
注意:
软件设计主要为分解设计D-design(position design);
可以包括系列模式设计FP-design(Family Pattern design);
分解设计:将软件映射为各组件
设计过程和质量
好的设计应该具有如下三个特点
设计必须实现在分析模型中包含的所有明确要求,必须满足客户所期望的所有隐含要求;
设计必须是对编码人员、测试人员及后续的维护人员必须是可读可理解的;
设计应提供该软件的完整视图,以从实现的角度解决数据、功能及行为等各领域方面的问题
设计过程和质量
设计指导原则
设计应该是一种架构
设计应该是模块化的
设计应该包含数据、体系结构、接口和组件各个方面
应该设计出系统所用的数据结构
应该设计出展现独立功能特性的各组件
应该设计出各组件与外部环境连接的各接口
设计由软件需求分析过程中获得信息驱动,采用可重复使用的方法导出
设计应该采用正确清楚的表示法
设计过程和质量
设计质量属性
功能性
易用性
可靠性
性能
可支持性
包含三个属性:扩展性、适应性、可维护性
设计模型
模型输入
软件需求的数据模型、功能模型和行为模式
分类
数据设计
架构设计
接口设计
组件级设计