软件体系结构

上传人:daj****de2 文档编号:141854985 上传时间:2022-08-24 格式:DOCX 页数:11 大小:254.59KB
收藏 版权申诉 举报 下载
软件体系结构_第1页
第1页 / 共11页
软件体系结构_第2页
第2页 / 共11页
软件体系结构_第3页
第3页 / 共11页
资源描述:

《软件体系结构》由会员分享,可在线阅读,更多相关《软件体系结构(11页珍藏版)》请在装配图网上搜索。

1、课程设计(综合实验)报告( 2015 - 2016 年度第 二 学期 )名称:课程设计题目:软件体系结构设计与分析院系:计算机系班级:学号:学生姓名:(你的签名)指导教师:王晓辉廖尔崇设计周数:(1周)成绩:日期:2016 年 6 月 19 日一、课程设计(综合实验)的目的与要求软件体系结构是软件工程专业的专业必修课。软件体系结构是软件工程方法 学的一个分支,开设本课程的目的是使学生在了解了软件工程基础原理、方法、 过程的基础上进一步掌握软件结构设计的基本理论和方法,培养设计软件结构的 基本能力。本课程的基本内容包括软件体系结构的基本概念、发展现状、软件体 系结构风格、传统的软件体系结构、现代

2、软件体系结构等。本课程实验的目标是培养学生的基础编程能力,其培养目标是程序员;软件 工程课程使学生上升到软件系统的认识,其培养目标是软件工程师。本课程教学 内容属于软件工程的概要设计阶段的方法学,其培养目标是软件架构师。要求完成实验指导书的实验一实验五(验证性实验),实验九实验十一(设计综合性 实验)。二、设计(实验)正文实验一 经典软件体系结构风格(一)1. 管道过滤器风格(1)概念:管道 过滤器模式的体系结构是面向数据流的软件体系结构。它最典型的应 用是在编译系统。一个普通的编译系统包括词法分析器,语法分析器,语义分析与中间代码生 成器,优化器,目标代码生成器等一系列对源程序进行处理的过程

3、。人们可以将编译系统看作 一系列过滤器的连接体,按照管道 过滤器的体系结构进行设计。此外,这种体系结构在其它一 些领域也有广泛的应用。因此它成为软件工程和软件开发中的一个突出的研究领域。3)流程图2. 数据抽象和面向对象软件体系结构(体验继承结构)(1) 概念:面向对象编程是一种计算机编程架构。OOP的一条基本原则是计算机程序是 由单个能够起到子程序作用的单元或对象组合而成。 OOP 达到了软件工程的三个主要目 标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据 和向其它对象发送信息。(2) 体系结构模型:对象对象过程调用(3)流程图开始本例定义了一个抽象类Grap

4、h,并在其中定义了一个抽象的计算面积的函数Area(),通 过子类中的具体图像以及数据来计算。实验二 经典软件体系结构风格(二)1. 基于事件的隐式调用风格概念:基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广播 一个或多个事件。系统中的其它构件中的过程在一个或多个事件中注册,当一个事件被触 发,系统自动调用在这个事件中注册的所有过程,这样,一个事件的触发就导致了另一模 块中的过程的调用。从体系结构上说,这种风格的构件是一些模块,这些模块既可以是一些过程,又可以 是一些事件的集合。过程可以用通用的方式调用,也可以在系统事件中注册一些过程,当 发生这些事件时,过程被调用。基于事

5、件的隐式调用风格的主要特点是事件的触发者并不知道哪些构件会被这些事件 影响。这样不能假定构件的处理顺序,甚至不知道哪些过程会被调用,因此,许多隐式调 用的系统也包含显式调用作为构件交互的补充形式。优点:(1)为软件重用提供了强大的支持。当需要将一个构件加入现存系统中时,只 需将它注册到系统的事件中。(2) 为改进系统带来了方便。当用一个构件代替另一个构件时,不会影响到其它构件 的接口。隐式调用系统的主要缺点有:(1) 构件放弃了对系统计算的控制。一个构件触发一个事件时,不能确定其它构件是 否会响应它。而且即使它知道事件注册了哪些构件的构成,它也不能保证这些过程被调用 的顺序。(2) 数据交换的

6、问题。有时数据可被一个事件传递,但另一些情况下,基于事件的系 统必须依靠一个共享的仓库进行交互。在这些情况下,全局性能和资源管理便成了问题。(3) 既然过程的语义必须依赖于被触发事件的上下文约束,关于正确性的推理存在问 题。流程图:按钮与动作事件是常用控制组件的事件,利用 ()函数将监听器注册给了按钮,并通过 actionPerformed()函数判断事件是否是点击按钮触发并产生相应的响应,该函数会遍历 注册到按钮监听器集中的所有对象并回调方法产生相应的响应。2. 层次软件体系结构(1) 概念:层次结构是一种操作系统的组织结构,其提供了一种隔离操作系统 各层功能的模型,是根据信息的类型、级别、

7、优先级等划分并按照特定的 规则排列的一群硬件或软件项目。最大特点就是将一个大型复杂的系统分 解成若干单向依赖的层次,即每一层都提供一组功能且这些功能只依赖该 层以内的的各层。( 2) 体系结构:说明:每层之间都是有相应的过程调用,而且每层之中也有对应的构件实验四 MVC 风格(1)概念:MVC 全名是 Model View Controller,是模型(model)视图(view)控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织 代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不 需要重新编写业务逻辑。MVC被独特

8、的发展起来用于映射传统的输入、处理和输出功能在 一个逻辑的图形化用户界面的结构中。(2)上机流程:本实验需要自行添加 CarFiles 和 CarImages 文件夹并向其中添加所需的文 件,然后才能运行(用myeclipse)。然后是修改了部分代码(流程图下面)protected Zmagelcon cr eat elnMagelcon. ( St-rLng path try inugURL = new File (patri) . tcJkl ();:-oatclL (MalfornedURL Except ion. e)-/ TODO目动生成的catch块 己匚己 U 亡();实验九 C

9、2 模式1概念:C2体系结构风格可以概括为:通过连接件绑定在一起的按照一组规则运作的并行构 件网络。C2风格中的系统组织规则如下:(1)系统中的构件和连接件都有一个顶部和一个底部;(2)构件的顶部应连接到某连接件的底部,构件的底部则应连接到某连接件的顶部, 而构件与构件之间的直接连接是不允许的;(3)个连接件可以和任意数目的其它构件和连接件连接;(4)当两个连接件进行直接连接时,必须由其中一个的底部到另一个的顶部。2特点C2风格是最常用的一种软件体系结构风格。从C2风格的组织规则和结构图中, 我们可以得出,C2风格具有以下特点:(1)系统中的构件可实现应用需求,并能将任意复杂度的功能封装在一起

10、;(2)所有构件之间的通讯是通过以连接件为中介的异步消息交换机制来实现的;(3)构件相对独立,构件之间依赖性较少。系统中不存在某些构件将在同一地址空间 内执行,或某些构件共享特定控制线程之类的相关性假设。的体系结构:4程序类图:5说明:编写了一个类,能够直接计算表达式,并能够将计算结果直接发送给cal,并 显示出来。实验十 黑盒模型1概念:黑盒模型即仓库风格,在仓库风格中,有两种不同的构件:中央数据结构说 明当前状态,独立构件在中央数据存贮上执行,仓库与外构件间的相互作用在系统中会有 大的变化。控制原则的选取产生两个主要的子类。若输入流中某类时间触发进程执行的选择,则 仓库是一传统型数据库;另

11、一方面,若中央数据结构的当前状态触发进程执行的选择,则 仓库是一黑板系统。黑板系统主要由三部分组成:(1)知识源。知识源中包含独立的、与应用程序相关的知识,知识源之间不直接进行 通讯,它们之间的交互只通过黑板来完成。(2)黑板数据结构。黑板数据是按照与应用程序相关的层次来组织的解决问题的数据, 知识源通过不断地改变黑板数据来解决问题。(3)控制。控制完全由黑板的状态驱动,黑板状态的改变决定使用的特定知识。2依赖关系图:歳 Te&tB lackBax4SA侖 Program毬 Make BmpCarrtnol屯 MyThmeadBlock侖 Object I n WondMatriK龟 Navi

12、gator% Workitem宓 MainWorid先 WoridMatrix3. 小车行走路线函数代码:public void makeNextWorkItem()count+;if (count =600 - a * 60 & e = 1)(new WorkItem(1, 0, * ); a+;e+;else if 0y = 600 - b * 60 & e = 2) (new WorkItem(1, 0, * ); b+;e+;else if 0.x = c * 60 & e = 3)(new WorkItem(1, 0, * );C+;e+;else if 0.y = 600 - a

13、* 60等,小车的方向变量为e,每次当e 变化时他的行走方向就改变*n,即(new WorkItem(1, 0, * ),并且每次改变方向, 他改变方向前所行走距离都会减少60,这样逐渐缩小他探索路线的圈的范围,最 终探索全部区域。实验一 SOA模式1概念:面向服务的体系结构(SOA)是一个组件模型,它将应用程序的不同功能单元 (称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式 进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各 种这样的系统中的服务可以以一种统一和通用的方式进行交互。它可以根据需求通过网络 对松散耦合的粗粒度应用组件进行

14、分布式部署、组合和使用。服务层是SOA的基础,可以 直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。2优势:对SOA的需要来源于需要使业务IT系统变得更加灵活,以适应业务中的改 变。通过允许强定义的关系和依然灵活的特定实现,IT系统既可以利用现有系统的功能, 又可以准备在以后做一些改变来满足它们之间交互的需要。3特征:SOA的实施具有几个鲜明的基本特征。实施SOA的关键目标是实现企业IT资 产的最大化作用。要实现这一目标,就要在实施SOA的过程中牢记以下特征:可从企业外部访问,随时可用,粗粒度的服务接口分级,松散耦合可重用的服务,服 务接口设计管理,标准化的服务接口,支持各种消息

15、模式,精确定义的服务契约。5. 程序结构:三、课程设计(综合实验)总结或结论通过本次实验,我对于软件体系结构的理解进一步加深,同时也了解到自己与其他人 之间的差距,非常感谢实验过程中老师的悉心教导,让我能够完成这次实验设计,下面请 允许我具体说一下本次实验的收获。实验一五是验证性实验,由此我对于他们所对应的各种风格都有了进一步的理解,尤 其是管道过滤器风格和MVC风格,管道过滤器风格让我理解了信息发送与接收的基础应用, 这对于以后的发展应该很有帮助,MVC风格的程序则是观察时间最长的程序,让我理解个 多个用户界面的各种联系以及对于信息的获取和文件路径的获取都有新的理解,而且不仅 仅是对于程序的

16、理解,这个验证性实验也让我明白了指导书给的代码不一定是正确的,要 通过自己的仔细观察以及程序的错误提示来找出错误,可以说收益很大。实验九, C2 风格这里并不是很清楚,不过通过同学的协助总算是完成了这个实验,各 种类之间的关系也比较复杂在王老师所给的demo中给cal类新增加了多个三元式,并增加 了 analysis 类来进行代码的复用。实验十是黑盒测试,风格为仓库,这个实验主要还是体现在小车行进路线的策划上,初 始化小车,然后通过定义多个变量,来改变小车的每段的行进路程和小车的行进方向,最 终探索完全部黑色区域,同学们的方法很多,我也是与其他同学共同完成了这次实验,通过本次实验我对于小车坐标的定义以及小车方向的数学函数定义有了更深的理解,还同时 复习了 vs的使用。实验十一是SOA风格,即面向服务的体系结构,本次实验是以web服务为例来获取天 气信息的,程序比较简单,也看着王老师亲自给同学们演示,理解的还算不错,但是对于 C#添加引用这个还是第一次接触,如果不是老师的演示的话恐怕根本做不成功,对于信息 的获取也有了新的理解,老师提供给的网站用处也很大,以后应该还会用到。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!