所谓软件构件化,就是要让软件开发像机械制造工业一样,可以用各种标准和非标准的零件来进行组装,或者像建筑业一样,用各种建筑材料搭建成各式各样的建筑。软件的构件化和集成技术的目标是:软件可以由不同厂商提供的,用不同语言开发的,在不同硬件平台上实现的软件构件,方便地、动态地集成。这些构件要求能互操作,它们可以放在本地的计算机上,也可以分布式地放置在网上异构环境下的不同节点上。实现软件的构件化,这是软件业界多年来分奋斗的目标,可以说已经经过了几代人的努力。
早在20世纪60年代,大型软件系统开发引起的软件危机,导致了Yourdon和De Marco的结构化分析与结构化设计的软件工程方法的盛行。所谓结构化方法,其目标就是为了保证软件开发的质量,提高软件的灵活性和软件生产效率,通过工程化方法,建立系统的软件开发过程,使开发的软件具有好的结构,即所谓可拼装、可裁剪的模块化结构。
后来在80年代出现了面向对象的方法。面向对象方法的基本思路是用对象作为描写客观信息的基本单元,它包括封装在一起的对象属性(数据)和对象操作(方法、运算)。与此相关的还有一些概念:如对象类、类的实例。对象类的继承、父类、子类、多重继承、方法的重载、限制以及接口等。关于面向对象方法已有很多研究,最著名的有:Grady Booch方法,James Rumbaugh的OMT(对象模型技术),Ivar Jacobson的OOSE(面向对象的软件工程)。这几种方法虽然基本思路相同,但仍有不少差异,从而为实际的软件开发和应用带来诸多不便。于是由RATIONAL软件公司发起,从1995年开始,先是Booch和Rumbaugh合作,后来Jacobson也加盟,共同提出了一个统一的建模语言UML,得到很多软件公司的支持,逐渐成为面向对象方法的一个事实上的标准。围绕着这种建模语言,还开发了相应的工具(ROSE)和统一的开发过程(RUP )。正是由于有了面向对象技术的发展,多年来追求软件构件化的梦想,才有可能成为现实。
在谈到面向对象方法时,不能不提及设计模式(Pattern)和复用技术。设计模式是实践的总结。人们把在不同时间、不同项目中成功地解决了相似问题的相同的解决方案总结为设计模式,供后人复用。软件设计者和开发者可以通过学习和理解前人创造的模式来设计自己的软件,避免了不必要的重复,节省了大量的时间和精力,提高了软件的设计的效率。
各省软考办 | ||||||||||