您的位置:首页 > Web前端

行业应用软件开发方法学范围探讨

2007-05-10 17:57 363 查看
行业应用软件毫无疑问已经成为中国软件业的希望之一,但目前国人对于行业应用软件开发缺少了解,甚至认为行业应用软件开发没有一点技术含量,随便找几个人花点时间都能搞定,但是同样在现实生活中,大量的大型企业投入大量的人力、财力和物力,和著名的大型软件企业一起对内部的应用软件进行长时间的开发,却始终没有达到理想的效果,从这个角度说,行业应用软件并不像某些人想象中的没有技术含量,行业应用软件开发本身就是一个系统工程,是一个非常复杂的事情,它不仅仅涉及到技术层面,还包含管理、经济、财务、沟通与心理学、语言与翻译、标准化技术等各个方面的知识,因此做好行业应用软件的开发并不是一件简单的事情,本blog主要试图对行业应用软件开发方法学进行总结和归纳,形成相对完整的体系,以破解行业应用软件开发中的核心问题。

1、技术层面

在行业应用软件开发中,软件体系架构是至关重要的一个方面,它直接决定了行业应用软件开发的水平和指导思想,如果说软件体系架构是建筑图纸的话,那具体的技术就是这张图纸上的一个很小的部分,目前软件体系架构的研究学术界和产业界都在进行,学术界的主要工作在于对软件体系架构的描述方法进行研究,而产业界则更加关注与如何进行软件体系架构的设计,达到对行业应用起很好的支撑作用的目的,如SOA。软件体系架构的核心思想在于分割,不断地分割,不断地抽象。面向对象、面向过程、面向方面、面向组件等方法对实际的软件体系架构也有很大的影响。

从总体上来说,行业应用软件开发主要采用三层架构来进行,针对UI、BL、DB这三层架构的相关的方法也即成为行业应用软件开发的三个主要关注方面,即用户界面模型、业务模型、数据模型设计方法,尤其是业务模型和数据模型建模方法是行业应用软件开发中的核心方法。在传统业务模型和数据模型构建过程中,主要还是采用通用的业务模型和数据模型构建技术,如UML图、ER图等,但是随着对行业的深入发展,面向特定领域进行业务模型和数据模型的研究也就显得非常必要。

在领域中,我们往往可以把业务模型分为环境、角色、实体、流程、事件和规则等。环境即是上下文;角色是业务领域的参与者,它根据业务规则,触发业务事件,产生业务实体;不断的业务事件的产生发展即形成业务流程。对于环境,角色的分析不是领域的重点,领域分析的重点在于实体、流程、事件和规则上。业务实体描述了领域中的核心对象,业务流程描述了领域中的事件处理过程,业务事件主要描述领域中的活动,业务规则往往描述了约束条件,他们的相互关联即构成了业务模型的主要方面。因此,对于业务模型的描述,实体、流程、事件和规则缺一不可,而业务模型管理的核心技术主要包含领域术语(语义学)、业务流程、事件(工作流)、业务规则(规则引擎)。在进行程序开发时,采用样本程序(Reference Program)是进行快速开发实施、管理规范的一条有效途径。

对于数据模型,传统的主要是ER数据模型建模方法,而ER数据模型构建方法却不具有语义描述能力,因此,就有必要对具有语义描述能力的数据模型构建方法进行探讨,如目前很流行的维度建模方法,但他并不是数据模型建模方法研究的终点,和样本程序一样,数据参考模型(Reference Data Model)对于行业应用的开发同样具有重大的意义。

用户界面的开发往往在行业应用软件开发中占有最多的开发工作量,对用户界面的开发方法研究自然是行业应用软件开发中的关键方法之一,在实际开发中,我们对用户界面层(业务逻辑层类似)进行了很多层次的划分,以最大程序地提高系统的可复用性,通常我们分为相同性复用和相似性复用两种方案,相同性复用主要是把页面分为一个一个的组件进行,如目前的JavaEE的JSF、Tapstry等主要采用这种方案,样本程序可以用来解决相似性复用问题,模板技术则对相同性和相似性复用都有一定的帮助。

(本文仅为本人一家之语,敬请批评指正)

(未完待续)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息