插件体系结构软件开发方法研究

插件体系结构软件开发方法研究

 

研究生 一觉亮天

 

随着计算机技术的发展,软件体系结构和开发方法也在发生着重大变化。为了高效率地进行软件开发,并且开发出高质量的产品,人们一直在寻求更好的软件体系结构和开发方法。插件式软件体系结构和开发方法正得到越来越多的应用,当前有很多成功的软件产品采用此种体系结构来开发。

插件式体系结构是一种非常灵活的组件式结构,它把程序的功能分散在插件中来完成,插件是独立于系统可独立开发的程序模块,它能够动态地插入到系统中,并且插件可以被自由地插入、删除和替换。因此它有着相当突出的优点:能够提高软件开发的并行性和开发效率,降低设计开发难度,缩短开发周期,增强应用程序的可运行性、可测试性和可维护性。因此对如何开发基于插件式体系结构的软件进行研究,具有现实的实用意义。

插件体系结构软件开发方法已经具有了成功的应用,对它进行研究,使这种方法应用更加广泛,对提高软件开发效率和软件质量有很大帮助。

关键词插件 软件体系结构 设计模式


 

 

Research on Plug-in Architecture

 

MajorComputer Software and Theory

 

PostgraduateYiJiaoLiangTian

 

With the development of computertechnology, great changes have happened to software architecture and developingways. Developers have been seeking better architecture and ways to improve developingefficiency and software quality. Currently, a kind of architecture, which baseson plug-ins, is getting more and more adopted and many successive softwareproducts have been developed according to it.

Software basing on plug-ins separatesits functions into different plug-ins, so it is convenient to design anddevelop. Plug-ins can independently be programmed and plugged into applicationsdynamically. The software can add, delete and replace plug-ins easily, anddevelopers can benefit a lot from this character. It not only makes developingdifferent parts of software synchronously possible but also improves developingefficiency. Besides, it also makes the process of designing and developingeasier so as to reduce the costs of time. Meanwhile, it makes the program easyto execute, test and maintain. For all reasons above, researches onplug-in-oriented architecture is meaningful.

In this article, firstly, the structureand theory of plug-in-oriented architecture are studied, and detailed analysesfocusing on designing thoughts, developing principles and feasibility areprovided. Then studies on the details of SharpDevelop are undertaken.SharpDevelop is an open-sourced IDE programmed using Microsoft.NET. Thearchitecture, which is called add-in tree, is successfully applied inSharpDevelop. Nowadays, SharpDevelop is widely used and studied by more andmore people. At last, through making use of the former studies on SharpDevelop,a plug-in of SharpDevelop is developed.

Architecture basing on plug-in has beenapplied successfully, and studying on it so as to make it adopted widely willabsolutely improve developing efficiency and quality.


 

 

1.绪论1

1.1引言1

1.2软件体系结构的现状1

1.3软件开发方法的历史与现状2

1.3.1Parnas方法2

1.3.2Yourdon方法3

1.3.3面向数据结构的软件开发方法3

1.3.4问题分析法4

1.3.5面向对象的软件开发方法4

1.3.6可视化开发方法6

1.3.7集成计算机辅助软件工程8

1.3.8软件重用和组件连接9

1.4研究的意义10

2.插件体系结构开发方法12

2.1插件的概念12

2.2插件体系结构开发方法的优点12

2.3插件与组件13

2.4插件程序的应用领域14

2.5插件程序的发展方向15

3.基于.NET的插件体系结构总述17

3.1插件结构的分析17

3.1.1插件结构17

3.1.2研究插件结构的目的18

3.2基于.NET的插件体系结构技术基础18

3.2.1微软的.NET技术18

3.2.2XML技术24

3.2.3面向对象的程序设计方法26

3.2.4设计模式26

3.3插件体系结构的接口28

3.3.1插件体系结构接口概述28

3.3.2插件接口的特点29

3.4接口的智能化识别31

3.4.1接口规划与数据结构31

3.4.2智能化识别的过程31

3.4.3识别过程中应注意的问题及解决的办法32

3.5插件的自动化调用32

3.5.1插件管理程序对插件的调用32

3.5.2调用过程中的参数问题33

3.6插件管理程序与插件间的通信机制34

3.7插件系统接口的管理和控制34

3.7.1什么是接口的管理控制34

3.7.2为什么需要接口的管理控制35

3.7.3接口控制管理的内容36

3.7.4接口的升级37

4.基于.NET的插件体系结构的实现40

4.1插件树体系结构的实例40

4.2插件树41

4.2.1插件树的概念41

4.2.2插件树的优点42

4.2.3插件树的上层结构42

4.3代码子44

4.4条件45

4.5插件管理47

4.6属性管理49

4.7用插件创建应用程序51

4.7.1使用代码子51

4.7.2通过条件接合插件53

5.通过插件扩充功能56

5.1插件简介56

5.2插件的配置58

5.3插件的实现代码59

6.结论65

参考文献66

独创性声明68

致谢69

 


1.绪论

1.1引言

自从计算机诞生以来,如何高效地开发程序就一直是软件开发人员热衷于研究的领域。但计算机诞生之初,计算机硬件较为昂贵,应用的领域还并不广泛,计算机软件也还仅局限于少量特定目的使用上,因此在当时,软件技术的研究也大都考虑如何提高程序运行的速度,减少对硬件环境的需求。二十世纪八十年代后,计算机技术经历了迅猛的发展,硬件价格日趋下降,并且越来越小型化,逐渐进入到企业并且普及到家庭,应用范围也涉及到整个 会日常生活的几乎方方面面,从航天飞机到家庭娱乐,从气象预 到股票交易,软件的功能也越来越复杂,界面越来越友好,操作也越来越简便。同时硬件的发展使得软件也几乎摆脱了它的束缚,操作系统提供的强大功能使得程序员能够更多地把精力放在软件开发本身上。在硬件以摩尔定律发展的时候,软件的应用领域迅速扩大,新的需求层出不穷,软件的升级换代也越来越快。传统的软件开发方法在现代的多样需求下显得力不从心,这就需要我们寻找一种新的更好的开发方法。

传统的软件开发方法基于传统的体系结构,最初的软件通常都是单一模块的执行程序,在早期的开发中,大多数任务都是功能较为简单的程序,因此容易自顶向下逐层细分划分为较小的模块进行分别开发。在有新的需求出现时,即使全部重新开发,也相对容易,这样软件的升级和换代就并非很困难的事情。但是传统的计算机开发方法在现代计算机的发展和应用水平下难以适应。首先软件的复杂程度超过以前,完整开发出一个软件需要大量的人力和物力,并且需要很长的软件开发周期,而且软件升级和更新换代的要求往往很快,因此需要新的软件体系结构和新的软件开发方法来适应新的需求。

 

1.2软件体系结构的现状

在二十世纪四十年代计算机问世之后,硬件的价格一直居高不下,计算机资源包括处理器的能力和存储设备的能力都很有限,并且很紧张。程序员在编写程序的过程中,必须考虑节省资源,以便能够在有限的情况下运行,因此几乎所有程序都是采用单一模块的可执行程序结构,甚至很多程序都采用了汇编语言进行编程,当时对体系结构的研究很大程度上是为了使运行代码更紧凑,运行速度更快,如何提高软件的开发效率只是其中很少考虑的一部分。

随着科学技术的发展,除了特殊领域的特殊需求,减少程序运行的开销,已经不是开发程序的首要目标了。而程序员可以更多地考虑如何优化程序结构以便方便地支持更多需求。这些需求刺激了新技术的出现,新技术的出现满足了这些需求,并且促进软件体系结构和开发方法的发展。如动态链接技术,面向对象技术,微软的COMSun公司的EJB,还有微软的.NET等。这些新技术的出现,对于提高软件开发效率具有重大意义。我们可以不必局限于一次开发出完整的软件,也不必在更新换代时重新修改或编写所有的程序。以这些新的技术为基础,我们就能够克服传统方法的限制,构建出新的软件体系结构发展新的软件开发方法提高软件开发效率。

当前,传统的软件体系结构仍然在许多应用领域占据着主要地位,但随着技术的进步和整个软件产业的规模化生产,一些新的软件体系结构也在不断地形成和发展中。现在主要有以下一些结构:数据流系统(DATAFLOWSYSTEM),调用返回系统(CALL-AND-RETURN SYSTEM),独立部件(INDEPENDENT COMPONENT),虚拟机(VIRTUAL MACHINES),面向数据中心系统(DATA-CENTERED SYSTEM),等等。

 

1.3软件开发方法的历史与现状

60年代中期开始爆发了众所周知的软件危机。为了克服这一危机,在19681969年连续召开的两次著名的NATO会议上提出了软件工程这一术语,并在以后不断发展、完善。与此同时,软件研究人员也在不断探索新的软件开发方法。至今已形成八类软件开发方法。

 

1.3.1Parnas方法

最早的软件开发方法是由D.Parnas1972年提出的。由于当时软件在可维护性和可靠性方面存在着严重问题,因此Parnas提出的方法是针对这两个问题的。首先,Parnas提出了信息隐蔽原则:在概要设计时列出将来可能发生变化的因素,并在模块划分时将这些因素放到个别模块的内部。这样,在将来由于这些因素变化而需修改软件时,只需修改这些个别的模块,其它模块不受影响。信息隐蔽技术不仅提高了软件的可维护性,而且也避免了错误的蔓延,改善了软件的可靠性。现在信息隐蔽原则已成为软件工程学中的一条重要原则。

Parnas提出的第二条原则是在软件设计时应对可能发生的种种意外故障采取措施。软件是很脆弱的,很可能因为一个微小的错误而引发严重的事故,所以必须加强防范。如在分配使用设备前,应该取设备状态字,检查设备是否正常。此外,模块之间也要加强检查,防止错误蔓延。

Parnas对软件开发提出了深刻的见解。遗憾的是,他没有给出明确的工作流程。所以这一方法不能独立使用,只能作为其它方法的补充。

 

1.3.2Yourdon方法

1978年,E.YourdonL.L.Constantine提出了结构化方法,也可称为面向功能的软件开发方法或面向数据流的软件开发方法。1979Tom DeMarco对此方法作了进一步的完善。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2011年1月1日
下一篇 2011年1月1日

相关推荐