第十三章建设信息系统1《管理信息系统》劳顿第15版学习目标13-1新系统建设如何引起组织变革?13-2信息系统开发过程中有哪些核心活动?13-3信息系统建模和设计的主要方法是什么?13-4建设信息系统有哪些可选方法?13-5数字化时代企业系统建设的新方法有哪些?2开篇案例:安戈斯图拉创建了移动销售系统问题:低效的手工流程解决方案:重新设计销售订单流程移动销售订单系统SAP企业资源计划(ERP)SAPNetWeaverGateway软件iPads安戈斯图拉使用SAPNetweaverGateway将新的客户移动销售App连接到企业ERP系统本案例显示了IT在帮助组织自动化作业流程中的作用本案例体现了IT系统在支持效率提升、降低成本方面的能力313.1系统开发和组织变革(1/2)IT使能的组织变革自动化改善效率代替手工作业程序合理化精简标准化操作程序经常通过作业程序开展持续的质量改进全面质量管理(TQM)六西格玛(Sixsigma)业务流程再造分析、简化、重新设计业务流程重新组合工作流、组合操作步骤,消除重复范式转变重新思考业务本质定义新的商业模式改变组织的性质系统开发和组织变革(2/2)组织变革带来的风险和回报风险回报高高低低自动化程序合理化业务流程再造范式转移图13.1业务流程再造业务流程管理(BPM)利用各种各样的工具和方法来分析、设计优化流程公司用于管理业务流程的再设计BPM中的步骤确定变革的流程分析现有的流程设计新的流程实施新的流程持续的评估例:实体书店购书的业务流程描述可以订?带书回家带书回家图13.2重新设计后的在线购书流程访问在线书店查看在线目录输入订单支付信息接受送过来的书选择其他在线书店是否有书?是否图13.3识别并描述现有的流程识别低效率的工作环节创建改进的流程建模捕获并强化业务规则的执行,流程自动化整合现有系统,以支持流程改进验证改进后的业务流程评估流程变化对关键业务绩效指标的影响业务流程管理的工具是指为应对机遇和解决组织问题而构建信息系统解决方案的系列活动系统分析系统设计编程测试切换运行与维护13.2系统开发系统开发流程系统分析系统设计运行与维护系统切换软件编程系统测试图13.4系统分析分析新系统要解决的问题界定问题识别其原因描述解决方案确定信息需求可行性研究系统建议方案的报告信息需求错误的需求分析是导致系统故障和高昂的系统开发成本的主要原因系统设计对系统分析中所提出的系统功能进行详细的系统描述应该着重设计信息系统所涉及的有关管理、组织、技术方面的解决方案终端用户的角色用户的信息需求驱动系统的构建用户必须有足够的能力参与设计过程,以确保系统反映了他们的业务优先级和信息需求用户在设计过程中参与度不足是很多系统开发失败的主要原因分类说明输出介质、内容、时间输入来源、数据流、数据实体用户界面简洁、高效、逻辑性、反馈、差错数据库设计逻辑数据模型、容量及数据要求、文件结构及设计、记录规格参数程序计算、程序模块、需求报告、输出时机手动操作程序何种活动、谁操作、何时操作、如何操作、在哪操作控制输入控制(特性,限制,合理),程序控制(一致性,记录计数),输出控制(总量,输出实例),过程控制(密码,特殊形式)信息系统设计说明书(1/2)表13.1分类说明安全存取控制、灾备计划、审计跟踪文档操作文档、系统文档、用户文档切换切换文件、启动新程序、选择测试方法切换到新系统培训选择培训技术、开发培训模块、确定培训设施组织结构变革任务再设计、工作再设计、流程设计、组织结构设计、报告关系设计说明书(2/2)表13.1软件编程设计阶段形成的系统描述转变为软件代码系统测试确保系统能够得到预期效果单元测试:测试系统中分散的各个程序单元系统测试:测试信息系统的整体功能验收测试:确认系统能够投入实际使用测试计划:对上述一系列测试的准备工作系统开发过程(1/3)程序处理并维护“记录变更系列”测试系列2制表人:时间:版本:测试参考测试条件特殊需求预期结果输出在下一屏2.0变更记录2.1变更现有关键字段不允许记录2.2变更不存其他字段“无效键”在的记录2.3变更删除删除已有“已删除”了的记录记录2.4做第二记录改变2.1若有效则可实现事务文件V452.5插入记录若有效则可实现事务文件V452.6中止改变中止2.5没有改变事务文件V45记录变更的测试计划示例图13.5系统开发过程(2/3)系统切换从老系统更换到新系统的过程4种切换策略(1)并行切换策略(2)直接切换策略(3)引导切换策略(4)分阶段切换策略培训终端用户使用新的系统最终文档需要从技术和终端用户角度来详细介绍系统是如何使用与运行的运行与维护审核系统是否需要修正需要准备一份安装后的正式的审计文档系统维护改进正在运行中系统的硬件、软件、文件或程序,以纠正错误、满足新的需求、提高运营效率20%的工作是纠错,应急处理20%的工作是改进硬件、软件、数据、报告60%的工作包括增强用户满意度、改进文档以及记录系统工作状况,以提高运营效率系统开发过程(3/3)主要活动说明系统分析识别问题,说明解决方案,列出信息需求系统设计生成设计说明编程将设计说明转换为程序代码测试执行单元测试、执行系统测试、执行验收测试切换制定切换计划、准备文档、培训用户和技术人员运行与维护运行系统、评估系统、改进系统系统开发过程表13.213.3结构化方法(1/2)结构化方法:逐步实施、程序化的方法过程化:对需要处理数据的业务流程和活动进行建模的过程数据与业务处理分离数据流图(DFD)描述系统各处理模块及其相互之间的数据流为信息流提供了逻辑图形模型结构化方法(2/2)数据字典:定义数据流的内容和数据存储处理说明:描述最低层次数据流图中的业务处理结构图:一种自上而下的图示,显示每一层设计,每一层和其他层次的关系,以及每一层在整个设计结构中的位置例:用邮件方式注册大学课程的系统数据流图学生确认是否开放?学生注册确认注册申请课程开放的课程课程文件学生主文件课程介绍学生信息课程注册信息学生注册确认信接受/拒绝的选择图13.6例:工资管理系统的高层结构图工资支付输入有效信息计算工资信息输出输入信息验证输入信息计算工资总额计算净薪金更新主文件写检查报告,输出文件图13.7对象对象是系统分析和设计的基本单元把数据以及运营这些数据的业务处理结合在一起封装在对象中的数据只能由与其相联系的操作访问面向对象建模以类和继承为基础对象属于某一特定的类,并具有该类的特征可以继承其上一级一般类的结构和行为面向对象的开发(1/2)类和继承:例子正式员工年薪奖金计算奖金小时工每小时工资加班工资计算加班工资临时工每日工资加班工资计算加班工资员工员工编号姓名地址入职时间职位支付工资图13.8面向对象的开发(2/2)比传统结构化开发更具迭代性和增量性系统分析:分析系统和用户之间的交互来识别对象系统设计:描述对象是如何行为和交互的,按类、子类和层次来组织实施:某些类可以通过重用现有类库的类来产生,某些则需要创建或通过继承来产生对象可以重用面向对象开发能够显著缩减开发时间和成本计算机辅助软件工程(CASE)利用软件工具来自动开发,减少重复工作,包括图形工具,用于生成图表屏幕和报告生成器、报表生成工具分析和检验工具数据字典代码和文档生成器通过软件修改和变更的自动化、提供原型设计工具等,支持迭代设计为了能更有效率地使用CASE工具,需要制定规则13.4传统的生命周期法最早的系统开发方法采用分阶段的方法开发过程分为几个规范的阶段“瀑布”法:上一阶段结束后,下一阶段才可开始严格区分终端用户与信息系统专家的任务强调规范化和纸质文档的编写大型复杂系统开发中仍然在使用成本高、耗时、不具柔性传统的系统开发生命周期31系统分析系统设计编写程序测试切换生成和维护图13.9原型法(1/2)低成本快速构建一个实验系统,供终端用户评估原型(Prototype):能运行的最基本的系统审核后的原型可用作最终系统的模板原型法的步骤确定用户的基本需求开发初步原型使用原型修订并增强原型系统原型法开发过程可使用的原型图13.10原型法(2/2)优点需求和设计方案不明确时,原型设计法很有效通常用于终端用户的界面设计容易实现终端用户需求缺点容易忽略系统开发过程中的一些关键步骤不适用于具有大量数据和大规模用户的系统开发通常难以通过完全测试,文档不全终端用户开发方法(1/2)允许用户在技术专家较少帮助的情况下开发系统减少生成最终应用系统所需的时间和步骤工具包括用户友好的查询语言和报告生成器PC软件工具终端用户开发方法(2/2)优点完成项目更快用户参与度和满意度极高缺点不适合于需要系统处理大量任务的应用场合开发过程管理和控制不够,测试和文档不充分对数据失控终端用户开发管理对系统开发成本的核算需要论证需要建立硬件、软件和质量标准应用软件包和云软件服务应用软件包和云软件服务节省时间和金钱许多软件包提供客户化功能系统分析的评价标准有软件包的功能、柔性、用户友好性、硬件和软件资源、数据库要求、安装和维护的难易度、文档、供应商能力、成本需求说明书(RFP)给软件包供应商提供的详细问题清单用来对各种软件包进行评估37互动讨论--组织:富士通选择SaaS方法来简化销售流程课堂讨论1.富士通现有的CPQ流程系统存在哪些问题?这些问题对业务有何影响?2.列出并描述你希望的富士通RFP中能看到的最重要的信息要求。3.为什么选择FPXCPQ解决方案?这是一个好的选择吗?为什么是或者为什么不是?4.为什么SaaS是富士通合适的解决方案?富士通应该自己来开发自己的CPQ系统吗?5.FPXCPQ改变了多少富士通运营业务的方式?38外包(1/2)有几种类型云计算和SaaS服务提供商企业使用提供商提供的软件和计算机硬件外部供应商聘请供应商来设计和创建软件国内外包动力来自于对外部企业的技能、资源和其它资产有需求离岸外包动力来自于节约成本的需要外包(2/2)优点可以使组织对IT的需求具有弹性缺点有隐含成本,例如:寻找和选择供应商受制于供应商把自己独特的业务流程向第三方开放离岸外包总成本外包合约约定成本$10,000,000潜在风险来源最好的情况额外费用($)最坏的情况额外费用($)1.供应商选择0%20,0002%200,0002.转型成本2%200,0003%300,0003.人力资源分配3%300,0005%500,0004.生产率降降低/文化问题3%300,00027%2,700,0005.改进开发流程1%100,00010%1,000,0006.合约管理6%600,00010%1,000,000总的额外费用1,520,0005,700,000外包合约约定费用($)额外费用($)总成本($)额外费用最好情况下的外包总成本10,000,0001,520,00011,520,00015.2%最坏情况下的外包总成本10,000,0005,700,00015,700,00057.0%离岸外包总成本图13.1113.5快速应用开发方法(RAD)、敏捷式软件开发和DevOps快速应用开发(RAD)在很短时间内创建可使用的系统的流程联合应用设计(JAD)用来加快系统信息需求的产生和系统的设计敏捷软件开发将一个大的项目分解为一系列小的子项目,可使软件开发快速完成DevOps基于敏捷软件开发原则构建的组织策略基于组件的开发和Web服务基于组件的开发基于一组共同功能的软件部件(如在线订购),可进一步组合成大规模的企业应用软件Web服务利用可扩展标记语言(XML)及开放互联协议(平台无关)的可重用软件组件实现应用软件之间的沟通,无需编写程序即可共享数据和服务可以和其它网