第七讲 管理信息系统的开发方法教学计划
教学进度表授课主题 学时 状态 备注
1,MIS的基本概念 ( 6)
2,MIS的技术基础 ( 4)
3:数据资源管理 ( 6)
4,MIS的应用 ( 6)
5:信息系统规划 ( 2) No.1
6,MIS的开发方法 ( 6)
7,MIS的分析与设计 ( 6)
8,MIS的实施 ( 4)
9:实验项目 ( 10)
10:课程评价 ( 2)
教学目标
理解并掌握教学内容
本讲共计 6学时
– 第十七章 4学时第十七章 管理信息系统的开发方法
主要内容
– 概述
– 一般公用阶段的说明
– 结构化系统开发方法
– 原型方法
– 面向对象的开发方法
– 计算机辅助开发方法
17.1 概述
开发方法综述按时间过程面向处理
PO
面向数据
DO
面向对象
OO
生命周期法
( LC) LC-PO LC-DO LC-OO
原型法( PROT.) PROT.-PO PROT.-DO PROT.OO
17.1 续
70年代:生命周期法(瀑布模型)
系统需求软件需求总体设计详细设计编程调试运行维护
MIS的生命周期法就是按照 MIS的生命周期来开发的一种方法,把 MIS的开发分为五个阶段:总体规划、系统分析、系统设计、系统实施和系统的运行维护。(仅供参考)
17.1 续
70年代:生命周期模型系统设计系统规划系统实施系统分析抽象程度新系统的生命期系统开发过程参考可行性报告系统说明书设计说明书用户手册当前系统的生命期当前系统运行维护新系统运行维护时间图2 - 1 M I S 生命周期模型对其每一阶段规定它的任务、工作流程、管理目标及要编制的文档,使开发工作易于管理和控制,形成一个可操作的规范。
系统开发生命周期基本框架管理策略部分 开发策略部分
规划
进度安排
评估
监控
反馈
任务分解结构
W B S 优先级结构
开发经验
开发标准图,系 统 开 发 生 命 周 期 基 本 框 架
17.1 续
系统开发生命周期的基本原理
– 原理一:用户的积极参与
– 原理二:使用问题求解方法
– 原理三:严格按划分的阶段和活动进行系统开发
– 原理四:文档的标准化
– 原理五:检查点的设立
– 原理六:分而治之的思想
17.1 续
MIS工程的二维分解:
规划 分析 设计 实现 评价运行与维护开发工程
( 时间维分解)
生产销售职能分化纵向结构管理层次
(空间维分解)
M I S 工程维护工程工期
(执行处理)
(管理控制)
(战略计划)
财务,,,
17.1 续
结构化开发的目标:
– 使开发工作标准化,减少随意性
– 做到有序、高效和减少错误
– 建立标准的文档过渡构建详述开始方法
17.1 续
螺旋模型:
– 需求、设计、实现、测试、循环进行,递增开发
17.1 续
80年代:原型方法和面向对象方法
– 原型法:
在未完全定义好全局需求前,先实现一个原型,然后不断修改,
直至满足要求。要求有开发环境的支持,如 4GL语言。
– 面向对象方法:
核心是对象( object)。对象是数据和操作的集合,操作可以操纵数据
90年代:
– 组件化的开发方法
– 重视软件过程
17.2 开发的一般公用性阶段
问题的识别:
– what,why,who,where,when
可行性研究:
– 具备的资源和条件是否满足系统目标的要求,包括
目标方案可行性
技术可行性
经济可行性
社会方面的可行性
17.2 续
系统开发的原则
– 领导参加
– 优化创新
– 充分利用信息资源
– 实用和实效
– 规范化
– 发展变化
17.2 续
系统开发前的准备工作
– 基础准备工作
管理工作要严格科学化,具体方法要程序化、规范化
作好基础数据管理工作
– 人员组织准备
领导参加是关键
建立由系统分析员、相关岗位业务人员和信息技术人员组成的研发队伍
明确各类人员的职责
17.2 续
系统开发策略和开发计划
– 开发策略
接收式的开发策略
直接式的开发策略
迭代式的开发策略
实验式的开发策略
– 开发计划
开发计划
进度计划
资源利用计划
投资计划
17.2 续
系统开发计划系统投入 系统规划 系统分析 系统设计 系统实现 运行管理系统分析设计师具体管理人员计算机软硬技术员操作管理员
17.2 续
统一过程
– 统一过程是一个软件开发过程
不仅仅是一个简单的过程
而是一个通用的过程框架
统一软件开发过程是 30多年来经验的总结,是软件问题的一种解决方案。
– 可用于
各种不同类型的软件系统
各种不同的应用领域
各种不同类型的组织
各种不同的功能级别以及不同项目规律
17.2 续
开发过程可以用二维结构或沿着两个坐标轴来表达
– 横轴代表了
制订开发过程时的时间体现了过程的动态结构它以术语周期、
阶段,迭代、和里程碑来表达;
– 纵轴表现了
过程的静态结构如何用术语活动,产物、
角色和工作流来描述
特点以用例驱动的以体系结构为中心的迭代的和增量的
17.2 续
统一过程管理环境商业模型实现测试分析和设计预备循环 Iter.
#1
相态处理工作流反复支持工作流
Iter.
#2
Iter.
#n
Iter.
#n+1
Iter.
#n+2
Iter.
#m
Iter.
#m+1
分布配置管理需求仔细研究 过渡开始 构造
17.3 结构化系统开发方法
SSA&D方法的基本思想 (structured system
development methodologies)
– 用系统工程的思想和工程化的方法;
– 按用户至上的原则;
– 结构化、模块化;
– 自顶向下地对信息系统进行分析与设计。
17.3 续
SSA&D方法的特点
(structured system development methodologies)
– 自顶向下整体性的分析设计和自底向上逐步实施;
– 建立面向用户的观点;
– 严格区分工作阶段;
– 深入调查研究;
– 充分预料可能的变化;
– 开发过程工程化。
17.3 续
MIS工程工作流
17.3 续
SSA&D的优缺点
– 优点:
严格区分开发阶段,系统的针对性强;
整体性与全局性好,自顶向下观点。
– 缺点:
开发周期长;
开发过程繁琐、复杂;
开发工具落后;
与用户交流不直观;
系统的升级较困难。
17.4 原型方法
原型方法
– 在关系数据库系统、第四代开发语言( 4GL)和各种可视化开发环境的支持下提出的一种开发方法开发要求 分析评价软件环境用户开发商构造原型 软件支持环境
RDBMS
数据字典、建模工具
快速查询系统
4GL软件工具
可视化报告、界面生成器,
快速构造原型
17.4 续
原型法工作流程
1、用户提出系统要求
2、识别、归纳上述要求
3、开发一个模型/原型
4、评价模型
5、模型不可行处理
6、模型不满意处理
7、修改模型
8、确定模型后的处理
N、实际系统开发、运行、维护等
1
2
3
4
6
7
5
8
N
不可行 不满意满意
17.4 续
原型法的特点
– 优点:
1、开发效率高;
2、开发工具先进,与用户交流直观;
3、符合人们认识事物的规律;
4、能及早暴露系统实施后潜在的一些问题;
5、能调动用户参与的积极性。
– 缺点:
1、不适合大型系统的开发;
2、不适合大量运算及逻辑性强的模块;
3、对原企业基础管理工作要求较高;否则容易走上机械模拟原手工系统的轨道。
4、不适合批处理系统。
17.5 面向对象的开发方法
对象
– 客观世界由各种各样的对象组成,每种对象都有各自的内部状态和运动规律,不同对象之间的相互作用和联系就构成了各种不同的系统。对象是 OO方法的主体,
有以下特征:
模块性(信息隐藏、封装)
继承性
动态连接性
17.5 续
OO方法可以概括为:
– 现实世界由对象组成
– 对象由属性和方法组成。属性反映对象的状态,方法定义改变属性状态的操作
– 对象之间的联系主要通过消息传递来实现
– 对象抽象为类( class)
– 对象具有封装的特性
17.5 续
OO方法的开发过程
– (1)系统调查和需求分析
– (2)分析问题的性质和求解问题( OOA)
– (3)整理问题( OOD)
– (4)程序实现( OOP)
17.5 续
OOA方法原则
– 要遵循的原则
– 抽象
– 封装
– 继承
– 关联(包括聚合、联系)
– 消息通信
17.5 续
OOA方法步骤
– 确定对象和类
– 确定类之间的关系
– 确定主题
– 确定属性
– 确定方法
17.5 续
OOA方法
– 对象定义规格的求精
– 数据模型和数据库的设计
– 优化
17.5 续
OO方法总结
– 优点:
OO方法直接完成了从对象客体的描述到软件结构的转换,解决了传统结构化方法中可观世界描述工具与软件结构的不一致问题,缩短了开发周期。也利于软件的重用和维护。
– 缺点:
OO需要一定的软件基础支持才可以应用,对分析设计人员要求也较高。
17.6 计算机辅助开发方法
CASE 方法
– 利用 CASE工具进行开发
– CASE:计算机辅助软件工程
– 必须和其他方法结合,可以大大提高效率,减少必要但是很琐碎的一些过程。
17.6 续
计算机辅助开发方法
C I S 开发方法结构化S D L C 快速原形法面向过程方法
(结构化方法)
面向数据方法
(信息工程方法)
面向对象方法
(O O 方法)
可视化技术计算机辅助软件工程(C A S E )
软件复用技术 其它技术计算机辅助软件工程(C A S E )
软件开发工程
(S D E )
集成化的项目/ 程序支持技术(I P S E )
中央资源库计 算 机 信 息 系 统 开 发 方 法 体 系 机 构系 统 开 发 生 命 周期 ( S D L C )
方法学:驱动对 象 的 观 点技术计 算 机 信 息 系 统 开 发 环 境 工 具
17.7 几种软件开发模型
演化软件过程模型
– 问题提出
业务和产品需求常常改变。
紧迫的市场期限使得难于完成完善的产品。
– 演化模型
是利用迭代的方法,特征是使软件工程师渐进的开发,逐步完善软件。
设计分析编码测试喷泉模型
17.7 续
增量模型
– 融合了线性顺序模型的基本成分和原型的迭代特征。
– 是随着日程时间的进展而交错的线性序列。
– 与原型不一样的地方是强调每个增量均发布一个可操作产品。
增量 1 分析 设计 编码 测试 第一个增量发布分析 设计 编码 测试 第三个增量发布增量 3
分析 设计 编码 测试 第四个增量发布增量 4
分析 设计 编码 测试 第二个增量发布增量 2
17.7 续
迭代方法的益处
– 与传统的瀑布式方法相比,迭代过程具有以下的优点:
减小了风险
更容易对变更进行控制
高度的重用性
项目小组可以在开发中学习
较佳的总体质量
17.8 CMM模型:建立面向管理的软件过程
我们往往只重视产品本身的标准化问题,却忽略了如何提高软件生产过程的能力,及如何使软件生产过程本身标准化。
– 一个企业的软件能力更取决于该企业的过程能力,特别是在软件开发和生产中的成熟度。
– 一个企业过程能力越是成熟,该企业的软件生产能力就越有保证。实际上技术或工具并不是第一位的。
17.8 续
CMM模型
– 软件生产能力成熟模型,即 CMM(后更名为 SW-CMM)
模型就是目前国际上最流行也是最实用的一种软件生产过程标准。
– 提供了衡量一个公司软件工程实践的整体有效性办法,
且建立了五级过程成熟度级别。
再见
Do you have made a progress today?