3管理信息系统开发方法_3.1概述1第3章管理信息系统开发方法问题讨论:1、有的同学认为,只要能编写好程序,就能开发管理信息系统(软件),对不对?2、“软件危机”是怎么回事?3、为什么许多管理信息系统开发和应用失败了,原因是什么?3管理信息系统开发方法_3.1概述3管理信息系统在组织中的作用已被广泛认可,一些企业试图利用现代管理理论和技术手段加强自身的竞争能力,提高管理水平和效率。这种主观愿望是好的,但是,管理信息系统的开发与组织是一个系统工程,涉及到软件公司和用户企业两方.从两个角度来看待管理信息系统的开发是两个不同的过程.从用户企业的角度,开发实施MIS包括这几步:1.明确自身需求,明确实施MIS希望带来的改进2.选择开发方式:自行开发/委托开发/合作开发/从市场上购买合适的软件3.MIS的选型:选择合适的合作软件开发商,考虑预算约束选择合适的模块4.MIS的开发过程5.MIS的运行维护,根据外界环境进行改变拓展.思考:假设你是用友软件公司的CEO,用友公司参与了哪些步骤?3管理信息系统开发方法_3.1概述4本门课程学习的主要是从软件公司的角度来进行的.本章的第一节,第二节是从软件公司的角度,对开发方法的选择进行了概述.第4,5,6,7章是结构化开发方法的具体化.本章的第三节则涉及到了一些从用户角度来考虑的问题,如系统开发的基本条件,开发方式,开发单位的选择,系统开发的组织.这些知识对软件公司来说同样是非常重要的.(需要从客户的角度考虑问题!)本书主要内容都是从软件开发者的角度来进行的.作为软件开发者首先要了解常见的系统开发的风险(如预算超支,延迟交付,系统不符合用户需求,系统可扩展性差等),风险产生的原因(领导不重视,项目管理混乱等)作业:请上网搜索1个企业实施MIS失败的例子,交代背景,说明失败在哪些地方,(如预算超支等),并分析其原因.写在记事本里,文件命名为“学号”+空格+姓名,上传到概述一、研究开发方法的原因和目的1、研究开发方法的原因随着管理信息系统应用程度的深入和应用规模的扩大,出现的问题:手工处理信息过程和方法原封不动地“翻译”成软件程序后,常常失败。大型的应用系统应如何合理地组织人力、物力、财力来协调开发。对一个实体组织应如何着手调查分析。一个大型系统应该如何进行系统化的划分。如何才能合理地协调数据和利用信息资源。如何充分发挥现有计算机和通讯设备的处理能力,更好的解决实际管理问题等。3管理信息系统开发方法_3.1概述63.1概述2、开发方法的基本目标使管理信息系统正确反映管理需要,满足用户需求,使所开发的管理信息系统为管理决策提供信息支持;有效地管理系统开发过程,加快软件开发速度,提高软件生产效率,降低费用;增强管理信息系统软件产品的功能,提高软件产品的质量;充分利用软件技术,尽快跟上硬件发展速度,从而最大限度地发挥和挖掘硬件的功能;合理组织和充分利用人力、物力和财力等资源。3管理信息系统开发方法_3.1概述7软件质量:与软件产品满足明确或隐含需求的能力有关的特征和特征的总和。1.从用户最感兴趣的的角度来说,软件质量可以从三个不同的角度来看待:如何使用软件、使用效果如何、软件性能如何;2.从软件开发的团队的角度来说,不仅要生产出满足质量要求的软件,也对中间产品的质量感兴趣,也对如何运用最少的的资源、最快的进度生产出质量最优的产品感兴趣;3.从软件维护者的角度看,对软件维护方面的特性感兴趣,关注文档的规范性完整性;4.对企业的管理层来说,注重的是总体效益和长远利益,就是说质量好的软件一般可以帮助企业扩大市场;反之,质量差的软件一般会造成企业市场萎缩。3管理信息系统开发方法_3.1概述8软件质量特性:根据《GB/T16260-1996(idtISO/IEC9126:1991)信息技术软件产品评价质量特性及其使用指南》软件的质量特性包括功能性、可靠性、易用性、效率、可维护性、可移植性等六个方面,每个方面都包含若干个子特性:功能性(functionality):适合性、准确性、互操作性、依从性、安全性;可靠性(reliability):成熟性、容错性、易恢复性;易用性(usability):易理解性、易学性、易操作性;效率(efficiency):时间特性、资源特性;可维护性(maintainability):易分析性、易改变性、稳定性、易测试性;可移植性(portability):适应性、易安装性、遵循性、易替换性;3管理信息系统开发方法_3.1概述93.1概述二、开发方法的结构体系主流的系统开发方法,其侧重点各有所不同:强调开发过程的组织、管理和控制,属于系统开发生命周期的范畴;强调开发方法的驱动对象,属于方法论的范畴;支持某种方法论的技术,属于技术范畴;系统开发需要在一定的开发环境下运用开发工具来完成,属于系统开发环境/工具研究的范畴。这些方法在一定层面上,从不同的角度提出,但彼此相互联系、相互支持、相互制约,之间的关系从上图四个层次中体现。开发环境/工具位于最底层,说明其他三个层面均离不开开发环境/工具的支持;技术是组成方法学的基本成分。3管理信息系统开发方法_3.1概述103.1概述系统开发生命周期方法学技术开发环境/工具中央资源库3管理信息系统开发方法_3.1概述113.1概述中央资源库计算机开发方法结构化SDLC原型法面向过程方法(结构化方法)面向数据方法(信息工程方法)面向对象方法(OO方法)可视化技术计算机辅助软件工程软件复用技术其它技术计算机辅助软件工程软件开发环境集成化的项目/程序支持环境计算机信息系统开发环境/工具技术系统开发生命周期(SDLC)方法学:驱动对象的观点3管理信息系统开发方法_3.1概述12作业:看书上P74到77页的内容回答问题1/现在我是一家公司的老总,我们公司想要开发一个MIS.你作为软件公司的负责人,请用自己的语言简单表述结构化开发方法是如何进行开发的?(分几个阶段,每个阶段要做些什么?)2/用自己的语言表述结构化开发方法的优点和缺点?3管理信息系统开发方法_3.2常用开发方法133.2常用开发方法一、结构化系统开发方法1、基本思想结构化系统开发方法(StructuredSystemDevelopmentMethodologies,SSDM)又称结构化生命周期法,是系统分析员、软件工程师、程序员以及最终用户按照用户至上的原则,自顶向下分析与设计和自底向上逐步实施的建立计算机信息系统的一个过程,是组织、管理和控制信息系统开发过程的一种基本框架。3管理信息系统开发方法_3.1概述14宝贵什么是任务分解结构WBS?什么是WBS优先级结构?3管理信息系统开发方法_3.1概述15WBS(WorkBreakdownStructure)主要是将一个项目分解成易于管理的几个部分或几个细目,以便确保找出完成项目工作范围所需的所有工作要素。它是一种在项目全范围内分解和定义各层次工作包的方法。1000-1100–1110111111121113–1120112111221123-12003管理信息系统开发方法_3.1概述16WBS分解类型基于工作过程的划分上层按照工作的流程分解下层按照工作的内容划分3管理信息系统开发方法_3.1概述17WBS分解类型基于可交付成果的划分上层一般为可交付成果为导向下层一般为可交付成果的工作内容生日宴会WBS1.0晚宴1.1生日蛋糕1.2饮料1.3清洗1.3.1食品1.3.2餐具1.4菜1.4.1凉菜1.4.2熟菜1.4.2.1蔬菜类1.4.2.2海鲜类1.4.2.3其它类2.0娱乐2.1音响2.2灯光布置2.3室内布置2.4CD/VCD光碟返回3管理信息系统开发方法_3.1概述18WBS优先级结构即系统开发所遵循的基本模式瀑布模型迭代模型3管理信息系统开发方法_3.1概述19WBS优先级结构螺旋模型返回3管理信息系统开发方法_3.2常用开发方法203.2常用开发方法2、开发过程系统规划阶段:目的是从整个业务的角度出发确定系统的优先级。系统分析阶段:主要活动包括可行性分析和需求分析。其范围是列入开发计划的单个信息系统开发项目。目的是分析业务上存在的问题,定义业务需求。系统设计阶段:系统设计的目的是设计一个以计算机为基础的技术解决方案以满足用户的业务需求。总体设计的主要任务是构造软件的总体结构;详细设计包括人机界面设计、数据库设计、程序设计。系统实施阶段:系统实施的目的是组装信息系统技术部件,并最终使信息系统投人运行。如用户手册等。包括的活动有编程、测试、用户培训、新旧系统之间的切换等。系统运行与维护阶段:进行系统的日常运行与维护管理、评价、监理审计等工作。3管理信息系统开发方法_3.2常用开发方法213.2常用开发方法3、开发原理(1)用户的积极参与:用户积极参与信息系统的开发的全过程,是信息系统开发能否成功的一个关键的、绝对必要的因素。(2)严格按划分的阶段和活动进行系统开发:将整个系统的开发过程分为一系列“阶段(Phases)”,然后再将阶段分为一系列的“活动(Activities)”,将活动划分为更小的、更易于管理和控制的“作业(Task)”。(3)设立检查点(Checkpoint):在系统开发的每一个阶段均设立检查点,来评估所开发系统的可行性,避免由于系统开发的失败造成更大的损失。(4)文档的标准化:文档标准化是进行良好通信的基础,是提高软件可重用性的有效的手段。3管理信息系统开发方法_3.2常用开发方法223.2常用开发方法4、优缺点优点:阶段的顺序性和依赖性。前一个阶段的完成是后一个阶段工作的前提和依据,而后一阶段的完成往往又使前一阶段的成果在实现过程中具体了一个层次。从抽象到具体,逐步求精。从时间的进程来看,整个系统的开发过程是一个从抽象到具体的逐层实现的过程,每一阶段的工作,都体现出自顶向下、逐步求精的结构化技术特点。逻辑设计与物理设计分开。即首先进行系统分析,然后进行系统设计,从而大大提高了系统的正确性、可靠性和可维护性。质量保证措施完备。每一个阶段的工作任务完成情况进行审查,对于出现的错误或问题,及时加以解决,不允许转入下一工作阶段,也就是对本阶段工作成果进行评定,使错误较难传递到下一阶段。错误纠正得越早,所造成的损失就越少。3管理信息系统开发方法_3.2常用开发方法233.2常用开发方法缺点:它是一种预先定义需求的方法,基本前提是必须能够在早期就冻结用户的需求,只适应于可以在早期阶段就完全确定用户需求的项目。然而在实际中要做到这一点往往是不现实的,用户很难准确地陈述其需求。未能很好地解决系统分析到系统设计之间的过渡,即如何使物理模型如实反映出逻辑模型的要求,通俗地说,就是如何从纸上谈兵到真枪实弹地作战的转变过程。该方法文档的编写工作量极大,随着开发工作的进行,这些文档需要及时更新。5、适用范围该方法适用于一些组织相对稳定、业务处理过程规范、需求明确且在一定时期内不会发生大的变化的大型复杂系统的开发。3管理信息系统开发方法_3.1概述24阅读书上P77~81有关原型法的内容,用自己的语言概述1/原型法产生的原因是什么?为什么原型法能够克服结构化开发方法的缺点?2/原型法成功的关键因素?3管理信息系统开发方法_3.2常用开发方法253.2常用开发方法二、原型法信息系统原型,就是一个可以实际运行、可以反复修改、可以不断完善的信息系统。1、原型法产生的原因运用结构化系统开发生命周期法的前提条件是要求用户在项目开始初期就非常明确地陈述其需求,需求陈述出现错误,对信息系统开发的影响尤为严重,因此,这种方法不允许失败。事实上这种要求又难以做到。人们设想,有一种方法,能够迅速发现需求错误。当图形用户界面(GraphicUserInterface,GUI)出现后,自80年代中期以来,原型法逐步被接受,并成为一种流行的信息系统开发方法。3管理信息系统开发方法_3.2常用开发方法263.