第2章管理信息系统开发方式与方法2.1概述【本节知识点指引】2.1.1系统开发的任务和特点2.1.2系统开发的指导原则【课堂组织】教师引导学生看书,要求学生归纳“基本观点”,提炼出相关问题解答要点中的关键词。【师生互动】以MIS项目团队开发MIS知识卡管理系统为例,讨论“系统开发的任务和特点”、“系统开发的指导原则”等理论知识在实践中的指导意义。2.1.1系统开发的任务与特点任务根据企业的目标、内容、规模、性质等具体情况,从系统论的观点出发,运用软件工程和系统工程的方法,按照管理信息系统发展的规律,为企业建立起计算机化的管理信息系统,开发出符合现代管理要求的应用软件系统2.1.1系统开发的任务与特点•特点复杂性高集体的创造性活动质量要求高产品是无形的历史短,经验不足2.1.2系统开发的指导性原则•目的性•整体性•相关性•适应性•工作成果文档化、图表规范化目的性:明确系统开发的目的,确立面向用户的观点整体性:①了解信息处理的过程(物理模型)②对原系统的物理模型进行综合和抽象,去掉物理细节,分析逻辑模型③完善逻辑模型,解决“做什么”④确定新系统实现逻辑模型的技术方法和手段,解决新系统“如何做”的问题2.1.2系统开发的指导性原则相关性:子系统相互配合、前后衔接、主从搭配,实现系统目标适应性:易扩展、易维护工作成果文档化、图表规范化①人的记忆力是有限的,需要记录②文档形式以规范化、标准化的图表为主,其表达效果比文字叙述简介、形象、效果真实③系统开发要经过一定的过程,后一阶段的工作要在前一阶段的基础上,也就是在前期工作文档的基础上继续进行2.1.2系统开发的指导性原则2.2管理信息系统开发方式【本节知识点指引】1.自行开发方式2.委托开发方式3.联合开发方式4.“购买”方式5.“外包”方式【课堂组织】教师引导学生看书,要求学生归纳“基本观点”,提炼出相关问题解答要点中的关键词。【师生互动】以MIS项目团队开发MIS知识卡管理系统为例,讨论“自行开发方式”、“委托开发方式”、“联合开发方式”、“‘购买’方式”、“‘外包’方式”等优缺点。自行开发方式定义:由用户依靠自己的力量独立完成系统开发的各项任务。适合:有较强专业开发分析与设计队伍和程序设计人员系统维护使用队伍的组织和单位,如:大学、研究所、计算机公司、高科技公司等单位自行开发方式优点:开发费用少,容易开发出适合本单位需要的系统,方便维护和扩展,有利于培养自己的系统开发人员。缺点(1)容易受业务工作的限制,系统整体优化不够,开发水平较低。(2)系统开发时间长,开发人员调动后,系统维护工作没有保障委托开发方式适合:使用单位(甲方)没有MIS的系统分析、系统设计及软件开发人员或开发队伍力量较弱、但资金较为充足的单位。优点:省时、省事,开发的系统技术水平较高。缺点:费用高、系统维护与扩展需要开发单位的长期支持,不利于本单位的人才培养。联合开发方式适合:使用单位(甲方)有一定的MIS分析、设计及软件开发人员,但开发队伍力量较弱,希望通过MIS的开发建立、完善和提高自己的技术队伍,便于系统维护工作的单位优点:相对于委托开发方式比较节约资金,可以培养、增强使用单位的技术力量,便于系统维护工作,系统的技术水平较高缺点:双方在合作中沟通易出现问题,因此,需要双方及时达成共识,进行协调和检查。购买方式适合:对于功能单一的小系统开发颇为有效。但不太适用于规模较大、功能复杂、需求量的不确定性程度比较高的系统的开发。优点:能缩短开发时间,节省开发费用,技术水平比较高,系统可以得到较好的维护。缺点:功能比较简单,通用软件的专用性比较差,难以满足特殊要求,需要有一定的技术力量根据使用者的要求做软件改善和编制必要的接口软件等二次开发的工作。外包方式适合:企业为了专注核心竞争力业务和降低软件项目成本,将软件项目中的全部或部分工作发包给提供外包服务的企业完成的软件需求活动。业务外包也称为资源外包、资源外置外包方式优点:①使技术不强的企业直接享受标准化、专业化的信息服务②做到按需付费,有效降低企业IT技术投资③专业化的外包服务具有质量稳定、成本透明技术更新及时等优势④软件服务市场的发展,推动服务商主动提高产品质量⑤外包,加速企业对外部环境的响应,增强企业竞争外包方式缺点:①质量监控和管理难度加大②人力资源管理难度加大③信息安全管理难度加大④企业对外包服务商的依赖增大⑤外包服务商的选择问题表2.1开发方式的比较自行开发/委托开发/合作开发/软件包开发/返回方式特点比较自行开发委托开发合作开发利用现成软件包开发分析和设计能力的要求较高一般逐渐培养较低编程能力的要求较高不需要需要较低系统维护的要求容易较困难较容易较困难开发费用少多较少较少案例2.1大公司是否可使用小厂商提供的软件包SCANIA公司软件包的选择返回2.3管理信息系统开发方法【本节知识点指引】2.3.1结构化系统开发方法2.3.2原型法2.3.3面向对象方法2.3.4CASE方法2.3.5基于构件的软件开发方法【课堂组织】教师引导学生看书,要求学生归纳“基本观点”,提炼出相关问题解答要点中的关键词。【师生互动】以MIS项目团队开发MIS知识卡管理系统为例,讨论“结构化方法”、“原型法”、“面向对象方法”、“CASE方法”、“基于构件的软件开发方法”等优缺点。结构化系统开发方法生命周期:从提出要建立一个MIS开始,到完全建成的全过程,是一个连续发展的过程,即一个阶段的完成就是下一个阶段的开始,这个过程称为系统的开发生命周期(SystemDevelopmentLifeCycle,简称SDLC)结构化系统开发方法基本思想:将系统的生命周期划分为:系统规划、系统分析、系统设计、系统实施、系统运行和维护等阶段。应用系统工程的方法,按照规定的步骤和任务要求,使用一定的图表工具完成规定的文档,在结构化和模块化的基础上进行MIS的开发工作。结构化系统开发方法结构化:用一组规范的步骤、准则和工具来进行某项工作。基于生命周期的结构化方法:把系统功能视为一个个的模块,根据系统分析设计的要求对其进行进一步的模块分解或组合工作模块化:把系统划分为若干个模块,每个模块完成一个特定的功能,然后将这些模块汇集起来组成一个整体(即系统),用以完成指定的功能系统的生命周期详细设计提出要求可行性研究系统评价系统维护验收编程调试系统转换详细调查初步调查逻辑设计开发方案选择审批审查审查总体设计系统规划系统分析系统设计系统实施系统运行和维护开发方案选择审查总体设计逻辑设计开发方案选择审查总体设计系统的生命周期详细设计提出要求可行性研究系统评价系统维护验收编程调试系统转换详细调查初步调查逻辑设计开发方案选择审批审查审查总体设计系统规划系统分析系统设计系统实施系统运行和维护开发方案选择审查总体设计逻辑设计开发方案选择审查总体设计图2—3生命周期法的开发过程生命周期/规划/分析/设计/实施/返回提出要求初步调查可行性研究可行性分析报告审批修改目标、追加资源、等待条件A停止研制否修改是请按键★图2—3生命周期法的开发过程生命周期/规划/分析/设计/实施/返回A详细调查逻辑设计系统分析报告审批B修改说明书停止研制否修改是请按键★图2—3生命周期法的开发过程生命周期/规划/分析/设计/实施/返回B总体设计详细设计系统设计说明书审批停止研制修改设计方案C否修改是请按键★图2—3生命周期法的开发过程生命周期/规划/分析/设计/实施/返回C系统实施调试修改系统验收交付使用是修改请按键★结构化系统开发方法优点:严格区分各阶段、自顶向下分析与自底向上实施想结合、用户至上、符合实际,客观性和科学化、充分预料可能发生的变化、系统开发过程工程化,文档资料标准化缺点:开发周期长、文档耗费大量时间和资金,且很难保证最新原型法可以逐步改进成运行系统的模型开发者在初步了解用户需求的基础上,构成、设计和开发一个系统初始模型,该模型称为原型或骨架。(一个可以实现的系统应用模型。)开发人员和用户在此基础上共同探讨、改进和完善方案,开发人员再根据方案对原型进行修改得到新的原型,再征求用户意见,如此反复,直至用户满意为止。返回原型法开发MIS的过程示意图确定用户基本要求构造初始模型评价、使用系统原型用户满意?系统转换、系统维护与评价修改、完善系统原型图2—4原型法开发过程YN请按键★原型法优点:有利于问题的认识、便于沟通、时间费用效率提高、系统灵活便于扩充修改、扬弃了某些繁琐细节,是结构化方法的补充缺点:不适合开发大的系统、不利于控制和管理,对软件开发工具依赖性强,不够成熟、缺乏系统全面分析,增加维护的代价、管理水品要求高、对逻辑性强的模块,不便于构造模型、应用于小的局部系统或者处理过程简单的系统2.原型法与生命周期法的比较(表—1)方法内容原型法生命周期法开发路径循环、迭代型严格、顺序型文档数量较少多用户参与程度高低开发过程的可见度好差对功能需求或环境变化的适应性较好差用户的信息反馈早迟对开发环境、软件工具的要求高低对开发过程的管理和控制较困难较容易返回面向对象方法面向对象(ObjectOriented,OO)方法是一种新的认识问题和解决问题的思维方法,为人们认识事物进而开发系统提供了一种全新的方法思想:①客观事物由对象组成②对象由属性和方法组成③对象之间的联系通过消息传递机制来实现④对象具有继承性⑤对象具有封装性面向对象方法基本概念:①对象客观世界存在的事物②消息向对象发出的请求③类具有相同数据结构及行为的对象集合④继承自动拥有或者隐含一般类的属性和操作⑤封装对象严格模块化⑥实例某个特定的类描述的一个具体的对象⑦多态同一消息调用不同方法面向对象方法基本思想:①客观世界由对象组成,任何事物都是对象,对象之间有联系②对象是属性和方法的统一体,属性是特征,方法是改变状态③所有对象都可划分为类,含继承④对象严格模块化,封装⑤对象之间通过传递消息联系,面向对象方法设计过程:①调查和需求分析②面向对象分析(OOA)③面向对象设计(OOD)④面向对象程序实现,面向对象方法优点:开发周期短、费用低、易维护、易改进、以扩充、反映客观世界的认知模式,易与用户沟通、开发方案抽象、模块化、封装缺点:初学者不易掌握、需与结构化方法相互依存,否则会造成系统结构不合理CASE方法基本思想:结合系统开发的各种具体方法,在完成对目标系统的规划和详细调查后,如果系统开发过程中的每步都相对独立且一定程度上彼此形成对应关系,则整个系统开发就可以应用专门的软件开发工具和集成开发环境来实现。是一种环境代表性的有:微软的VISIO、ORACLE的DESIGNER等基于构件的软件开发方法基本思想:从第三方市场购买、定制构件或者从成熟的构件库中提取已有构件来解决应用软件开发。从面向代码转向面向集成,包括领域工程过程和应用工程过程第2章课后练习一、理论部分1.名词解释题自行开发方式;委托开发方式;联合开发方式;“购买”方式;软件外包;生命周期法;原型法;对象;类;继承;CASE;构件。2.简述题1)通过实例,简述管理信息系统开发的任务和特点。2)通过实例,简述管理信息系统开发的指导原则。3)通过实例,分析管理信息系统典型的开发方式及其优缺点。4)通过实例,分析管理信息系统典型的开发方法及其优缺点。3.案例分析题阅读本章引例,分析勤哲软件为企业带来的解决方案以及该软件各种可行的开发方式与方法。第2章课后练习二、实践部分(应用操作题)1.利用Excel建立本项目团队各职能部门(采购科、生产科、销售科、财务科、人力资源部、信息中心等)的核心业务单据:【采购科】采购订单、采购预算单、采购定期汇总表等等。【生产科】定期生产计划表、生产预算表、派工单、生产计划变更通知单、(半)成品送检报告单、生产情况报告单、定期产销计划汇总表等等。【销售科】销售订单、销售预算表、销售合同执行情况统计表等。【财务科】商业承兑汇票、生产成本计算表、工资费用分配表、税费计算表、利润计算表、内部转账单等等。【人力资源部】职工岗位分工表、职工变动统计表、工资结算表等。【信息中心】各类业务基础数据