1、第四章 管理信息系统的开发方法,2019/2/6,2,本章教学目标,理解并掌握 开发过程模式 生命周期概念 原型法基本思想,2019/2/6,3,本章主要内容,信息系统的开发过程 信息系统开发的三个主要过程 常见过程模式 生命周期法 生命周期法的基本思想,生命周期各阶段的划分,生命周期法各阶段的工作目标和任务,以及生命周期法的开发策略。 原型法 原型法产生的背景与基本思想,原型法的阶段划分,建立初始原型的原则,原型的修改控制与使用,以及原型法对环境的要求。 系统开发的方式与合同 用户自行开发、委托开发、合作开发、购置商品化软件与软件包、系统开发中合同的签订 。,2019/2/6,4, 4.1信
2、息系统开发的过程模式,4.1.1 开发过程模式 “过程”(或“开发过程”)是指信息系统开发进程中的一系列阶段活动,以及与各阶段活动相关联的成果(或称“产品”)。 信息系统开发工程可分解为一系列的“开发过程”,每个“开发过程”都是活动与产品的集合。 活动包括采用的方法、技术,以及为了开发与维护系统而进行的实际工作 产品包括计划、文档、模型、代码、测试、案例、操作手册等。,2019/2/6,5,过程的三个基本要素,过程有三个基本要素: 人 方法与规程 技术与工具,2019/2/6,6,信息系统开发的三个主要过程,信息系统的开发有三个主要的过程: 系统分析 系统设计 系统实施这三个主要的过程存在依存
3、关系,具有阶段与过程性。 系统分析的性质是对现实世界的抽象与识别,是基础性工作,它提出系统的需求与目标。 系统设计是在系统分析的基础上进行的工作,它的目标是:在功能上如何达到系统分析的目标,在系统结构上如何达到优化与合理,如何使系统具备一些优良的性质(如开放性、可维护性、可靠性等)。 系统实施的工作则主要是由程序员将系统设计的文档(设计模型)翻译成程序语言,使概念与逻辑成为一个实体系统。,2019/2/6,7,4.1.2 开发过程模式的分类,瀑布模型 喷泉模型 增量模型 快速原型模型 螺旋模型 迭代模型-RUP(Rational Unified Process)开发模式 软件能力成熟度模型,2
4、019/2/6,8,1. 瀑布模型,瀑布模型的核心思想是将软件开发划分为若干阶段,按线性顺序执行。 结构化生命周期法(structured system development life cycle,S-SDLC)是一种典型的瀑布模型方法。它具有下面一些特点: 预先明确用户需求,根据需求设计系统 自顶向下设计或规划信息系统 系统开发要严格按阶段进行 工作文档的标准化和规范化 运用系统的分解和综合技术使复杂的系统简单化 强调阶段成果的审定和检验制度,2019/2/6,9,系统开发中关键点的审核与控制,结构化生命周期法的优点 系统性强、严密性好 要求开发计划阶段化、管理业务流程化、工作步骤程序化、
5、文档资料规范化、进度安排网络化。 结构化生命周期法的缺陷 开发周期长、灵活性差,对系统的变化适应性较弱。 适用范围 这种开发方法适合于耗资大、历时长、大而复杂的系统开发。 特点:要特别重视开发过程中的审核、控制工作,2019/2/6,10,2. 喷泉模型,喷泉模型是一种“逐步求精”的面向对象生命周期模型从宏观上看,喷泉模型中的各个活动仍然按照分析、设计、实现这样的顺序来执行。 面向对象方法是喷泉模型应用的主要开发方法。 客观世界可以看成由许多不同种类的对象构成,每个对象都有自己的内部状态和运动规律,不同对象间的相互联系和相互作用构成了完整的客观世界。面向对象的基本出发点就是尽可能按照人类认识世
6、界的方法和思维方式来分析和解决问题。,2019/2/6,11,3. 增量模型,增量模型由若干个开发序列构成,每个序列均采用瀑布模型来开发可以发行的“增量”。每个“增量”都是在原有软件基础上开发出来的,每产生一个“增量”相当于推出一个软件新版本。这个过程不断地重复,直到产生最终完善的产品。,2019/2/6,12,4. 快速原型模型,快速原型模型的主要目的就是获取与验证需求。首先由开发人员构造原型,然后让用户试验该原型。 一般地,当用户面对一个可操作的软件时,他比较容易说清楚“需要什么”和“不要什么”。从而有助于分析人员获取更详细的需求,以及验证需求是否正确。不断重复上述过程,直至满足用户的要求
7、为止。 快速原型根据其应用的目的和场合不同,可以分为三种: 模型式原型 演进式原型 渐进式原型。,2019/2/6,13,快速原型模型的三种类型,模型式原型是把原型系统作为用户和开发人员之间进行通信的媒介,并不打算把它作为实际系统运行。使用这种方法时,快速原型模型的主要目的是获取与验证需求,只采用该模型并不能开发出最终产品。 演进式原型的基本思想为:用户的要求及系统的功能都无时不在发生着变化,与其花大力气了解不清楚的东西,不如先按照基本需求开发出一个系统,使用户先使用起来,随时需要随时修改。 渐进式原型模式在开始时系统有一个总体框架,各功能单元的结构和功能也十分清楚但还没有进行具体实现。这样,
8、在以后开发过程中,必须一个一个地完善这些模块。,2019/2/6,14,5. 螺旋模型,螺旋模型综合了瀑布模型、快速原型模型与风险分析,力求使项目的风险降到最低。该模型最初由Boehm于1988年提出。螺旋模型沿螺旋线演进,直角坐标系的4个象限分别代表4个方面的活动: (1)制定计划:确定目标和约束条件,选择方案。 (2)风险分析:评估方案,发现并消除风险。 (3)实施工程:构造原型,开发产品。 (4)用户评估:评估开发工作,提出改进建议。 沿螺旋线自内向外每旋转一圈,意味着开发出更加完善的版本。,2019/2/6,15,6. 迭代模型RUP开发模式,RUP (Rational Unified
9、 Process)的主要特征是: 采用迭代的、增量式的开发过程。 采用UML(统一建模语言)描述软件开发过程。 有多个功能强大的软件工具支撑(Rational公司的软件产品)。 根据面向对象软件系统工程的特点,RUP开发模式将系统开发划分为四个主要的开发阶段,分别为:初始化阶段、细化阶段、构造阶段和过渡阶段。每个阶段都有两大类工作流:核心过程工作流和核心支持工作流。每一个开发阶段都遵照相同的工作流程开展工作,形成一个独特的统一过程模式。,2019/2/6,16,7. 软件能力成熟度模型,CMM介绍 CMM将软件开发能力成熟度分为5个级别,这5个成熟度等级为评价机构软件过程能力提供了一个有序的级
10、别。同时也为机构的软件过程改进工作指明了方向,让人们分清轻重缓急,指导人们一步一步地改进过程能力而不是企图跳跃式地前进。,2019/2/6,17,8.SPP模型,2019/2/6,18,3.2 生命周期法,1、生命周期 任何系统均有发生、发展、成熟、消亡或更新换代的过程,这个过程称为系统的生命周期。 人的生命周期:孕育、出生、成长、成熟、衰老、死亡。,2019/2/6,19,信息系统的开发工作划分阶段与步骤 规定每一阶段的工作任务与成果 按阶段提交文档 在各阶段中按步骤完成开发任务它是迄今为止信息系统开发方法中最成熟的一种方法,系统性强且理论完善,并能充分体现信息系统开发的生命周期及其阶段性。
11、,2、结构化系统开发方法,2019/2/6,20,3、结构化系统开发方法的特点,面向用户的观点 加强调查研究和系统分析 按照系统的观点,自顶向下地工作 逻辑设计与物理设计应分别进行 使用结构化、模块化方法 严格按照阶段进行 充分考虑到变化的情况 工作文件标准化、文献化,2019/2/6,21,4、结构化系统开发方法的阶段划分,系统请求,初步调查,可行性研究,批准,详细调查,需求分析,提出逻辑模型,用户同意 领导批准,总体设计,详细设计,用户同意 领导批准,编写程序,调试,系统切换,系统维护,系统评价,系统的 生命周期,系统 规划,系统 分析,系统 设计,系统 实施,系统 运行,2019/2/6
12、,22,3.3 原型法(Prototyping),1、生命周期法的缺陷 (1)基本前提是任何系统的“需求”在系统被建立之前都能被定义,即严格定义/预先说明 (2)开发过程复杂繁琐、周期长,系统难以适应环境的变化 2、原型法产生的背景,2019/2/6,23,所谓原型,即可以逐步改进成可运行系统的模型 原型法的基本思想: (1)并非所有的需求都能预先定义 (2)有快速的建造工具 (3)需要有系统模型 (4)反复修改是必要的、不可避免,也是希望的,应加以鼓励,3、原型法的基本思想,2019/2/6,24,4、用原型法进行MIS开发的基本步骤 :,2019/2/6,25,5、原型法对环境的要求,(1
13、)要有一个方便灵活的数据库管理系统(DBMS),对需要的文件和数据模型化,适应数据的存储和查找要求,方便数据的存取。 (2)一个与数据库(DB)对应方便灵活的数据字典,具有存储所有实体的功能。 (3)一套高级的软件工具(如第四代自动生成语言4GL或开发生成环境等)用以支持结构化程序,并且允许程序采用交互的方式迅速的进行书写和维护,并产生任意程序语言模块。 (4)一套与数据库(DB)对应的快速查询语言,支持任意非过程化的组合条件查询。 (5)一个非过程化的报告/屏幕生成器,允许设计人员详细定义报告/屏幕样本以及生成内部联系。,2019/2/6,26,开发方法的选择,原型法需要软件支撑工具快速形成
14、原型,并不断地与用户讨论、修改,最终建立系统。要将这种方法用于大型信息系统开发中的所有环节是不适宜的。因此,它主要用于小型的。灵活性高的系统或局部系统的设计和实施。 面向对象的方法是以对象为基础,利用特定的软件工具直接完成从对象的描述到应用软件结构的转换,特别适合于小型应用软件系统的开发。 结构化生命周期法是目前较全面支持大、中型系统整个过程开发的方法,其他方法虽然有许多优点,但都只能作为结构化生命周期法在局部开发环节上的补充,暂时还不能代替其在系统开发过程中的主导地位。 在大型系统的开发中,常常不是采用一种开发方法,而是采用多种方法的组合。系统开发的方法随着系统开发工具的不断改进,正在逐渐完
15、善,本节列举的各种方法不是相互独立的,它们经常可以混合使用。,2019/2/6,27,3.4系统开发的方式与合同,目前,我国企业系统开发方式主要有以下四种。 1.用户自行开发 2.委托开发 3.企业与软件公司合作开发 4.购置商品化软件与软件包,2019/2/6,28,2019/2/6,29,系统开发中合同的签订,1、合同的类型 固定价格合同 成本补偿合同 2、合同条款中需注意的问题 应有成本超支或进度计划延迟的通知条款。 分包商的限制条款。 明确企业的配合义务条款。 有关知识产权的条款。 有关保密协定的条款。 有关付款方式的条款。 有关奖罚的条款。 有关需求变更的条款。 有关维护费用的条款。
16、 有关纠纷解决条款。,2019/2/6,30,3.5 系统开发的组织,1.系统开发领导小组 系统开发领导小组应由企业负责人来主持,小组成员应包括 1名公司副经理、 系统开发项目组长、 有经验的系统分析师, 用户各主要部门的业务负责人 共约5-7人组成。 其主要任务 制定管理信息系统开发的方针策略; 指导项目小组的工作; 批准项目计划; 在开发过程中,根据客观发展情况进行决策,协调各方面的关系; 控制开发进度。,2019/2/6,31,领导小组的职责范围如下:,(1) 提出建立新系统的目标和总策略。 (2) 指导项目小组工作,保证满足企业不同部门对新系统的需求。 (3) 对开发工作进行监督与控制
17、。 (4) 协调系统开发中有关的各项工作。 (5) 向上级组织报告系统开发工作的进展情况。 (6) 委任计算中心的主要工作人员,规定他们的职责范围。,2019/2/6,32,2.系统开发项目组,项目小组直接负责系统开发的具体企业工作。项目小组成员由三类人员组成,即 系统分析师 程序设计员 企业管理人员,2019/2/6,33,各类人员的工作任务及应具备的素质,(1) 系统分析师 主要任务 研究用户对信息系统的需求; 评价该企业开发计算机化信息系统的可行性; 进行系统分析与设计; 负责对新系统的安装、测试和技术文件的编写。 应具备的素质 具备计算机硬件、软件的知识, 懂得企业管理的业务,还应当
18、了解现代化管理方法以及各种经济数学模型在企业管理中的应用, 具有理论联系实际灵活运用上述知识的能力。 此外,他们应当善于处理人际关系。他们应具有概括能力、逻辑抽象能力、想象力和创造力,才能设计出高质量的系统,2019/2/6,34,各类人员的工作任务及应具备的素质,(2) 程序设计员。 程序设计员的主要任务是按照系统分析师所提出的设计方案编制程序、调试程序、修改程序直到新系统投入运行。 (3) 企业管理人员。 参加系统开发的企业管理人员代表用户,在实际工作中提出用户的需求,一方面对开发工作的质量进行监督;另一方面他们应按照新系统的要求,组织管理基础工作的整顿,提供新系统运行所需的各种基础数据。,2019/2/6,35,本章小结,信息系统开发的三个主要过程,常见过程模式。 生命周期法:生命周期法的基本思想,生命周期各阶段的划分,生命周期法各阶段的工作目标和任务,以及生命周期法的开发策略。 原型法:原型法产生的背景与基本思想,原型法的阶段划分,建立初始原型的原则,原型的修改控制与使用,以及原型法对环境的要求。 系统开发的方式与合同 :用户自行开发、委托开发、合作开发、购置商品化软件与软件包、系统开发中合同的签订 、系统开发的组织,