第三章系统开发方法概述
一、MIS开发的基本问题
1.系统开发之前,企业应该具备的条件有哪些?(习题1)
(1)企业高层领导应重视和介入。用户企业高层领导是否重视,对管理信息系统开发和使用的成败起着决定性的作用。
(2)企业业务人员要有积极性。系统开发过程中业务人员要提供相关数据,系统建成后,他们是系统的直接操作者,系统运行效果的好坏,很大程度上取决于他们的使用和配合。
(3)企业要有一定的科学管理基础。没有科学管理的基础,就无法建成有效的计算机管理信息系统。
(4)要有一定的投资保证。MIS的建设是一项资金耗费较大的工程项目,计算机设备、MIS的软件、机房设备等需要投入不少的资金,系统维护的费用也要占总投资的重要部分。
2.系统开发前的准备工作有哪些?(习题2)
(1)借鉴同类系统的开发经验
(2)确定系统目标、开发策略和投资金额
(3)收集和整理基础数据
3.系统开发的困难因素:
(1)新系统对当前的管理模式影响较大
(2)管理信息系统的效益不易用货币形式直接反映
(3)基础数据的准确性与完整性差
(4)重视编程,轻视规划
(5)采用增加开发人员的方式来加快进度
(6)堆栈现象
二、管理信息系统的开发方法
1.常用的开发方法主要有哪些?
结构化方法、原型法,以及面向对象的方法。
2.结构化分析的基本手段,基本策略,主要内容是什么?
基本手段:分解和抽象
大问题分解成若干个小问题,然后再分别分解,这就是“分解”。
抓住主要问题,忽略次要问题,集中精力先解决主要问题,这就是“抽象”。
基本策略:自顶向下,逐步求精
主要内容:系统说明书由四部分构成(1)一套分层的数据流图(2)一本数据词典(3)一组加工说明(4)补充材料
3.结构化设计的步骤,特点有哪些?(习题5)
步骤:总体设计和详细设计
特点:(1)相对独立,功能单一的模块结构(提高了系统的质量(可维护性、可靠性))
(2)块内联系大,块间联系小(这是结构化设计衡量“相对独立”性能的标准)
(3)采用模块结构图的描述方式.
4.原型化开发方法基本原理,主要形式有哪些?(习题7)
基本原理:在获得一组基本的用户需求之后,快速的开发出新系统的一个原型,用户、开发人员及其他有关人员在试用原型的过程中,加强通信和反馈,通过反复评价和反复修改原型系统,逐步确定各种需求的细节,适应需求的变化,从而最终提高新系统的质量。
主要形式:探索型、实验型、演化型。
5.面向对象开发方法主要包括面向对象的分析方法OOA、面向对象的设计方法OOD和面向对象的编程方法OOP(习题8)
基本概念:对象:是数据结构以及作用于此结构上的数据操作的封装体,这个封装体具有自身行动能力。
类:是对象的抽象描述,概括了具有共同性质的一组对象的方法和数据。类是对象的抽象,对象是类的实例,由类到对象的过程称为实例化过程。
方法与消息:方法使对象具有了处理封装数据的功能,而消息则激活了这种功能并建立了对象间通信的桥梁。消息由消息的标识、接受消息的对象、若干个变元组成。方法一面描述了对象执行操作的算法,另一面定义了响应消息的机制。
继承:子类自动共享父类中的方法和数据的机制,描述了人类由一般到特殊、自顶向下的演绎能力。
封装:是一种信息隐蔽技术,封装机制使对象成为数据与方法的集成体。
多态性:是指在一般类中定义的属性或操作被特殊类继承后,可以具有不同的数据类型或表现出不同的行为;
重载:是一个类中对自身已有的同名方法的重新定义。
三、结构化方法的开发过程
1.系统生命周期:任何一个系统都有其产生、发展和灭亡的生命历程,这个过程符合自然界中事物发展的客观规律,被称作系统的生命周期。
系统的生命周期包括:
出现需求→提出新系统方案→系统产生、成长→系统成熟→系统衰退→系统废弃
管理信息系统的开发包括:
总体规划→系统分析→系统设计→系统实施→运行维护→系统评价6个阶段。
2.各阶段的主要内容、及其成果:
总体规划:对当前系统进行初步调查;分析和确定系统目标;分析子系统的组成以及基本功能;拟定系统实施方案;进行系统的可行性研究;编写可行性报告。成果是可行性报告(系统规划报告)
系统分析:详细调查;业务流程分析;数据流程分析;编写系统分析说明书。成果是系统说明书。
系统设计:包括总体设计和详细设计,其中总体设计要划分系统的子系统和模块,确定模块结构,并画出模块结构图;详细设计则是确定每个模块内部的详细执行过程。成果是系统设计说明书。
系统实施:主要包括系统实现、系统测试和系统切换等内容,用户操作手册是这一阶段的主要文档。
运行与维护:包括程序、数据、代码、设备的维护等四个方面。成果是系统运行状况报告。
这个阶段的工作量约占系统整个生命周期的70%左右。
系统评价:系统的功能性能,系统的经济效果和其他方面的评价。成果是系统评价报告。
四、开发过程中组织与管理方法
项目管理:为了使系统开发能够按照预定的成本、进度、质量顺利完成,需要对成本、人员、进度、质量、风险等进行分析和管理,这就是项目管理。它贯穿于系统开发生命周期的全过程。其主要任务是:制定项目实施计划,对人员进行组织、分工,并按照计划进度和成本管理、风险管理、质量管理的要求,进行系统开发并最终实现预期的目标。
1.项目管理的主要内容:
任务划分、计划安排、经费管理、审计控制、风险管理和质量保证。
风险管理包括风险识别、风险分析、风险缓和、风险跟踪四个阶段,其主要任务是对潜在的问题采取事先预防的处理方法,尽可能的提高系统开发的成功率和开发进程。
质量保证是项目管理的重点和难点,它分为三个阶段:事前准备、过程监控、事后评审等。
2.项目管理组的组成:
项目组长、用户、系统分析员、硬件网络设计员,数据库管理员、系统设计员、程序员。
系统分析员是用户和系统开发其他人员之间的桥梁和接口,是系统开发的核心人物。
3.文档管理应遵循的原则:
(1)文档要标准化和规范化;(2)维护文档的一致性;(3)维持文档的可追踪性;
(3)文档管理的制度化。
课后习题:
1. 系统开发应具备怎样的条件,请简要说明原因。 答案:管理信息系统的开发必须在具备一定条件的基础上才能着手进行,这些条件主要有:(1)企业高层领导应重视和介入。这对管理信息系统开发和使用的成败起着决定性的作用。原因是:管理信息系统是一个涉及到整个企业的管理体制、管理方法和人员安排等诸多因素的全局性问题,需要投入大量的人力、物力和财力,这些都必须在高层领导的重视和亲自参与下才能顺利解决;(2)企业业务人员要有积极性。在系统开发过程中,需要这些人员的配合并提供有关数据,在系统建成投入使用后,他们是直接的操作才,系统运行效果好坏与他们的使用和配合直接相关;(3)企业要有一定的科学管理基础。管理信息系统是管理现代化的一个重要手段,如果企业中没有科学的管理作为基础,就无法建成有效的管理信息系统,或者说建立的管理信息系统不可能真正发挥作用;(4)要有一定的投资保障。管理信息系统的建立是一项资金耗费较大的工程项目,计算机设备、软件、机房设备、相关人员的工资等都需要投入不小的资金,在某种意义上讲,管理信息系统的规模和质量,甚至成败在很大程度上取决于投资额。 3.请简述系统开发方法的必要性,常用的开发方法有哪些?
答案:管理信息系统的开发就是从问题提出、开发班子组成、总体规划、系统分析与设计、到系统实现和运行维护的全过程。由于管理信息系统是一个规模大、复杂程度高的人机系统,因而管理信息系统的开发是一项复杂的系统工程,它需要花费大量的人力、物力、需要各种硬、软件环境的支持,需要开发队伍中每个成员以及用户的通力合作。因此,为了取得开发的成功,必须利用有效的方法和技术,必须对开发过程作严格的组织和管理,也就是说,必须根据实际情况,采用一种有效的系统开发方法。常用的开发方法主要有:结构化方法、面向对象的方法、原型化方法。 6.简述结构化方法和原型化方法的特点和适应范围。
结构化方法:特点:(1)自顶向下整体性的分析与设计和自底向上逐步实施的系统开发过程。(2)用户至上。(3)深入调查研究。(4)严格区分工作阶段。(5)充分预料可能发生的变化。(6)开发过程工程化。适用范围:该方法适用于一些组织相对稳定、业务处理过程规范、需求明确且在一定时期内不会发生大的变化的大型复杂系统的开发。特点是快速、自然和方便。
原型化方法:特点:(1)、遵循了人们认识事物的客观规律,易于掌握和接受 (2)、将模拟的手段引入系统分析的初始阶段,沟通了人们(用户和开发人员)的思想,缩短了用户和系统分析人员之间的距离,解决了结构化方法中最难于解决的一环。强调用户参与、描述、运行、沟通。 (3)、充分利用最新的软件工具,摆脱了传统的方法,使系统开发的时间、费用大大地减少,效率、技术等方面都大大地提高。强调软件工具支持。适用范围:(1)用户需求不清,管理及业务不稳定,需求经常变化(2)规模小,不太复杂(3)开发信息系统的最终用户界面。
试比较结构化方法,原型法和面向对象的方法的优缺点以及适用范围。
(一)、结构化系统开发方法(亦称“生命周期法”)
1.优点:从系统整体出发,强调在整体优化的条件下“自上而下”地分析和设计,保证了系统的整体性和目标的一致性;遵循用户至上原则;严格区分系统开发的阶段性;每一阶段的工作成果是下一阶段的依据,便于系统开发的管理和控制;文档规范化,按工程标准建立标准化的文档资料。
2.缺点:用户素质或系统分析员和管理者之间的沟通问题;开发周期长,难于适应环境变化;结构化程度较低的系统,在开发初期难以锁定功能要求。
3.适用范围:主要适用于规模较大、结构化程度较高的系统的开发 (二)、原型法
1.优点:1)符合人们认识事物的规律,系统开发循序渐进,反复修改,确保较好的用户满意度;2)开发周期短,费用相对少;3)由于有用户的直接参与,系统更加贴近实际;4)易学易用,减少用户的培训时间;5)应变能力强。
2.缺点:不适合大规模系统的开发;开发过程管理要求高,整个开发过程要经过“修改—评价—再修改”的多次反复;用户过早看到系统原型,误认为系统就是就是这个模样,易使用户失去信心;开发人员易将原型取代系统分析;缺乏规范化的文档资料
3.适用范围:处理过程明确、简单系统;涉及面窄的小型系统
不适合于:大型、复杂系统,难以模拟;存在大量运算、逻辑性强的处理系统;管理基础工作不完善、处理过程不规范;大量批处理系统 (三)、面向对象开发方法
1.优点:a、分析、设计中的对象和软件中的对象的一致性
b、实现软件复用,简化程序设计 c、系统易于维护
d、缩短开发周期
2.缺点:不易于大系统的开发
阶段 | 主要内容 | 主要文档 |
总体规划 | 当前系统的初步调查; 总体方案的提出; 对方案进行可行性分析 | 可行性报告 |
系统分析 | 当前系统的详细调查;分析用户需求;建立新系统的逻辑模型 | 系统说明书 |
系统设计 | 建立新系统的物理模型 | 设计说明书 |
系统实施 | 编程及硬件的安装; 系统调试;用户培训; 新旧系统转换 | 操作手册维护手册 |
运行维护 | 系统的正常运行; 系统的各类维护;对系统进行评价 | 系统维护记录、系统评价报告 |