一、引言
在管理信息系统(MIS)的开发过程中,系统开发人员常常遇到一些困难,如做出来的系统不符合要求,需要大量修改;开发工作进度难以控制,软件交付日期一再拖延;数据库环境档次低(仅限于数据和应用数据库),使数据结构和应用程序纠缠在一起,数据结构或应用程序的微小变化,都引起大面积的连锁反应式的修改等等。这些困难的产生,一方面是由于MIS开发过程本身的复杂性,因为它是一项系统工程,涉及到软件工程、数据库设计、应用业务、项目控制、人员管理和计算机技术等多种知识和经验。此外,根据笔者参加《胜利油田管理信息系统》和《大港油田管理信息处理系统》开发工作的经验,认为缺乏科学管理是其中另一主要原因,可以说加强科学管理是管理信息系统开发的基本前提。笔者认为科学管理应包括以下基本内涵:人员构成、系统设计、开发规范、开发进度、开发方法、程序设计和系统保障等,下面将逐一论述。
二、合理的人员构成
开发项目的成功需要有一个好的开发组,而组成一个高效的开发小组就必须要有一个合理的人员构成。我们可以参考微软软件工程开发准则(MicrosoftSolutionFramework,MSF)来组织人员。MSF是在微软的工具和技术的基础上建立并开发分布式企业系统应用的大型系统开发指南,它描述了如何用组队模型、过程模型和应用模型来开发Client/Server结构的应用程序,全球通用。MSF将一个项目中不同阶段的工作人员分为六个角色,通过这六个角色,项目可以得以迅速、完善地实施。这六个角色分别是:
1产品经理他了解用户特征,尤其是商业特征,明确用户的需求以及需求的期望值。之所以强调用户需求的期望值,是因为用户的商业化特征比较强,需求无尽,无法界定到底如何才算需求得到了满足,而确定了需求期望值后,用户的商业目的就非常明确,实施起来也比较顺畅。
2程序管理者负责制定计划,每天找出完成该计划的风险所在,排除风险,每天交付应该完成的内容,确保计划按质、按量实施。
3用户教育者负责设计友好的用户界面,对用户进行培训,确保用户能够并且愿意和喜欢使用开发出的产品。
4开发者开发者在开发前期就参与用户需求分析和项目计划制定,他最清楚具体的开发过程。在开发期开始后,负责进行代码开发,在每一个阶段,交付每一项内容的代码。
5系统测试者负责对开发出的代码进行测试。测试者并不是要找到每一个开发者的每一段代码的每一个错误(bug),而是要找到代码错误之间的关系,解决最根本的错误,掌握错误的状态,从而迅速排除错误。
6推广者推广人员负责将实验室的产品商品化,变成实际可以运行的产品,达到最初制定的商业目的,取得商业效益。这项工作在以往的项目中可能比较简单,因为实验室的环境可能和实际环境几乎一致或差别不大。而现在却不同了,实验室环境可能十分简单,而实际环境可能非常复杂,比如分布式环境、Internet/Intranet环境等,尤其是大企业,实际环境比实验室环境复杂得多,因而将实验室产品运用到实际环境中是一项非常重要的工作。这项工作没有完成好,往往使整个项目前功尽弃,功亏一篑。
MSF基本上包含了一个软件开发组的全部所需人员,事实上一个中小型的软件开发组不必全部具备以上人员,而且一人可兼数职。另外,开发组的人员应该分层次,下层人员要服从上层人员的领导。
三、明确的开发规范
MIS软件开发是一项浩大的工程,要保证系统的协调性、统一性和连续性,就需要在开发之前制定严格、详细的开发规范,开发规范的内容主要包括:系统设计规范、程序开发规范和项目管理规范等。
系统设计规范主要规定字段、数据库、程序和文档的命名规则、应用界面的标准和风格、各类报表的输出格式等。程序开发规范对应用程序进行分类,如可将程序分成代码维护类、业务处理类、业务查询类和统计报表类等,并给出各类应用程序的标准程序流程。项目管理规范则规定项目组中各类开发人员的职责和权力、开发过程中各类问题(如设计问题、程序问题等)的处理规范和修改规则、开发工作的总体进度安排和奖惩措施等。
开发规范是一种事前约定,它是在把今后开发过程中开发人员都可能遇到的问题提前做了考虑的基础上制定出来的,对开发人员的行为和设计、编程风格进行约束,需要所有开发人员共同遵守。开发规范的制定需要花费一定的时间和精力,但是磨刀不误砍柴工,有了开发规范,在后续的开发过程中,设计人员就不必每次考虑如何为一个字段命名,编程人员也不必去想某个程序的结构和布局,测试人员也有了判断程序对错的标准。可见明确的开发规范有利于形成系统的统一风格,也便于后续的系统维护和扩展工作。
四、严格的开发进度
项目进度管理是软件开发中最难以做好的一项工作。编程工作本身是一个难以量化的工作,再加上开发过程中对设计的修改等因素,使得项目开发工作经常不能按预计的时间完成。为了管理好项目进度,首先要制定一个可行的项目进度计划。一开始,项目进度计划只能根据项目的内容、工作量和参加人员进行大致地估算,包括系统分析和设计时间,编程、测试时间和文档制作时间,估算时应根据业务复杂程度加入一些缓冲时间。系统分析、设计完成后,根据程序清单可估算出每个程序的编程时间(根据程序类型和复杂程度),并在此基础上估算这种程序量下的测试、文档制作和缓冲时间,经过这样估算再做出的进度计划可以做到相当准确。
实际上项目进度计划是一个动态的、不断调整的计划。每周要将项目进度情况与项目进度计划进行对比。对于拖延的工作如无充分理由,则应督促有关人员加班或提高工作效率赶上进度;如有正常理由,在无法追回的情况下可以修改进度计划,申请延期。总之,项目进度管理一定要细致和严格。
五、超前的系统设计
软件设计的好坏直接关系到项目开发的成败。在设计之前一定要对用户的业务做系统的调研,深入、全面地了解用户业务。但在根据调研结果做设计的时候,直接根据收集资料和现行业务去推导数据库结构的做法是不可取的,这主要是因为:
1用户描述的业务可能不是一个好的管理方法;
2用户描述的各部门间的业务数据传递仍是手工做法;
3用户描述的业务不是规律性的业务流程,因此会经常发生改变;
4用户描述的业务不适于用计算机去实现;
5用户的输出表格为固定的内容,不能适应业务的变化和扩展。
所以在系统设计时要超越当前的业务,抽象出业务中的管理思想和规律性的东西。为了适应计算机管理,有时也要改变用户的业务流程,这时要与用户协商,让其理解这种改变的意义。另外设计还应留有可扩展的余地,最好采用三层的客户服务器结构,由各个组件构成系统,方便系统更改和维护。
六、合适的开发方法
管理信息的开发有多种方法,有些方法基本思路就不相同,有些方法则是相互间只有细小的技术上的差别。概括起来讲主要有以下三类:
1结构化系统开发方法
结构化系统设计方法是在Dijkstra等人提出的结构化程序设计思想基础上发展起来的,其基本思想是用系统的思想,系统工程的方法,按用户至上的原则,结构化、模块化,自顶向下对信息系统进行分析与设计。结构化开发方法适合开发规模不大、用户需求非常清晰明确、用户业务流程相对稳定不变的系统。结构化开发方法主要有以下弱点:用户与系统研制人员之间的思想交流不直观;开发过程较为复杂,所使用的工具落后:开发周期太长;不能较大范围的适应外部环境的变化等等。
2原型法系统开发方法
原型法一开始就凭着系统分析人员对用户要求的理解,在强有力的软件环境支持下,给出一个实实在在的系统模型(或称原型、雏形),这个模型大致表达了系统分析人员对当前用户要求的理解和他希望系统实现后的形式。然后系统分析人员和用户一道,对这个模型进行评价。原型法的最大优点是能够大大减少软件系统后期的维护费用,使系统功能能正确反映用户的需求。不足之处在于,如果原型本身功能设置不齐全、性能不好,会导致原型的设计和使用超出预期的花费和时间。另外一个不足是原型法需要一个合适的软件开发环境,以便原型能直接转换成现实系统。
3软构件开发方法
软构件把克服了原型方法需要快速工具支持的不足,取而代之以软件构件化的技术来构造系统。一般说来,大部分MIS在功能上有相似之处,可以利用软件的重用技术大大简化开发过程。软构件方法的提出正是基于这种思想。利用软构件法开发MIS,首先要准备一个名叫软构件(也被称为构件库)构件集合,比如可以收集一些已经开发出的MIS的总体设计、规划、局部流程以及某些人机界面、通用模块、简单开发工具。事实上开发MIS的大部分工作集中在构造软构件阶段,后续的确定系统的总体框架、构筑构件框架、修改总体框架,创建构件和修改构件等工作都主要是同软构件打交道。软构件方法的关键是尽量使用已经开发出来的软构件,要借助软构件的重用组合技术,开发出的系统具有较大的灵活性和便于更新维护。但是软构件方法是一个比较新的技术,没有成熟的方法,如果使用不当,忽视了对软构件集合的管理,那么其他的一些问题也就接踵而来。
七、实用的程序设计
MIS软件最终的目的是要用户使用,因此在程序设计时必须立足于操作简单、实用,并真正能为用户解决实际的业务问题。不能因为怕编程麻烦而将程序功能设计得过于简陋。为方便用户使用,应用程序中起码应具有下面这些功能:
1提示功能屏幕上的代码信息(如客户代码、科目代码等)要有提示操作,使用户不必记忆很多的代码。
2操作确认对于一些不可恢复的操作(如记录删除等)应有操作确认,避免误操作。
3数据校验对于一些有限制条件的输入信息,可以自动校验其正确性,避免错误数据进入系统。
4错误恢复用户无意中进行了错误操作,应能有相应的处理程序挽回错误。
5缺省赋值对于一些常用信息可以设置缺省值,使用户不必每次都输入这些信息。
6记录复制用户可以复制一条或多条己存在的记录,并可修改复制结果,形成新的记录。
八、可靠的系统保障
测试是保证程序质量的一项重要工作,但测试只能证明程序有错,而不能证明程序无错,所以任何软件系统都不能保证内部没有错误。为了确保软件系统的安全与可靠性,一方面要加大测试力度,另一方面要抓住测试重点。从测试的角度来说,可将MIS软件的程序分为两类:修改数据库类和信息输出类。前一类主要是业务处理程序,是测试重点。对于前一类程序还可以进一步细分为:基础数据采集程序和数据处理统计程序。数据采集程序主要记录原始凭证信息(如发票、凭证、入/出库单等),而数据处理统计程序是对数据采集程序记录下来的数据继续加工。这两类程序中基础数据采集程序又是测试的重点。
九、结束语
世界进入了信息时代,MIS的应用是企业应对外部竞争的有效工具之一,因而成功的系统开发的重要性也日益凸现出来。希望本文所探讨的内容能对此有点裨益,并能促进MIS在国内企业中推广应用,使企业的竞争能力早日迈上新台阶。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:MIS开发与科学管理
本文网址:http://www.toberp.com/html/consultation/10820623148.html