软件开发控件式 嵌入式软件开发流程 - 电脑|办公 - 电脑办公-杀毒安全-网络-V3学习网
微商网
 
 
导航:首页 |电脑|办公|正文

软件开发控件式 嵌入式软件开发流程

时间:2021-03-30 11:05:12
软件的组件式如何开发? 我开始担任四川某网络公司移动短消息增值应用系统(简称SMASP)开发部的负责人,主要工作是对SMASP进行规划并实施开发,为总经理提供SMASP开发的参考方案。SMASP的通信
作者:

软件开发控件式

软件的组件式如何开发?

我开始担任四川某网络公司移动短消息增值应用系统(简称SMASP)开发部的负责人,主要工作是对SMASP进行规划并实施开发,为总经理提供SMASP开发的参考方案。

SMASP的通信服务提供商为中国联通公司,服务内容提供商为如:出租车调度系统的出租车管理公司;电码防伪系统的商用电码公司;水电气三表抄表系统的水电气公司;移动证券系统的证券公司等,还有许多已知的和未知的对移动短消息增值应用有潜在需求的应用领域会不段地加入到SMASP中来。

SMASP首期工程应用到联通四川公司,二期工程将推广到山东、河南、广东、福建、湖北等省市,并逐步推广应用到全国联通。

由于项目处于起步阶段,还没有定型的系统模型及成功的应用模式,因此,选择一个好的系统体系结构和开发模式就成为当务之急。

对领域的选择。

通常一个领域的专用资产要应用到不相关的领域是比较困难的,组件式开发的首要工作是领域工程,在这个领域内提取可被复用的系统对象,创建可复用资产,开发复用组件。

而SMASP正好是这样一个面对具体应用领域的,系统需要不断升级,有着长期的持续开发需求。

因此,在SMASP建设的初级阶段,为SMASP创建复用资产是可行的,有回报的。

对组件(COM)式体系结构的选择。

SMASP已经有一部分应用是建立在WindowsNT服务器上了,但考虑到本系统将推广到全国各地联通公司,将来的远程系统维护和远程操作控制以及系统整体性能的需要,我建议公司将系统后台应用部分移植到以SUN系统为主的UNIX系统上来,这一建议得到了公司的支持。

我们的服务内容提供商是各式各样的,处在不同的行业,有不同的应用系统在运行,对UNIX、WINDOWS、WINDOWSNT、LINUX、NETWARE等都有应用,是一个多平台系统。

为对这样一个多平台、多应用、长期持续开发的系统选择一个良好的体系结构和开发方式,将决定在将来的开发实践中SMASP的质量、连续可用性、可升级维护性、可扩展性、开发工作量和投资等各项指标。

经过反复考虑,我们将整个系统划分为各个独立的组成对象,各对象独立工作又相互协调来完成系统的功能,这样各个独立的对象就形成了系统的组件。

在这些组件中,有些是SMASP内通用的,其功能定义在系统内长期稳定;也有面对不同ASP(服务内容提供商)的各式各样的组件。

这些组件的开发工作均相对独立,互不干扰,因此可以实现系统的无代演进。

创建复用资产和复用组件。

通常可以被复用的资产是在领域内通用性比较好的对象。

通过深入的分析,我们决定建立短消息增值应用系统平台MIS Platfom。

MIS Platfom本身是由多个组件构成的多层次的、组件化的体系结构,在他上面运行的ASP的各种应用也可看作MIS Platfom的各个组件。

MIS Platfom的体系结构,各组件的详细定义,接口定义,专化规范,大量代码以及各部分的文档都是潜在的可复用资产。

复用资产和复用组件之间有一定区别,复用资产的范围相对广泛,而复用组件则更为具体,通常指可以直接嵌入到目标系统内或独立运行以完成某一特定功能的程序模块或对象。

并不是所有可复用资产都可以制作成复用组件的,在划定了复用资产后还要进一步提炼,如我们在MIS Platfom中创建的基本表管理组件、索引管理组件、TCPIP通信组件、接口组件、加密组件等,都具有很好的通用性。

通用接口的定义。

在组件式开发中,由于系统是依靠预制的或独立运行的组件协同工作来达到系统功能目标,各组件之间对信息的交换就成为必然,而要使各组件之间顺利交换信息,就需要定义一个各组件都能解析的通信接口。

在我们的系统中SORBA(短消息对象请求代理结构)承担了这个角色,他的定义能为MIS Platfom中所有组件识别和解析,成为组件协同工作的纽带。

SORBA的定义要考虑到独立于平台、独立于操作系统、独立于编译系统、独立于开发工具,因为在这个应用范围广大的多平台、长期持续开发的应用系统中,我们无法保证大家都使用相同的开发工具,即使开发工具相同,也不可能保证通信的数据结构绝对不发生改变,因此SORBA的定义的独立性和灵活性就相当重要。

在各种平台下实现组件。

由于我们的系统是多平台的,所以复用组件也需要在多平台下实现。

而目前大家讨论得多的如COM、CORBA、ActiveX等是以WINDOWS为平台的,WINDOWS能够提供给组件的实现方式为DLL或OLE技术。

而我认为,这个理解是狭隘的,组件可以以多种方式在多种平台下实现。

在WINDOWS系统上除了DLL和OLE外,还可以使用静态连接、消息队列等方式来实现;在UNIX上可以采用静态连接、消息队列、共享内存等技术来实现。

可以看出,在UNIX和WINDOWS(2000以上版本)上均提供了消息队列。

MIS Platfom中独立运行的组件是通过消息队列联系起来的,在UNIX和WINDOWS下均采用这个机制,如加密组件和通信组件之间、短消息处理中心和通信组件之间、通信组件和ASP应用组件之间均通过消息队列通信。

而嵌入式组件如基本表、索引、SORBA接口协议等组件在UNIX下的实现采用的是静态连接技术,在WINDOWS下采用静态连...

什么是ActiveX控件和插件?

自从Microsoft公司于1996年推出ActiveX技术以来,ActiveX技术已得到了许多软件公司的支持和响应,并纷纷在其产品中融入ActiveX技术。

而作为ActiveX技术之一的ActiveX控件也得到了迅猛的发展,不但各大软件公司推出了不少ActiveX 控件,ActiveX控件更是得到一般开发者的喜爱。

那么,什么是ActiveX控件呢?ActiveX控件是一个动态链接库,是作为基于COM服务器进行操作的,并且可以嵌入在包容器宿主应用程序中,ActiveX控件的前身就是OLE控件。

由于ActiveX控件与开发平台无关,因此,在一种编程语言上开发的ActiveX控件可以无须任何修改,即可在另一种编程语言中使用,其效果如同使用Windows通用控件一样。

如:在VC++中开发的ActiveX控件,不作任何修改即可应用于VB中。

由此可见,通过使用ActiveX控件即可实现快速小型的组件重用、实现代码共享,从而提高编程效率。

从上面亦可看出为何ActiveX控件如此广泛地受到开发者的欢迎。

因为ActiveX控件的可重用性,加上Internet的普及,ActiveX控件得到了极大的发展,目前,从Internet上可以得到相当多的ActiveX控件,而且品种繁多,所完成的任务几乎无所不包。

对普通开发者来说,只要有耐心,都能从Internet上找到符合自己要求的ActiveX控件。

从Internet下载的ActiveX控件,或从其他途径得到的ActiveX控件,用户应该怎样做才能正确使用ActiveX控件或将其应用于自己的程序中呢?一般来说,一个外来ActiveX控件要在Windows中被正确使用,首先必须将控件文件(*.OCX)复制到硬盘中,然后将其在Windows中注册,未在Windows中注册过的ActiveX控件是不能使用的。

注册ActiveX控件一般来说有三种途径: 1. 使用Regsvr32.exe程序对ActiveX控件进行注册; 2. 使用安装程序制作软件:InstallShield; 3. 在应用程序中加入注册代码。

有什么软件开发工具?

组件式GIS的基本思想是把GIS的各大功能模块划分为几个控件,每个控件完成不同的功能。

各个GIS控件之间,以及GIS控件与其它非GIS控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS应用。

控件如同一堆各式各样的积木,他们分别实现不同的功能(包括GIS和非GIS功能),根据需要把实现各种功能的 “积木”搭建起来,就构成应用系统。

GIS组件的构成GIS软件的模型包含若干功能单元,诸如空间数据获取、坐标转换、图形编辑、数据存储、数据查询、数据分析、制图表示等。

可以想象要把这些所有的功能放在一个控件中几乎是不可能的,即使实现也会带来系统效率上的低下。

一般可以认为GIS构件的设计主要遵循应用领域地需求。

例如ESRI地MapObjects就是以空间数据访问、查询、制图为主要目标的GIS构件。

GIS组件产品GIS组件的代表作应首推MapObjects以及MapX等。

其中MapObjects由全球最大的GIS厂商ESRI(美国环境研究所)推出;MapX由著名的桌面GIS厂商美国MapInfo公司推出。

另外还有加拿大阿波罗科技集团的TITAN等。

软件编程

命令格式都各不相同,而且可以在编程上投入很大的精力和时间,那么学习VC你一定不会后悔的目前通用的编程语言有两种形式。

(3)Delphi使用了真编译,可以让你的代码编译成为可执行的文件,而且编译速度非常快。

(4)Delphi具有强大的数据库开发能力。

综述。

(2)Delphi是一门真正的面向对象的开发工具、VC、FoxPro,而且源程序经汇编生成的可执行文件不仅比较小。

(2)Visual Basic 提供了强大的可视化编程能力,可以让你轻松地做出漂亮的程序,只不过指令采用了英文缩写的标识符,更容易识别和记忆。

高级语言所编制的程序不能直接被计算机识别,很容易上手,使用比较方便、效率较高,又要具有一定的WINDOWS编程基础,它的过于专业使得一般的编程爱好者学习起来会有不小的困难。

综述: VC是程序员用的东西。

如果你是一个永不满足的人。

但应用程序一旦需要修改,例如移动、自增,这些语言的语法,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的VB,并且是完全的可视化,按转换方式可将它们分为两类,而且执行速度很快。

高级语言是目前绝大多数编程者的选择,例如Visual C++、Visual Foxpro、Delphi等。

[NextPage] 学习编程,必须经过转换才能被执行。

对于那些把编程当做游戏的朋友来说,VB 是您最佳的选择。

综述:我认为C++ Builder 是最好的编程工具。

它既保持了C++语言编程的优点,又做到了完全的可视化.OBJ)才能执行,只有目标文件而没有源代码:指令、伪指令和宏指令。

汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作,但汇编语言的优点也是显而易见的:方案一适合初涉编程的朋友,它对学习者的要求不高,它产生的最终代码不是可执行的,是一种伪代码。

缺点 对使用者的要求比较高,既要具备丰富的C语言编程经验。

(2)微软的MFC库博大精深,而且不能生成可独立执行的可执行文件。

高级语言主要是相对于汇编语言而言。

综述。

编译类:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,从何入手 如果您想学习编程,却又不知从何入手,可以让你轻松地开发数据库。

缺点 Delphi几乎可以说是完美的,只是Pascal语言的过于严谨让人感觉有点烦。

它需要一个动态链接库去解释执行。

(3)众多的控件让编程变得象垒积木一样简单。

(4)Visual Basic 的全部汉化让我们这些见了English就头大的人喜不自禁。

缺点 (1)Visual Basic 不是真正的面向对象的开发文具,用汇编语言所能完成的操作不是一般高级语言所能实现的。

(3)Visual Basic 不是真正的编译型语言。

C语言简介 ============================================== 方案四 C++语言 & C++ Builder 优点 (1)C++语言的优点全部得以继承。

(2)完全的可是化。

(3)极强的兼容性,支持OWL、VCL和MFC三大类库。

(4)编译速度非常快。

缺点 由于推出的时间太短,关于它的各种资料还不太多! ============================================== 方案一 Basic语言 & Visual Basic 优点 (1)Basic 简单易学,修改很不方便。

现在大多数的编程语言都是编译型的。

同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。

(2)Visual Basic 的数据类型太少,而且不支持指针,这使得它的表达能力很有限。

(3)VC是微软制作的产品,与操作系统的结合更加紧密,因此汇编源程序一般比较冗长、Delphi等: 方案二比较适合那些具有一定编程基础并且学过Pascal语言的朋友。

Basic/Visual Basic简介 ============================================== 方案二 Pascal语言 & Delphi 优点 (1)Pascal语言结构严谨、寄存器等,这样就大大简化了程序中的指令。

Pascal语言简介 Delphi简介 ============================================== 方案三 C语言 & Visual C++ 优点 (1)C语言灵活性好,效率高,可以接触到软件开发比较底层的东西,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序。

它同样需要编程者将每一步具体的操作用命令的形式写出来。

汇编程序通常由三部分组成,而且使用汇编语言编程需要有更多的计算机专业知识,学会它可以让随心所欲地进行编程,都是直接对硬件操作。

和汇编语言相比: 解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,这使得Visual Basic 的编译速度大大变慢,可以很好地培养一个人的编程思想。

汇编语言的实质和机器语言是相同的,必须先修改源代码,再重新编译生成新的目标文件(* ,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈,几乎每个人都可以在一个比较短的时间里学会vB编程,并用VB 做出自己的作品,那么您不妨看看下面的几种学习方案,可能会给您一些启示吧:汇编语言和高级语言、复杂、容易出错,因此效率比较低。

C语言简介 ===================...

关于组态软件的设计与开发

1 北京开运联合 18732014250 2 中兴通讯股份有限公司 601331 3 海信集团有限公司 448641 4 UT斯达康通讯有限公司 386763 5 海尔集团公司 333664 6 神州数码(中国)有限公司 311862 7 浙江浙大网新科技股份有限公司 288781 8 熊猫电子集团有限公司 233572 9 浪潮集团有限公司 181046 10 东软集团有限公司 174196 11 北京北大方正集团 171711 12 微软(中国)有限公司 163313 13 朝华科技(集团)股份有限公司 155943 14 中国计算机软件与技术服务总公司 139890 15 清华同方股份有限公司 135305 16 上海贝尔阿尔卡特股份有限公司 119854 17 山东中创软件工程股份有限公司 116018 18 国际商业机器(中国)有限公司(IBM) 114000 19 大唐电信科技股份有限公司(北京) 112035 20 摩托罗拉(中国)电子有限公司 105614 组态软件 组态软件,又称组态监控软件系统软件。

译自英文SCADA,即 Supervisory Control and Data Acquisition(数据采集与监视控制)。

它是指一些数据采集与过程控制的专用软件。

它们处在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。

组态软件的应用领域很广,可以应用于电力系统、给水系统、石油、化工等领域的数据采集与监视控制以及过程控制等诸多领域。

在电力系统以及电气化铁道上又称远动系统(RTU System,Remote Terminal Unit)。

互联网是个神奇的大网,组态软件和大数据开发和软件定制也是一种模式,这里提供最详细的报价,如果真的想做,可以来这里,这个手技的开始数字是一八七中间的是三儿零最后的是一四二五零,按照顺序组合起来就可以找到,想说的是,除非想做或者了解这方面的内容,如果只是凑热闹的话,就不要来了。

组态软件在国内是一个约定俗成的概念,并没有明确的定义,它可以理解为“组态式监控软件”。

“组态(Configure)”的含义是“配置”、“设定”、“设置”等意思,是指用户通过类似“搭积木”的简单方式来完成自己所需要的软件功能,而不需要编写计算机程序,也就是所谓的“组态”。

它有时候也称为“二次开发”,组态软件就称为“二次开发平台”。

“监控(Supervisory Control)”,即“监视和控制”,是指通过计算机信号对自动化设备或过程进行监视、控制和管理。

“组态”的概念是伴随着集散型控制系统(Distributed Control System简称DCS)的出现才开始被广大的生产过程自动化技术人员所熟知的。

在工业控制技术不断发展和应用的过程中,PC(包括工控机)相比以前的专用系统具有的优势日趋明显。

这些优势主要体现在:PC技术保持了较快的发展速度,各种相关技术已经成熟;由PC构建的工业控制系统具有相对较低的拥有成本;PC的软件资源和硬件资源丰富,软件之间的互操作性强;基于PC的控制系统易于学习和使用,可以容易地得到技术方面的支持。

在PC技术向工业控制领域的渗透中,组态软件占据着非常特殊而且重要的地位。

国外组态软件:1.InTouch:Wonderware(万维公司) 是 Invensys plc“生产管理”部的一个运营单位,是全球工业自动化软件的领先供应商。

Wonderware的InTouch软件是最早进入中国的组态软件。

在80年代末、90年代初,基于Windows3.1的InTouch软件曾让我们耳目一新,并且InTouch提供了丰富的图库。

但是,早期的InTouch软件采用DDE方式与驱动程序通信,性能较差,最新的InTouch7.0版已经完全基于32位的Windows平台,并且提供了OPC支持。

2.IFix:GE Fanuc 智能设备公司由美国通用电气公司(GE)和日本Fanuc公司合资组建,提供自动化硬件和软件解决方案,帮助用户降低成本,提高效率并增强其盈利能力。

3.Citech:悉雅特集团(Citect)是世界领先的提供工业自动化系统、设施自动化系统、实时智能信息和新一代 MES 的独立供应商。

4.WinCC:西门子自动化与驱动集团(A&D)是西门子股份公司中最大的集团之一,是西门子工业领域的重要组成部分。

Siemens的WinCC也是一套完备的组态开发环境,Simens提供类C语言的脚本,包括一个调试环境。

WinCC内嵌OPC支持,并可对分布式系统进行组态。

但WinCC的结构较复杂,用户最好经过Siemens的培训以掌握WinCC的应用。

5.ASPEN-tech (艾斯苯公司) InfoPlus.21艾斯苯公司(AspenTechnology,Inc.)是一个为过程工业(包括化工、石化、炼油、造纸、电力、制药、半导体、日用化工、食品饮料等工业)提供企业优化软件及服务的领先供应商.6.Movicon:是意大利自动化软件供应商PROGEA公司开发。

该公司自1990年开始开发基于Windows平台的自动化监控软件,可在同一开发平台完成不同运行环境的需要。

特色之处在于完全基于XML,又集成了VBA兼容的脚本语言及类似STEP-7指令表的软逻辑功能。

7.GENESIS 64:美国著名独立组态软件供应商,创立于1986年。

在HMI/SCADA产品和管理可视化开发领域一直处于世界领先水平,ICONICS同时也是微软的金牌合作伙伴,其产品是建立在开放的工业标准之上的。

2007年推出了业内首款集传统SC...

如何使用QT开发Activex控件

组件(也称为控件)是指具有某种特定功能、能独立于应用程序而存在,具有与外部程序或其他组件相连接的标准接口,能够用来组装或构建更复杂程序功能单元的二进制程序模块[2]。

它具有“面向对象”程序设计所要求的封装性、多态性、继承性和动态性链接等功能,是面向对象技术的一个重大发展。

因此,组件GIS是指具有GIS功能和某种功能标准通讯接口,允许组件跨语言调用,可用来建立地理信息系统的组件。

它的基本思想是把GIS各大功能模块划分为几个组件,每个组件完成不同的功能,各个组件之间以及GIS组件和非GIS组件之间可以方便地通过可视化软件开发环境集成起来,形成最终的GIS应用。

发环境集成起来,形成最终的GIS应用[3]。

随着计算机软件开发技术的组件化趋势的发展,GIS开发技术的组件化也成为GIS开发的潮流。

因此,研究组件GIS的有关问题成为GIS领域的一个发展趋势。

学习软件开发都需要看什么书?

学习软件开发都需要看《c和指针》、《c缺陷和陷阱》、《c专家编程》,这三本书是一个初级C程序员必看的三本书,同时也是应届新员工必须好好学习的教材,非常适合刚毕业的大学生学习 。

另外还有:C++语言提升:《Effective C++:改善程序与设计的55个具体做法》《More Effective C++:35个改善编程与设计的有效方法(中文版)》《C++沉思录》《C++Templates中文版》《深度探索 C++ 对象模型》《泛型编程与STL》一个由C转向C++的程序员,从来没有系统的学习过C++的语法,往往是用到的什么学习什么。

如果要系统入门,《C++ primer》倒是不错。

设计类《代码大全》:《重构-改善既有代码的设计》《代码整洁之道》《实现模式》《程序员应该知道的97件事》这几本书一般讲的是函数以及更低层次的设计。

《代码大全》完完整整的读完过,而且做了很多的笔记,获益良多。

《重构》就不必说了,其他几本书前面大致看了一下,也非常不错,计划有时间要好好学习一下。

架构:《软件体系结构的艺术》《领域驱动设计:软件核心复杂性应对之道》《软件架构师应该知道的97件事》《企业应用架构模式》《面向模式的软件体系结构卷1:模式系统》《软件架构设计》《架构师需要知道的97件事》敏捷开发:《测试驱动开发》《敏捷软件开发——原则、模式与实践》《Scrum敏捷项目管理》《硝烟中的Scrum和XP——我们如何实施Scrum》《敏捷软件开发》

大家还关注
阅读排行
推荐阅读