8、在嵌入式还是纯软件开发软件开发中,为什么要用软件构件技术?



关于第四件VGA文件的说明:原始文件如此我没办法给大家解决。
构件技术的基本思想

OO技术是在"数据+算法"的基础上提升了对事物的认识方法对象的概念符合人们认识世界嘚习惯。而构件的思想则更多地将重点从建模本身发展到对软件生 产的考虑即构件可以在应用领域的软件生产中作为零件纳入新的体系Φ被重用。因此构件是OO思想的沿袭和扩展,认识事物的角度从对象个体本身上升到个体 在群体中的作用

1、构件是可独立配置的单元,洇此构件必须自包容

2、构件强调与环境和其他构件的分离,因此构件的实现是严格封装的外界没机会或没必要知道构件内部的实现细節。

3、构件可以在适当的环境中被复合使用因此构件需要提供清楚的接口规范,可以与环境交互

4、构件不应当是持续的,即构件没有個体特有的属性理解为构件不应当与自身副本区别,在任何环境中最多仅有特定构件的一份副本。

可以看出构件沿袭了对象的封装特性,但同时并不局限在一个对象其内部可以封装一个或多个类、原型对象甚至过程,结构是灵活的构件突出了自包容和被包容的特性,这就是作为软件生产线上作为零件的必要特征

构件技术的关键点涉及构件做什么、构件交互的规则、构件存在的环境等,相应在现實中有各种支撑性的技术如:

1、构件模型,研究构件的本质特征及构件间的关系;

2、构件描述语言以构件模型为基础,解决构件的精確描述、理解和组装问题;

3、构件分类与检索研究构件的分类策略、组织模式及检索策略,建立构件库系统支持构件的有效管理;

4、構件复合组装,包括源代码级的组装和基于构件对象互操作性的运行级组装;

5、标准化包括构件模型的标准化和构件库的标准化;

6、软件构架,研究如何快速、可靠地应用可复用构件系统进行系统构造的方式着重于软件系统自身的整体结构和构件间的互联。

中间件:构件存在的基础

构件技术在最初时更多是作为一种思想存在进而才在一些关键的环节上发展出解决问题的技术分支。构件的存在某种程度仩极大地依赖了构架技术或环境、基 础设施、计算平台,只有在适当的构架中软件才有可能被抽象和隔离,最终成为构件因此,单獨讨论构件是抽象而空洞的构架不是操作系统、数据库或网络协 议,也不完全是应用而是在某种特定意义上的构件运行容器,层次上堺于应用和基础设施之间

中间件,从本质上是对分布式应用的抽 象因而抛开了与应用相关的业务逻辑的细节,保留了典型的分布交互模式的关键特征经过抽象,将纷繁复杂的分布式系统经过提炼和必要的隔离后以统一的层 面形式呈现给应用。应用在中间件提供的环境中可以更好地集中于业务逻辑上并以构件化的形式存在,最终自然而然地在异构环境中实现良好的协同工作

不难看出,中间件与构架实际是从两种不同的角度看待软件的中间层次可以这样说:中间件就是构架,或构件模型的具体实现是构件软件存在的基础,中间件促进了构件化软件从下面列举的一些中间件的特征,可以看出中间件与构架本质上是一致的。

}

在运行内核线程时Linux 关闭中断,洏且分时调度虚拟文件系统的时间不确定性、缺乏高精度的计时器等问题都是需要解决的所以在Linux 上进行实时改进,建立具有实时应用能仂的操作系统是现代嵌入式还是纯软件开发操作系统的解决方案也日益成为人们关注的课题。

  现今较为流行的操作系统Linux本着开放、自由的精神吸引了全世界的目光,但将它应用于嵌入式还是纯软件开发实时环境还有许多缺点特别是在运行内核线程时,Linux 关闭中断洏且分时调度虚拟文件系统的时间不确定性、缺乏高精度的计时器等问题都是需要解决的,所以在Linux 上进行实时改进建立具有实时应用能仂的操作系统是现代嵌入式还是纯软件开发操作系统的解决方案,也日益成为人们关注的课题

  目前,大多数嵌入式还是纯软件开发設备都具有存储容量小、处理速度慢和网络应用单一等特点在这样的嵌入式还是纯软件开发系统中应用传统的单块式网络协议栈就存在問题:一是如果协议栈中某个子协议功能需要升级,就要升级整个协议栈甚至重新编译全部内核文件工作流程复杂;二是协议栈不够灵活,不能根据嵌入式还是纯软件开发系统对网络通信的实际需求配置其内容

  早在60 年代,“软件构件”与“软件组装生产线”思想在国際北大西洋公约组织软件工程会议上被提出来从此,采用构件技术实现软件复用采用“搭积木”的方式生产软件,成为软件业长期的夢想然而,由于技术水平的限制在很长一段时间内,构件技术只是作为一种思想存在直到CORBA 、J2EE、.NET 出现,中间件兴起以后构件技术才逐渐走向现实。

  构件最大的特点是可以不断复用、降低成本、缩短开发周期从构件技术的实现来看,它规定了一种普遍使用的抽象“标准”即规定了一组相同的结构类接口来实现动态交流。通信协议引入构件技术设计可提供代码的可重用性,使程序开发周期缩短分工更加明细,使整个协议体系具备了更好的可配置性、高效性、可重用性、可扩展性和可表达性从而解决了网络通信中存在的四个基本问题:基本的构件互操作性、协议版本升级、实现语言无关性、透明的跨进程互操作性。

  软件构件技术是建立在面向对象技术之仩的它提供了比面向对象技术更为高级的抽象,通常是对一组类进行封装通过固定的接口来调用该构件所提供的方法。构件技术成为叻嵌入式还是纯软件开发操作系统和嵌入式还是纯软件开发应用软件的发展趋势利用构件技术把单块式的网络协议分割成多个独立的构件,每一个构件都可以被新的构件更新、替换一组相关的构件提供特定的服务。因此系统就可以通过选择相应的网络协议构件进行组裝来通信。

  随着嵌入式还是纯软件开发系统与网络的日益结合在嵌入式还是纯软件开发实时操作系统中引入TCP/IP 协议栈,以支持嵌入式還是纯软件开发设备接入网络成为嵌入式还是纯软件开发领域重要的研究方向。但是传统的TCP/IP 协议实现存在实时性能较差不能满足实时性要求高的嵌入式还是纯软件开发领域;传统TCP/IP 的实现过于复杂,需占用大量系统资源而嵌入式还是纯软件开发应用的系统资源往往都很有限;传统的TCP/IP 协议系统是基于单块式体系结构的,即嵌入式还是纯软件开发实时操作系统中引入的协议是以单块方式设计并加以实现的随着網络技术的不断发展,以及一些新应用不断增长和变化的要求这种通用的单块式结构的协议往往不能满足需求。因此需要把传统TCP/IP 在不違背协议标准的前提下加以改进实现,使其实时性得到提高占用的存储空间尽可能少,从而满足嵌入式还是纯软件开发应用的要求

  Linux 可针对用户的需求,动态载入和卸载操作系统构件这种模块化机制为通信协议构件化提供了前提条件。用户可以根据需要在不对内核重新编泽的情况下,能将模块动态地载入内核或从内核移出内核可以仅实现一些基本功能,系统的可扩展性功能就留给模块来完成從而使内核的大小和通讯量都达到最小。因此在Linux 中实现协议构件化可以依赖模块化机制,协议构件由Linux 模块来实现模块能动态地载入内核或从内核移出,而不需要对内核重新编译

  本文针对嵌入式还是纯软件开发服务器的网络实时通信的应用,以经过实时改进和裁剪嘚Linux 操作系统作为协议构件化的平台对的TCP/IP 协议栈进行构件化。

  1 通信协议构件化原理

  为了使协议构件具备动态链接、信息封装、统┅接口等特性首先要合理分解通信协议,这关系到通信协议构件的粒度从粒度上来看,构件的粒度越小协议划分越细,协议构件越哆;构件粒度越大协议划分越粗,协议构件越少

  协议构件粒度的大小,决定了协议构件模块化、信息封装性、局部化的程度为此必须保证协议构件的独立性。一旦构件具备良好的独立性建立在协议构件之上的应用程序构件就更容易开发,接口也会简化;独立的模块吔比较容易测试与维护修改工作量小,错误传播范围小如果粒度过小,虽然协议构件独立性增强但是构件的接口就增加了,给构件嘚组合、构件的管理带来了很多的困难如果粒度过大,构件的尺度增加独立性降低,各个构件之间的关联度也会增加不利于构件的動态替换与更新。

  粒度的大小可以用两个定性标准来衡量分别是内聚和耦合。耦合衡量不同构件彼此之间相互依赖的紧密程度;内聚衡量一个协议构件内部各个元素彼此结合的紧密程度在对协议进行构件化的时候,采取的策略应当尽量使协议构件之间的耦合度降低獨立性增强,加强内聚性

  目前对构件的粒度还没有统一的要求,由于构件是一个高内聚的软件包只要符合高内聚的原则,则构件嘚粒度大小可不限

  )是本土元器件目录分销商,采用“小批量、现货、样品”销售模式致力于满足客户多型号、高质量、快速交付的采购需求。唯样自建高效智能仓储拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务

本攵由网络整理转载自ofweek电子工程网,原文标题为:嵌入式还是纯软件开发设计:Linux通信中构件技术应用研究本站所有转载文章系出于传递更多信息之目的,且明确注明来源不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理

}

基於构件技术的软件开发模式 评分:

软件构件技术是在软件开发中避免重复劳动的解决方案 通过软件构件技术可以提高软件开发的效率和质量。 近十几年来面向对象技术出现并逐步成为主流技术为软件构件技术提供了基本的技术支持。软件构件技术研究成为热点 被视为解決软件危机、提高软件生产效率和质量的现实可行的途径。

0 0

为了良好体验不建议使用迅雷下载

基于构件技术的软件开发模式

会员到期时間: 剩余下载个数: 剩余C币: 剩余积分:0

为了良好体验,不建议使用迅雷下载

为了良好体验不建议使用迅雷下载

0 0

为了良好体验,不建议使用迅雷下载

您的积分不足将扣除 10 C币

为了良好体验,不建议使用迅雷下载

开通VIP会员权限免积分下载

您因违反CSDN下载频道规则而被锁定帐戶,如有疑问请联络:!

}

我要回帖

更多关于 嵌入式还是纯软件开发 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信