第1章 信息化建设及IT项目的面向对象分析设计、开发和管理概述
1.1 信息化建设和ERP系统介绍
目前,我国的信息化建设正在实现跨越式发展,成为支撑国民经济和社会发展的重要基础。随着互联网的飞速发展,国内外信息化建设已经进入蓬勃发展阶段,信息系统对用户的教学、科研、工作、生活及其他诸多方面都提供了巨大的帮助。信息系统的应用面极其广泛,市场前景巨大,如管理信息系统(MIS)、电子商务系统、企业资源计划(ERP)系统、办公自动化(OA)系统、数字化图书馆系统、医疗卫生系统、金融系统、物流系统、税务系统、电信计费系统等,所以信息系统建设及IT项目的开发和管理的研究及实践引起了人们的高度重视。
利用计算机网络技术、数字通信技术及数据库技术实现信息采集和处理的系统,称为信息系统。信息系统在各个领域得到了广泛应用,这里着重介绍企业资源计划(ERP)系统。
1.1.1 初识ERP系统
我国企业在信息化建设和发展的过程中,必须充分重视并积极推进企业信息管理系统的发展。企业信息管理不仅是现阶段企业信息化建设水平提高的主要方向,也是体现信息化在业务管理应用方面所获成效的重要标志,更是信息化建设向企业战略管理阶段持续发展的重要基础。因此,在一定程度上,实施ERP管理系统已经成为企业信息化建设和发展的必然趋势。
1.ERP系统的定义
ERP(Enterprise Resources Planning)是企业资源计划的简称,是20世纪90年代美国的IT公司根据当时计算机信息、IT技术的发展及企业对供应链管理的需求,预测今后企业管理信息系统的发展趋势和即将发生的变革,而提出的概念。
ERP管理系统不仅可以支持和优化企业内部和企业之间的协作与财务运作,还是一套面向具体行业的应用系统。该系统注重制造业企业的资源计划和库存准确率,同时也注意到了企业的业务可见度。
2.ERP系统的特点
ERP系统是主要针对物质资源管理(物流)、人力资源管理(人流)、财务资源管理(财流)、信息资源管理(信息流)集成一体化的企业管理软件,其特点在于它在模式要求、信息要求、性能要求和安全要求方面都做了进一步规划。
● 模式要求
在总体上应具有技术先进、安全可靠、扩展性强、维护方便等特点。
● 信息要求
在实现信息集成的基础上,整个系统所涉及的各部分业务处理模块,应能实现部分功能集成。同时加强信息的标准化工作,控制数据源头是做好信息集成的关键。
● 性能要求
在数据处理方面,效率要高,系统故障频率要低,易于维护,并能够提供多种数据输出接口,方便用户进行其他数据处理操作。
● 安全要求
安全要求体现在网络系统的安全控制,操作系统的安全控制,数据库的安全控制,应用软件的角色定义、分配和控制以及系统维护人员的素质和有效的管理制度。
3.ERP系统的演变
(1)ERP的发展阶段
ERP作为一种先进的、适应现代竞争环境的管理理论和管理方法论,是帮助企业完成这一变革的最为有力的武器。但在我国引进ERP的20年里,获得成功的企业少之又少,而且成功的企业又大部分是外资企业和国有大型企业。然而,我国的企业中,80%左右为中小型企业,而且中小型企业正是当前市场经济的主体,也是市场活力和创新的主要源泉。中小型企业这一变革的成功与否直接关系着我国市场经济的兴衰。
现阶段企业正在将自身业务从纵向的、高度集成的、注重内部功能优化的、大而全的模式向更灵活、更专注于核心竞争力的实体模式转变,从而使企业可以在整个供应链和价值网络中优化其经济和组织结构。这一变化使得企业客户或解决方案供应商需要重新考虑和设计企业管理系统,以便涵盖更多的外向型系统元素。因此ERP管理系统就好比一个人在学习过程中的成长阶段,而每个阶段又是依次相连、紧密相关的。因此企业ERP项目不可能一步到位,而是一个由低到高、循序渐进的发展过程。如图1-1所示为一个恰当的比喻。
图1-1 ERP项目阶段比喻图
(2)ERP的核心思想
当今的时代已进入了现代市场经济阶段,并正在向知识经济时代过渡,第三产业的充分发展已成为现代经济发展的显著标志。金融业成了现代经济的核心,信息产业日益成为现代经济的主导。随着第三产业的蓬勃发展,对ERP管理系统的需求已打破了只局限在传统制造业的情况,而扩展到各行各业,如金融业、高科技产业、通信业、零售业等,从而使ERP的应用范围大大扩展。
在企业信息平台和网络传输平台的基础上,开发、实施和应用ERP,前期主要解决企业涉及生产经营管理业务层面上的流程设计和系统应用,包括生产计划与生产作业、供应和销售、库房、质量以及财务接口等业务方面的数据信息的处理和分析,达到信息集成和高度共享的要求,以实现公司信息资源的及时传递和有效整合,全面提高企业管理水平。
1.1.2 ERP系统项目简介
ABC企业资源计划(ERP)系统是该公司为实现信息化管理而实施的计算机集成项目。该项目按照公司的发展战略,以公司信息化、自动化管理为目标,通过企业信息化中心平台、网络平台、企业ERP应用以及办公自动化系统的建设,全面提高公司的生产经营管理水平,增强技术开发能力,提高企业综合经济效益,增强企业的竞争力与应变力。
在以3C(顾客、竞争力、变化)为特征的新经济时代的市场竞争环境下,从生存发展的需求出发,企业应本着“效益驱动、总体规划、分步实施、重点突破”的原则,把逐步建立ERP纳入企业发展战略规划。因此,开发和应用企业管理信息化系统是计算机技术应用发展的必然趋势,是企业在激烈的市场竞争中求生存、求发展的重要战略手段,也是公司实现经营战略目标的迫切需要。
ABC有限公司是生产汽车零部件的骨干企业。企业占地面积12600平方米,建筑面积6000平方米。2001年企业通过ISO9001质量体系认证,2005年8月通过了ISO/TS16949质量体系认证。
ERP的实施,将全面提高企业的综合效益,实现计算机资源共享和信息共享,向公司领导及时提供产品研制、生产、销售、财务和质量等重要信息。同时为领导快速决策提供有力支持,使公司管理制度化和规范化,提高公司的管理效益和管理水平,加速现代企业制度改革的步伐,提高企业的全球市场综合竞争力,提高产品设计、生产、制造和销售对市场需求的响应速度。
根据对ERP管理组织结构的设定与对系统功能提出的具体要求,同时结合计算机管理的特点,该ERP系统的总体功能分为如下几个方面。
● 生产管理系统
生产管理系统,主要由生产管理、库房管理、采购管理、销售管理和综合查询等主要模块组成。
在该系统中,主要完成客户订单、材料领取单、产成品/半成品入/出库、生产计划信息、材料进厂情况、生产完成情况、返修品入/出库和采购申请单的增删改查等功能。
● 人事管理系统
人事管理系统,主要由员工信息、年培训需求调查、年培训计划、合理化建议卡、制度管理、外培台账、岗位规范、应聘登记表、员工素质矩阵、员工培训登记卡、外培成效反馈卡、员工素质评定表和新上/转岗人员培训记录等主要模块组成。
在该系统中,主要完成员工信息的增删改查、年培训需求调查、企业内部人员对外培训、反馈企业对外培训人员的基本信息与成效信息和新上/转岗人员培训成效记录等功能。
● 档案管理系统
档案管理系统,主要由工具图书管理、图纸管理、工艺规程、行政档案管理和规章制度管理等主要模块组成。在该系统中,主要完成人员档案、工具图书的增删改查等相关功能。
● 设备管理系统
设备管理系统,主要由设备台账、设备故障停机/计划检修单、设备备件计划、设备事故报告单、设备维修记录和设备调试验收记录等主要模块组成。
在该系统中,主要完成记录设备的检修、调试和维修等相关功能。
● 考勤管理系统
考勤管理系统,主要由加班申请单、工时单、记件单、惩治费查询和月份综合考勤汇总表等主要模块组成。
在该系统中,主要完成员工基本考勤信息的录入及汇总等相关功能。
● 质量管理系统
质量管理系统,主要由入厂检验记录、产品检验报告、巡回检查、过程成品抽检记录和原材料进厂报检单等主要模块组成。
在该系统中,主要完成记录半成品和成品等相关质量检验结果等相关功能。
● 新品管理系统
新品管理系统,主要由新品生产单和新品工序材料等主要模块组成。
在该系统中,主要完成记录新品序号、材料序号以及新品的生产单号等相关功能。
● 财务管理系统
财务管理系统,主要由应收账单、收款单、财务流水账和成本核算等功能模块组成。
在该系统中,主要完成财务日常管理和统计分析生产销售产值明细等相关功能。
● 系统维护
系统维护部分,主要由各部门数据维护、公司资料维护、供应商资料维护、产品工程设置和产品价格维护等主要模块组成。
在该系统中,主要完成各部门与部门之间的数据维护,公司与公司客户间的资料维护以及产品材料、类别的维护等相关功能。
我们可以看到,ERP系统庞大复杂,内容很多,我们在此不可能一一详述。本书案例将主要针对它的一些核心功能来展开介绍。
1.2 面向对象的分析设计、开发及管理概述
信息化系统的建设虽然重要,但它并不是一项简单的工作。1995年,美国斯坦迪申(Standish)咨询公司对美国365位信息技术高层经理人员管理的8380个项目进行调查研究,得到如下结论:
● 信息技术项目正处于一个混沌的状态。
● 平均成功率为16%。
● 50%的项目需要补救。
● 34%的项目彻底失败。
● 平均超出时间为222%。
● 实际成本是估计成本的189%。
● 性能与功能只达到要求的61%。
我们从中可以看到,大多数信息化建设项目是以失败告终的。这其中一个重要原因就是没有贯彻软件工程思想和面向对象的开发及管理等原理和方法。接下来介绍这些重要概念。
我们知道,软件工程是研究软件开发和管理的一门工程科学。这里一是强调开发,二是强调管理。当然,开发中有管理,管理是为了更好地开发。所以,开发和管理是相辅相成的两个方面。
关于现代软件工程研究的内容,至今没有统一的说法。可以认为,现代软件工程研究的内容涵盖了“软件开发模型、软件开发方法、软件支持过程、软件管理过程”4个方面,如表1-1所示。
表1-1 现代软件工程研究的内容
本书就是围绕这4个方面展开的。在软件开发模型方面,主要讲解目前最流行的一种迭代模型:RUP(Rational Unified Process);在软件开发方法方面,主要讲解面向对象的方法;在软件支持过程方面,主要讲解Rational Rose、Power Designer、MS Project等工具;在软件管理过程方面,主要讲解软件配置及变更管理、CMM软件过程管理、项目管理等。
首先我们了解一下面向对象的软件工程方法论。到目前为止,软件工程中常用的开发方法主要有两种:面向过程的方法和面向对象的方法。
1.面向过程的方法
面向过程的方法习惯上被称为传统的软件工程开发方法。面向过程的方法包括面向过程需求分析、面向过程设计、面向过程编程、面向过程测试、面向过程维护及面向过程管理。面向过程的方法又被称为结构化方法,其包含的几个步骤习惯上叫做结构化分析、结构化设计、结构化编程、结构化测试、结构化维护。结构化测试、结构化维护又称为面向功能测试、面向功能维护。
面向过程的方法的特点是:程序的基本执行过程主要不是由用户控制,而是由程序控制的,并且按时序进行。面向过程的方法优点是简单实用,缺点是维护困难。
面向过程的方法开始于20世纪60年代,成熟于70年代,盛行于80年代。该方法的基本特点是强调“自顶向下、逐步求精”,编程实现时强调程序的“单入口和单出口”。这种方法在国内曾经十分流行,大量应用,非常普及。
对于软件行业来说,某一种方法论往往来自于某一类程序设计语言。面向过程的方法来自于20 世纪60~70 年代流行的面向过程的程序设计语言,如ALGOL、Pascal、FORTRAN、COBOL.C语言等,这些语言的特点是:用顺序、选择(if-then-else)、循环(do-while或do-until)这3种基本结构来组织程序的编制,实现设计目标。
面向过程的方法已经不能适应目前软件项目的需要了,一种更好、更强大的软件工程开发方法是下面要介绍的面向对象的方法。
2.面向对象的方法
面向对象的方法被称为现代的软件工程开发方法。面向对象是认识论和方法学的一个基本原则。人对客观世界的认识和判断常采用由一般到特殊(演绎法)和由特殊到一般(归纳法)两种方法,这实际上是对要认识、判断的问题域对象进行分解和归类的过程。
面向对象的方法(Object-Oriented Method,OOM)是一种运用对象、类、消息传递、继承、封装、聚合、多态等概念来构造软件系统的软件开发方法。
面向对象的方法包括面向对象需求分析、面向对象设计、面向对象编程、面向对象测试、面向对象维护、面向对象管理。面向对象,或者说面向类的方法开始于20世纪80年代,兴起于90年代,目前已经走向成熟,并且开始普及。面向对象的方法基本特点是:将对象的属性和方法(即数据和操作)封装起来,形成信息系统的基本执行单位,再利用对象的继承特征,由基本执行单位派生出其他执行单位,从而产生许多新的对象。众多的离散对象通过事件或消息连接起来,就形成了软件系统。
面向对象的方法优点是易于设计、开发和维护,缺点是较难掌握。
面向对象的方法来源于20 世纪80 年代初开始流行的面向对象的程序设计语言,如Java、C++等。80年代末,微软Windows操作系统的出现,使它产生了爆炸性的效果,大大加速了它的发展进程。
面向对象的方法实质上是面向功能的方法在新形势下(由功能重用发展到代码重用)的回归与再现,是在一种高层次(代码级)上的新的面向功能的方法论,它涉及的“基本功能对象(类或构件)”不仅包括属性(数据),而且包括与属性有关的功能(或方法),如增加、修改、移动、放大、缩小、删除、选择、计算、查找、排序、打开、关闭、存盘、显示和打印等。它不但将属性与功能融为一个整体,而且对象之间可以继承、派生及通信。因此,面向对象设计是一种新的、复杂的、动态的、高层次的面向功能设计。它的基本单元是对象,对象封装了与其有关的数据结构及相应的处理方法,从而实现了由问题空间到解空间的映射。简而言之,面向对象的方法也是从功能入手的,将功能或方法当做分析、设计、实现的出发点和最终归宿。
业界流传的面向方面的方法、面向主体的方法和面向架构的方法,都是面向对象的方法的具体应用。
本书主要以企业资源计划理论和实践为例,介绍面向对象的分析设计、开发和管理。我们首先介绍一些IT项目开发的背景知识。