鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > .net技术 > winform编程 > >

客户关系管理系统(CRM)的开发过程中使用到的开发工具总结

来源:互联网 作者:佚名 时间:2013-12-25 11:20
客户关系管理系统(CRM)的开发过程中使用到的开发工具总结 开发《客户关系管理系统(CRM)》软件过程,也就是一个标准的Winform程序的开发过程,我们可以通过这个典型的软件开发过程来了解目前的开发思路、开发理念,以及一些必要的高效率手段。本篇随笔主要介

客户关系管理系统(CRM)的开发过程中使用到的开发工具总结

开发《客户关系管理系统(CRM)》软件过程,也就是一个标准的Winform程序的开发过程,我们可以通过这个典型的软件开发过程来了解目前的开发思路、开发理念,以及一些必要的高效率手段。本篇随笔主要介绍我在开发这个CRM客户关系管理系统过程中,所用到的一些开发工具,力求从开发工具的层面使大家对这个系统的形成过程有一个大致的了解。

在文章的开篇,我们先来聊几句。一直以来,我都知道,广州这个城市,在图书馆建设方面都做的很好,提供了很多公众的借阅服务,几年前也曾经在区一个小的图书馆里借阅过书籍,不过但是对整个过程没觉得什么特别。上个周末,去了广东省立中山大学图书馆(这个可能是广州最为完善、大型的图书馆)逛了一趟,发现借书的流程真是方便,随着科技工具的引入,一切都非常轻松和高效。曾经在大学年代,也是对图书热爱的年代,找一本书,用替书牌,东找西找找到几本满意的书籍后,拿去登记更是痛苦,排队到自己后,把每本书的借阅栏填好,折到条形码页面,给老师一本本扫描录入。但是那天去了中山大学图书馆,发现藏书很多不说,不用替书牌,找到一摞拿出来后,一并放到一个黑色板上,交上借阅卡,几秒钟就搞定。这一切也是工具引入的效率改进,因此,不管是日常生活,或者是软件的开发过程,以及更多的方方面面,好的工具引入,能给我们提供更快的速度,更高的效率。

言归正传,开发《客户关系管理系统(CRM)》软件过程,也用到了很多工具来辅助我们进行高效的软件开发,否则一个软件,可能需要更多的时间,更多的资源,更多的校验排错投入,本文以《客户关系管理系统(CRM)》为例,介绍在这个软件开发过程中用到的相关工具和开发思路,希望对大家有一定的借鉴作用。

1、软件的数据库表设计PowerDesigner

 我们知道,做任何一件事情,都有一个开始的过程,对于常规的软件工程过程而言,一般开始是需要设计模型、流程等东西的,不过从我自身十多年的开发历程,先做UML的一般不多,而我们往往是通过数据库设计来完善整个模型。数据库设计也有很多工具辅助,不过我觉得使用PowerDesigner就已经很好了,这个设计工具从刚一开始使用,就觉得非常方便实用,所以这么多年也都是以它进行数据库表的设计工作的。

一般我们可以根据需要先在一个数据库类型上设计,如基于SqlServer的,还是Oracle的,或者是其他的,通常用这两种居多。数据库设计过程,可以指定表名称、字段名称(备注作为字段描述)、表之间的关系等方面。

如果我们已经有一些现成的数据库表,那么也可以通过反向工程的方式,把数据库表的设计导入到PowerDesigner上进行管理,也非常方便。

使用PowerDesigner设计的数据库表,非常方便维护,也方便修改,因为我们设计数据库,不可能一下就全部考虑的很好,可能需要多次反复的过程才能最终确定整个表的结构,使用这样的数据库设计工具,能给我们节省更多的修改时间,提高效率。

基于PowerDesigner的数据库设计,我们还可以更改数据库的类型,使之生成其他类型的数据库脚本,PowerDesigner本身也支持很多数据库类型,因此生成的脚本也具有更高的通用性,即使我们变换数据库的时候,数据库类型可能需要一定的调整,但是已经能节省大部分的时间了。

2、数据库工具

在我的《客户关系管理系统(CRM)》开发过程中,前期我一直使用SqlServer作为基础的数据库开发,因为它的方便和通用性,因为使用Microsoft SQL Server Management Studio来管理数据库非常方便,比很多数据库可能都方便一些,SqlServer用的人比较多,我也就不再赘述。

当然,我对自己开发的系统,一般都会考虑多种数据库的兼容性,以适应客户自己的部署环境要求,因此同时也会考虑Oracle、Sqlite等不同类型的数据库的兼容。对于Oracle数据库来说,一般都要求使用PLSQL Developer来进行数据库管理,这个工具弥补了Oracle本身的数据库表管理和维护的短板。

对于非常好用的单机版数据库SQLite,我们也需要一些管理工具来管理相关的表,我对比过很多SQLite的管理工具,我觉得SQLite Developer还是最好,使用起来最方便,功能也挺多。虽然一直觉得Sqlite Developer导入SqlServer的表的备注字段的时候有乱码这个问题外,其他都挺好,没有什么其他问题,我在之前有一些文章介绍过这个工具的使用:《使用SQLite数据库和Access数据库的一些经验总结》、《在Winform开发框架中实现对数据库的加密支持》。

Sqlite的数据库设计,我一般很少进行独立的设计,基本上都是从SqlServer数据库或者其他数据库进行导入,导入后,除了备注类型有乱码外,其他的基本没什么问题,因此用起来也非常方便。一般在我软件绝大多数功能快要完成的时候,就会增加这种数据库类型,然后进行一些功能上的调试。

对于另外一种Access数据库,如非历史原因,基本上可以使用Sqlite来替代它了。

 

3、代码生成工具Database2Sharp

代码生成工具,是综合体现一个软件开发过程的重要因素,因此选择好的代码生成工具,也意味着整体性的开发思路,以及开发效率方面都应该有所提高,而且尽可能贴近开发的实际要求。 如果基于演示原因或者简单的小软件,使用任何代码生成工具都可以满足要求,但是,实际上,开发一个成熟、稳定、美观的软件,是一个综合的过程,,要求处处皆为开发者考虑才能使我们应用起来得心应手。

代码生成工具Database2Sharp()是我05年的时候开发起来的(之前还开发过一个SharpCode的代码生成工具),这么多年一直完善着、丰富着。坚持以自己为第一用户的原则,尽可能使自己的开发工作得到减轻,效率得到提高,并且综合各种最新的技术,封装好各种基类和继承关系,使得生成的框架代码更少,提供的支持更多,具有更好的扩展性,不用机械式的生成代码。通过全面的整合,可以一键生成一个完整的项目工程代码,生成后直接可以使用VS打开编译。

 

代码生成工具Database2Sharp本身是基于模板引擎NVelocity的技术,能够更方便调整和扩展,因此能够迅速响应我的开发要求,整合了整个解决解决方案的代码,同时包括了界面层的代码也可以快速生成。

4、基于现成的开发模块
网友评论
<