
| 出版日期:2000-11-06 总期号:970 本年期号:82 |
|
复用技术使软件开发快、好、省
龚成红 顾名思义,软件复用就是多次采用同一软件模块(部件)。如果你具备一定的软件开发资历,参与开发过一些软件开发项目,你一定会发现很多模块可以直接或稍加改动后在多个项目中使用,这实际上就是一种最简单的软件复用。 复用技术在很多领域有成熟的应用,如机械设计和电子设计。现在没有哪一位汽车工程师从螺钉和螺母开始自己的设计,也不会有哪一位计算机工程师从电阻、电容和集成电路的设计开始他的工作。 实施软件复用的目的是要“更快、更好、更省”地进行软件开发工作。 更快 在软件开发过程中,如果有很多构件可以直接使用,而不用从头开发,可以大幅度地加快开发速度,为我们在市场竞争中确立优势。 更好 评价软件系统的质量最基本的是正确性和可靠性,其次才是稳定性、可移植性等其他特性。软件的质量问题是一个长期困扰软件公司的一大难题,世界上因为软件质量问题而引发的事故时有发生。1996年欧洲航天局发射的阿丽亚娜5型火箭在发射40秒后爆炸,经专家组调查分析,引起这个耗资10亿美元的火箭爆炸的根本原因在于惯性导航系统软件中技术要求和设计的错误。计算机软件是一种复杂、抽象的逻辑实体,如何从根本上解决软件质量现在还没有定论,但我很赞同brab j.cox的观点:利用软件可复用性和可拆装构件技术,建立构件库,在软件开发过程中,根据问题本身的需要,选择合适的构件,经过积木式拼装或少量自行开发得到最终所需的系统。因为这些构件都是经过严格测试和多次实际使用的,避免或减少了很多从头开发可能带来的质量问题。 更省 使用软件复用技术提高了开发速度,减少了质量风险,使开发周期大幅度缩短,这直接减低了开发成本。 要采用系统的软件复用技术,需要在业务、人员、过程、组织结构、体系结构、工具、技术等多方面同时进行变革。对于企业软件开发部门,因为项目比较零散,时间上没有规律,使用软件复用技术的方式相对于专业软件公司也有所区别。
复用组织结构图 对于传统企业,其信息化建设往往缺少统一规划,项目来源一般是由某个应用单位,如工资管理部门,首先提出需求,相关单位指派一名项目责任人,项目责任人再去组织人员开发。单个项目很少考虑与其他项目集成,往往就项目而做项目。这种组织方式不可能实现软件复用。为了利用软件复用技术,可以从以下方面着手: 建立软件复用机构 企业的信息部门如果能够抽调专人负责软件复用工作是最理想的。但很多企业建立一个专门的复用机构一般都不可能,我们可以抽调一名具有丰富软件开发经验的人员兼职复用机构负责人。复用机构与各项目组的关系如图所示。 复用技术小组与各项目组都有联系,负责分析、创建构件,供各项目组使用。各项目组作为使用者,需向复用技术小组提出各种可能成为构件的模块的详细需求。 总体规划企业信息系统建设 每个企业都有其特殊性。作为信息部门,应从务实的角度,站在企业战略的高度整体规划该企业的信息系统建设,而不能够再被动地抱有“应用单位提出什么就开发什么”的思想。 规范企业软件开发管理 很多企业程序员没有写文档的习惯,造成其开发的软件除他本人外,其他人根本没有办法维护。要使用软件复用技术,加强软件开发的管理是必需的。 总结过去 每个企业都有一些已经开发完成投入使用的系统,每一个程序员在开发完每个系统之后都会有自己的见解和看法。我们可以总结这些系统开发的经验,从老系统中提取出可以公用的部分加以改进,使之成为“构件”。 总之,合理使用软件复用技术,对于规范软件开发行为、提高软件开发效率、改进软件质量等都会获得其他技术所不能比拟的收益。 |
|||||||||||||||||