软件开发过程与质量保证-4-软件设计2009(2)资料.ppt
《软件开发过程与质量保证-4-软件设计2009(2)资料.ppt》由会员分享,可在线阅读,更多相关《软件开发过程与质量保证-4-软件设计2009(2)资料.ppt(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件开发过程与质量保证-4-软件设计2009(2)1.1.1.1.软件体系结构的设计软件体系结构的设计软件体系结构的设计软件体系结构的设计v构建体系结构的目的构建体系结构的目的重用重用系统能够重用以前的代码和设计,从而提高开发效率;系统能够重用以前的代码和设计,从而提高开发效率;扩展扩展在系统能够保持结构的稳定的前提下很容易地扩充功在系统能够保持结构的稳定的前提下很容易地扩充功能和提升性能;能和提升性能;简洁简洁建立一个相对小的、易于理解的掌握的模型,并描述建立一个相对小的、易于理解的掌握的模型,并描述了系统如何构成以及其构建如何一起工作。了系统如何构成以及其构建如何一起工作。v 体系结构三要
2、素体系结构三要素程序构件(模块)的层次结构程序构件(模块)的层次结构 构件之间交互的方式构件之间交互的方式 数据的结构数据的结构v体系结构风格(模型)体系结构风格(模型)根据各子系统如何共享数据、如何分布、如何相互根据各子系统如何共享数据、如何分布、如何相互交互,可开发更加特定的风格(模型)。交互,可开发更加特定的风格(模型)。v参考风格的种类参考风格的种类C2风格风格管道管道/过滤器风格过滤器风格数据抽象和面向对象风格数据抽象和面向对象风格基于事件的隐式调用风格基于事件的隐式调用风格层次系统风格层次系统风格客户机客户机 服务器风格服务器风格(1 1 1 1)C2C2C2C2风格风格风格风格v
3、C2是一种基于分层结构,事件驱动的软件构架风格。是一种基于分层结构,事件驱动的软件构架风格。基本元素是构件基本元素是构件(Component)和连接器和连接器(Connector)v组成规则组成规则系统中的构件和连接件都有一个顶部和一个底部系统中的构件和连接件都有一个顶部和一个底部;构构件的顶端接口用于发出请求、接收结果,底端接口件的顶端接口用于发出请求、接收结果,底端接口则用于接收请求发出结果;则用于接收请求发出结果;构件的顶部应连接到某连接件的底部,构件的底部构件的顶部应连接到某连接件的底部,构件的底部则应连接到某连接件的顶部,而构件与构件之间的则应连接到某连接件的顶部,而构件与构件之间的
4、直接连接是不允许的直接连接是不允许的;一个连接件可以和任意数目的其它构件和连接件连一个连接件可以和任意数目的其它构件和连接件连接接;当两个连接件进行直接连接时,必须由其中一个的当两个连接件进行直接连接时,必须由其中一个的底部到另一个的顶部底部到另一个的顶部v特点特点基底独立性基底独立性系统中的构件可实现应用需求,并能将任意复杂度的系统中的构件可实现应用需求,并能将任意复杂度的功能封装在一起功能封装在一起;消息通讯机制消息通讯机制所有构件之间的通讯是通过以连接件为中介的异步消所有构件之间的通讯是通过以连接件为中介的异步消息交换机制来实现的息交换机制来实现的;实现与构架分离实现与构架分离构件相对独
5、立,构件之间依赖性较少。系统中不存在构件相对独立,构件之间依赖性较少。系统中不存在某些构件将在同一地址空间内执行,或某些构件共享某些构件将在同一地址空间内执行,或某些构件共享特定控制线程之类的相关性假设。特定控制线程之类的相关性假设。v 该体系结构被用于当输入数据被通过一系列计算该体系结构被用于当输入数据被通过一系列计算或操纵构件变换为输出数据情形。或操纵构件变换为输出数据情形。(2 2 2 2)数据流体系结构(管道和过滤器模型)数据流体系结构(管道和过滤器模型)数据流体系结构(管道和过滤器模型)数据流体系结构(管道和过滤器模型)(3 3 3 3)数据抽象和面向对象风格)数据抽象和面向对象风格
6、)数据抽象和面向对象风格)数据抽象和面向对象风格v描述描述这种风格建立在数据抽象和面向对象的基础上,数这种风格建立在数据抽象和面向对象的基础上,数据的表示方法和它们的相应操作封装在一个抽象数据的表示方法和它们的相应操作封装在一个抽象数据类型或对象中。据类型或对象中。v实例实例-CORBA(4 4 4 4)基于事件的隐式调用风格)基于事件的隐式调用风格)基于事件的隐式调用风格)基于事件的隐式调用风格v描述描述其思想是构件不直接调用一个过程,而是触发或广播一个或其思想是构件不直接调用一个过程,而是触发或广播一个或多个事件。系统中的其它构件中的过程在一个或多个事件中多个事件。系统中的其它构件中的过程
7、在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程,这样,一个事件的触发就导致了另一模块中的的所有过程,这样,一个事件的触发就导致了另一模块中的过程的调用。过程的调用。v例子例子最早出现在守护进程、约束满足性检查和包交换网络等方面最早出现在守护进程、约束满足性检查和包交换网络等方面的应用程序中。的应用程序中。(5 5 5 5)分层系统模型(抽象机模型)分层系统模型(抽象机模型)分层系统模型(抽象机模型)分层系统模型(抽象机模型)v描述描述也称为按服务进行划分。也称为按服务进行划分。层是对模型中不同抽象层次上的逻辑
8、结构进行分组层是对模型中不同抽象层次上的逻辑结构进行分组的一种特定方式。的一种特定方式。系统按照层次结构组织,每一层向它的上一层提供系统按照层次结构组织,每一层向它的上一层提供服务,同时又是它的下层的客户。服务,同时又是它的下层的客户。系统内的交互限定在邻接层之间。系统内的交互限定在邻接层之间。除了邻接层,一个内部层次对于其他外部层次是隐除了邻接层,一个内部层次对于其他外部层次是隐藏的。藏的。邻接层的关系并不严格。邻接层的关系并不严格。v例如例如网络协议的参考模型网络协议的参考模型OSIv使用层有助于解决的问题使用层有助于解决的问题源码的变更波及整个系统;源码的变更波及整个系统;应用逻辑与用户
9、界面交织在一起,无法复用于其他应用逻辑与用户界面交织在一起,无法复用于其他不同界面或分布到其他处理结点之上;不同界面或分布到其他处理结点之上;潜在的一般性技术服务或业务逻辑与更特定于应用潜在的一般性技术服务或业务逻辑与更特定于应用的逻辑交织在一起,无法被复用、分布到其他结点的逻辑交织在一起,无法被复用、分布到其他结点或方便地使用不同实现进行替换;或方便地使用不同实现进行替换;不同关注领域之间高度耦合,难以为不同开发者清不同关注领域之间高度耦合,难以为不同开发者清晰地界定和分配任务。晰地界定和分配任务。v信息系统逻辑架构信息系统逻辑架构中常见的层中常见的层 v功能划分与层次划分之间的关系功能划分
10、与层次划分之间的关系 层次划分是对构架的横向分解,功能划分是对层次划分是对构架的横向分解,功能划分是对构架的纵向分解。它们之间的关系,如图所示。构架的纵向分解。它们之间的关系,如图所示。vv描述描述 典型的分布式系统模型典型的分布式系统模型 合作的双方都会利用各自的计算能力负责一定的计算工作,从合作的双方都会利用各自的计算能力负责一定的计算工作,从而提高整个系统的能力和效率。而提高整个系统的能力和效率。vv组成部分组成部分 一组功能各自独立的服务器一组功能各自独立的服务器 为其他子系统提供服务。如打印服务器为其他子系统提供服务。如打印服务器,文件服务器文件服务器,编译服务器编译服务器等。等。一
11、组客户机一组客户机 并发访问多个服务器提供的服务。并发访问多个服务器提供的服务。或存在一些客户机可并发执行的客户机程序。或存在一些客户机可并发执行的客户机程序。一个网络一个网络 使得客户机能够访问服务器。使得客户机能够访问服务器。(6 6 6 6)客户机)客户机)客户机)客户机 服务器模型(服务器模型(服务器模型(服务器模型(C/SC/SC/SC/S)CatalogueCatalogueserverserverVodioVodioserverserverPicturePictureserverserverHypertextHypertextserverserverCatalogueCatalo
12、gueFilm clipFilm clipfilesfilesDigitizedDigitizedphotographsphotographsHypertextHypertextwebwebWide-bandwidth networkWide-bandwidth network Client 1Client 1Client 2Client 2Client 3Client 3Client 4Client 4Film&Picture library system Film&Picture library system Film&Picture library system Film&Picture
13、 library system 的体系结构的体系结构的体系结构的体系结构v两层客户两层客户/服务器结构服务器结构系统的逻辑分层分别实现在不同的物理层(物理机系统的逻辑分层分别实现在不同的物理层(物理机器)上,通常将这种物理层次上的划分称为客户端器)上,通常将这种物理层次上的划分称为客户端程序和服务器端程序程序和服务器端程序逻辑分层与物理分层的映射逻辑分层与物理分层的映射胖客户端结构胖客户端结构客户端负责用户界面和应用逻辑部分,工作繁重客户端负责用户界面和应用逻辑部分,工作繁重瘦客户端结构瘦客户端结构服务器端负责应用逻辑和数据访问部分,客户端工作简单服务器端负责应用逻辑和数据访问部分,客户端工作
14、简单常被称为常被称为B/S结构结构介于两者之间介于两者之间客户端增加了对用户请求的处理客户端增加了对用户请求的处理两层客户两层客户两层客户两层客户/服务器结构服务器结构服务器结构服务器结构v三层三层/多层应用模型多层应用模型多层模型是两层多层模型是两层C/S模型的扩展模型的扩展应用逻辑部分被分离出来成为单独的一层(或多层)应用逻辑部分被分离出来成为单独的一层(或多层)这些中间层由一些完成应用业务功能的分布式对象这些中间层由一些完成应用业务功能的分布式对象组建构成组建构成三层客户/服务器结构多层客户/服务器结构v数据设计的内容数据设计的内容数据结构的设计数据结构的设计文件的设计文件的设计数据库的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 过程 质量保证 软件设计 2009 资料
限制150内