清华软件工程:第04章设计工程.ppt
《清华软件工程:第04章设计工程.ppt》由会员分享,可在线阅读,更多相关《清华软件工程:第04章设计工程.ppt(71页珍藏版)》请在第壹文秘上搜索。
1、2/71 软件设计工程概述软件设计工程概述 软件设计原则软件设计原则 软件体系结构设计软件体系结构设计 部件级设计技术部件级设计技术 设计规约与设计评审设计规约与设计评审3/71 软件设计原则软件设计原则 软件体系结构设计软件体系结构设计 部件级设计技术部件级设计技术 设计规约与设计评审设计规约与设计评审4/71 软件需求分析解决软件需求分析解决“做什么做什么”的问题,软的问题,软件设计过程则解决件设计过程则解决“怎么做怎么做”的问题的问题 软件设计是把软件需求变换成软件表示的软件设计是把软件需求变换成软件表示的过程,它主要包含两个阶段:过程,它主要包含两个阶段:软件体系结构设计阶段和和部件级
2、设计 5/71 使用一种设计方法,软件分析模型中通过数据、使用一种设计方法,软件分析模型中通过数据、功能和行为模型所展示的软件需求的信息被传功能和行为模型所展示的软件需求的信息被传送给设计阶段,产生数据送给设计阶段,产生数据/类设计、体系结构类设计、体系结构设计、接口设计、部件级设计设计、接口设计、部件级设计 6/71 数据/类设计:将分析:将分析-类模型变换成类类模型变换成类的实现和软件实现所需要的数据结构的实现和软件实现所需要的数据结构 体系结构设计:体系结构设计定义了软:体系结构设计定义了软件的整体结构件的整体结构 接口设计:接口设计描述了软件内部、:接口设计描述了软件内部、软件和协作系
3、统之间以及软件同人之间软件和协作系统之间以及软件同人之间如何通信如何通信 部件级设计:部件级设计将软件体系结:部件级设计将软件体系结构的结构性元素变换为对软件部件的过构的结构性元素变换为对软件部件的过程性描述程性描述 7/71 在类和由在类和由CRC中定义的数据对象和关系以及数中定义的数据对象和关系以及数据字典中描述的详细数据内容提供了数据设计据字典中描述的详细数据内容提供了数据设计活动的基础活动的基础 数据设计的过程包括以下两步数据设计的过程包括以下两步 : 首先,为在需求分析阶段所确定的数据对象选择逻辑表示,需要对不同结构进行算法分析,以便选择一个最有效的设计方案; 然后,确定对逻辑数据结
4、构所必需的那些操作的程序模块,以便限制或确定各个数据设计决策的影响范围。 8/71 体系结构设计定义了软件的整体结构,体系结构设计定义了软件的整体结构,它由软件部件、外部可见的属性和它它由软件部件、外部可见的属性和它们之间的关系组成。们之间的关系组成。 体系结构设计表示可以从系统规约、体系结构设计表示可以从系统规约、分析模型和分析模型中定义的子系统分析模型和分析模型中定义的子系统的交互导出。的交互导出。 9/71 接口设计主要包括三个方面:接口设计主要包括三个方面:设计软件模块间的接口设计模块和其他非人的信息生产者和消费者(比如外部实体)之间的接口设计人(用户)和计算机间的接口 10/71 部
5、件级设计将软件体系结构的结构性部件级设计将软件体系结构的结构性元素变换为对软件部件的过程性描述。元素变换为对软件部件的过程性描述。 从类为基础的模型、流模型、行为模从类为基础的模型、流模型、行为模型中得到的信息是部件设计的基础。型中得到的信息是部件设计的基础。 11/71 在进行软件设计的过程中,我们要密切关在进行软件设计的过程中,我们要密切关注软件的质量因素。注软件的质量因素。 McGlanghlin 软件设计过程的目标:软件设计过程的目标: 1)设计必须实现分析模型中描述的所有显式需求,必须满足用户希望的所有隐式需求。2)设计必须是可读、可理解的,使得将来易于编程、易于测试、易于维护。3)
6、设计应从实现角度出发,给出与数据、功能、行为相关的软件全貌。12/711)设计出来的结构应是分层结构,从而建立设计出来的结构应是分层结构,从而建立软件成份之间的控制。软件成份之间的控制。2)设计应当模块化,从逻辑上将软件划分为设计应当模块化,从逻辑上将软件划分为完成特定功能或子功能的部件。完成特定功能或子功能的部件。3)设计应当既包含数据抽象,也包含过程抽设计应当既包含数据抽象,也包含过程抽象。象。4)设计应当建立具有独立功能特征的模块。设计应当建立具有独立功能特征的模块。5)设计应当建立能够降低模块与外部环境之设计应当建立能够降低模块与外部环境之间复杂连接的接口。间复杂连接的接口。6)设计应
7、能根据软件需求分析获取的信息,设计应能根据软件需求分析获取的信息,建立可驱动、可重复的方法。建立可驱动、可重复的方法。13/711)制定规范制定规范2)体系结构和接口设计体系结构和接口设计3)数据数据/类设计类设计4)部件级(过程)设计部件级(过程)设计5)编写设计文档编写设计文档6)设计评审设计评审14/71 软件设计工程概述软件设计工程概述 软件体系结构设计软件体系结构设计 部件级设计技术部件级设计技术 设计规约与设计评审设计规约与设计评审15/71 抽象,是在软件设计的规模逐渐增,是在软件设计的规模逐渐增大的情况下,控制复杂性的基本策大的情况下,控制复杂性的基本策略。略。 抽象的过程是从
8、特殊到一般的过程,抽象的过程是从特殊到一般的过程,上层概念是下层概念的抽象,下层上层概念是下层概念的抽象,下层概念是上层概念的精化和细化。概念是上层概念的精化和细化。 软件工程过程的每一步都是对较高软件工程过程的每一步都是对较高一级抽象的解作一次具体化的描述一级抽象的解作一次具体化的描述 16/71 软件设计中主要抽象手段有:软件设计中主要抽象手段有:过程抽象和和数据抽象 过程抽象(也称功能抽象)是指任何一(也称功能抽象)是指任何一个完成明确定义功能的操作都可被使用个完成明确定义功能的操作都可被使用者当作单个实体看待,尽管这个操作实者当作单个实体看待,尽管这个操作实际上是由一系列更低级的操作来
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 清华 软件工程 04 设计 工程