对项目软件产品化的思考

1)        建立产品化的思想

软件产品化的核心思想是复用。对于项目软件而言,由于常常面对客户的特性需求,开发人员接到任务首先想到不是复用(而是重新从头设计开发)或者低层次的简单复用(简单的2)        建立领域模型

复用的前提是抽象。在某个具体行业中项目软件发展一定程度后,必定会有大量相似的需求,所以首先应分析项目领域特点,提炼项目间的共性,抽象出领域模型。从领域模型涵盖的范围来看有两种:垂直型和水平型。

垂直型:定义一个通用模型,该模型可满足多个项目的可行的解决方案,也可称并集模型。

水平型:满足多个项目间共有部分的在功能,是每个项目的一个子集,也可称交集模型。

垂直型的领域模型常用于“前瞻性”的产品开发,它是利用应用领域的经验,对市场和技术的发展趋势的了解以及商业判断力等进行设计,通常是自上而下的进行。水平型的领域模型常用于“反应性”的产品开发,它是根据企业已有的产品家族,并随着新项目的建立,扩展架构和设计,它的核心资产库是根据“已经证明”为共有,而非“预先计划”为共有的元素构建,通常是自下而上的进行。结合我司的业务特点,建立水平模型是比较常见而且是易于实施的一种方案。例如计费系统、清帐单中心的 络模块、分布式数据库等等它们都是很多项目中通用的子系统。

3)        建立产品构件库

项目软件产品化的基础是构件。抽象出领域模型后,便是建立产品构件库,形成公司的软资产,产品构件形式上可以是可执行文件、中间件、库文件、类、头文件等多种方式,进入产品构件库的元素应进行全面细致的单元测试和文档化工作。

已上线的、稳定运行的项目软件,应根据领域模型,提炼出通用产品构件。即将开展的项目软件,应根据领域模型做好业务模块与构件模块的解耦,定义好业务模块与产品构件模块的接口,若产品构件库中不存在相应的元素,需要在此项目着手开发,若已存在相应元素,项目软件在设计和开发商则可以完全复用。

4)        产品组装与测试

产品构件库的元素一旦丰富,项目产品在通用功能上,则可像堆积木式的方式进行搭建、组成然后进行集成测试,对于特性化的需求根据项目的特点单独开发。这样的项目软件同时具备的产品软件一次开发多次复用的特性,又具备满足客户特性化需求的优势。

[1] http://blog.csdn.net/harrymeng/article/details/5254415:《软件产品化[2] 温昱[3] http://wenku.baidu.com/view/ec34c9f4ba0d4a7302763adb.html:《软件项目产品化之路》

 

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2012年10月5日
下一篇 2012年10月5日

相关推荐