1、第五章 系统开发概述,本章重点,了解系统开发的基本特点了解系统开发的生命周期,以及系统开发的基本方法、开发方式了解系统规划的内容、作用,了解系统可行性分析的主要内容,一、问题的提出,二、系统开发的指导思想,三、系统开发的认知模型与生命周期,四、系统开发的方法,五、软件流程模型,六、系统开发人员与开发方法,七、系统规划,一、问题的提出,1、实例,上外物流:总裁亲自抓管理信息系统的开发,2、系统开发的主要风险,联想与方正:引进或自主开发?,华夏证券:技术选择与投资决策,投入超计划,系统性能比预期差,未获得预期收益,二、系统开发的指导思想,1、系统工程,1)基本思想,运用信息论、控制论、运筹学等理论
2、和方法,从整体的角度对系统进行规划、研究、设计、实施和控制的工程技术。,2)基本特征,最优化,系统性,综合性,咨询性,3)霍尔三维结构,社会科学,工程技术,法律,医学,规划阶段,设计阶段,实施阶段,安装阶段,运行阶段,更新阶段,明确问题,确定目标,方案综合,系统分析,系统评价,方案决策,方案实施,T(时间维),L(逻辑维),K(知识维),2、信息工程,1)基本思想,詹姆斯马丁,约翰柯林等提出。信息工程包括为建立基于当代数据系统的计算机化企业所必需的所有相关的学科。,2)基本原理,数据位于现代数据处理的中心,数据是稳定的,处理是多变的,用户必须真正参与开发工作,3、系统开发的特点,1)一把手工程
3、,2)面向管理,管理信息系统与一定的管理思想相联系,管理信息系统的功能设计依赖于管理,3)基于原系统,高于原系统,4)“信息思维”方式,5)工程性,6)综合性,知识的综合性,工艺和工程的结合,人机的结合,系统功能的人机分工,系统评价依赖于人,三、系统开发的认知模型与生命周期,1、管理信息系统开发的认知过程与认知模型,1)认知过程,观念世界:逻辑模型,数据世界:物理模型,计算机世界:计算机可执行模型,现实世界:问题,目标,根据问题进行抽象,技术内容增加,根据系统平台进行抽象,利用实用软件进行描述,转换,理解、表达,逻辑模型,数据模型功能模型,2)认知模型,A、问题域,将问题视为一个系统,通过定义
4、系统,界定组成系统的要素、要素的相关属性、要素之间的关系、系统的边界等。,B、逻辑模型,对用户需求的理解以模型的形式表达,正确定义系统需求。逻辑模型与技术实现和系统平台无关。,C、物理模型,将逻辑模型转化为在计算机上表达的模型,为物理模型。物理模型与采用的信息技术和系统平台有关。,D、计算机可执行模型,根据物理模型所设计的数据库、程序等为计算机可执行模型。,3)实例,某企业采取现款现货的分销方式,通过分销商销售其产品,通过第三方物流企业运输产品到客户,在全国各地设置特约维修点,免费完成三包期内的维修服务。要开发及时掌握产品库存、销售及回款情况的管理信息系统。,A、问题的系统表达,企业销售业务员
5、(姓名、性别、文化程度等)分销商(名称、合作时间、负责人等)第三方物流企业(名称、地址、负责人、联系方式、合作时间等)客户(姓名、联系方式等)特约维修点(名称、合作时间、负责人等)要素之间的关系:产品与分销商现款现货,在规定的三包期内免费维修服务。问题域:掌握产品库存和销售及回款情况。,B、逻辑模型,入库信息,发货通知,付款收据,查询结果,C、物理模型,产品库存(产品编码,库存数量,库存金额);产品货款(销售合同号,客户编码,产品编码,货款,付款日期)产品发货(销售合同,产品编码,数量,发货日期,达到地),产品销售,输入合同号,查找合同是否付款,库存变更,通知发货,合同号,合同号,发货标志,发
6、货标志=1,发货标志=1,2、管理信息系统开发生命周期,管理信息系统开发周期分为五个阶段:系统规划、系统分析、系统设计、系统实施、系统维护与评价。,1)系统规划,A、主要活动,定义问题,系统开发的可行性分析,制定项目时间表,分配项目需要的人力资源,B、阶段文档,系统规划报告,2)系统分析,A、主要活动,系统测试要求,B、阶段文档,系统分析报告,3)系统设计,4)系统实施,5)系统维护与评价,数据维护、软件维护、平台维护,B、阶段文档,系统设计说明书、平台设计报告,B、阶段文档,软件设计说明书,测试报告,源程序清单,用户使用说明书,系统验收报告,四、系统开发方法,1、结构化方法,由结构化分析方法
7、(SA)、结构化设计方法(SD)、结构化程序设计方法(SP)组成。,1)结构化分析方法,A、基本思想,要求终端用户参与系统分析,系统分析产生的文档面向多类人员,使用适当的图表描述系统分析的工作成果,采用自顶向下的策略进行系统分析,B、逻辑模型的表达方法,数据流程图DFD,数据字典DD,处理逻辑说明,2)结构化设计,遵循黑箱原则、模块化原则,采取结构图,对结构化分析建立的分层DFD,按照顺序结构、分支结构、循环结构及其组合,设计相互独立、功能单一的模块,建立系统的模块结构图,并给出模块说明书。,3)结构化程序设计,结构化程序设计由顺序结构、分支结构、循环结构组合而成。,结构化系统分析,结构化系统
8、设计,结构化程序设计,系统分析 SA,系统设计 SD,系统实施 SP,数据流程图数据字典E-R模型,结构图模块说明书,2、面向对象方法,面向对象分析、面向对象设计、面向对象程序设计,1)基本概念,2)面向对象分析(OOA),面向对象分析定义问题中所有的对象,以及描述对象之间如何交互完成任务。,面向对象分析采用类描述语言、类图等表达系统的逻辑模型。,运输的货物,提货通知,物流公司,分销商,客户,3)面向对象设计(OOD),在一定的语言和系统平台上,细化逻辑模型中的类,增加与系统通信需要的附加类,考虑与系统实现有关的因素,从数据、控制和交互控制等方面进行补充描述。,4)面向对象程序设计(OOP),
9、针对OOD设计的物理模型,采用一定的程序设计语言或开发工具,完成对类及对象中各属性的说明,编写代码,生成源程序。,5)面向对象方法的模型表示,Booch法、面向对象建模技术、统一建模语言UML。UML是基于实例的面向对象方法,系统逻辑模型包括实例模型、概念模型、系统行为模型、状态模型。,3、面向对象方法和结构化方法的比较,面向对象方法按照对象或概念来分解问题域,将复杂过程分解成一系列具有封装、继承、多态的对象;结构化方法将复杂问题分解成一系列层次结构的子过程,将问题设计成一系列功能相互独立又共享数据的模块。,营销管理信息系统,结构化方法:按功能/过程分解,面向对象方法:按对象分解,管理信息系统
10、开发方法总结,五、软件流程模型,1、瀑布模型,瀑布模型在1970年提出,它覆盖管理信息系统开发的五个阶段,并规定自上而下,相互衔接的固定次序。,规格说明冻结审核:定义的问题与规划,分析说明冻结审核:逻辑模型,设计说明冻结审核:物理模型,提交的系统与说明的一致,新的生命周期,主要问题,各阶段划分固定,且有明确的任务和目标,阶段间产生大量的文档,增大系统工作量,瀑布模型呈线性,前阶段的错误传递到后阶段,将使错误扩散、放大,要求用户需求确定且完整。该开发方法周期长,风险大。适用于目标明确、需求清晰且变化小的管理信息系统。,2、演进式模型,确定关键问题,快速编制程序,运行,修正、增加,修改、运行,放弃
11、,有问题?,增量开发,Yes,No,主要问题,各阶段同时进行,开发过程不可见,开发困难,从局部到全局,从个别到整体,系统结构设计困难,系统性差,需要特殊的工具和技术,适用性,对大型系统不适用,对有大量运算,逻辑性强的系统不适用,对基础管理不善,信息处理混乱的系统不适用,适合需求较难一次弄清楚,系统规模较小的管理信息系统。,六、系统开发人员与开发方式,1、系统开发人员与项目组的人员结构,1)系统开发人员,信息主管CIO,项目经理,系统分析员,系统设计员,程序设计员,系统维护人员,数据库管理员,2)项目组人员结构,规划,维护,实施,设计,分析,影响度,人数,2、系统开发方式,1)系统的开发方式,自
12、行开发,联合开发,外包,采购,2)选择开发方式需要考虑的主要因素,企业自身对管理信息系统采取的战略,需要解决问题的特点,相应的专业人才,3、实例,1)背景简介,产品大量库存积压,内部管理效率低,难以应对客户个性化需要,2)开发方式选择,3)实施方案,购买,外包,联合开发,4)系统集成模式,触发器自动更新:员工基本信息,财务预算指标.,触发器自动更新:物品进销存、产品销售、设备.,七、系统规划,1、作用与主要问题,1)作用,确定系统开发的依据,为系统开发筹集资金的依据,与合作单位签定合同的依据,系统验收的依据,2)需要解决的主要问题,1)开发的目的,2)新系统的定界,3)新系统开发的可行性,4)
13、开发采用的技术规范,5)开发的时机和所需的时间,6)开发的方式,2、定义问题,1)发现问题,来自企业高层发现的问题,来自企业下层的问题,2)确定系统边界,例:某企业销售大型机械和配件,原有的配件销售管理信息系统功能不能满足要求。原系统只简单记录产品的进销存中发生的数据,没有实现流程控制,分布在全国各地的营销点情况对于企业是一个“黑箱”,企业对营销点失控,企业的营销、生产工作被动。企业的产品销售、配件销售、技术支撑和客户服务工作分离,现要开发一个集产品销售、配件销售、技术支撑和客户服务为一体的新系统。,服务需求,销售支持,服务支持,跟踪要求、产品入库,销售计划、产品故障,市场需求,销售指令,跟踪
14、要求,销售信息,员工信息,财务要求,质量问题,销售信息,服务支持,3、可行性分析,定义问题,期望收益,1)必要性与重要性分析,2)技术可行性分析,3)经济可行性分析,4)管理可行性分析,4、项目组织,选择开发的时机,安排人力资源,确定开发进度,开发时间进度可采用计划评审技术、关键路线方法、形象进度图、甘特图表示。,A,B,C,D,E,时间,任务,甘特图,当前进度线,表示文档,表示评审,5、系统规划阶段的文档,1)系统规划阶段文档的作用,编写目的,项目背景,2)系统规划报告的主要内容,术语定义,参考资料,问题描述,开发的必要性和重要性,6、实例,1)公司基本情况,2)可行性研究,急需解决的问题,可行性分析,3)开发的时间进度计划,5)开发方式的选择,4)软件流程模型的选择,6)员工培训,