2005-07-11 09:25
管理软件从技术角度讲就是对大量的数据进行管理的软件。
要做好管理软件产品的研发,可以从这几个方面考虑:数据、用户界面、流程、程序、开发工具。如果是管理软件的项目,则不仅要考虑好前面几个方面,还要考虑项目管理的一些问题。可以从这几个方面考虑项目管理:公司领导、项目组成员、客户、项目本身。
以下就如果做好管理软件的产品研发和项目实施,给几点建议:
1. 数据之间要双通
数据双通是指,A和B是两个有关系的数据,通过A数据能看到B数据,那么通过B数据也要能看到A数据。
例如用户和角色这两个数据,一个用户可能有多个角色,一个角色可能有多个用户。
所以从用户的角度可以看到这个用户拥有哪些角色,从角色角度可以看到这个角色上有哪些用户。
2. 数据要有轴心
所有的数据都要围绕一个轴心,这样数据与数据之间都一个通过这个轴心找到另一个数据。像CRM系统,它的轴心就是客户,所有其他的数据都要和客户做关联。一个好的管理软件,都会有这样的轴心理念。
3. 数据要集中
对于一个用户来讲,要把一些重要的信息集中在一起显示,不然用户要东找一些,西找一些,给用户带来麻烦。
尤其对于那些用户需要相互比较的数据,如果不能在同一个界面上显示,那么用户必须要打开两个或两个以上相同的界面来查看数据。
4. 易用性
不需要用户多操作的决不让用户多点击一下鼠标。特别对于用户有可能重复执行的那些操作。
例如数据删除的功能,一般这个功能都是这样实现的,先让用户查询出数据,然后在数据的后面有一个对应的删除按钮,点击这个按钮可以删除对应的数据。如果用户要删除的数据很多的话,这个实现方式显然是不好的。
再例如查询界面中的提交按钮,用户输入好查询条件后可以点击查询按钮进行查询,但也可以输入好条件后直接回车进行查询。后一种实现方式要比前一种方式好很多。
5. 灵活性
灵活性是指,最大限度的满足客户的不同意见。例如,流程审核,需求调研时可能客户会说某个流程肯定是要审核的,但在做软件的时候就做成既可以审核,也可以不审核。否则,由于客户的观点改变或者由于需求交流时的客户那边的那个人换了而阻碍软件系统的上线。
6. 可理解
可理解是指,软件的每一个显示,每一个处理都是有理由的,而不是别处没有,这里也应该没有,或者是别处是这么做,这处也这么做。
这个问题出现的主要原因有:
1) 开发人员对需求不了解,设计人员设计也不到位,这就造成了开发人员直接按照设计人员设计的做,最后做的不到位。
2) 应付客户需求,客户要求这么做就这么做,客户不要求的,应该做的,也不做。
7. 必要的注释
有些让用户输入的数据,它格式是有规则的,则应该在输入项的旁边加上注释。
例如有个用户输入项的格式是200506,应该在输入项旁加上输入“格式例如:200506”。如果在用户输入好数据后提交时再给出数据不正确的提示,好像给出提示的时机有些晚,用户不得不再次修改数据再提交。
另外必要的注释可以作为一个很好的向导,可以帮助用户很快的学会如何使用软件。
8. 使用”下一步”的方法
我们有时会遇到因为某个字段值的变动,而改变其他字段是否显示或展示方式,因为在Web方式下比较难在同一个页面上实现这种方式。所以可能使用下一步的方法来实现这种功能。先让用户确定某些会影响其他字段的显示的字段值,然后下一步根据用户在上一步中确定的值来显示具体的内容。
这种方法不仅程序开发要简单,而且用户使用起来也简单,而且非常的清楚。
9. 抓住需求本质
客户的每一个需求都是有理由的,都是有想法的。我们应该知道客户为什么要这么做,而不是说这个是客户要求的,我们一定要做。
客户想要的东西也是以把他自己的工作做好为目的,很少有客户会因为给你付钱了而有意刁难你。
10. 做开发的时候抓住工作重点
做好重要的工作,做好客户认为是重要的工作,客户认为数据的正确性是重要的,流程的可见性是重要的,以及软件的可用性,可理解性等等。我们所担心的也是我们最最重要的工作重点。
11. 对于流程软件来说的几点
11.1 用户任务明确
用户当前的任务数,当前有哪些任务要做,这些都要很清楚的展示给用户,用户登陆系统后要能立即看到这些信息。
11.2 数据的来龙去脉要清楚
用户要清楚的知道当前自己处理的数据是从什么地方来的,并且要知道前面的员工做了些什么工作,也要知道自己处理后,数据到哪儿去。
12. 管理软件不宜大量使用面向对象的方法来设计
管理软件不宜大量使用面向对象的方法来设计,只有少许的模块中可能会用到面向对象的方法。我在工作中发现好多设计人员使用UML来做设计,用类图和对象图来表示类与类,对象与对象之间的关系。但是设计的效果都不好,不能有效的指导开发人员,也不能作为一个很好的文档。
管理软件的技术本质就是对数据库存取数据。在这种软件中,对象之间的关系不复杂,软件结构也不复杂。所以这种软件在软件结构模型上,只需要一种统一固定的结构模型即可。
管理软件就是“两个过程”。
过程一,取数据
1) 从数据库提取数据。
2) 把取出的分散的数据整合成一个完成的数据对象。
3) 用比较直观的界面把这个数据对象显示给用户。
过程二,存数据
1) 用户从界面录入数据。
2) 系统分析数据,把用户录入的数据拆分成几块有联系的数据。把相应的数据块存储到相应的位置上(数据库表)。
根据以上的分析,软件团队只需要设计好一个统一的架构规范,所有的软件设计和开发人员都按照这个架构做设计和开发,这要比用UML语言来设计管理软件要有用的多。
在基于WEB技术的管理软件中,做好页面流的设计要比分析类与类之间的关系更为重要。
管理软件的核心就是数据模型。在做软件设计的时候能够把数据模型清楚表示出来就很好。我一般用PowerDesigner这个工具。管理软件另外一个设计重点是用户界面上的数据和存储层上的数据如何对应和转换。如果能把这个也表示清楚就非常不错了。所以我一般做以下几个方面的设计:数据模型(即数据库表结构及表之间的关系),Web页面流,用户界面如何调用程序接口从存储层取和存数据,程序接口中的执行过程。
13. 做好技术积累,增强软件定制的能力
管理软件的开发面临的困难
1) 很难做出一个能满足不同客户需求的软件产品。客户总是有这样或那样不同的需求。根据不同客户的需求定制软件在所难免。
2) 客户对自己的业务也没弄很清楚,总是有不断的需求变更和新的需求,项目延期再延期。
3) 做了一个项目后,再做另外一个类似的项目,软件开发费用仍然居高不下。
4) 软件工程师在不停的加班,测试部测出的BUG却越来越多。
5) 技术要求不高,但是开发工作量比较大。
以上的问题在于软件公司缺少软件定制的能力。软件公司在开发软件时一定要不仅做好业务方面的知识积累,而且要做好技术方面的积累。软件配置技术是管理软件的非常重要的技术。如果能够通过配置实现软件的大部分功能,不仅可以按照客户需求灵活的定制软件,而且可以节约软件开发和维护的大量成本。
Siebel公司在CRM管理软件业界做的很好,他的实力在于不仅拥有非常先进的CRM理念,而且拥有先进的管理软件配置技术。
分析了以上问题,对于如何做好管理软件,并且能大量提升软件开发速度,大量降低软件的开发成本,北京丽景软件工作室一直专注于这方面的研究,并且推出了专门用于开发管理软件的JAVA平台(RedCat管理软件JAVA开发平台4.0),基于此平台开发管理软件,工作量至少可以减少一半,开发速度至少可以提升一倍,开发出的软件软件质量也会大幅度提高。
如果管理软件的开发商在开发软件时,项目的费用很高,一直降不下来,或者开发的工作量太大,不能很快完成,那么为什么不了解一下RedCat管理软件JAVA开发平台呢,它一定能让您的软件开发工作量成倍的降低。
转自中国知识管理网