打造通用软件开发平台

    一般一个大型软件都有几百个表单,后台要建几百个数据表,然后程序员根据系统开发人员提供的几个底层公共函数或类就开始针对需求开始写代码了,最后拼凑到一块能够实现用户的需求就行了,大多数程序员做的最多的一项工作就是复制,粘贴,修改部分代码,基本上就是一堆代码的组合,没有从更高的角度来提升开发效率,方便日后的维护。

我下面要谈到的开发思路是基于通用信息管理系统的软件开发

    因为基于数据库的软件开发的数据都是保存到数据库里面,而数据库提供给开发人员只有四条语句(查询,增加,更新,删除)

所以我们设计程序无非就是这四条语句的组合,程序表单无非就是调用了数据库的这些语句组合生成相应的表单,结合一些业务逻辑判断。

 通过对大量管理信息系统的业务分析,我们发现,一个系统中一般由下列三部分业务构成 。
 40-70%的业务都是基于数据的增加、删除、修改、查询操作。虽然界面存在不同,业务处理可能不同(比如某个业务点击增加时可能会自动输入日期,有些业务在保存时可能需要进行与录入相关的一些操作),但从面向对象的观点来看,它们都属于同一个对象。只是一些响应不同而已。
 有20%的业务属于统计方面的业务,如常用的一些统计报表、汇总报表等。
 10-20%的业务属于特殊业务,需要开发人员针对性的编写程序处理。
 如果我们设计出一套系统,解决了第1部分和第2部分的业务,那就可以极大地提高软件开发效率。

对一个软件企业来说,更高的开发效率和更好的可维护性可以大量节约成本,我经常看到很多大型企业为了做一个项目经常派十多个人组成一个开发实施团队,单是这些人的工资开支都是一笔很大的数字,很多项目开发会亏损就是因为这块费用过高导致的,软件实施的成功与否一是与需求理解成正比,二是与开发周期成反比,开发周期越长,需求变化的可能性越大,成功概率也就越低。

    我们先从开发思路上来解决上面的问题。

1.先设计一个包含增加,修改,删除,查询,导出,打印等功能的模板,然后在后台配置可以选取其中的一部分功能生成表单(有的界面只是查询功能,有的界面是完整的增,删,改功能),后台能够单独控制各个按钮并能够执行不同业务自己的逻辑

一个模板包含几个功能,增加,删除,修改和保存,导出,打印等功能

1)增加,实际上就是向数据库插入一条记录(Insert)

    那么要做的功能就是向弹出输入的界面,当用户录入完合适的数据后,对数据进行合法性检查,然后保存到数据库中.

2)修改,实际上就是对数据库中存在的一条记录进行修改(Update)

    跟上面实际上差不多,只是一个是增加,一个执行的是修改

3)删除

    根据查询条件筛选出相关数据,然后选中这些记录,执行删除命令

4)导出,打印等

导出查询出的结果

打印相关的数据

在我们的模板中这些都不牵涉到具体的数据表和相关的逻辑,说明这个模型是可以复用的

在后台可以根据具体的业务定义查询语句,具体的表名

如果只是简单的支持一些标准的按钮和标准的流程,那么这样的平台通用性是很差的,肯定无法满足复杂点的业务定义

我在开发过程中经常碰到很多这种需求,大多数都满足了,只是保存检查时需要增加一段特别的逻辑检查,呵呵,结果早期的开发平台满足不了,又要自己去写代码

所以在后台一定要强大,现在后台已经很强大了,能够支持宏语句(类似于VB脚本语句)可以写一些逻辑了

像我们做的一个物资管理系统这么复杂的需求,前台都没有几个界面了

除了上述功能,现在的东西很多都需要提供网上审批功能了,所以我在设计的时候就考虑了怎么处理

大多数的审批实际上就是签个字,写一下意见,有的就会去修改一下原来的数据,所以我是这样处理的,在业务的旁边增加了一个启动流程功能,然后就进入了审批中心,审批中心是独立设计的,我们的表单只是存放了它的一个索引,这种设计方便日后的业务更改,如果不需要审批了,直接把这个流程联系信息去掉就好了,并不需要影响业务。

 思路有了,那就根据个人的喜欢和造型来选择开发平台和开发语言了,B/S架构我用过asp,jsp,java,asp.net,C/S架构用过VB.DELPHI,,现在的开发基本上都选择B/S了,个人感觉asp.net对开发人员来说是最方便的,一是开发工具非常强大,方便用户掌握,二是它的网页开发模型我个人觉得是最方便的,写B/S程序就感觉跟写C/S程序一样简单,Java的模型虽然多,但还没做到跟写C/S程序一样方便吧,界面一复杂,处理起来就很麻烦了。

asp.net的缺点也有,就是为了保存控件的状态会在表单上保存viewstate信息,我看了一下,要多浪费十几K的信息,局域网中使用不存在任何问题,随着3G和宽带的普及,浪费点带宽却带来更方便的开发和维护,这又有什么要紧。

所以我就选择了asp.net打造出了一个通用的软件开发平台。

有兴趣的朋友或公司可以跟我联系,QQ:982208698

转载于:https://www.cnblogs.com/laoyang/archive/2009/05/09/1453367.html

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树使用JDBC操作数据库数据库操作91628 人正在系统学习中 相关资源:PPT中FLASH插入软件.rar-Flash文档类资源-CSDN文库

来源:weixin_30498921

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2009年4月7日
下一篇 2009年4月8日

相关推荐