第十八讲系统开发:步骤、工具与技术第18讲系统开发:步骤、工具与技术——没有银弹、人月神话的发祥地系统开发生命周期SDLC•定义–指开发信息系统的一种结构化的按部就班的方法•7个核心步骤–计划–分析–设计–开发–测试–实施–维护计划分析设计开发测试实施维护SDLC7阶段&主要活动Phase1:计划•计划阶段–制定一个可靠的计划–3项主要活动:•1界定要开发的系统–识别和选择哪种系统是支持企业战略决策所需要–关键成功因素(CSF)对组织的成功起关键作用的因素Phase1:计划•2确定项目范围–项目范围:明确定义高层系统的需求–范围蔓延:项目范围增大到超出原来的意图时–功能蔓延:开发者增加一些不是最初需求的功能时–项目范围文件:简短的项目范围的书面定义•3制订项目计划:任务、资源、时间–项目计划:what&when&who–项目经理:项目计划和管理专家,定义和开发项目计划、跟踪计划以保证所有项目里程碑完成–项目里程碑:某些活动完成的关键日期。Phase1:计划项目计划举例Phase2:分析•分析阶段–指最终用户和信息技术专家共同工作,为目标系统收集、理解和表达业务需求的阶段–2项主要活动•1收集业务需求–与每一个有权使用新系统的人去交流,回答Why&What–联合应用开发会议(JAD):系统用户和技术专家•2对需求定义优先级–需求定义文件–用户签字Phase2:分析Taketimeduringanalysistogetthebusinessrequirementscorrect.Ifyoufinderrors,fixthemimmediately.ThecosttofixanerrorintheearlystagesoftheSDLCisrelativelysmall.Inlaterstages,thecostishuge.Phase3:设计•设计阶段–目标系统得以运行的技术性蓝图–2项主要活动•1设计技术框架–技术框架:定义系统的硬件、软件和通信设备•2设计系统模型–对屏幕、报告、软件、数据等每件事的描述–GUI屏幕设计系统建模与设计•结构化方法–数据流图DFD–过程规范–结构图(层次性)•OO开发–基于类和继承的概念–基于组件的和开发和WEBService–UML•计算机软件辅助工程(CASE)–提供软件工具使用上面的方法自动运行,减少系统开发中的重复性工作Phase4:开发•开发阶段:–利用设计阶段产生的详细设计资料,将它们转化为实际系统。–2项主要活动•1建立技术框架•2建立数据库与编程–由技术专家承担Phase5:测试•测试阶段:–验证系统运行和是否满足所有分析阶段定义的业务需求。–2项主要活动•1编写测试条件–测试条件:对每个步骤内容和预期结果•2实施系统测试–单元测试–系统测试–集成测试–用户验受(acceptance)测试UATPhase6:实施•实施阶段–将系统分发给所有用户,他们开始每天使用系统完成工作–2项主要活动•1编写详细的用户说明书•2提供培训–在线培训:CD或Online–面授Phase6:实施•选择正确的实施方案–并行实施:同时使用新老系统,直至新系统能正确工作–直接实施:扔掉新系统,启用新系统–引导实施:用户先小范围、后大范围–分段实施:功能先小范围、后大范围Phase7:维护•维护阶段–监测并支持新系统以保证其继续满足业务目标–2项主要活动•1建立HelpDesk•2提供支持系统变化的环境系统开发方法:瀑布开发法•应用长、应用广、失败多•失败的原因:–企业不知道需求–计划:管理成本、资源、时间限制;变化的成本–解决方案:多种因素系统开发方法:快速原型法•快速应用开发法(RAD)=快速原型法•要点:–集中构建一个原型–积极邀请系统用户参与一分析、设计和开发–反复的交互式的结构化方法,加快需求的收集系统开发方法:极限编程法XP•特点–将项目拆分成许多很小的阶段,完成当前阶段后,才能进入下一个阶段–强调客户满意、适应需求的变化、强调团队合作系统开发方法:敏捷开发法•aformofXP•通过及早的连续的交付有用的软件组件来达到客户满意。•较少关注团队编程,较多关注限定项目范围–快速而有效–小巧而敏捷–低成本、少功能–周期短原型法•原型:–目标产品、服务或系统的模型•原型法–建立示范目标产品、服务或系统的特征–概念检验原型:证明目标系统的技术可行性–推广原型:用于让人们确信目标系统价值的原型原型法的过程•4个步骤–1确定基本需求–2建立初始原型–3用户评价–4修正和提高原型原型法步骤原型法的优点•鼓励用户参与•有助于解决用户之间的差异•能给用户一个对最终系统的直观感受•帮助确定技术上的可行性•有助于推广目标系统的思想•快速、不昂贵的初步模型•设计用户界面时尤其有用原型法的缺点•导致人们认为最终系统将很快完成•没有给出系统运行环境的说明•导致项目小组忽略完整的测试和文档最终用户开发法•定义–最终用户开发重要的应用软件所使用的技术和方法的集合•哪些应用软件适合最终用户开发–不包括•基础设施软件、关键任务软件、并行支持大量用户软件•适合于最终用户开发的工具–易于使用多平台拥有成本低(价格和培训)–广泛的数据类型•缺点–版本控制、低质量、失控外包•外包:–特定的工作、规定的期限、规定的成本、规定的服务水平,委托给第三方•传统案例–薪水处理资源外包–呼叫中心外包–DELL的客户服务、技术支持、开发测试外包行业快速发展的原因–全球化Globalization–互联网TheInternet–经济增长和低失业率•Growingeconomyandlowunemploymentrate–技术Technology–管制的解除Deregulation外包类型•4种形式–购买现成软件–购买现成软件,并付费获得修改服务•用友的例子–购买现成软件,并付费获得自行修改取可–开发全新、独一无二、不曾存在的系统外包类型外包流程外包时您将开发两个非常重要的文件:提案请求协议和服务水平协议Requestforproposal(RFP)•提案请求书(RFP)-正式文件,介绍了超级详细需求,并要求供应商提交开发进展的投标书•外包时你必须告诉你想要的另一个组织你想要什么,因此RFP必须非常详细和完整•有些招标书可能需要几个月甚至几年才能发展Servicelevelagreement(SLA)•两个组织间的正式合同和法律协议•规定双方的权利和义务,交付时间和付款•支持SLA文件–servicelevelspecifications服务水平规范andservicelevelobjectives服务水平目标–包含非常详细的数字和指标外包类型•3种类型–在岸外包:同一个国家的另一个企业–近岸外包:邻国企业,接壤?–离岸外包:外包的优点•优点:–专注于独特的核心竞争力–利用另一个组织的智力–更好地预测未来的成本–获得领先的技术–降低成本–提高绩效问责能力外包的缺点•缺点:–降低对未来的创新技术的认知–降低了控制程度–核泄漏:战略信息泄漏可能性增加–增加了对其他组织的依赖离岸外包的整体成本•如何一个公司的离岸外包合同额是$10million,那么即便是在最佳情况下,公司将实际多花费15.2%,最差的情况要多花费57%。项目管理的目标•项目–达到一个特定商业目标的关联活动的计划•项目管理–使用知识、技能、工具、技术,在特定的预算和时间限制内达到目标•范围•时间•成本•质量•风险选择项目•确定项目的成本和收益–实实在在的好处–无形效益–资本预算编制方法•信息系统计划–投资组合分析Portfolioanalysis–评分模型Scoringmodel项目管理风险•实施和变更管理–实施–用户和设计师的沟通鸿沟•控制风险因素–正式的计划和工具–Gantt图–计划评审法PERT•用户克服阻力–人机工程学–组织的影响分析项目管理:甘特图显示了任务、人-日、每个责任人的缩写,以及每项任务的起目日期。资源汇总为优秀的管理者提供了每个月、工作于些项目的每个人的总人-日。项目管理:甘特图项目管理:甘特图项目管理:甘特图这是一个简化创建小网站PERT图。它显示了项目任务的顺序和任务的后续任务,并与前面的关系。什么决定了项目的成败•用户的参与及影响•管理层的支持和承诺•复杂程度和风险水平–支出规模、员工规模、实施时间、干系部门数目–50-75%失败,需求不明确、不直接的系统、新技术•项目管理质量用户关注点设计者关注点系统能提供我工作所要的信息吗?主文件会占用多少磁盘存储空间?我访问数据的速度有多快?执行这一功能需要多少代码?我检索数据方便吗?运行系统时,如何减少CPU时间?我需要费多大力气才能将数据录入系统?存储数据最有效的方式是什么?系统的运行如何融入我的日常工作计划中?使用什么样的DBMS最适合?评估系统项目风险高低企业风险高谨慎审查确认和开发低回避常规项目成本收益要素实施成本•硬件•通信•软件•人事费用运营成本•计算机处理时间•维护•操作人员•用户时间•培训费用•设备成本可见收益•提高生产率•降低运营成本•减少劳动力•降低计算机费用•降低外部供应商成本•降低文书和专业费用•降低费用增长率•降低设备成本•增加销售额隐性收益•提高资源利用率•改善资源控制•改进组织规划•提高组织灵活性•更及时的信息•更多的信息•加强组织学习•获得合法需求•提升员工期望值•增加工作满意度•改进决策•改进业务•更高的客户满意度•更好的企业形象信息系统计划预知风险1计划目的•计划内容概述•当前和未来的企业组织•关键业务流程•管理战略2战略业务计划基本原理•现状•当前的企业组织•不断变化的环境•业务计划的主要目标•公司的战略计划3现有系统•目前能够支持的业务和流程•目前的基础设施能力•硬件、软件、数据库、通信、互联网•达到业务要求面临的困难•预计的未来需求4新进展•新系统项目•项目描述•项目理念•在战略中的作用•新基础设施的要求•硬件、软件、数据库、通信、互联网5管理战略•采购计划•重大事件和时间安排•组织调整和内部重组•管理控制的主要培训举措•人才战略6计划实施•实施过程中预期的困难•进度报告7预算要求•要求•潜在结余•融资•采购周期第19讲IT成功指标与业务持续性规划——永续运营、持续改进IT成功的指标•基础设施为中心的指标•以WEB为中心的度量•呼叫中心指标•财务指标基础设施为中心的度量•基础设施为中心的度量–测量效率,速度和/或技术能力•吞吐量Throughput–给定时间内,通过系统传输的速度•处理速度•系统可用性–与停机成反比,或一个系统的平均停机或不可用的时间基础设施为中心的度量•精确度–测量误差率•响应时间–响应用户事件的平均时间•可扩展性–需求增加时,系统能否变化并良好运行以WEB为中心的度量•Web-centric度量–你的WEB和电子商务是否成功•独立用户数–尼尔森/网络评价的主要指标•总点击•Pageexposures–平均每个访问者访问的页面数•转换率–购买率、转换成自己的用户的比率以WEB为中心的度量•Click-through–点击广告并转向其它网站的数目•Cost-per-thousand–每千美元的广告产生的销售金额•废弃注册数–开始注册,但中途放弃的人数•废弃的购物车数–已经有了购物车,但放弃了。呼叫中心指标•呼叫中心指标–测量呼叫中心的成功指标•放弃率–未接通电话即放弃的百分比•回答平均速度(ASA)–从拨通到得到接线的平均时间,通常在几秒钟内•时间服务因子(TSF)–在某时间内获得回答的百分比,如30或90秒•首次呼叫解决(FCR)–首次呼叫问题即可解决的百分比财务指标•最终,一个IT系统必须带来金融意识•财务指标–也被称为资本分析财务模型•多种多样的财务指标IT指标和SLA•服务水平协议(SLA)–两个合作伙伴间的正式的合同•SLA必须包含IT成功指标•SLA存在于你和外包组织之间–SLA定义了如何衡量外包机构的工作–这些内容在服务水平规范(SLS)或服务等级目标(SLO)中•SLA也存在于你和ASP之间业务持续性规划•业务持续性规划(BCP)–为了开