1、第第6讲讲 信息系统开发方法论信息系统开发方法论内容提要内容提要6.1 基础工作6.2 能力成熟度模型6.3 系统开发的基本原则6.4 生命周期开发方法6.5 模型驱动开发方法6.6 快速原型开发方法6.7 商业软件包法6.8 综合开发方法6.9 小结6.1 基础工作基础工作6.1.1 企业应该具备的条件6.1.2 系统开发中要做的工作6.1.3 系统开发的流程变化6.1.4 系统开发的项目管理 *6.1.1 企业应该具备的条件 企业高层领导对建立计算机信息系统有较深入的了解 企业对信息系统的需求的迫切性 管理的科学化 投资保证 企业管理人员的知识结构 基础数据齐全与规范6.1.2 系统开发中
2、要做的工作 高层领导的介入 吸取其他信息系统的经验 基础数据的收集和预处理 选择适合的开发方式 系统开发组织机构的建立和成员选择 开发策略的制定和开发方法的选择 设计系统目标,确定投资金额 合理设计信息部门的位置6.1.3 系统开发的流程变化 自动化 业务流程合理化 业务流程再造 Business Process Reengineering,BPR 异化6.1.4 系统开发的项目管理 组织领导,机构设置 资源的配置:人力、资金、设备 计划的制定 进度的控制 费用的控制 阶段评审内容提要内容提要6.1 基础工作6.2 能力成熟度模型6.3 系统开发的基本原则6.4 生命周期开发方法6.5 模型驱
3、动开发方法6.6 快速原型开发方法6.7 商业软件包法6.8 综合开发方法6.9 小结6.2 能力成熟度模型能力成熟度模型l产生的背景l能力成熟度的概念l能力成熟度的分级标准 *能力成熟度产生的背景能力成熟度产生的背景l具有动态特征、与环境一致的产品l信息系统的成功率很低l软件产品的产品质量和生产效率l用户喜欢稳定可靠的信息系统l开发过程的透明度能力成熟度的概念能力成熟度的概念lCapability Maturity Model,CMMlCMM是信息系统过程改进框架,是企业信息系统开发过程的能力l信息系统开发过程能力,是指企业从事信息系统开发过程本身的透明化、规范化和运行强制化的能力lCMM是
4、提高信息系统质量的根本途径CMM的分级标准的分级标准l初始级:无序和混乱,产品成功依赖个别人的努力l可重复级:建立基本的项目管理,重复成功的经验l已定义级:开发过程已文档化、标准化l可管理级:开发过程和产品质量有详细的度量标准,可以定性认识和控制l优化级:根据新概念、新技术,不断地、持续地对系统开发过程进行改进内容提要内容提要6.1 基础工作6.2 能力成熟度模型6.3 系统开发的基本原则6.4 生命周期开发方法6.5 模型驱动开发方法6.6 快速原型开发方法6.7 商业软件包法6.8 综合开发方法6.9 小结6.3 系统开发的基本原则系统开发的基本原则l原则一:系统开发人员和用户都参与到系统
5、开发项目中l原则二:使用“提出问题-解决方案”方法l原则三:创建阶段和活动l原则四:建立标准l原则五:认识到信息系统的开发是一项投资l原则六:不怕改变信息系统的范围l原则七:采用结构分解技术l原则八:正在开发的信息系统是容易分解的原则一:系统开发人员和用户都参与到系统开发项目中原则一:系统开发人员和用户都参与到系统开发项目中l从技术的角度看信息系统l从用户的角度看信息系统l技术专家往往不太了解用户的真正需求l用户不太了解信息技术的特点,寄予过高的希望l目的是加强沟通和了解原则二:使用原则二:使用“提出问题提出问题-解决方案解决方案”方法方法l问题现实中实实在在的问题改进系统的机会更高的管理目标
6、l目的降低风险提高解决问题的质量原则二:使用原则二:使用“提出问题提出问题-解决方案解决方案”方法方法l思路研究、理解和描述问题定义方案需求,即要达到的目标针对方案需求,提出多个候选方案,选择最好的设计和实现方案评价方案的实施效果原则二:使用原则二:使用“提出问题提出问题-解决方案解决方案”方法方法l否则,产生的后果花费了很多的时间和费用,却解决了那些不应该解决的问题没有真正解决应该解决的问题没有提出解决问题的正确方案使用了错误的解决问题的方案原则三:创建阶段和活动原则三:创建阶段和活动l项目准备阶段l准备和调查阶段l问题分析阶段l需求分析阶段l决策分析阶段l设计阶段l系统构建阶段l系统实现阶
7、段l运行维护阶段原则四:建立标准原则四:建立标准l目的:稳定信息系统开发和使用环境l标准应该是归档的,且是全面的、完整的、正确的l标准化的内容:各种文档质量自动化工具信息技术原则四:建立标准原则四:建立标准l文档标准用于描述系统的分析、设计、实现等过程中的所有内容描述系统的分析、设计和实现过程中的所有内容模拟开发过程的手段l质量标准:阶段或活动的转换满足商业的或技术的期望l自动化工具标准规定用于开发信息系统的各种软件技术l信息技术标准为信息技术提供通用的技术架构和配置,比工具更加广泛原则五:认识到信息系统的开发是一项投资原则五:认识到信息系统的开发是一项投资l信息系统是一个投资项目l管理问题:
8、成本效果分析:投入和产出风险管理:确认、评价和控制项目中的错误原则六:不要害怕改变信息系统的范围原则六:不要害怕改变信息系统的范围l信息系统是一个动态的产品l从技术人员的调度,希望尽快结束信息系统的开发过程l从用户的角度来看,总是希望改变以前提出的不合需求的要求l解决矛盾的方法按照用户的要求改变信息系统的设计用户对此动态要求应该付出相应的代价原则七:采用结构分解技术原则七:采用结构分解技术l把系统逐层分解,直到相应的模块l优点:大问题转变为小问题,易于解决大系统分解成小系统,并行开发原则八:正在开发的系统是容易扩展的原则八:正在开发的系统是容易扩展的l强调系统具有可扩展性l企业经营环境不断地发
9、生变化,管理方式和业务流程也在不断改变,信息系统也应该改变l信息系统开发人员倾向于开发满足当前需求的系统l接口和工具内容提要内容提要6.1 基础工作6.2 能力成熟度模型6.3 系统开发的基本原则6.4 生命周期开发方法6.5 模型驱动开发方法6.6 快速原型开发方法6.7 商业软件包法6.8 综合开发方法6.9 小结6.4 生命周期开发方法生命周期开发方法l概念l主要阶段l共有的活动 *概念概念l系统生命周期l系统开发阶段和系统运行、维护阶段l根据系统生命周期演变过来的信息系统开发方法主要阶段主要阶段确认确认共有的活动共有的活动l事实发现l文档和表示l估计和度量l可行性分析l项目管理和过程管
10、理l改变管理l质量管理内容提要内容提要6.1 基础工作6.2 能力成熟度模型6.3 系统开发的基本原则6.4 生命周期开发方法6.5 模型驱动开发方法6.6 快速原型开发方法6.7 商业软件包法6.8 综合开发方法6.9 小结6.5 模型驱动开发方法模型驱动开发方法l模型驱动开发方法lMDD框架lMDD涉及的技术lMDD方法的优点lMDD方法的缺点 *模型驱动开发方法模型驱动开发方法lModel-Driven Development,MDDl通过建立模型来分析和设计信息系统的方法l阶段是不能跨越的,也称为瀑布法l强调使用模型来可视化地表示和分析存在的问题定义各种业务需求设计信息系统MDD涉及的
11、技术涉及的技术l结构化分析和设计技术(SADT)l信息工程(IE)l面向对象分析和设计技术(OOAD)l数据流程图(DFD)l实体关系图(ERD)l统一建模语言(UML)MDD方法的优点方法的优点l降低计划费用,因为所有阶段都安排好了l需求分析透彻,文档内容详细l对于可行的候选方案,分析得更加完整l系统设计比较简单、稳定、灵活,因为模型已有l完成模型需要比较多的技术人员l可以提高信息系统的质量MDD方法的缺点方法的缺点l系统开发周期比较长l模型中存在着模糊现象l形成模型之前,用户必须提出自己的需求内容提要内容提要6.1 基础工作6.2 能力成熟度模型6.3 系统开发的基本原则6.4 生命周期开
12、发方法6.5 模型驱动开发方法6.6 快速原型开发方法6.7 商业软件包法6.8 综合开发方法6.9 小结6.6 快速原型开发方法快速原型开发方法l概念和特点lRAD框架lRAD的优点lRAD的缺点 *概念和特点概念和特点lRapid Application Development,RADl解决生命周期法的周期长、费用高的问题l快速创建出信息系统的测试版本l该版本可以演示、评估、提炼需求l对测试版本进行修改l主要阶段是设计、构建、分析、运行RAD的优点的优点l对于需求难以确定的项目,非常有效l鼓励用户参与,提高了用户使用系统的积极性l项目开发过程的透明度、支持度很高l用户可以尽快得到信息系统原
13、型l可以尽快发现系统中存在的问题l测试和培训比较简单l更加自然的开发方法l降低了开发风险RAD的缺点的缺点l因为鼓励反复进行,因此整个系统的运行、支持、维护成本比较高l失去了选取更高的技术方案的机会l强调速度,忽略了提高系统的质量l适用于小型信息系统项目内容提要内容提要6.1 基础工作6.2 能力成熟度模型6.3 系统开发的基本原则6.4 生命周期开发方法6.5 模型驱动开发方法6.6 快速原型开发方法6.7 商业软件包法6.8 综合开发方法6.9 小结6.7 商业软件包法商业软件包法l特点l评价商业软件包的标准l商业软件包法的优点l商业软件包法的缺点 *特点特点l通过购买商品化软件包并且在此
14、基础上进行的信息系统开发方法l包括四个阶段系统分析系统设计系统修正系统维护评价商业软件包的标准评价商业软件包的标准l10个标准功能灵活性用户界面硬件软件数据库安装维护文档供应厂商成本商业软件包法的优点商业软件包法的优点成本和周期成本和周期商业软件包的缺点商业软件包的缺点l必须有合适的软件包l通用性和特殊性之间的矛盾l大量的二次开发内容提要内容提要6.1 基础工作6.2 能力成熟度模型6.3 系统开发的基本原则6.4 生命周期开发方法6.5 模型驱动开发方法6.6 快速原型开发方法6.7 商业软件包法6.8 综合开发方法6.9 小结6.8 综合开发方法综合开发方法l快速架构开发方法l多种实现路径开发方法l阶段化的实现路径开发方法内容提要内容提要6.1 基础工作6.2 能力成熟度模型6.3 系统开发的基本原则6.4 生命周期开发方法6.5 模型驱动开发方法6.6 快速原型开发方法6.7 商业软件包法6.8 综合开发方法6.9 小结6.9 小结小结l信息系统开发前的准备工作l能力成熟度模型的作用l信息系统开发的基本原则l生命周期法的基本阶段l生命周期法的各个阶段中的共有活动lMDD的特点lRAD的优点和缺点l商业软件包的选择标准