第2章管理信息系统开发方法主讲:XXX管理信息系统第一章管理信息系统基础知识2/45绪言管理信息系统是一门综合性学科,其中主要的理论与重要概念来自于软件工程、数据库、网络等相关学科。管理信息系统的开发技术也随着软件工程及相关学科的发展而不断更新。对管理信息系统开发方法进行综述,旨在为具体学习与掌握信息系统的开发方法与技术进行铺垫。本章主要介绍软件工程规范、管理信息系统的建设、生命周期理论及开发过程模型与开发方法。2.1管理信息系统中的软件2.2管理信息系统生命周期的阶段划分2.3管理信息系统的开发活动2.4管理信息系统开发方法2.5管理信息系统的开发工具本章主要内容第一章管理信息系统基础知识4/452.1管理信息系统中的软件2.1.1软件开发是信息系统开发的一项重要内容软件是信息系统的重要组成部分——管理信息系统是一个有机的整体,是按照企业系统的运作机理和管理需求构建的。系统的明确目标是为企业经营管理决策提供支持。管理信息系统中除了人、过程和设备以外,能够体现人的管理意志的部分就是软件。因此,构建管理信息系统的过程中,最复杂的活动就是分析企业用户的需求,以便开发出满足用户业务需求的软件。第一章管理信息系统基础知识5/452.1.2信息系统开发遵循的软件工程规范1.系统应遵循的软件工程规范软件开发是信息系统建设中的一项重要任务,大约占去60%的工作量,因此,管理信息系统的开发方法主要以软件工程的理论和方法为指导。软件工程规范体现了开发活动的工程化和系统化,我国在20世纪80年代末、90年代初颁布了六个国家标准,包括:GB8566—88计算机软件开发规范GB8567—88计算机软件产品开发文档编制指南GB9385—88计算机软件需求说明文档编制指南GB9386—88计算机软件测试文档编制规范GB/T12504—90计算机软件质量保证计划规范GB/T12505—90计算机软件配置管理计划规范第一章管理信息系统基础知识6/45根据这些规范,软件开发周期分为五个阶段:(1)可行性研究阶段;(2)需求分析阶段;(3)设计阶段;(4)实现阶段;(5)测试阶段;经过以上五个阶段之后,软件即可提交给用户进行使用,之后便进入了运行与维护阶段。运行与维护阶段是一个慢长的阶段,直到该软件报废或被新的软件取代。因此,上述五个阶段加上运行与维护阶段,就构成了软件的生命周期。每个阶段要产生相应的文档,规范中规定了14个文档:(1)可行性研究报告;(2)项目开发计划;(3)软件需求说明书;(4)数据要求说明书;(5)测试计划;(6)概要设计说明书;(7)详细设计说明书;(8)数据库设计说明书;(9)模块开发卷宗;(10)用户手册;(11)操作手册;(12)测试分析报告;(13)开发进度报告;(14)项目开发总结。这些文档在实际应用中,可以有选择的使用。第一章管理信息系统基础知识7/45表2-1软件工程规范表软件开发工程化软件开发系统化1先论证、设计,再编程实施1全面论证2先测试、试运行,再交付使用2整体分析、设计3软件要不断维护、完善3结构化、层次化4个体方式改为有分工的集体活动4发展变化的观点5运用先进的开发工具第一章管理信息系统基础知识8/45表2-2软件开发规范文档六个阶段十四个文档1可行性研究1可行性研究报告8数据库设计说明书2需求分析2项目开发计划9模块开发卷宗3设计3软件需求说明书10用户手册4实现4数据要求说明书11操作手册5测试5测试计划12测试分析报告6运行与维护6概要设计说明书13开发进度报告7详细设计说明书14项目开发总结第一章管理信息系统基础知识9/452.系统开发对文档的要求按用途,管理信息系统的文档可以分为应用文档、开发文档和管理文档,如图2.1所示。用户手册操作手册运行日志/月报维护修改建议书管理信息系统的文档应用文档开发文档管理文档系统分析说明书系统设计说明书程序设计说明书测试计划测试报告可行性研究报告项目开发计划需求变更申请书开发进度月报开发总结报告第一章管理信息系统基础知识10/452.系统开发的阶段划分及任务序号阶段主要内容主要文档1可行性研究回答:做不做?的问题项目提出;可行性论证;投资效益分析可行性分析报告;项目开发计划2系统分析回答:做什么?的问题现行系统描述;需求分析(目标与功能);逻辑设计(数据流图与数据字典)或面向对象的分析建模系统分析报告;测试计划3系统设计回答:怎么做?的问题子系统划分;网络系统设计;数据库与编码设计;输入与输出设计;功能模块设计;面向对象分析模型向设计模型演化系统设计报告4系统实施实际编程并构建系统编写应用程序,构建新的系统操作手册;源程序5软件测试回答:做得如何?系统调试;测试人员培训;完成测试测试报告6系统运行与维护试运行;系统交付;运行与维护总结报告;运行记录第一章管理信息系统基础知识11/45开发任务量所点的比例在系统开发过程中,各阶段所占工作量大体如下:系统分析30%,系统设计25%,编程20%,测试25%。一些专家认为,由于计算机辅助软件工程(CASE)等技术的发展,若不考虑系统测试和软件维护的工作量,系统调查、需求分析两个环节占到总开发工作量的60%以上,而系统设计和系统实现两个环节却占不到总开发工作量的40%,其中,原来的在开发工作中占工作量最大的编程与调试工作,现在只占10%以下的工作量。第一章管理信息系统基础知识12/452.2管理信息系统生命周期的阶段划分任何系统均有其产生、发展、成熟、消亡或更新换代的过程。这个过程称为系统的生命周期(SystemLifeCycle)。系统生命周期的概念对于复杂系统的建设具有重要的指导意义。软件工程规范中对软件开发阶段的划分的理论依据,就是管理信息系统的生命周期理论。MIS的系统开发生命周期(SDLCTheSystemsDevelopmentLifeCycle)大致可以分为:规划、分析、设计、实现与维护五个阶段。第一章管理信息系统基础知识13/452.2.1系统规划系统规划是管理信息系统建设的起始阶段。这一阶段的主要任务,是根据用户单位的整体目标和发展战略,确定管理信息系统的建设规划,划分业务流程,明确用户总的需求目标,制订管理信息系统建设的总计划,其中包括确定拟建系统的总体目标、功能、大致规模和粗略估计所需资源,并根据需求的轻、重、缓、急程度及资源和应用环境的约束,把规划的系统建设内容分解成若干开发项目,以分期分批进行系统开发。每一个项目的开发工作都包括系统调查和系统开发的可行性研究、系统逻辑模型的建立、系统设计、系统实施、系统转换和系统评价等活动。由于资源及应用环境的约束,管理信息系统一般不可能靠资源的一次投入而建成,因而一个开发项目往往是整个管理信息系统的某个或某几个子系统的建立。合理确定每次系统开发的目标、边界和开发周期,应用科学的开发方法、工具和规范,对于系统开发的成功至关重要。值。第一章管理信息系统基础知识14/452.2.2系统分析这一阶段的主要工作是根据系统规划阶段确定的拟建系统总体方案和开发项目的安排,分析相关业务的应用逻辑,这是系统建设中工作任务最为繁重的阶段。这一阶段会产生大量的系统分析资料,其中最主要的是用户需求说明、约束条件和描述用户业务逻辑模型。第一章管理信息系统基础知识15/452.2.3系统设计系统设计是根据用户的业务需求,构造新系统实现方案的活动。系统设计是一项创造性的脑力劳动,不同的技术人员,针对同样的用户需求文档可能构造出不同的系统实现方案,因此,系统设计是创造新系统的一项关键活动。目前较为成熟的系统设计方法包括结构化方法和面向对象的方法。系统设计阶段又可以进一步分为概要设计和详细设计两项活动。概要设计布署系统的总体方案,详细设计则是从物理实现的细节规划实现措施。第一章管理信息系统基础知识16/452.2.4系统实现系统实现是按照系统的设计方案,利用编程语言进行编程,并通过购置硬件、布署网络等措施实现一个新的管理信息系统的过程。系统实现阶段又包括编程、测试、调试等活动。测试包括单元测试、集成测试和系统测试。系统实现阶段的活动关系到软件的质量,系统的可维护性和可靠性等重要特性。第一章管理信息系统基础知识17/452.2.5系统运行与维护阶段这一阶段从系统交付使用直到系统报废或被更的管理信息系统代替,这是系统生命周期中历时最久的阶段,也是管理信息系统实现其价值、发挥效益的阶段。科学的组织与管理是系统正常运行、充分发挥其功能的必要条件,及时时、完善的系统维护是系统正常运行的基本保证。管理信息系统规模庞大,结构复杂,管理环境和技术环境不断变化,系统维护工作量大,涉及面广,投入资源多。据统计,现有管理信息系统在运行和维护阶段的开支占整个系统成本的三分之二左右,而这一阶段需用的专业技术人员占管理信息系统专业技术人员50%-70%。第一章管理信息系统基础知识18/45系统维护可以分为纠错性维护、适应性维护、完善性维护和预防性维护。(1)纠错性维护——是指对系统进行定期的或随机的检修,纠正运行阶段暴露的错误,排除故障,消除隐患,更新易损部件,刷新备份的软件和数据存贮,保障系统按预定要求完成各项工作。(2)适应性维护——是指由于管理方法与技术环境的变化,系统中某些部分的工作内容与方式已不能适应变化了的环境,因而不能完成管理信息系统的职能,故需要对这些部分进行适当的调整、修改以满足管理工作的需要。(3)完善性维护——是指用户对系统提出了某些新的业务需求,因而在原有系统的基础上进行适当的修改、扩充,完善系统的功能以满足用户新的需求。(4)预防性维护——是对预防系统可能发生的变化或受到的冲突而采取的维护。第一章管理信息系统基础知识19/452.2.6系统更新阶段在系统运行与维护阶段,系统单位时间内的费用随时间增长,系统维护的成本一天比一天高。适时开始新系统,使旧系统或其中某些主要部分退役,不仅能增强系统功能,满足用户新的需求,而且在经济上也是合理的。现有系统进入更新阶段时,下一代新系统的建设工作也就开始了。因此,这一阶段是新、旧系统并存的时期。对现有系统来说,可以全部更新,也可以部分更新或有步骤地分期分批更新。第一章管理信息系统基础知识20/45续阶段主要活动系统规划战略规划:根据用户单位(组织系统)的目标和发展战略,确定管理信息系统的发展战略业务流程规划:根据系统的目标与战略对业务流程进行识别、改革与创新管理信息系统总体结构规划:进行需求分析、数据规划、功能规划与系统划分、信息资源配置项目实施与资源分配规划:根据应用需要和可行性,将整个系统划分成若干项目,估计每个项目所需硬件、软件、网络、资金、人员等各项资源第一章管理信息系统基础知识21/455.信息的局限性系统开发系统分析系统初步调查,开发项目的可行性研究,系统详细调查,开发项目范围内新系统逻辑模型的提出系统设计系统总体结构设计、输入设计、输出设计、处理过程设计、数据存贮设计、计算机处理方案选择系统实现软件编程和软件包购置、计算机和通信设备的购置,系统的安装、调试与测试,新旧系统的转换系统运行与维护系统运行的组织与管理、系统评价、系统纠错性维护、适应性维护、完善性维护、预防性维护系统更新适时开始新系统建设工作,使旧系统或其中某些主要部分退役,增强系统功能,满足新的需求现行系统问题分析、新系统的建设第一章管理信息系统基础知识22/452.3管理信息系统的开发活动2.3.1谁参与了系统开发2.3.2系统分析员的职责与技能2.3.3开发过程模型第一章管理信息系统基础知识23/452.3.1谁参与了系统开发管理信息系统的开发是一个复杂的系统工程,需要具有各类专业特长的专业人员共同参与开发活动。常见的管理信息系统开发模式有自主开发、联合开发和委托开发等几种形式,无论那一种形式都需要统筹规划,需要各类专业技术人共同参与。典型的信息系统开发活动中,包括用户、项目经理、系统分析员、软件工程师、程序员和数据管理员等。即便是用户自主开发,也需要有相对明确的角色分工。第一章管理信息系统基础知识24/452.3.2系统分析员的职责与技能参与管理信息系统分析活动的主要人员