软件体系结构第7讲_第1页
软件体系结构第7讲_第2页
软件体系结构第7讲_第3页
软件体系结构第7讲_第4页
软件体系结构第7讲_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1温故知新概述管道/过滤器风格仓库风格和黑板风格分层系统风格客户服务器风格2软件体系结构

第7讲:体系结构风格(二)江贺3内容简介:分层系统风格实例数据抽象和面向对象风格基于事件的风格模型-视图-控制器风格解释器风格(虚拟机风格)信息系统的参考模型体系结构风格的选择4分层系统风格实例系统描述:劳动和社会保险管理信息系统系统的功能是完成劳动和社会保险的主要业务管理,即“五保合一”管理,包括养老保险、医疗保险、劳动就业和失业保险、工伤保险、女工生育保险。整个业务流程十分复杂,牵涉面相当广泛。例如,整个系统要与银行、企业、事业机关、医院、财政部门、税务部门、邮局等多种单位建立连接关系。5分层系统风格实例6分层系统风格实例核心层通用打印基类通用查询基类权限验证基类通用数据库连接基类字符处理基类码表维护基类数据转换基类7分层系统风格实例基层单位管理平台8分层系统风格实例业务管理系统9分层系统风格实例扩展应用层10数据抽象和面向对象风格构件:数据和操作的复合体对象连接件:函数或过程调用对象对象对象对象对象数据抽象和面向对象风格的体系结构抽象数据类型过程调用11数据抽象和面向对象风格应用:COM,CORBA等12数据抽象和面向对象风格优点:隐藏实现细节继承性,有利于重用缺点:过程调用依赖于对象标识的确定不同对象的操作关联性差13基于事件的风格(隐式调用)构件:模块连接件:对事件的显式/隐式调用agentagentagentagent广播媒介图5-6基于事件的体系结构风格声明事件监听事件监听事件声明事件14基于事件的风格(隐式调用)应用:各种基于事件响应的Windows程序15基于事件的风格(隐式调用)优点:事件广播者不必知道哪些部件会被事件影响有利于软件复用,任何构件均可以注册其相关事件系统演化、升级比较简单缺点:构件的调用不是主动的系统正确性难以推理16模型-视图-控制器风格3种构件视图:负责显示信息模型:负责维护数据,是应用程序的核心控制器:负责与用户的交互用户视图控制器模型问题领域的应用程序查看使用操作更新图5-7模型—视图—控制器风格的体系结构17模型-视图-控制器风格应用:VisualStudio提供的文档视图结构各种可以更换皮肤的软件18文档视图结构文档数据容器视图:查看数据的窗口或是和数据发生交互的窗口。

19文档视图结构单文档视图程序20文档视图结构多文档视图程序21文档/视图的核心是四个关键类:CDocument(或COleDocument)类支持用于存储或控制程序数据的对象,并为程序员定义的文档类提供基本功能。文档表示数据单元,用户一般用“文件”菜单上的“打开”命令打开它,并用“文件”菜单上的“保存”命令保存它。CView(或它的许多派生类之一)为程序员定义的视图类提供基本功能。视图被附加到文档并在文档和用户之间充当中介:视图在屏幕上呈现文档的图像并将用户输入解释为对文档的操作。视图还为打印和打印预览呈现图像。CFrameWnd(或其变体之一)支持在文档的一个或多个视图周围提供框架的对象。CDocTemplate(或CSingleDocTemplate或CMultiDocTemplate)支持一个对象,该对象协调给定类型的一个或多个现有文档并对创建该类型的正确文档、视图和框架窗口对象进行管理。文档视图结构22文档视结构带来的好处主要有:首先是将数据操作和数据显示、用户界面分离开。这是一种“分而治之”的思想,这种思想使得模块划分更加合理、模块独立性更强,同时也简化了数据操作和数据显示、用户界面工作。MFC在文档/视结构上提供了许多标准操作界面,包括新建文件、打开文件、保存文件、打印等,减轻了用户的工作量。支持打印预览和电子邮件发送功能。以下情况不宜采用文档视结构:不是面向数据的应用或数据量很少的应用程序,不宜采用文档/视结构。如一些工具程序包括磁盘扫描程序、时钟程序,还有一些过程控制程序等。不使用标准的窗口用户界面的程序,象一些游戏等。文档视图结构23模型-视图-控制器风格优点:简化系统设计,界面友好缺点:适用范围比较狭隘,局限在用户界面软件开发领域24解释器风格(虚拟机风格)构件;被解释程序执行引擎执行引擎的当前状态被解释程序的当前状态连接件:过程调用存储器访问25解释器风格(虚拟机风格)26解释器风格(虚拟机风格)应用:各种虚拟机,如Java虚拟机各种脚本语言的解释器,如Perl等27中间代码:介乎源语言与目标代码之间,比源语言简单,比目标代码复杂。区分编译器的前端与后端,方便提出针对新机器的编译器。可以设计针对中间代码的优化器。解释器的功能作用说明词法分析器语法分析器语义分析器中间代码生成器代码优化器代码生成器解释器操作系统源程序记号流语法树语法树中间代码优化后中间代码目标代码28编译阶段proceduresortvara:array[0..9]ofinteger;x:integer;Beginx:=a[3];End;词法分析器语法分析器记号流语法树语义分析器中间代码生成建立符号表、查询符号表过程sort的符号表“x”“a”表头空sort数组整数515↑15=↑8+3查符号表,确定变量是否已经定义解释器的功能作用说明29编译后、运行前↑15=↑8+3。。。。。。。。此时只有可执行的代码,没有符号表了,更没有运行栈(活动记录栈)可执行代码解释器的功能作用说明30运行阶段

返回值和参数a[0]a[1]a[2]…a[9]控制链访问链和机器状态代码段静态数据区x↑15=↑8+3515。。。。。。。。加载可执行代码执行顺序运行栈被解释程序的当前状态执行引擎的当前状态正在被解释的程序执行引擎解释器的功能作用说明31解释器风格(虚拟机风格)优点:应用程序的可移植性和程序设计语言的跨平台能力对硬件进行仿真缺点:效率比较低32信息系统的参考模型图5-16ISO的OSI参考模型33体系结构风格的选择问题描述:34体系结构风格的选择仓库风格优点:数据共享适合采用高效的表达方式计算分布于独立模块,符合呈现问题的自觉思维习惯缺点:不易修改,共享数据表示将影响到所有模块输入移位排序输出字符串移位后单词排序后单词35体系结构风格的选择数据抽象风格优点:易于修改,数据表示和算法可以在单独模块修改而不会对模块间产生相互影响更好地支持重用缺点:不易更改系统功能,除非打破模块界限或增加新的模块修改现存模块将导致模块简洁性和完整性受到破坏输入数据串

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论