软件体系结构6体系结构的一般描述.ppt
- 文档编号:2196772
- 上传时间:2022-10-27
- 格式:PPT
- 页数:68
- 大小:829KB
软件体系结构6体系结构的一般描述.ppt
《软件体系结构6体系结构的一般描述.ppt》由会员分享,可在线阅读,更多相关《软件体系结构6体系结构的一般描述.ppt(68页珍藏版)》请在冰豆网上搜索。
SoftwareArchitecturePerspectiveonanEmergingDiscipline王备战13959238599(M)0592-2580589(O)2Noparadigmisperfect.thatswhytherearesomanyofthem.3ChapterSix体系结构的一般描述目前整个软件界对于软件体系结构的组成要素和结构描述在软件理论和工程实践中,人们已经在采用各种表达软件构成的描述形式,构成了软件设计结构表达的一些规范、术语。
不统一、不规范依赖于设计者的知识、经验和技巧研究和建立形式化、规范化体系结构描述是必须的目前还没有关于体系结构的普遍接受的分类标准,也没有完善的体系结构理论基于目前的软件结构的知识,仍然可以列举出一些常见和正在应用的体系结构术语和概念、列举出在现实设计实践中广泛采用的软件结构,术语、概念等4ChapterSix体系结构的一般描述Contents:
通用的一般体系结构的描述方法主子程序数据抽象和面向对象层次结构理论的形式化方法ZNotationCSP类属理论化学抽象机模型软件体系结构集成环境UniConDarwinWrightACME软件工程设计方法与体系结构描述56.1主程序与子程序结构化思想和概念的提出后,主程序和子程序成为主要的程序设计思想。
系统结构被映射为主程序和一系列具有调用关系的子过程的集合。
这是软件设计最直接、最基本的结构关系。
更复杂的设计包含了库、包、模块、程序覆盖等概念。
66.1主程序与子程序主程序与子程序之优点是一切软件结构的最本质、最基础的形式由于该模型基于设计模型,因此只要设计得当,代码的效率可以得到最大限度的发挥和提高。
主程序与子程序之缺点部件的连接关系不明显。
/简单的调用的背后实际上可能较为复杂。
代码维护性差。
/简单的调用关系为维护带来了困难。
代码的复用性差。
/单纯的过程不能反映复杂的结构,难以成为复用的单元和基础。
结论该方法存在的问题导致了各种软件设计方法的研究和提出,导致了对软件体系结构的研究和发展,OO方法是最主要的突破和发展。
76.2数据抽象和面向对象概述数据抽象和面向对象设计是在主程序和子过程设计基础上建立和发展起来的重要的软件描述方法。
数据抽象是面向对象设计的理论基础类和对象是该描述方法的基础粒度,而非模块或者包。
本质上没有逃出主子程序的思想面向对象已经成为大多数软件系统设计的基础和出发点。
一些重要的软件设计思想都是在此基础上提出来的86.2数据抽象和面向对象基本要点和特征类是数据抽象的载体,类由数据成员和操作方法构成。
(封装ADT)对象是类的实例,是软件系统的可运行实体。
类的继承性是一种复用机制。
如果基类的行为已经是可证明的,那么证明导出类的正确性就变得简单多了。
多态性是
(1)同一个行为名,作用在不同的对象上,操作细节不同的性质;
(2)同名方法对不同参数的处理过程不一样。
对象天然的并发性,作为独立可运行的实体,对象与对象之间是相互独立、同时存在的,各具生存状态的。
动态连接:
关联性在运行时刻解决的机制。
软件系统概念的统一性、单一性,软件系统中的一切都是对象。
96.2数据抽象和面向对象对象的实现类型普通数据对象持久对象界面对象组件:
实现软件系统运行模块组装和连接的技术。
二进制对象对象库:
MFC、JFCetc.106.2数据抽象和面向对象设计时的考虑在以下情况下可以考虑使用面向对象的设计方法设计问题允许被分解成经过封装而独立运行,而又相互关联的对象集合。
相同的部件在系统中运行可能出现多次。
相同的部件可能在不同的系统中获得应用。
系统开发工作需要团队完成时候,把系统分割为对象的集合特别有利于工作的划分和实施,有利于保证开发的质量。
系统元素之间的关联错综复杂以至于妨碍了系统的清晰结构和划分。
这时候尝试以对象的观点对系统进行重新分解以期获得突破。
116.2数据抽象和面向对象对象的运行机制对象的生存表现在它所占用的存储空间和状态的变化,对象的运行机制表现在:
在发生方法调用和获得处理器控制权之前,对象是处在生存的冻结状态。
激发对象处于活跃状态的唯一方法就是调用其操作方法(消息机制)。
在复杂系统中,对象不仅起到信息保存和传递的作用。
它更是构成系统存在和生命力表现的部件和连接关系的基础形式。
系统的各种部件都是对象,他们在系统中起到的作用不同、发挥的效用的时刻不同、受到的控制不同,但在计算机系统中运行都会受到操作系统的调用、外来事件的激发、其他部件的服务请求。
126.2数据抽象和面向对象面向对象的优缺点优点信息隐藏保证了对象行为的可靠性,CalledByMethods。
受封装的独立运行对象把数据和操作捆绑在一起,提高了对象作为一种模块的内聚力,使系统更容易分解成相互作用又相互独立的对象集合。
将操作请求和实现细节的分离使得可能在不影响调用者情况下改变操作的实现,为系统的维护和升级提供了良好的条件。
继承性和封装性提高了复用的可能性和方便性。
缺点对象之间方法的调用必须知道被调用者的标识,造成系统维护上的困难如果系统分析初期就使用面向对象的方法则可能大大加剧系统分析的复杂性136.3层次结构概述Layeringisoneofthemostcommontechniquesthatsoftwaredesignersusetobreakapartacomplicatedsoftwaresystem.Youseeitinmachinearchitectureswherelayersdescendfromaprogramminglanguagewithoperatingsystemcalls,intodevicedriversandCPUinstructionsets,intologicgatesinsidechips.NetworkinghasFTPlayeredontopofTCP,ontopofIP,ontopofEthernet.层次化是一种复杂系统设计的带普遍性的设计原则。
层次化设计来源于2个原因事物总是从最简单的、带基础的层次开始发生的来自众多复杂软件设计的实践,几乎所有的系统都是从层次化结构建立起来的146.3层次结构Breakingdownasystemintolayershasanumberofimportantbenefits:
Youcanunderstandasinglelayerasacoherentwholewithoutknowingmuchabouttheotherlayers.YoucanunderstandhowtobuildanFTPserviceontopofTCPwithoutknowingthedetailsofhowEthernetworksYoucansubstitutelayerswithalternativeimplementationsofthesamebasicservices.AnFTPservicecanrunoverEthernet,PPP,orwhateveracablecompanyuseswithoutchange.Youminimizedependenciesbetweenthelayers.Ifthecablecompanychangesitsphysicaltransmissionsystem,providingtheymakeIPworkwedonthavetoalterourFTPservice.Layersmakegoodplacesforstandardization.TCPandIParestandardsbecausetheydefinehowtheirlayersshouldoperate.Onceyouhavealayerbuiltyoucanuseitformanyhigherlevelservices.SoTCP/IPisusedbyFTP,telnet,SSH,http.Otherwiseallofthesehigherlevelprotocolswouldhavetowritetheirownlowerlevelprotocols156.3层次结构Layeringisanimportanttechnique,buttherearedownsides.Layersencapsulatesomethingswell,butnotall.Asaresultyousometimesgetcascadingchanges.TheclassicexampleofthisinalayeredenterpriseapplicationisaddingafieldthatneedstodisplayontheUI,beinthedatabase,andthusbeaddedtoeverylayerinbetween.Extralayerscanharmperformance.Ateverylayerthingstypicallyneedtobetransformedfromonerepresentationtoanother.Howevertheencapsulationofunderlyingfunctionoftengivesyouefficiencygainsthatmorethancompensate.Alayerthatcontrolstransactionscanbeoptimizedandwillthenmakeeverythingfaster.Butthehardestpartofalayeredarchitectureisdecidingwhatlayerstohaveandwhattheresponsibilityofeachlayershouldbe.166.3层次结构适应的设计问题一个系统的设计是由一系列高层和低层处理构成的,高层操作依赖于低层,低层的操作要处理诸如硬件操作、传感、从通信线路中读信号等。
系统需求描述了高层的任务,高层任务不能直接映射在平台上,因为他们太复杂不能在平台上直接运行。
为了完成系统设计需要考虑的因素源代码的修改会影响整个系统,应该被限定在一个部件内部而不造成其他影响接口应当稳定,甚至可以标准化系统的构成应该灵活、可更换将来有必要用当前的低层设计来支持其他系统的设计穿越部件边界的操作会降低系统性能系统的开发需要划分成多个部分,比如由团队人员开发时。
176.3层次结构设计结构系统分成几个层次并且他们一层层地叠加起来最下面的抽象层称为第一层,是系统的基础最上面的层次一般称为N层这种结构类似于堆栈或者洋葱的层结构,每一独立的层都保护着较低层次不被更高层次直接访问客户N层N1层1层层次模型的结构关系使用183层2层1层6.3层次结构设计结构(续)部件3.1部件3.2部件3.3部件2.1部件2.2部件2.3部件1.1部件1.2部件1.3图:
层次模型结构举例通过设计统一的层调用接口对层进行保护通过设计统一的层调用接口对层进行保护通过设计统一的层调用接口对层进行保护196.3层次结构层次结构的特性调用请求总是将高层请求映射成低层的更基础的操作。
NN121(调用直到能完成任务为止)。
自顶向下的信息和控制通常被描述成“请求”。
从层
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 体系结构 一般 描述