版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、关于课程改善建议关于课程改善建议改善建议:改善建议:l 减少内容量,增加实例讲解减少内容量,增加实例讲解l 增加互动环节,增加提问,提高学生兴趣增加互动环节,增加提问,提高学生兴趣l 从学生角度思考学生理解问题的过程从学生角度思考学生理解问题的过程l 大部分同学没有参与课堂学习大部分同学没有参与课堂学习l 出勤率不够出勤率不够请同学们多提建议,改善教学效果请同学们多提建议,改善教学效果【课堂小建议课堂小建议】l 请写出你对课堂管理的建议(请写出你对课堂管理的建议(1条)条)l 请写出你对课堂质量的建议(请写出你对课堂质量的建议(1条)条)上次课的基本知识点回顾上次课的基本知识点回顾l 软件设计
2、的定义软件设计的定义 设计模型定义了软件数据结构、体系结构、接设计模型定义了软件数据结构、体系结构、接口和构件的细节口和构件的细节软件设计的基本知识软件设计的基本知识软件设计模型软件设计模型1、数据设计、数据设计数据设计就是具体表示数据设计就是具体表示数据模型和信息模型数据模型和信息模型,即计算机系,即计算机系统能够表示的处理。统能够表示的处理。相关概念:相关概念: 数据建模:数据建模:E-R图、数据字典、类图图、数据字典、类图 数据结构:存储数据的结构数据结构:存储数据的结构 数据库数据库: 完成数据表的设计完成数据表的设计l 数据库设计数据库设计 实体关系图实体关系图-数据库设计数据库设计
3、l 文件设计文件设计 数据量较大的非结构化数据,如多媒体信息;数据量较大的非结构化数据,如多媒体信息; 数据量大、信息松散,如历史记录、档案文件;数据量大、信息松散,如历史记录、档案文件; 非关系层次化数据,如系统配置文件;非关系层次化数据,如系统配置文件; 对数据存取速度要求极高的情况;对数据存取速度要求极高的情况; 临时存放的数据。临时存放的数据。软件设计模型软件设计模型2、体系结构设计、体系结构设计软件体系结构包括如下内容:软件体系结构包括如下内容: 完成系统功能的构件完成系统功能的构件 构件的外部可见属性构件的外部可见属性 构件之间的关系构件之间的关系软件设计模型软件设计模型在结构化设
4、计方法中,体系结构采用结构在结构化设计方法中,体系结构采用结构图来表示;在面向对象设计方法中,体系图来表示;在面向对象设计方法中,体系结构可以采用构件图来表示。结构可以采用构件图来表示。3、接口设计、接口设计软件接口设计描述信息如何软件接口设计描述信息如何流入和流出系统流入和流出系统以及组以及组件之间是如何通信的。件之间是如何通信的。接口设计的三个要素:接口设计的三个要素: 用户界面用户界面 和其他系统、设备、网络或其他信息生成者或和其他系统、设备、网络或其他信息生成者或使用者的外部接口使用者的外部接口 各种设计组件之间的内部接口各种设计组件之间的内部接口接口能够使软件进行外部通信,还能使软件
5、体系接口能够使软件进行外部通信,还能使软件体系结构中的组件之间进行内部通信和协作结构中的组件之间进行内部通信和协作软件设计模型软件设计模型4、构件级设计、构件级设计构件级设计为所有局部数据对象定义数据结构,构件级设计为所有局部数据对象定义数据结构,为所有在构件内发生的处理定义算法细节,并定为所有在构件内发生的处理定义算法细节,并定义允许访问所有组件操作的接口。义允许访问所有组件操作的接口。构件的设计细节可以在不同的抽象级别建模。构件的设计细节可以在不同的抽象级别建模。UML活动图表示处理逻辑活动图表示处理逻辑,构件详细的过程,构件详细的过程流可以使用流可以使用伪代码伪代码表示;也可以使用表示;
6、也可以使用流程图流程图和和盒图盒图表示。表示。软件设计模型软件设计模型上次课的基本知识点回顾上次课的基本知识点回顾l 软件设计的定义软件设计的定义 设计模型定义了软件体系结构、数据结构、接设计模型定义了软件体系结构、数据结构、接口和构件的细节口和构件的细节l 软件的质量属性软件的质量属性 功能性、易用性、可靠性、性能、可支持性等功能性、易用性、可靠性、性能、可支持性等软件设计的基本知识软件设计的基本知识软件质量的重要性软件质量的重要性l 软件质量属性(软件质量属性(FURPSFURPS):): 功能性功能性(Functionality):通过评估程序的特征集和能力、:通过评估程序的特征集和能力
7、、所提交功能的通用性以及整个系统的安全性来评估。所提交功能的通用性以及整个系统的安全性来评估。 易用性易用性(Usability):通过考虑人员因素、整体美感、一致:通过考虑人员因素、整体美感、一致性和文档来评估。性和文档来评估。 可靠性可靠性(Reliability):通过测量故障的频率和严重性、输:通过测量故障的频率和严重性、输出结果的精确性、平均故障时间出结果的精确性、平均故障时间(MTTF),故障恢复能力,故障恢复能力和程序的可预见性来评估。和程序的可预见性来评估。软件质量的重要性软件质量的重要性l 软件质量属性(软件质量属性(FURPSFURPS):): 性能:通过考虑处理速度、响应
8、时间、资源消耗、吞性能:通过考虑处理速度、响应时间、资源消耗、吞吐量、效率来度量。吐量、效率来度量。 可支持性(可维护性):综合了扩展程序的能力、适可支持性(可维护性):综合了扩展程序的能力、适应性、耐用性这三方面的能力。应性、耐用性这三方面的能力。可测试性、兼容性、可配置性,系统安装的可测试性、兼容性、可配置性,系统安装的简易性,问题定位的容易性等简易性,问题定位的容易性等在设计过程中就需要考虑这些质量属性在设计过程中就需要考虑这些质量属性上次课的基本知识点回顾上次课的基本知识点回顾l 软件设计的定义软件设计的定义 设计模型定义了软件体系结构、数据结构、接设计模型定义了软件体系结构、数据结构
9、、接口和构件的细节口和构件的细节l 软件的质量属性软件的质量属性 功能性、易用性、可靠性、性能、可支持性等功能性、易用性、可靠性、性能、可支持性等l 软件设计需要考虑的概念(原则)软件设计需要考虑的概念(原则) 抽象、模式、关注点分离、模块化、信息隐藏抽象、模式、关注点分离、模块化、信息隐藏、功能独立、求精、方面、重构、功能独立、求精、方面、重构理解理解模块化、信息隐藏、功能独立性模块化、信息隐藏、功能独立性软件设计的基本知识软件设计的基本知识4、模块化、模块化软件被划分为独立命名的、可处理的构件。软件被划分为独立命名的、可处理的构件。 将复杂大问题分解成简单小问题软件设计的基本概念软件设计的
10、基本概念模块规模模块规模模块规模由功能决定模块规模由功能决定5、信息隐藏、信息隐藏信息隐藏原则建议模块应该具有的特征是:信息隐藏原则建议模块应该具有的特征是:每个模每个模块对其他所有模块都隐藏自己的设计决策块对其他所有模块都隐藏自己的设计决策。软件设计的基本概念软件设计的基本概念 将每个程序的成分隐藏在模块内,定义每一个模块时将每个程序的成分隐藏在模块内,定义每一个模块时。 每个模块的实现细节对于其它模块是隐蔽的,将来修改每个模块的实现细节对于其它模块是隐蔽的,将来修改软件时偶然引入软件时偶然引入错误所造成的影响就可以局限在一个或错误所造成的影响就可以局限在一个或几个模块内部几个模块内部,不致
11、波及到软件的其它部分。,不致波及到软件的其它部分。 在可预见将来可能修改的场合,信息隐蔽可以提高软件在可预见将来可能修改的场合,信息隐蔽可以提高软件的可修改性、可测试性和可移植性。的可修改性、可测试性和可移植性。6、功能独立、功能独立每个模块只解决了需求中特定的子功能,并从程每个模块只解决了需求中特定的子功能,并从程序结构的其他部分看该模块具有简单的接口序结构的其他部分看该模块具有简单的接口 好处:好处:易于开发:功能被划分,接口被简化易于开发:功能被划分,接口被简化 易于维护(和测试):次生影响有限,错误传易于维护(和测试):次生影响有限,错误传递减少,模块重用递减少,模块重用软件设计的基本
12、概念软件设计的基本概念6、功能独立、功能独立定性衡量标准定性衡量标准 内聚性:内聚是一个内聚性:内聚是一个的度量。的度量。 耦合性耦合性: 耦合是耦合是模块间互相连接的紧密程度的模块间互相连接的紧密程度的度量度量,它取决于各个模块之间接口的复杂度、,它取决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接口。调用方式以及哪些信息通过接口。软件设计的基本概念软件设计的基本概念模块内聚模块内聚 模块内聚性越强,功能独立性越好,对于形成的模块内聚性越强,功能独立性越好,对于形成的模块结构有比较好的作用。模块结构有比较好的作用。巧合巧合 逻辑逻辑 时间时间 过程过程 通信通信 信息信息 功能功能内
13、聚内聚 内聚内聚 内聚内聚 内聚内聚 内聚内聚 内聚内聚 内聚内聚内聚性内聚性功能独立性功能独立性模块间的耦合模块间的耦合模块之间耦合性越强,功能独立性越差,这样形模块之间耦合性越强,功能独立性越差,这样形成的模块结构界面不好。成的模块结构界面不好。非直接非直接 数据数据 标记标记 控制控制 外部外部 公共公共 内容内容 耦合耦合 耦合耦合 耦合耦合 耦合耦合 耦合耦合 耦合耦合 耦合耦合耦合性耦合性功能独立性功能独立性模块独立性强模块独立性强 = 高内聚低耦合高内聚低耦合l 课堂互动练习课堂互动练习上次课的基本知识点回顾上次课的基本知识点回顾1、模块化、信息隐藏、抽象和逐步求精的软件设计原则
14、有助模块化、信息隐藏、抽象和逐步求精的软件设计原则有助于得到高内聚、低耦合的软件产品。于得到高内聚、低耦合的软件产品。2、数据流图用于在面向过程的分析方法中描述软件的行为模数据流图用于在面向过程的分析方法中描述软件的行为模型。型。3、软件的模块分解得越多,其开发成本反而越小。(软件的模块分解得越多,其开发成本反而越小。( )4、模块独立性的两个标准度量是内聚性和模块独立性的两个标准度量是内聚性和 _。5、模块内聚度越低,说明模块内各成分彼此结合的程度越模块内聚度越低,说明模块内各成分彼此结合的程度越()。A松散松散 B紧密紧密 C无法判断无法判断 D相等相等6、下列哪种设计相当于一个房屋中每个
15、房间的内部详图?下列哪种设计相当于一个房屋中每个房间的内部详图?A体系结构设计体系结构设计 B构件级设计构件级设计 C接口设计接口设计 D数据设计数据设计体系结构设计体系结构设计l 软件体系结构软件体系结构 表示系统的框架结构,用于从较高的层次上来描述各部分之间的关系和接口,主要包括: 软件框架设计的核心问题是:能否已经成型的l 体系结构的风格体系结构的风格 不同系统的设计方案存在着许多共性问题,把这些,就形成了具有代表性的和可广泛接受的体系结构设计体系结构设计l 建筑结构的风格建筑结构的风格巴洛克风格巴洛克风格哥特式风格哥特式风格中国皇家建筑风格中国皇家建筑风格体系结构设计体系结构设计l 软
16、件体系结构风格软件体系结构风格 软件体系结构风格也称为软件体系结构惯用模式,是指不同系统所拥有的共同组织结构和语义特征。l 常见的体系结构风格常见的体系结构风格 以数据为中心的体系结构 数据流体系结构 调用和返回体系结构 面向对象体系结构 层次体系结构风格和类型的区别风格和类型的区别体系结构风格体系结构风格l以数据为中心的体系结构以数据为中心的体系结构 数据库系统;黑板系统数据库系统;黑板系统l 数据流体系架构数据流体系架构 批处理序列;管道批处理序列;管道-过滤器过滤器体系结构风格体系结构风格l 传统的编译器是管道传统的编译器是管道/过滤器体系结构风格的一个过滤器体系结构风格的一个实例实例体
17、系结构风格体系结构风格l 调用和返回架构调用和返回架构 主程序主程序/子程序子程序体系结构风格体系结构风格结构化的设计方法中常用结构化的设计方法中常用的一种体系结构的一种体系结构l 层次体系结构层次体系结构体系结构风格体系结构风格l 面向对象体系结构面向对象体系结构 系统组件封装数据和处理该数据的操作。组件之间的通信系统组件封装数据和处理该数据的操作。组件之间的通信和协作通过消息传递实现和协作通过消息传递实现 MVCMVC架构架构体系结构风格体系结构风格目前目前WEB系统系统开发最常见的开发最常见的一种体系结构一种体系结构扩展扩展了解了解数据字典数据字典数数据据流流图图实实体体关关系系图图状态
18、转换图状态转换图加加工工规规格格说说明明控控制制规规 格格说说明明数数据据对对象象描描述述过程设计过程设计接口设计接口设计体系结构设计体系结构设计数据设计数据设计体系结构设计:结构化设计方法体系结构设计:结构化设计方法分析模型和设计模型的对应关系分析模型和设计模型的对应关系l结构化设计(结构化设计(structured design,SD)是一种面)是一种面向数据流的设计方法,它可以与向数据流的设计方法,它可以与SA方法衔接。方法衔接。l结构化设计是基于模块化、自顶向下细化、结构结构化设计是基于模块化、自顶向下细化、结构化程序设计等程序设计技术基础上发展起来的。化程序设计等程序设计技术基础上发
19、展起来的。基本思想是将系统设计成由相对独立、功能单一基本思想是将系统设计成由相对独立、功能单一的模块组成的结构。的模块组成的结构。l使用数据流进行体系结构映射使用数据流进行体系结构映射体系结构由结构图表示,体系结构由结构图表示,“调用调用-返回返回”体系体系结构风格结构风格体系结构设计:结构化设计方法体系结构设计:结构化设计方法体系结构设计:结构图的表示体系结构设计:结构图的表示l 模块:模块:矩形框,用模块名称标记矩形框,用模块名称标记p 输入模块 从下属模块取得数据,经过某些处理, 再将其传送给上级模块。它传送的数据流叫做逻辑输入数据流。p 输出模块 从上级模块获得数据,进行某些处理,再将
20、其传送给下属模块。它传送的数据流叫做逻辑输出数据流。输入模块输入模块AA输出模块输出模块DD体系结构设计:结构图的表示体系结构设计:结构图的表示p 变换模块 它从上级模块取得数据,进行特定的处理,转换成其它形式,再传送回上级模块。p 协调模块 对所有下属模块进行协调和管理的模块。变换模块变换模块AB协调模块协调模块AABBl 模块调用关系:从调用模块到被调用模块的单向模块调用关系:从调用模块到被调用模块的单向箭头箭头体系结构设计:结构图的表示体系结构设计:结构图的表示模块调用示例模块调用示例(a) 调用调用(b) 条件调用条件调用(c) 循环调用循环调用l 模块间信息传递模块间信息传递 数据信
21、息:尾端带有空心圆的短箭头数据信息:尾端带有空心圆的短箭头 控制信息:尾端带有实心圆的短箭头控制信息:尾端带有实心圆的短箭头体系结构设计:结构图的表示体系结构设计:结构图的表示模块间的数据传递模块间的数据传递AB(a)xyz查职工简历查职工简历读人事文件读人事文件(b)职工号职工号简历数据简历数据无此职工无此职工模块模块调用调用数据数据控制信息控制信息转接符号转接符号系统结构图的基本符系统结构图的基本符号号选择(判断)选择(判断)重复重复体系结构设计:结构图的表示体系结构设计:结构图的表示体系结构设计:结构图的表示体系结构设计:结构图的表示l 结构图的几个基本概念结构图的几个基本概念 结构图的
22、深度 结构图的宽度 模块的扇入 模块的扇出系统P1P2P3P4P5P6P7P8深度宽度l 由数据流图导出结构图的步骤如下:由数据流图导出结构图的步骤如下:首先研究、分析和审查数据流图数据流图。从软件的需求规格说明中弄清数据流加工的过程。然后根据数据流图确定数据处理的类型。典型的类型有两种:变换型和事务型变换型和事务型。针对两种不同类型分别进行分析处理。由数据流图推导出系统的初始结构图由数据流图推导出系统的初始结构图。利用一些启发式原则改进系统初始结构图,直到得到符合要求的结构图为止。体系结构设计:导出结构图体系结构设计:导出结构图复查数据流图数据流类型区分输入输出分支映射成变换结构区分事务中心
23、和事务处理通路映射成事务结构优化软件结构事务型变换型自顶向下逐层分解导出初始结构图的基本步骤导出初始结构图的基本步骤体系结构设计:导出结构图体系结构设计:导出结构图l 从需求分析模型中的数据流图导出从需求分析模型中的数据流图导出l 数据处理的类型:数据处理的类型:变换流型变换流型与与事务流型事务流型 变换流变换流数据沿着数据沿着输入通路输入通路进入系统,经过一系列数据进入系统,经过一系列数据变换,将数据的外部形式转换成对应的内部表变换,将数据的外部形式转换成对应的内部表示,然后通过示,然后通过变换中心变换中心(也称主加工)处理,(也称主加工)处理,再沿着再沿着输出通路输出通路转换成外部形式离开
24、系统。具转换成外部形式离开系统。具有这种特性的数据流称为有这种特性的数据流称为变换流变换流。变换流型变换流型DFD可以分成:可以分成: 输入变换中心(主加工)输出输入变换中心(主加工)输出导出结构图:变换型数据流导出结构图:变换型数据流输入数据输入数据C变换数据变换数据CD输出数据输出数据D输入输入文字文字统计单统计单词个数词个数显示单显示单词个数词个数文字文字单词个数单词个数单词个数单词个数文字文字输入流输入流变换流变换流输出流输出流导出结构图:变换型数据流导出结构图:变换型数据流系统系统输入输入变换变换输出输出系统系统输入文字输入文字统计单词个数统计单词个数显示单词个数显示单词个数相应于取
25、得数据、变换数据、给出数据,变换流型系相应于取得数据、变换数据、给出数据,变换流型系统结构图由输入、变换中心和输出等三部分组成。统结构图由输入、变换中心和输出等三部分组成。主模块主模块B变换成变换成C输入输入B输出输出CA变换成变换成B输入输入AC变换成变换成D输出输出DAABBBCCCDD导出结构图:变换型数据流的结构图导出结构图:变换型数据流的结构图l 数据沿着数据沿着输入通路输入通路到达一个事务中心,到达一个事务中心,事务中事务中心心根据输入数据(即事务)的类型在若干个动根据输入数据(即事务)的类型在若干个动作(称为作(称为活动流活动流)中选择一个来执行,这种数)中选择一个来执行,这种数
26、据流也称为据流也称为事务流事务流。l 事务流有明显的事务中心,事务流有明显的事务中心,各活动流以事务中各活动流以事务中心为起点呈辐射状流出心为起点呈辐射状流出。l 在事务型系统结构图中,事务中心模块按所接在事务型系统结构图中,事务中心模块按所接受的事务的类型,选择某一事务(活动流)处受的事务的类型,选择某一事务(活动流)处理模块执行。各事务处理模块并列。理模块执行。各事务处理模块并列。导出结构图:事务型数据流导出结构图:事务型数据流确定业确定业务类型务类型存款存款取款取款查询查询转账转账 银行业务银行业务导出结构图:事务型数据流导出结构图:事务型数据流实例实例事务中心事务中心事务处理事务处理1
27、 1事务处理事务处理2 2事务处理事务处理3 3事务处理事务处理4 4 调度调度事务处理事务处理1 1事务处理事务处理2 2事务处理事务处理3 3事务中心事务中心事务处理事务处理4 4输入输入输出输出调度调度存款存款取款取款查询查询确定业务类型确定业务类型转账转账输入输入输出输出事务型数据流的结构图事务型数据流的结构图l导出变换型数据流图的基本步骤导出变换型数据流图的基本步骤重画数据流图;重画数据流图;区分有效(逻辑)输入、有效(逻辑)输出和变换中区分有效(逻辑)输入、有效(逻辑)输出和变换中心部分;心部分;进行一级分解,设计模块结构的顶层和第一层模块;进行一级分解,设计模块结构的顶层和第一层
28、模块;进行二级分解,设计输入、输出和中心变换部分的中进行二级分解,设计输入、输出和中心变换部分的中、下层模块。、下层模块。导出变换型数据流图的结构图导出变换型数据流图的结构图步骤步骤1 1:重画数据流图(平铺):重画数据流图(平铺)l为了建立系统结构,将数据流图平铺开来,物为了建立系统结构,将数据流图平铺开来,物理输入画在左侧,物理输出画在右侧。理输入画在左侧,物理输出画在右侧。l如果一个外部实体既是物理输入又是物理输出,如果一个外部实体既是物理输入又是物理输出,则两侧都要画出它。则两侧都要画出它。ABBCEGGHDFCDEABCDEFGH物理输入物理输入物理输出物理输出导出变换型数据流图的结构图导出变换型数据流图的结构图步骤步骤2 2:确定逻辑输入、逻辑输出和变换中心部分:确定逻辑输入、逻辑输出和变换中心部分l 变换中心是程序的核心功能,它的输入是逻辑变换中心是程序的核心功能,它的输入是逻辑输入,它的输出为逻辑输出。输入,它的输出为逻辑输出。变换中心
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论