1、第 2 章 管理信息系统的开发,21 管理信息系统的开发方式与策略2.1.1 管理信息系统的开发方式,系统开发的方式和特点,18:19,2,2.1.2 管理信息系统的开发策略,1、“自上而下”的开发策略从整体上协调和规划,由全面到局部,由长远到近期,从探索合理的信息流出发来设计信息系统。 2、“自下而上”的开发策略从现行系统的业务状况出发,先实现一个个具体的功能,逐步地由低级到高级建立MIS。 3、综合的开发策略首先“自上而下”地制定一个组织的总体方案,再“自下而上”地进行具体业务信息系统的总体设计。,18:19,3,2.1.3 管理信息系统开发中存在的问题,1、认识偏差,MIS的建设与评价只
2、侧重计算机硬件配置,而不是信息开发与利用的方法与深度组织中信息管理机构的命名突出计算机,而不是信息与信息管理MIS的人才选择与培养只强调计算机知识,而不是管理、数学及系统知识MIS的建设缺乏复合型人才,而不是计算机人才,18:19,4,2、管理中应用计算机的基本条件不完全具备,领导不够重视,业务人员参与积极性不高需要有业务人员的密切缺少专业队伍必须具有软硬件和其他方面的投资要有一些开发费用要有运行、维护费用,3、没有一整套的规划方案,18:19,5,4、系统开发中存在一些问题,软件开发生产率低,跟不上硬件的发展速度软件系统质量低,不能满足用户的需求软件开发成本高管理软件跟不上发展需要文档的整理
3、不及时,18:19,6,5、对管理信息系统开发的关键把握不准,“只要熟练掌握几门计算机语言,就可以成为一个优秀的信息系统开发人员”,这种观点是极其错误的计算机程序设计语言是实现计算机信息系统的一种工具或手段,编码只不过是计算机信息系统开发过程中的一小部分工作建立计算机信息系统主要进行的工作是:(1) 要搞清楚系统用户的基本需求是什么(What to do) (2) 考虑要怎么做(How to do ),18:19,7,6、教育、理论体系研究落后,基础理论涉及的技术方法落后,学科体系陈旧,教材内容相对滞后于实际在教学中往往注重学生的编程技巧能力培养,而忽视系统分析、设计能力的培养学生的实践能力差
4、,团队合作能力差系统开发本身还缺乏一套严格的理论基础及一套简单有力的开发工具,18:19,8,7、开发方法选择存在问题,传统的软件开发方法不允许在开发过程中用户的需求发生变化,需求分析不彻底仍是导致应用开发软件失败的主要原因之一企业管理信息系统建设中选用的开发工具和开发方法是否恰当,直接影响着建设的质量和速度,18:19,9,22 管理信息系统开发方法,在管理信息系统建设的长期实践中,已形成了多种系统开发方法,不过这些方法的特点及适用场合各不相同。应当特别指出的是,没有任何一种方法能适用于所有类型的系统,相反,有的类型的系统至今仍缺少有效的开发方法。以下是开发管理信息系统时,可能要用到的方法,
5、其中第一、二种方法是最常用的方法。1、结构化系统开发方法2、原型化开发方法3、面向对象开发方法4、计算机辅助软件工程(CASE)开发方法5、软件包法6、最终用户开发方法7、外部化方法8、软件再造工程法,18:19,10,2.2.1 结构化系统开发方法,传统的生命周期法又称瀑布法,其主要思想:将管理信息系统从系统调查开始,经过系统分析、系统设计、系统实施、系统维护与评价,直至要求建立新的系统看成是一个生命周期的结束,另一个生命周期的开始。,结构化系统开发方法就是指结构化生命周期法、结构化开发方法、结构化方法。,18:19,11,结构化系统开发方法(结构化方法)结构化方法是长期以来被广泛使用的方法
6、。它体现了抽象、模块化、信息隐藏、信息局部化、一致性、完整性和确定性等原则。从过程上看,结构化方法包括了结构化分析、结构化设计和结构化程序设计(编程)三个阶段。三个阶段的工作可以相互衔接,形成一个系统化的工作过程。,18:19,12,1、结构化分析(Structured Analysis,SA) 其方法有两个基本特点:(1)自顶向下逐层分解 即,由全局到局部,由粗到细,由表及里。(2)抽象 即,透过具体的事物看到问题的本质属性。 其方法有三种类型:(1)功能分解法:是最早出现的一种结构化分析方法。其主要思想就是将一个系统看作是由若干个功能所组成的集合,每个功能可以划分成若干个子功能,而每个子功
7、能又可进一步划分,继续分解为若干个更小的子功能(处理步骤)。(2)数据流程法:已成为使用最为广泛的需求分析方法。当人们提起“结构化分析方法”时,往往隐含是指面向数据流程的分析方法。数据流程图、数据字典、过程说明是该方法分析和描述需求时所使用的基本工具。(3)信息造型法:从数据分析的角度来观察和认识现实系统中的事物及其联系。其基本工具是实体 联系图(E R图)。通过初步调查和详细调查,建立新系统的逻辑模型,撰写“系统分析说明书(报告)”。,18:19,13,2、结构化设计(Structured Design ,SD)在逻辑模型的基础上设计系统的物理模型,其主要内容包括:代码设计、信息系统流程图设
8、计、数据库设计、计算机处理流程图设计和编写程序设计说明书,撰写“系统设计说明书(报告)”。 3、结构化程序设计(Structured Programming ,SP)其基本原则是采用自顶向下、逐步求精的模块化设计原则,用顺序、选择和循环三种基本控制结构实现单入口和单出口的程序。使程序的动态结构和静态结构一致,易于理解和维护。 4、系统实施在物理模型的基础上进行系统实施,其内容包括:程序设计及调试、系统转换、系统运行与评价等,撰写“程序说明书”、“使用说明书” 等,新系统诞生。,18:19,14,结构化开发方法的基本思想:结构化开发方法的5个基本原则:结构化开发方法的一般过程:结构化开发方法的特
9、点:,18:19,15,2.2.2 原型化开发方法,原型法一开始就凭借着系统开发人员对用户需求的理解,在强有力的软件环境支持下,快速给出一个实实在在的系统原型,然后与用户反复协商修改,最终形成实际系统。,原型化方法的基本思想,18:19,16,原型化方法的开发过程:,识别基本需求,把握系统整体概念,进行费用估算,构造初始原型,使用验证原型,生成文档并交付使用,满意?,放弃原型,否,停止,1、,2、,3、,4、,修改原型,可行性研究,是,5、,6、,18:19,17,原型的种类原型的构造方法,: 丢弃式、演进式,18:19,18,原型化方法的工具原型化方法的5个特点和4个缺点原型化方法适用的场合
10、与局限性,18:19,19,面向对象开发方法(ObjectOriented ,OO)面向对象的开发方法一反那种功能分解方法(只能单纯反映管理功能的结构状态),数据流程方法(只是侧重反映事物的信息特征和流程),信息模拟只能被动地迎合实际问题需要的做法,从面向对象的角度去认识事物,从而为开发信息系统提供了一种全新的方法。由OOA、OOD、OOP组成。,计算机辅助软件工程开发方法(Computer Aided Software Engineering,CASE)计算机辅助软件工程并不是一种全新的技术(开发方法),而是建立在许多行之有效的技术和工具基础上的一种开发环境。计算机辅助软件工程的主要目标是使
11、各类软件开发方法能在分析、设计、实施及运行维护各阶段全面得以实施,从而简化系统的开发工作,加快系统开发过程,提高并充分利用软件的可重用性,通过自动检查提高软件质量,使系统开发人员能集中精力于创造性的工作。因此,计算机辅助软件工程是通过较完善的技术,为系统开发人员提供一组优化的、集成的且能大量节省人力的系统开发工具。它着眼于系统分析、设计、程序实现和维护等各个环节的自动化,并使之成为一个完整的过程。,18:19,20,软件包法软件包是指预先编制好的、能完成一定功能的、供出售或出租的成套软件系统。现在市场上各种专用的软件包日益增多,利用软件包实现组织的信息系统已经成为一种可行性的开发策略。,外部化
12、方法如果一个企业不想用自已的资源建立并且运行一个信息系统,那么它们可以去雇佣一个专门提供这类服务的专业公司或机构来完成这项工作。将一个企业计算中心(信息处理中心)的运营、远程通讯网的管理和应用软件的开发全部交由外部专门机构负责的做法,称做信息系统的外部化。,最终用户开发方法是指系统的最终用户在没有或只有很少技术专家正式协助的条件下,自行完成系统开发的一种开发方式。,软件再造工程法软件再造工程是一项更新早期软件的技术。组织中应用的大量早期软件都不是结构化分析、设计及编程的结果,此类软件难以维护,只要解决这些软件的维护问题,那么它们仍然可以长时间地良好地为一个组织所用。软件再造工程的目的就是通过更
13、新的方式挽救这些老化的软件,使用户避免了花过多的时间及金钱去对软件进行更换。,18:19,21,2.2.3 面向对象开发方法(略),18:19,22,2.2.4 管理信息系统开发方法的选择1、结构化系统开发方法与原型法的区别2、结构化系统开发方法与面向对象方法的区别(略)3、结构化生命周期法与原型化方法的结合,18:19,23,4、系统开发方法的选择信息系统开发方法的选择涉及到很多因素,但主要考虑:(1)应用的特点(2)方法的特点(3)资源分析人力资源CASE工具的可利用性时间、资金等方面的约束条件在实际项目的开发中,常常是几种方法结合起来使用。要注意不同方法之间的转换和衔接。,第 2 章 作
14、业:,1什么是结构化方法?它适用于哪种系统?2结构化方法的假设前提是什么? 它的缺点是什么?3什么是原型化方法?它适用于哪种系统?4什么是面向对象方法? 它有哪些优点?5简述面向对象方法的特点及适用范围。6如何选择信息系统开发方法?7 什么是预先指定的系统?什么是用户驱动的系统?,第 2 章 作业:,1什么是结构化方法?它适用于哪种系统?2结构化方法的假设前提是什么? 它的缺点是什么?3什么是原型化方法?它适用于哪种系统?4什么是面向对象方法? 它有哪些优点?5简述面向对象方法的特点及适用范围。6如何选择信息系统开发方法?7 什么是预先指定的系统?什么是用户驱动的系统?,请进入第3章的学习,1
15、8:19,26,结构化方法的基本思想是:基于系统的思想、系统工程的方法,以用户至上为原则,采用结构化、模块化等手段对信息系统进行分析、设计和实施。,结构化开发方法的5个基本原则面向用户的观点严格区分工作阶段自顶向下地开发充分考虑变化的情况开发成果文档化、规范化、标准化,18:19,27,系统总体规划与可行性分析阶段,系统分析阶段,系统设计阶段,系统实施阶段,系统运行管理和评价阶段,18:19,28,结构化生命周期法的假设是预先定义需求的策略 使用生命周期法,项目的参与者之间往往存在通信鸿沟 生命周期法使用的基本技术是结构化分析(SA)和结构化设计(SD)技术,结构化分析和结构化设计是建立在系统
16、生命周期的概念基础上的,有比较明显的缺点:用这种技术开发出来的软件,其稳定性、可修改性和可重用性都比较差用户需求的变化往往造成系统结构的较大变化,从而需要花费很大代价才能实现这种变化,18:19,29,系统分析阶段和系统设计阶段采用的工具不同 生命周期法的主要缺点是过于耗费资源,缺乏灵活性 结构化生命周期法特别适合于开发那些能够预先定义需求、结构化程度又比较高的大型事务型系统(TPS)和管理信息系统(MIS) 生命周期法不适合于开发小系统,不适合于开发信息需求不明确的系统,18:19,30,CASE工具 应用系统产生器 报表产生器 屏幕画面产生器 第4代语言(4GLs),18:19,31,系统
17、开发效益高,系统适用性强,系统可维护性好,系统可扩充性好,易学易用,原型化方法的5个特点:,18:19,32,缺乏统一的规划和开发标准,难以对系统的开发过程进行控制 对系统开发环境要求较高 用户很早就看到原型,错误认为它就是新系统,因此用户往往缺乏耐心,出现急躁情绪 开发人员很容易潜意识用原型取代系统分析,原型化方法的缺点:,18:19,33,原型化方法适用于用户需求不清,管理及业务处理不稳定,需求常常变化 规模小,不太复杂,而且不要求集中处理的系统 有比较成熟借鉴经验的系统开发 用于开发信息系统中的最终用户界面 原型法的最大优点是能提高用户满意度 使用原型法开发系统周期短,成本低 原型化方法
18、不适于开发大型的系统 用原型化方法开发,常常会忽略掉测试和文档工作 原型化方法的另一个缺点是运行的效率可能会比较低,18:19,34,原型化方法的基本思想:根据用户提出的需求,由用户与开发者共同确定系统的基本要求和主要功能,并在较短时间内建立一个实验性的、简单的小型系统,称做“原型”,然后将原型交给用户使用。用户在使用原型的过程中会产生新的需求,开发人员依据用户提出的评价意见对简易原型进行不断地修改、补充和完善。如此不断地反复修改、直至满足用户的需求。这就形成了一个相对稳定、较为理想的管理信息系统。,18:19,35,结构化生命周期法与原型化方法的结合方式,识别基本需求,构造初始原型,修改,满意?,是,否,可行性研究,需求定义,运行管理及维护,系统分析,系统设计,系统实施,使用验证原型,