论文部分内容阅读
随着软件成为当今社会越来越重要的一个领域,人们对开发有效的、健壮的、复杂的软件需求也日益递增。虽然,我们在计算、网络、编程语言以及软件方法学等方面取得了显著的进步,但是在财务预算范围内,按时完成高质量的软件开发仍然存在不少困难。软件业所能分发的软件量越发不能满足社会对软件日增的需求。为什么会出现这种软件危机昵?这主要是因为当今软件业的大多软件开发效率不够高、成本大、维护费用昂贵等原因造成。而解决这些问题的一个实际有效的措施便是软件重用(Software Reuse)。 软件重用是提高软件开发过程产品效率以及软件质量的一个最重要的方法之一。软件重用包含对软件产品、框架、构建、代码等的重用,也包括对开发可重用软件过程的重用。至今为止,软件重用领域里已经出现了相当数量的软件重用技术。本文主要以基于Thales ATM公司的Eurocat-2000系统PTG部件(CSCI)之上的PTG GUI部件研发为背景,阐述了项目开发过程中所涉及或所使用的一些软件重用技术。这些技术包括面向对象技术(Obejct Orientation)及面向对象方法学(OO Methods)、设计模式(Design Pattern)、框架(Frameworks)技术、重构(Refactoring)技术以及软件生产线(SoftwareProduct Line)。最后总结了软件重用遇到的问题,以及提出了实现软件重用及重用的顶点一软件生产线一几点建议。 作为一名实习软件工程师,经过10个月左右的努力,我完成了PTG GUI项目的研发。其中项目功能界定以及可行性分析(specification)用时6周,软件需求及其文档编写(SRS)用时3周,软件设计及其文档编写(SDD)用时8周,编码前后的单元测试以及测试文档编写(UT)用时6周,代码编写(Coding)用时10周,集成测试(IT)用时5周。软件的设计得到了Thales ATM公司的摘要良好评价,并于2004年l月通过了公司内部验证,2004年3月开始投入使用。软件投入使用以来,一直运行稳定,效率提高明显,无论在功能设计还是在操作使用方面都得到了用户的好评。 这期间,本人主要做了以下几个方面的工作: l)整个PTG GUI部件的开发实现:从PTG GUI的功能界定,可行性分 析,软件需求,软件设计、规划与布局,整个项目编码,单元测试, 集成测试以及所有文档编写工作,全部按Thales ATM公司相关标 准以及软件开发流程完成。 2)将设计模式嵌入到面向对象分析(00A)与面向对象设计(0 OD)过 程之间:面向对象方法学一般将系统设计分析分成两个阶段,即面 向对象分析与面向对象设计。然而,在实际项目的分析设计过程当 中,设计人员经常发现面向对象方法学中的分析理论与设计理论之 间并不会自由过渡,它们之间往往存有一条鸿沟,时常困惑着设计 人员。基于此问题,本文通过引人设计模式的经验知识以及特定领 域的、被反复验证的经验解决方案,能很好地帮助设计人员顺利跨 越这条鸿沟。 3)PTG动态命令生成框架(Generator Framework):由于PTG命令繁 多且命令格式变化多样,语法分析器也颇为复杂,再加上项目要求: 能跟据用户的各种触发事件动态产生符合语法要求的相应PTG命 令(可能一条,也可能是多条,甚至多组)。为了解决此类灵活问 题,我设计了一个Generator框架,很好的实现了项目要求。而且 经过对此框架的再次抽象,发现该框架还可大量的应用于其它相关 情形。 4)Eurocat一2000系统生产线的描述:根据作者在ThaleS ATM的实际 项目开发过程以及对E盯ocat一2000系统的认识和理解,本文对 Eurocat一2000系统生产线作了一个简单的描述,以此说明软件生 产线为何是软件重用的顶峰以及如何实施软件生产线的问题。关键词:软件重用,面向对象技术,面向对象方法学,设计模式,框架技术、重构技术、软件生产线