论文部分内容阅读
工业化的软件复用已经从通用类库进化到了面向领域的应用框架。框架的最大好处就是复用,它是面向对象系统获得的最大的复用方式。面向对象软件的生命周期常分为几个阶段。Brain Foote将其分为原型阶段、扩展阶段和巩固阶段三个阶段。这三个阶段也就是软件不断演化(evolution)和复用(reuse)程度不断提高的过程。面向对象的软件框架一般都是从软件原型进化而来。 框架(Framework)是构成一类特定软件可复用设计的一组相互协作的类。框架规定了应用的体系结构,开发人员可以定义框架抽象类的应用相关的子类,从而将一个框架定制为特定应用。设计模式(design patterns)是对被用来在特定场景下解决一般设计问题的类和相互通信的对象的描述。一个模式命名、抽象和确定了一个通用设计结构的主要方面,这些设计可能被用来构造可复用的面向对象设计。重构(refactoring)是对软件内部结构的一种修改,目的是在不改变「软件之可察行为」前提下,提高其可理解性,降低其修改成本。元模式(Metapattern)是在元的层次上描述设计模式的模式。元模式在比一般设计模式更抽象的层次上讨论系统设计,所以适合于大规模的软件设计,比如框架。 该软件的原型基于浙江康裕制药有限公司ERP系统企业审批平台子系统,主要是为企业内部各种申请单提供统一的审批平台。主要的业务流程是申请过程、审批过程和系统管理。软件原型采用Ration Rose建立UML模型,在J2EE平台上实现,在设计上具有三个特点:申请单主表和详表分离;审批节点和具体的员工分离;支持流程定制。 根据框架的设计目标,框架应该在三个方向上对软件原型进行扩充。第一,添加新的功能,主要是支持web应用和支持数据结转。第二,改进设计,主要是建立申请单的继承体系,为新建审批节点制定策略和支持连接到不同的数据库。这是通过三个设计模式来实现的,分别是抽象工厂模式,策略模式和模板方法模式。第三,对软件原型中无处不在的设计和编程缺陷进行重构,这里主要列出的是一些粒度较大的重构:提炼类,内联类,搬移函数,折叠继承体系去除不必要的继承,引入参数对象去除过长参数列。 通过采用模式和重构,最初的软件原型已经具备了框架的基本特征。在框架开发中使用模式和重构,可以使得框架更灵活,更容易扩充和维护。