欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    第12章 软件设计.ppt

    • 资源ID:1036113       资源大小:755.50KB        全文页数:64页
    • 资源格式: PPT        下载积分:10积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要10积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第12章 软件设计.ppt

    1、第第12章章 软件设计软件设计l软件设计概述软件设计概述l优秀设计的概念优秀设计的概念l数据设计数据设计l体系结构设计体系结构设计l用户界面设计用户界面设计l构件级设计构件级设计1西安交通大学 刘海岩12.1 软件设计概念软件设计概念1、软件设计模型的主要组成、软件设计模型的主要组成 软件设计是将软件需求转换为软件表示的软件设计是将软件需求转换为软件表示的过程,是构造和验证软件所需的三项技术活动过程,是构造和验证软件所需的三项技术活动(设计、编码、测试)之一。软件设计也是一(设计、编码、测试)之一。软件设计也是一个建模过程,以一系列迭代的步骤建立不同的个建模过程,以一系列迭代的步骤建立不同的视

    2、图来描述系统。首先给出软件系统的整体表视图来描述系统。首先给出软件系统的整体表示(体系结构),然后逐步精化,给出系统构示(体系结构),然后逐步精化,给出系统构造的细节,如数据设计、接口设计、构件级设造的细节,如数据设计、接口设计、构件级设计。这四方面的设计是传统软件系统设计中的计。这四方面的设计是传统软件系统设计中的主要活动。而面向对象的设计还包括分布式体主要活动。而面向对象的设计还包括分布式体系结构的设计、进程管理等。系结构的设计、进程管理等。2西安交通大学 刘海岩2、设计目标和原则、设计目标和原则 设计目标设计目标:设计必须实现所有包含在分析模型中的需求。设计必须实现所有包含在分析模型中的

    3、需求。设计必须是可读、可理解的,便于实现和维护。设计必须是可读、可理解的,便于实现和维护。设计应该提供软件的完整面貌,包括从不同角设计应该提供软件的完整面貌,包括从不同角度看到的数据、功能、行为域。度看到的数据、功能、行为域。常用的常用的设计原则设计原则:设计应该展示系统的层次结构。设计应该展示系统的层次结构。设计应该模块化。设计应该模块化。设计应该包括数据、体系结构、接口和模块的设计应该包括数据、体系结构、接口和模块的清楚表示。清楚表示。3西安交通大学 刘海岩 设计应该遵循分解、求精的原则。设计应该遵循分解、求精的原则。设计过程是一个迭代的过程,对于分析模设计过程是一个迭代的过程,对于分析模

    4、型应该可跟踪,应该能适应变更。型应该可跟踪,应该能适应变更。设计不应该从头做起。设计不应该从头做起。设计应该具有一致性和集成性。设计应该具有一致性和集成性。4西安交通大学 刘海岩3、软件设计文档、软件设计文档 设计阶段的一个重要产品就是描述所构建的系统的文档。设计阶段的一个重要产品就是描述所构建的系统的文档。主要内容主要内容:前言:系统目标;主要需求前言:系统目标;主要需求 数据设计数据设计 用一系列图形和符用一系列图形和符 体系结构设计体系结构设计 号描述系统、界面号描述系统、界面 接口设计(人机交互、外部接口)接口设计(人机交互、外部接口)和构件的结构,包和构件的结构,包 每个模块(或构件

    5、)的过程性设计每个模块(或构件)的过程性设计 括各级抽象。括各级抽象。集成测试策略集成测试策略 设计约束设计约束 需求交叉引用表需求交叉引用表 参考文献参考文献 附录附录 文档中还可以包含描述系统如何运行的操作手册,以及出文档中还可以包含描述系统如何运行的操作手册,以及出错后系统的重新配置或特定的安全措施。错后系统的重新配置或特定的安全措施。5西安交通大学 刘海岩12.2 优秀设计的基本概念优秀设计的基本概念 软件设计中最重要的一个问题就是软件质软件设计中最重要的一个问题就是软件质量问题,如何衡量软件设计的技术质量呢?本量问题,如何衡量软件设计的技术质量呢?本节介绍提高软件设计技术应掌握的一些

    6、基本概节介绍提高软件设计技术应掌握的一些基本概念。念。1、分解与模块化、分解与模块化 Wasserman(1995)提出了提出了5种创建设计种创建设计的方法:的方法:(1)模块化分解:功能分配给模块或构件)模块化分解:功能分配给模块或构件 (2)面向数据的分解:基于全局数据结构)面向数据的分解:基于全局数据结构 6西安交通大学 刘海岩 (3)面向事件的分解:基于系统必须处理)面向事件的分解:基于系统必须处理的事件及如何改变系统状态的信息,高层描述的事件及如何改变系统状态的信息,高层描述状态目录,低层描述转换。状态目录,低层描述转换。(4)由外往内的设计:基于系统的用户输)由外往内的设计:基于系

    7、统的用户输入,高层列出所有输入,低层描述如何处理每入,高层列出所有输入,低层描述如何处理每个输入。个输入。(5)面向对象的设计:系统分解为子系统,)面向对象的设计:系统分解为子系统,子系统分解成包,包分解为类,低层描述所属子系统分解成包,包分解为类,低层描述所属类的对象的数据和方法以及对象间相互的交互。类的对象的数据和方法以及对象间相互的交互。7西安交通大学 刘海岩 通过系统的数据描述、事件、用户输入、高层功能描通过系统的数据描述、事件、用户输入、高层功能描述或组合,用逐渐增加的细节创建信息层次来得到设计。述或组合,用逐渐增加的细节创建信息层次来得到设计。8西安交通大学 刘海岩 模块化是软件解

    8、决复杂问题所具备的手段,模块化是软件解决复杂问题所具备的手段,E(P1P2)E(P1)E(P2)9西安交通大学 刘海岩2、抽象与求精、抽象与求精 抽象,即抽出事物本质的共同特性而暂不考虑它的抽象,即抽出事物本质的共同特性而暂不考虑它的细节。软件过程中的每一阶段都是解决方案抽象级别上细节。软件过程中的每一阶段都是解决方案抽象级别上的求精。抽象包括的求精。抽象包括 数据抽象:对数据集合命名并描述它的关键属性;数据抽象:对数据集合命名并描述它的关键属性;过程抽象:对一系列隐含的过程性步骤命名,关注过程抽象:对一系列隐含的过程性步骤命名,关注主要功能而不考虑细节。主要功能而不考虑细节。抽象帮助定义模块

    9、实体,建立不同抽象级别的软件抽象帮助定义模块实体,建立不同抽象级别的软件体系结构。体系结构。求精,是详细描述的过程,用于揭示具体实现的低求精,是详细描述的过程,用于揭示具体实现的低层细节。抽象和求精是对立统一的两个方面,缺一不可层细节。抽象和求精是对立统一的两个方面,缺一不可的帮助构造出完整的设计模型。的帮助构造出完整的设计模型。10西安交通大学 刘海岩3、信息隐蔽、信息隐蔽 指在设计和确定模块时能够隐藏在模块内部的信指在设计和确定模块时能够隐藏在模块内部的信息(数据、过程)尽量在模块内部存储和定义,尽可息(数据、过程)尽量在模块内部存储和定义,尽可能的局部化。能的局部化。作用:约束我们实现模

    10、块内部的过程细节和数据作用:约束我们实现模块内部的过程细节和数据结构的访问,减少因局部数据结构的变动对其他软件结构的访问,减少因局部数据结构的变动对其他软件的影响,有利于维护。的影响,有利于维护。4、模块独立性、模块独立性 模块功能的独立性是抽象和信息隐蔽性的直接产模块功能的独立性是抽象和信息隐蔽性的直接产物。独立的模块易于复用、易于维护。如何衡量软件物。独立的模块易于复用、易于维护。如何衡量软件的独立性?提出了的独立性?提出了两个定性的度量标准两个定性的度量标准耦合性和耦合性和内聚性。内聚性。11西安交通大学 刘海岩(1)耦合性()耦合性(Coupling)软件结构中各构件间相互联系紧密程度

    11、的一种度量。软件结构中各构件间相互联系紧密程度的一种度量。无直接耦合无直接耦合 数据耦合数据耦合 标记耦合标记耦合 控制耦合控制耦合 公共耦合公共耦合 内容耦合内容耦合12西安交通大学 刘海岩 (2)内聚性()内聚性(Cohesion)一个构件内部各个元素彼此结合的紧密程度的度量。一个构件内部各个元素彼此结合的紧密程度的度量。偶然内聚偶然内聚 逻辑内聚:如打印不同报表的程序逻辑内聚:如打印不同报表的程序 时间内聚:初始化时间内聚:初始化 过程内聚:依次调用的过程放在一起过程内聚:依次调用的过程放在一起 通信内聚:使用同一个数据结构通信内聚:使用同一个数据结构 顺序内聚:处理必须顺序执行,前一个

    12、处理的顺序内聚:处理必须顺序执行,前一个处理的 输出是下一个处理的输入输出是下一个处理的输入 功能内聚:模块内所有的元素都完成同一个功功能内聚:模块内所有的元素都完成同一个功 能,模块不能再分解。能,模块不能再分解。重要的不是区分耦合或内聚的等级,而是定义和分解重要的不是区分耦合或内聚的等级,而是定义和分解模块时需要注意强内聚、弱耦合,以提高模块独立性。模块时需要注意强内聚、弱耦合,以提高模块独立性。增强增强13西安交通大学 刘海岩12.3 数据设计数据设计 数据的结构总是软件设计的一个重要方面。数据的结构总是软件设计的一个重要方面。在构件级,数据结构和操作他们的相关算法在构件级,数据结构和操

    13、作他们的相关算法的设计对高质量的应用至关重要;的设计对高质量的应用至关重要;在应用级,数据模型到数据库的转换是达到在应用级,数据模型到数据库的转换是达到系统的业务目标的关键;系统的业务目标的关键;在业务级,存储在不同数据库并重新组织为在业务级,存储在不同数据库并重新组织为“数据仓库数据仓库”的信息的集合产生了数据挖掘技术,的信息的集合产生了数据挖掘技术,从而对业务的成功具有重要影响。从而对业务的成功具有重要影响。在每一种情况,数据设计均扮演了重要角在每一种情况,数据设计均扮演了重要角色。色。14西安交通大学 刘海岩 在过去一般情况下,数据的设计仅局限于将分在过去一般情况下,数据的设计仅局限于将

    14、分析时创建的信息域模型(析时创建的信息域模型(ERD、DD)转换成软件构转换成软件构件级的数据结构和应用级的数据库体系结构。件级的数据结构和应用级的数据库体系结构。为满足当今企业对大中型规模的业务信息的需为满足当今企业对大中型规模的业务信息的需求,特别希望信息是跨功能的。求,特别希望信息是跨功能的。数据挖掘技术数据挖掘技术可以可以遍历现存的数据库以试图抽取合适的业务级信息。遍历现存的数据库以试图抽取合适的业务级信息。然而由于多个数据库结构不同、库中信息命名然而由于多个数据库结构不同、库中信息命名格式及详细程度不同以及许多其他因素使得很难在格式及详细程度不同以及许多其他因素使得很难在现存的数据库

    15、环境中进行数据挖掘。现存的数据库环境中进行数据挖掘。一个可选的解决方案是建立不同于一般数据库一个可选的解决方案是建立不同于一般数据库的大的的大的数据仓库数据仓库,存放以主要业务主题进行组织的、存放以主要业务主题进行组织的、展示统一定义标准的并在较长时间内保持稳定的数展示统一定义标准的并在较长时间内保持稳定的数据。据。15西安交通大学 刘海岩 1、数据数据仓库仓库与数据与数据库库的区的区别别:一个数据一个数据仓库仓库是一个分离的数据是一个分离的数据环环境,它境,它不是直接和日常的不是直接和日常的应应用集成,但包含了某用集成,但包含了某业务业务使用的所有数据,即服使用的所有数据,即服务务于于业务业

    16、务所需的一所需的一组应组应用。但很多特征使得一个数据用。但很多特征使得一个数据仓库仓库不同于典型不同于典型的数据的数据库库:面向决策面向决策:数据:数据仓库仓库是根据决策分析的需是根据决策分析的需要按主要按主题题来来组织组织,不是根据,不是根据业务过业务过程和功能来程和功能来组织组织。不需要。不需要对对解决主解决主题题无用的数据。如分析无用的数据。如分析产产品市品市场销场销售状况,需要:用售状况,需要:用户户的意的意见见、库库存存及及产产品品销销售数据、售数据、竞竞争争对对手的手的产产品的品的销销售数据售数据等,但不需要等,但不需要产产品生品生产过产过程的数据。程的数据。16西安交通大学 刘海

    17、岩 集成性集成性:不管数据来源与哪个数据:不管数据来源与哪个数据库库、文件、文件等,数据等,数据仓库仓库展展现现一致的命名一致的命名约约定、定、计计量量单单位、位、度量度量标标准、准、编码结编码结构和物理属性。构和物理属性。时变时变性性:容:容纳较长时间纳较长时间段(段(510年)的静年)的静态态数据。而数据数据。而数据库库提供的是提供的是动态动态数据(不断插入、数据(不断插入、删删除、更新),反映当前除、更新),反映当前业务处业务处理状况,保存理状况,保存时时间较间较短。数据迁移到数据短。数据迁移到数据仓库仓库或或备备份后,数据份后,数据库库就会更新。就会更新。在在线线分析分析:数据:数据库

    18、库的的访问访问和在和在线查询线查询往往通往往通过过工具来提供,在工具来提供,在线线分析的功能取决于系分析的功能取决于系统统的的规规划和划和设计设计。而数据。而数据仓库仓库的数据的数据组织组织需要数据的抽需要数据的抽取、取、转换转换、清洗、装、清洗、装载载等繁等繁琐琐工作。一个数据工作。一个数据仓仓库库系系统统往往同往往同时时存在多种数据抽取方式以适存在多种数据抽取方式以适应应原原始数据的多始数据的多样样格局。格局。17西安交通大学 刘海岩2、数据仓库系统包括、数据仓库系统包括:数据数据仓库仓库技技术术(Data Warehousing,DW)在在线线分析分析处处理技理技术术(On-Line A

    19、nalytical Processing,OLAP)数据挖掘技数据挖掘技术术(Data Mining,DM)18西安交通大学 刘海岩12.4 体系结构设计体系结构设计 1、什么是软件体系结构、什么是软件体系结构 随着软件系统越来越大、越来越复杂,软件设计随着软件系统越来越大、越来越复杂,软件设计的核心已经转移到新的计算模式,非传统的的核心已经转移到新的计算模式,非传统的“程序程序算法数据结构算法数据结构”,新的模式就是系统总体结构的设,新的模式就是系统总体结构的设计和规范。计和规范。软件体系结构软件体系结构(Architecture)为软件系统提供了为软件系统提供了一个结构、行为和属性的高级抽

    20、象。由构成系统的元一个结构、行为和属性的高级抽象。由构成系统的元素(构件)的描述、这些元素的相互作用、指导元素素(构件)的描述、这些元素的相互作用、指导元素集成的模式以及模式的约束组成。集成的模式以及模式的约束组成。软件体系结构不仅指出了系统的组织结构和拓扑软件体系结构不仅指出了系统的组织结构和拓扑结构,并显示了系统需求和构成系统元素之间的对应结构,并显示了系统需求和构成系统元素之间的对应关系,提供了一些设计决策的基本原理。关系,提供了一些设计决策的基本原理。19西安交通大学 刘海岩 软件体系结构的模型有下列几种:软件体系结构的模型有下列几种:结构模型结构模型:是构件、连接件(定义构件之间交互

    21、:是构件、连接件(定义构件之间交互规则、消息协议的构造模块)有组织的集合。反映系规则、消息协议的构造模块)有组织的集合。反映系统的重要语义内容,包括系统的配置、约束等。统的重要语义内容,包括系统的配置、约束等。框架模型框架模型:与结构模型类似,不侧重细节,侧重:与结构模型类似,不侧重细节,侧重于系于系 统的整体结构(模式)。统的整体结构(模式)。动态模型动态模型:补充模型,强调系统的行为性质。:补充模型,强调系统的行为性质。过程模型过程模型:注重系统必须适应业务和技术的过程。:注重系统必须适应业务和技术的过程。功能模型功能模型:一组功能构件按层次组成,底层向上:一组功能构件按层次组成,底层向上

    22、层提供服务,是一种特殊的框架模型。层提供服务,是一种特殊的框架模型。这些模型可用语言(这些模型可用语言(ADL)描述,也可用图形描述,也可用图形(UML)描述。描述。20西安交通大学 刘海岩2、分布式体系结构、分布式体系结构 (1)客户机服务器体系结构)客户机服务器体系结构 客户机服务器(客户机服务器(Client-Server,C/S)系统是至少包系统是至少包含一个服务器和一个客户机的分布式系统。在分布式系含一个服务器和一个客户机的分布式系统。在分布式系统中(统中(distributed system),计算由不同的程序执行,计算由不同的程序执行,这些程序一般运行在不同的硬件上,合作完成系统

    23、的任这些程序一般运行在不同的硬件上,合作完成系统的任务。务。服务器服务器就是为其他程序提供某些服务的程序,其他就是为其他程序提供某些服务的程序,其他程序使用通讯通道与服务器相连接。程序使用通讯通道与服务器相连接。客户机客户机就是访问服就是访问服务器的程序。它们之间的通信以务器的程序。它们之间的通信以“请求请求响应响应”的方的方式进行。客户机可以访问许多服务器来执行不同的功能,式进行。客户机可以访问许多服务器来执行不同的功能,而服务器可以同时被许多客户机所访问。除了同步请求而服务器可以同时被许多客户机所访问。除了同步请求或接收结果的时候,客户和服务器中的控制流都是相互或接收结果的时候,客户和服务

    24、器中的控制流都是相互独立的。独立的。21西安交通大学 刘海岩C/S体系结构的优点:体系结构的优点:客客户端集中端集中处理事理事务中的有关中的有关输入入/输出。出。服服务器端器端负责与数据与数据处理理紧密相关的密相关的业务逻辑计算,算,DBMS和数据操作都在同一机器上运行,效率高。和数据操作都在同一机器上运行,效率高。服服务器只是把器只是把处理理结果返回果返回给客客户端,响端,响应速度快速度快 (局域网)。(局域网)。可在客可在客户端端处理复理复杂的表达。的表达。问题:客客户端和服端和服务器端直接器端直接连接,安全性低。接,安全性低。客客户端程序端程序庞大,且根据企大,且根据企业规则的的变化随化

    25、随时要更新,要更新,维护工作量大。工作量大。服服务器器为每个客人每个客人户建立建立连接,接,资源消耗大。源消耗大。客客户端和服端和服务器端直接器端直接传输的数据量大,易造成网的数据量大,易造成网络阻塞阻塞。22西安交通大学 刘海岩(2)浏览器)浏览器/Web服务器体系结构服务器体系结构 简称简称 B/S(Browser-Server)结构,实质上也是一种)结构,实质上也是一种C/S结结构。客户机通过互联网与服务器通信。构。客户机通过互联网与服务器通信。优点:优点:客户端采用统一的标准浏览器界面,使用方便。客户端采用统一的标准浏览器界面,使用方便。简化了客户,软件开发和维护工作转移到了简化了客户

    26、,软件开发和维护工作转移到了WebWeb服务器,服务器,系统易维护。系统易维护。采用标准的采用标准的TCP/IP协议,与其他系统连接方便。协议,与其他系统连接方便。在在Web服务器端使用脚本语言编写响应页面,实现较容易。服务器端使用脚本语言编写响应页面,实现较容易。问题:问题:由于由于B/SB/S浏览器和浏览器和HTML语言的限制,适用于文本查询系语言的限制,适用于文本查询系 统,不适用于处理、表达复杂系统。统,不适用于处理、表达复杂系统。需要在服务器端生成需要在服务器端生成HTML页面然后下载到客户端由浏览页面然后下载到客户端由浏览 器解释运行,响应速度慢。器解释运行,响应速度慢。23西安交

    27、通大学 刘海岩 (3)多层分布式体系结构)多层分布式体系结构 客户机服务器体系结构的一个重要变体就是多客户机服务器体系结构的一个重要变体就是多层模型。在该模型中,添加了专门完成业务处理的应用层模型。在该模型中,添加了专门完成业务处理的应用服务器,即将服务器,即将业务处理和数据管理彻底分离业务处理和数据管理彻底分离。应用服务。应用服务器同客户机(通常经由器同客户机(通常经由Internet)和数据库服务器(出)和数据库服务器(出于安全原因通常在企业网络内部)通信。当访问数据库于安全原因通常在企业网络内部)通信。当访问数据库服务器时,应用服务器相当于一个客户机。(见图)服务器时,应用服务器相当于一

    28、个客户机。(见图)下图中互联网银行系统是使用下图中互联网银行系统是使用C/S体系结构的例子。体系结构的例子。Web服务器提供应用服务如用于现金转帐、生成银行结服务器提供应用服务如用于现金转帐、生成银行结算单和工资单等;银行的账户数据库提供数据管理服务。算单和工资单等;银行的账户数据库提供数据管理服务。24西安交通大学 刘海岩25西安交通大学 刘海岩多层分布式体系结构的优点:多层分布式体系结构的优点:中间层隔离了客户直接对数据服务器的访问,保护中间层隔离了客户直接对数据服务器的访问,保护 了数据库的安全。了数据库的安全。业务逻辑在应用服务器,客户端维护较少。业务逻辑在应用服务器,客户端维护较少。

    29、通过负载均衡以及中间层缓存数据的能力,可以提高通过负载均衡以及中间层缓存数据的能力,可以提高 对客户端的响应速度。对客户端的响应速度。系统扩展灵活。应用的各层可并行开发。业务增大系统扩展灵活。应用的各层可并行开发。业务增大 时,可在中间层部署更多的应用服务器。时,可在中间层部署更多的应用服务器。26西安交通大学 刘海岩(4)中间件)中间件 在开发多层体系应用软件时需要中间件在开发多层体系应用软件时需要中间件。中间件和中间件和系统软件是一个系统的基础,因为所有功能都是基于下系统软件是一个系统的基础,因为所有功能都是基于下列各种软件之上的:列各种软件之上的:OS、DBMS、通信软件、对象分布技术、

    30、通信软件、对象分布技术、GUI设计设计工具、事务管理技术等。工具、事务管理技术等。选择并集成所获取或构造的软件产品是设计阶段关注选择并集成所获取或构造的软件产品是设计阶段关注的要点。的要点。什么是中间件?中间件是一种独立的系统软件或服什么是中间件?中间件是一种独立的系统软件或服务程序,分布式应用软件借助它在不同的技术之间共享务程序,分布式应用软件借助它在不同的技术之间共享资源。中间件位于客户机服务器的操作系统之上,管理资源。中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。计算资源和网络通信。27西安交通大学 刘海岩 中间件分为以下几类:中间件分为以下几类:消息中消息中间间件件:控

    31、制和管理一个集成的系:控制和管理一个集成的系统统,使得,使得组组成成这这个系个系统统的多个的多个应应用之用之间间通通过传递过传递消息完成整个消息完成整个业务业务流程。流程。事事务处务处理中理中间间件件:协调协调事事务务在多台在多台应应用服用服务务器上器上实时实时并并发发地运行。地运行。数据存取和管理中数据存取和管理中间间件件:为为在网在网络络上虚上虚拟缓拟缓冲存取、冲存取、格式格式转换转换、解、解压压等等带带来方便。来方便。Web服服务务中中间间件件:对浏览对浏览器器图图形用形用户户界面的功能界面的功能进进行行扩扩充。充。安全中安全中间间件件:提供解决安全:提供解决安全问题问题的特殊功能的特殊

    32、功能。28西安交通大学 刘海岩 跨平台和构架的中间件:跨平台和构架的中间件:分布式系统中,需要集成各分布式系统中,需要集成各结点上的不同系统平台上的构件或新老版本的构件:如结点上的不同系统平台上的构件或新老版本的构件:如CORBA、JavaBeans、DCOM。专用平台中间件专用平台中间件:为特定领域(如电子商务、网站等):为特定领域(如电子商务、网站等)建立相应构架、配置相应的构件库和中间件,开发和运行关建立相应构架、配置相应的构件库和中间件,开发和运行关键任务。键任务。网络中间件网络中间件:包括网关、接入、网络测试、虚拟缓冲等。:包括网关、接入、网络测试、虚拟缓冲等。在实际应用中根据具体的

    33、应用类型尽量使用已有的中间在实际应用中根据具体的应用类型尽量使用已有的中间件产品,不但可以提高系统开发效率,还能保证软件的质量。件产品,不但可以提高系统开发效率,还能保证软件的质量。下图是下图是Interbank软件公司开发的跨平台互操作的部分软件公司开发的跨平台互操作的部分Java中间件中间件及相关的层。及相关的层。29西安交通大学 刘海岩用户管理用户管理帐户管理帐户管理工作流工作流管理管理Java虚拟机虚拟机Web浏览器浏览器TCP/IP专用应用层专用应用层通用应用层通用应用层中间件层中间件层系统软件层系统软件层Java.appletJava.awtJava.rmi抽象视窗调试工具抽象视窗

    34、调试工具远程消远程消息请求息请求30西安交通大学 刘海岩 客户机服务器体系结构的进一步扩展是客户机服务器体系结构的进一步扩展是对等模式(对等模式(peer-to-peer)。对等系统是一个。对等系统是一个特殊的客户机服务器系统,每个构件(或子特殊的客户机服务器系统,每个构件(或子系统)既可以是客户机,又可以是服务器,其系统)既可以是客户机,又可以是服务器,其中的控制流除了在同步请求的时候,都是互相中的控制流除了在同步请求的时候,都是互相独立的。独立的。1999年以来,年以来,P2P有了很大的改进,用户有了很大的改进,用户之间直接传递音乐、电影、游戏和文件等,大之间直接传递音乐、电影、游戏和文件

    35、等,大大的改变了人们的工作方式和生活方式。大的改变了人们的工作方式和生活方式。31西安交通大学 刘海岩3、调用、调用-返回式的软件体系结构返回式的软件体系结构 是一种集中式是一种集中式 控制模型。自上控制模型。自上 而下的调用,控而下的调用,控 制始于结构层次制始于结构层次 的顶层,往往只的顶层,往往只 有一个控制线程。有一个控制线程。优点是容易分析优点是容易分析 与理解系统的控与理解系统的控 制流,但不适合制流,但不适合 并发执行的系统。并发执行的系统。32西安交通大学 刘海岩 该模型是七十年代后期由该模型是七十年代后期由Constantine和和Yourdon提出的结构化设计提出的结构化设

    36、计(Structured Design,SD)方法产生的控制层次模型,称为软件结构图方法产生的控制层次模型,称为软件结构图(Structured Chart)。该方法最主要的思想是将。该方法最主要的思想是将数据流图的加工(或数据流图的加工(或IDEF0图中的活动)直接转图中的活动)直接转换为软件结构图中的模块,然后反复用设计概念换为软件结构图中的模块,然后反复用设计概念和启发式原则对初始结构进行求精,以便产生优和启发式原则对初始结构进行求精,以便产生优秀的设计结果。同时用文字或图表说明每个模块秀的设计结果。同时用文字或图表说明每个模块功能、处理、接口功能、处理、接口、全局数据、设计约束等信息。

    37、、全局数据、设计约束等信息。该设计模型一般反映系统大的架构(如该设计模型一般反映系统大的架构(如C/S体体系结构)下某个构件的软件结构。系结构)下某个构件的软件结构。33西安交通大学 刘海岩 SD方法的方法的 设计步骤设计步骤 (1)精化)精化DFD,要有足够的细节信息,便于要有足够的细节信息,便于设计;设计;(2)确定确定DFD的特点(变换流、事务流)及的特点(变换流、事务流)及边界;边界;(3)将)将DFD逐级映射为软件结构;逐级映射为软件结构;(4)依设计质量标准对结构进行优化;)依设计质量标准对结构进行优化;(5)描述模块功能、接口及全局数据结构;)描述模块功能、接口及全局数据结构;该

    38、步骤支持迭代。该步骤支持迭代。以下说明如何由以下说明如何由DFD映射为软件结构图的步映射为软件结构图的步骤以及优化准则。骤以及优化准则。34西安交通大学 刘海岩 变换流设计变换流设计 (1)一级映射)一级映射 35西安交通大学 刘海岩(2)逐级映射)逐级映射 I:由变换中心边界沿输入由变换中心边界沿输入 端路径回溯,将每个遇端路径回溯,将每个遇 到的到的“处理处理”映射成相应映射成相应 层次的模块。层次的模块。P:每个处理直接对应每个处理直接对应 一个下层模块。一个下层模块。O:由边界沿输出端路径由边界沿输出端路径 外推,方法与外推,方法与I I类似。类似。(3)精化:)精化:根据设计概念和原

    39、则根据设计概念和原则 36西安交通大学 刘海岩 事务流设计事务流设计37西安交通大学 刘海岩 每个模块的说明每个模块的说明 每个模块应有简要说明:每个模块应有简要说明:进出该模块的信息(接口描述);进出该模块的信息(接口描述);模块内部的信息(功能、数据)模块内部的信息(功能、数据);过程陈述,包括主要判定点及任务等;过程陈述,包括主要判定点及任务等;对约束、限制的说明。对约束、限制的说明。优化模块化设计的启发式原则:优化模块化设计的启发式原则:评估软件结构的初始模型以降低耦合并提高内聚。评估软件结构的初始模型以降低耦合并提高内聚。高层高扇出使结构最小化;当深度增加时(特别是高层高扇出使结构最

    40、小化;当深度增加时(特别是底层)争取提高扇入。(图)底层)争取提高扇入。(图)38西安交通大学 刘海岩 将模块的作用范围限制在模块的控制范围内。将模块的作用范围限制在模块的控制范围内。作用范围:受模块内一个判定影响的所有模块的集合。作用范围:受模块内一个判定影响的所有模块的集合。控制范围:模块本身及其所有下属模块的集合。控制范围:模块本身及其所有下属模块的集合。(下图)(下图)评估模块接口以降低复杂度和冗余并提高一致性。评估模块接口以降低复杂度和冗余并提高一致性。定义功能可以预测的模块,(如对于相同的输入,输定义功能可以预测的模块,(如对于相同的输入,输出是恒定的),但要避免过分限制模块(如数

    41、据结构的大小、出是恒定的),但要避免过分限制模块(如数据结构的大小、控制流的选择、外部接口的模式等限制)。控制流的选择、外部接口的模式等限制)。39西安交通大学 刘海岩TOP CD E FABTOP CD E FABTOP CD E FAB模块模块D的作用域超出控制域的作用域超出控制域模块模块TOP的作用域在控制的作用域在控制域内但距离太远,使模块域内但距离太远,使模块B、D的接口有冗余的信息的接口有冗余的信息D的作用域在控制域内的作用域在控制域内40西安交通大学 刘海岩例:例:SafeHomeSafeHome系统的设计系统的设计 将将SafeHomeSafeHome系统的第一层系统的第一层D

    42、FDDFD分解为两个子系分解为两个子系统:传感器监测子系统和用户交互子系统。统:传感器监测子系统和用户交互子系统。传感器监测子系统经设计得到初始软件结构传感器监测子系统经设计得到初始软件结构和优化后的软件结构图见和优化后的软件结构图见ppt43ppt43、ppt44ppt44两页图:两页图:41西安交通大学 刘海岩需求分析阶段建立的需求分析阶段建立的“传感器监测子系统传感器监测子系统”的分析图的分析图42西安交通大学 刘海岩细细化化后后的的数数据据流流图图转转换换成成初初始始软软件件结结构构图图43西安交通大学 刘海岩用户交互子系统用户交互子系统DFD和优化后的软件结构见下两页图:和优化后的软

    43、件结构见下两页图:“传感器监测子系统传感器监测子系统”优化后的软件结构图优化后的软件结构图44西安交通大学 刘海岩45西安交通大学 刘海岩46西安交通大学 刘海岩12.5 用户界面设计用户界面设计 好的用户界面(好的用户界面(UI)设计对一个系统的成功是至设计对一个系统的成功是至关重要的。关重要的。1、界面设计的黄金规则、界面设计的黄金规则 Mandel提出了在界面设计中的三条黄金规则:提出了在界面设计中的三条黄金规则:规则规则1 1:置用户于控制之下。置用户于控制之下。指不强加给用户许多限制与约束:指不强加给用户许多限制与约束:(1 1)不强迫用户执行不必要的或不希望的动作。)不强迫用户执行

    44、不必要的或不希望的动作。(2 2)交互的灵活性。)交互的灵活性。47西安交通大学 刘海岩 (3)可恢复性:界面应该有一种机制来允许可恢复性:界面应该有一种机制来允许用户从错误中恢复。用户从错误中恢复。(4)用户差异性:界面应该为不同类型用户用户差异性:界面应该为不同类型用户(生疏型或熟练型)提供合适的交互功能。(生疏型或熟练型)提供合适的交互功能。(5)意外最小化:不要让用户对系统的行为意外最小化:不要让用户对系统的行为感到吃惊,感到吃惊,类似的操作应该有类似的效果,操类似的操作应该有类似的效果,操作的结果就是他所要的。不要让用户涉及到开发作的结果就是他所要的。不要让用户涉及到开发技术细节。技

    45、术细节。48西安交通大学 刘海岩规则规则2:减少用户的记忆负担:减少用户的记忆负担 (1)用户熟悉:界面所使用的术语和概念是用户熟悉:界面所使用的术语和概念是来自于用户的经验。来自于用户的经验。(2)可视的提示与导航。)可视的提示与导航。(3)在错误发生时界面应该提供有意义的反在错误发生时界面应该提供有意义的反馈,并具有上下文感知能力的在线帮助功能。馈,并具有上下文感知能力的在线帮助功能。规则规则3:保持界面的一致:保持界面的一致 显示风格一致、显示信息的设计标准一致、显示风格一致、显示信息的设计标准一致、输入约束一致、帮助的形式一致、导航的模式一输入约束一致、帮助的形式一致、导航的模式一致等

    46、等。致等等。49西安交通大学 刘海岩 2、与界面交互的类型、与界面交互的类型 Shneiderman把不同形式的交互分为把不同形式的交互分为5种类型:种类型:直接操纵直接操纵:用户在屏幕上直接与对象进行用户在屏幕上直接与对象进行 交互。交互。菜单选择:一般情况是另一个屏幕对象同菜单选择:一般情况是另一个屏幕对象同 时被选中,命令作用于这个对象。时被选中,命令作用于这个对象。表格填写:表格中的空白栏可能有相关菜表格填写:表格中的空白栏可能有相关菜 单,表格上有按钮,按下将启动相关操作。单,表格上有按钮,按下将启动相关操作。命令语言:用户发出特定指令和相关参数,命令语言:用户发出特定指令和相关参数

    47、,指示系统做什么。指示系统做什么。自然语言:用户用自然语言发出命令。自然语言:用户用自然语言发出命令。50西安交通大学 刘海岩例如:删除一个文件例如:删除一个文件 直接操纵:直接拖到回收站。直接操纵:直接拖到回收站。菜单选择:先选定这个文件,然后选定删菜单选择:先选定这个文件,然后选定删 除命令。除命令。表格填写:先填入文件名,然后表格填写:先填入文件名,然后“按按”删除删除 命令。命令。命令语言:用户发出删除指令,将文件名命令语言:用户发出删除指令,将文件名 作为参数。作为参数。自然语言:用户键入自然语言:用户键入“删除名为删除名为xxx文件文件”。51西安交通大学 刘海岩下表给出了这些交互

    48、类型的主要优缺点及可能的适用范围。下表给出了这些交互类型的主要优缺点及可能的适用范围。交互类型交互类型主要优点主要优点主要缺点主要缺点应用实例应用实例直接操纵直接操纵快速和直观的交互快速和直观的交互容易学习容易学习较难实现较难实现视频游戏视频游戏CAD系统系统菜单选择菜单选择避免用户错误避免用户错误只需要很少的键盘输只需要很少的键盘输入入对有经验用户操作较慢对有经验用户操作较慢当菜单选择很多时会变当菜单选择很多时会变得很复杂得很复杂绝大多数绝大多数一般用途一般用途的系统的系统表格填写表格填写简单的数据入口简单的数据入口容易学习容易学习占据很多屏幕空间占据很多屏幕空间库存控制库存控制个人贷款处理

    49、个人贷款处理命令语言命令语言强大灵活强大灵活较难学习较难学习差的错误管理差的错误管理自然语言自然语言适合偶然用户适合偶然用户容易扩展容易扩展需要键入的太多,需要键入的太多,理解可能有二义,系理解可能有二义,系统不可靠统不可靠52西安交通大学 刘海岩 这些交互类型可以混合使用,几种不同的这些交互类型可以混合使用,几种不同的交互类型可以用于相同的应用。如交互类型可以用于相同的应用。如windows支持支持对图标显示的文件和目录进行直接操作与菜单对图标显示的文件和目录进行直接操作与菜单选择。互联网上的用户界面一般基于选择。互联网上的用户界面一般基于HTML和和Java等语言能够把程序和页面中的构件联

    50、系起等语言能够把程序和页面中的构件联系起来,在来,在Web界面中直接操作可视化的实体是一界面中直接操作可视化的实体是一种非常有效的方法。种非常有效的方法。53西安交通大学 刘海岩3、界面设计过程、界面设计过程:54西安交通大学 刘海岩4、提供给用户的信息表示、提供给用户的信息表示 所有交互系统所有交互系统都要提供给用户某都要提供给用户某种方式的信息表示。种方式的信息表示。信息表示可以是输信息表示可以是输入信息(如文本)入信息(如文本)的直接表达,的直接表达,也也可以以图形形式表可以以图形形式表示信息。从系统中示信息。从系统中分离出信息表示的软件,使用户屏幕上信息表示的分离出信息表示的软件,使用


    注意事项

    本文(第12章 软件设计.ppt)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922