《系统开发方法与策略.ppt》由会员分享,可在线阅读,更多相关《系统开发方法与策略.ppt(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、11.111.2掌握系统开发的几种方法:掌握系统开发的几种方法:掌握系统开发的几种方法:掌握系统开发的几种方法:生命周期法生命周期法生命周期法生命周期法、原型原型原型原型法法法法、软件包法软件包法软件包法软件包法、最终用户开发最终用户开发最终用户开发最终用户开发和和和和外包方法外包方法外包方法外包方法;弄清系统开发五种方法的弄清系统开发五种方法的弄清系统开发五种方法的弄清系统开发五种方法的特点特点特点特点和和和和适用场合适用场合适用场合适用场合;掌握系统开发过程中可以采用的几种技术和工掌握系统开发过程中可以采用的几种技术和工掌握系统开发过程中可以采用的几种技术和工掌握系统开发过程中可以采用的几
2、种技术和工具:具:具:具:结构化技术结构化技术结构化技术结构化技术、面向对象技术面向对象技术面向对象技术面向对象技术和和和和计算机辅助计算机辅助计算机辅助计算机辅助软件工程软件工程软件工程软件工程;明确系统开发过程中可以采用的这几种技术和明确系统开发过程中可以采用的这几种技术和明确系统开发过程中可以采用的这几种技术和明确系统开发过程中可以采用的这几种技术和工具的工具的工具的工具的特点特点特点特点及及及及适用场合适用场合适用场合适用场合.*学习目的学习目的11.3传统生命周期法传统生命周期法生命周期法(生命周期法(life cycle)是在系统生命)是在系统生命周期概念的基础上,应用结构化的思想
3、周期概念的基础上,应用结构化的思想方法把整个系统开发过程分为若干活动,方法把整个系统开发过程分为若干活动,每个活动应用一系列标准规范和方法完每个活动应用一系列标准规范和方法完成一个或多个任务,并形成符合规范的成一个或多个任务,并形成符合规范的阶段性成果,直至最后系统的物理实施、阶段性成果,直至最后系统的物理实施、运行和维护。第一个步骤和最后一个步运行和维护。第一个步骤和最后一个步骤首尾相连,形成一个系统的有生、有骤首尾相连,形成一个系统的有生、有死、有再生的生命周期循环。死、有再生的生命周期循环。*11.4信息系统的生命周期信息系统的生命周期系统规划系统规划系统分析系统分析系统设计系统设计系统
4、实施系统实施系统运行系统运行和维护和维护11.5生命周期法的特点生命周期法的特点“用户参与用户参与”原则原则“先逻辑后物理先逻辑后物理”原则原则“自顶向下,分解协调自顶向下,分解协调”的原则的原则工作文档的规范化和标准化原则工作文档的规范化和标准化原则*11.6生命周期法的局限生命周期法的局限资源消耗多,开发成本高资源消耗多,开发成本高资源消耗多,开发成本高资源消耗多,开发成本高,时间长时间长时间长时间长不具有灵活性,在开发早期就明确确定需求不具有灵活性,在开发早期就明确确定需求不具有灵活性,在开发早期就明确确定需求不具有灵活性,在开发早期就明确确定需求对小型的、结构化不是很强的系统这种方法不
5、对小型的、结构化不是很强的系统这种方法不对小型的、结构化不是很强的系统这种方法不对小型的、结构化不是很强的系统这种方法不是很适用,特别是面向决策的系统是很适用,特别是面向决策的系统是很适用,特别是面向决策的系统是很适用,特别是面向决策的系统*11.7原型法原型法prototype 用户在建立原型、评价原型、修改原型用户在建立原型、评价原型、修改原型的过程中不断精练自己的需求的过程中不断精练自己的需求原型原型:根据基本需求所开发的系统以让用根据基本需求所开发的系统以让用户明确需求、评价原型户明确需求、评价原型交互式的过程交互式的过程*11.8原型法的步骤原型法的步骤标识用户基本需求系统设计人员了
6、解确定用户的基本需求开发一个工作原型系统设计人员尽快开发一个工作原型,通常是使用第四代软件工具或一些CASE工具进行原型的开发,原型只是实现计划系统的一些重要功能使用原型用户使用原型,确定原型与他们需求之间的差距,提出对原型的修改意见满意修改、改进原型运行原型系统开发人员了解用户需求的改变,对原型进行修改,修改后提交给用户使用,重复3、4两步直到完成整个系统的开发11.9原型开发工具原型开发工具原型化工具原型化工具抛弃型原型抛弃型原型抛弃型原型抛弃型原型CASE(计算机辅助软件工程)原型化工(计算机辅助软件工程)原型化工具具演化型或递增演化型原型演化型或递增演化型原型演化型或递增演化型原型演化
7、型或递增演化型原型可用于原型开发的工具可用于原型开发的工具界面原型界面原型界面原型界面原型*11.10原型法的优缺点原型法的优缺点优点:优点:1.1.改进了用户和系统设计者的信息交流方式改进了用户和系统设计者的信息交流方式改进了用户和系统设计者的信息交流方式改进了用户和系统设计者的信息交流方式2.2.用户满意程度提高用户满意程度提高用户满意程度提高用户满意程度提高3.3.更加贴近实际更加贴近实际更加贴近实际更加贴近实际4.4.开发风险度降低开发风险度降低开发风险度降低开发风险度降低5.5.原型法减少了用户培训时间,简化了管理原型法减少了用户培训时间,简化了管理原型法减少了用户培训时间,简化了管
8、理原型法减少了用户培训时间,简化了管理6.6.开发成本降低开发成本降低开发成本降低开发成本降低7.7.实用的学习工具实用的学习工具实用的学习工具实用的学习工具8.8.应变能力强应变能力强应变能力强应变能力强*11.11原型法的优缺点原型法的优缺点缺点:缺点:原型法不适合于开发大的系统原型法不适合于开发大的系统原型法开发的时候,测试和文档开发工原型法开发的时候,测试和文档开发工作常常容易被忽略,将给系统就下隐患作常常容易被忽略,将给系统就下隐患运行的效率可能会比较低运行的效率可能会比较低*11.12其他的信息系统开发方法其他的信息系统开发方法利用软件包开发系统利用软件包开发系统最终用户开发最终用
9、户开发外包信息系统外包信息系统*11.13应用软件包开发应用软件包开发预先编制好的、能完成一定功能的、供预先编制好的、能完成一定功能的、供出售或出租的成套软件系统出售或出租的成套软件系统满足公共通用需求满足公共通用需求为了满足特定需求,需对软件进行修改为了满足特定需求,需对软件进行修改*11.14在这样一些情况下企业可考虑购买软件包:在这样一些情况下企业可考虑购买软件包:11)许多企业所共用的功能;)许多企业所共用的功能;22)企业内部缺少进行信息系统开发的资源;)企业内部缺少进行信息系统开发的资源;33)微机应用程序上已有很多方便易用的软件)微机应用程序上已有很多方便易用的软件包,为此,企业
10、在配置用户微机上的应用程包,为此,企业在配置用户微机上的应用程序时可考虑购买软件包。序时可考虑购买软件包。11.15利用软件包开发系统的步骤利用软件包开发系统的步骤系统分析。明确原系统的问题和需求,提出解系统分析。明确原系统的问题和需求,提出解系统分析。明确原系统的问题和需求,提出解系统分析。明确原系统的问题和需求,提出解决方案,比较不同的开发策略,确定是否应该决方案,比较不同的开发策略,确定是否应该决方案,比较不同的开发策略,确定是否应该决方案,比较不同的开发策略,确定是否应该利用软件包进行开发,选择软件包的供应商,利用软件包进行开发,选择软件包的供应商,利用软件包进行开发,选择软件包的供应
11、商,利用软件包进行开发,选择软件包的供应商,评价并选择软件包;评价并选择软件包;评价并选择软件包;评价并选择软件包;系统设计。裁剪用户的需求,以适应软件包的系统设计。裁剪用户的需求,以适应软件包的系统设计。裁剪用户的需求,以适应软件包的系统设计。裁剪用户的需求,以适应软件包的功能;培训技术人员,完成客户化设计和新的功能;培训技术人员,完成客户化设计和新的功能;培训技术人员,完成客户化设计和新的功能;培训技术人员,完成客户化设计和新的业务流程设计;业务流程设计;业务流程设计;业务流程设计;编程、调试、转换。安装、修改、设计程序接编程、调试、转换。安装、修改、设计程序接编程、调试、转换。安装、修改
12、、设计程序接编程、调试、转换。安装、修改、设计程序接口、做文档、切换、测试、培训用户;口、做文档、切换、测试、培训用户;口、做文档、切换、测试、培训用户;口、做文档、切换、测试、培训用户;运行和维护,改错与升级。运行和维护,改错与升级。运行和维护,改错与升级。运行和维护,改错与升级。*11.16利用软件包开发优点:优点:优点:优点:1111)缩短开发时间缩短开发时间2222)节约开发费用节约开发费用3333)技术水平较高技术水平较高4444)可以得到比较好的维护可以得到比较好的维护5555)能减轻组织内部对系统开发的阻力能减轻组织内部对系统开发的阻力11.17利用软件包开发缺点:缺点:缺点:缺
13、点:1111)功能较为简单功能较为简单2222)难以满足特殊要求难以满足特殊要求3333)实施的费用随客户化工作量的增大而急实施的费用随客户化工作量的增大而急剧上升剧上升11.18最终用户开发最终用户开发利用第四代工具,利用第四代工具,用户在技术人员很少的支持条件下用户在技术人员很少的支持条件下自行完成信息系统的开发自行完成信息系统的开发*11.19最终用户开发的步骤最终用户开发的步骤确定范围确定范围系统分析系统分析系统设计系统设计系统实施系统实施系统运行和维护系统运行和维护*11.20最终用户开发最终用户开发优点优点优点优点:开发速度快开发速度快改善了需求的确定改善了需求的确定提高知识工作者
14、的参与和主人翁意识提高知识工作者的参与和主人翁意识*11.21最终用户开发最终用户开发缺点缺点缺点缺点:知识工作者缺乏专业技能而导致开发的知识工作者缺乏专业技能而导致开发的系统难以实现系统难以实现非组织集中建立的信息系统增多非组织集中建立的信息系统增多对设计方案缺乏充分的分析导致不达标对设计方案缺乏充分的分析导致不达标准的信息系统准的信息系统缺乏文档和外部支持导致系统寿命短促缺乏文档和外部支持导致系统寿命短促*11.22外包信息系统外包信息系统将将计算中心的运行计算中心的运行计算中心的运行计算中心的运行远程通讯网的管理远程通讯网的管理远程通讯网的管理远程通讯网的管理应用程序的开发应用程序的开发
15、应用程序的开发应用程序的开发全部交由外部专门机构负责全部交由外部专门机构负责全部交由外部专门机构负责全部交由外部专门机构负责*11.23外包信息系统的步骤外包信息系统的步骤选择一个目标系统选择一个目标系统确定逻辑需求确定逻辑需求编制征询方案书编制征询方案书对征询方案书答复的评价并选择一家供对征询方案书答复的评价并选择一家供应商应商测试并验收解决方案测试并验收解决方案监控并重新评估监控并重新评估11.24外包信息系统优点:优点:优点:优点:经济。靠这种方法建立信息系统,可以使用户节经济。靠这种方法建立信息系统,可以使用户节经济。靠这种方法建立信息系统,可以使用户节经济。靠这种方法建立信息系统,可
16、以使用户节约百分之十五到百分之三十的费用,最高的可以约百分之十五到百分之三十的费用,最高的可以约百分之十五到百分之三十的费用,最高的可以约百分之十五到百分之三十的费用,最高的可以达到百分之五十;达到百分之五十;达到百分之五十;达到百分之五十;服务质量好。用户可以用相同的和较低的成本获服务质量好。用户可以用相同的和较低的成本获服务质量好。用户可以用相同的和较低的成本获服务质量好。用户可以用相同的和较低的成本获得更好的服务。因为外部化的服务的提供者是有得更好的服务。因为外部化的服务的提供者是有得更好的服务。因为外部化的服务的提供者是有得更好的服务。因为外部化的服务的提供者是有竞争的,而用户内部的系
17、统却缺乏这种竞争;竞争的,而用户内部的系统却缺乏这种竞争;竞争的,而用户内部的系统却缺乏这种竞争;竞争的,而用户内部的系统却缺乏这种竞争;可预见性好。当组织无论将系统开发,还是将某可预见性好。当组织无论将系统开发,还是将某可预见性好。当组织无论将系统开发,还是将某可预见性好。当组织无论将系统开发,还是将某些其他的业务职能资源外包时,都要知道精确的些其他的业务职能资源外包时,都要知道精确的些其他的业务职能资源外包时,都要知道精确的些其他的业务职能资源外包时,都要知道精确的成本。而外部化合同有明确的服务费用,便于作成本。而外部化合同有明确的服务费用,便于作成本。而外部化合同有明确的服务费用,便于作
18、成本。而外部化合同有明确的服务费用,便于作预测;预测;预测;预测;11.25信息系统外包把力量集中到唯一的核心能力上。通过把支持非关把力量集中到唯一的核心能力上。通过把支持非关把力量集中到唯一的核心能力上。通过把支持非关把力量集中到唯一的核心能力上。通过把支持非关键业务职能的系统开发工作进行资源外包,组织能键业务职能的系统开发工作进行资源外包,组织能键业务职能的系统开发工作进行资源外包,组织能键业务职能的系统开发工作进行资源外包,组织能够将力量集中在支持主要的、唯一的核心能力的系够将力量集中在支持主要的、唯一的核心能力的系够将力量集中在支持主要的、唯一的核心能力的系够将力量集中在支持主要的、唯
19、一的核心能力的系统开发上;统开发上;统开发上;统开发上;灵活。随着业务的成长,不需要对组织的信息系统灵活。随着业务的成长,不需要对组织的信息系统灵活。随着业务的成长,不需要对组织的信息系统灵活。随着业务的成长,不需要对组织的信息系统作重大的改变,只需要调整外部的费用和能力就能作重大的改变,只需要调整外部的费用和能力就能作重大的改变,只需要调整外部的费用和能力就能作重大的改变,只需要调整外部的费用和能力就能满足需要;满足需要;满足需要;满足需要;更有效的利用人才。用户可以让原来用于运行内部更有效的利用人才。用户可以让原来用于运行内部更有效的利用人才。用户可以让原来用于运行内部更有效的利用人才。用
20、户可以让原来用于运行内部信息系统的那些高级专业技术人员去做一些更有价信息系统的那些高级专业技术人员去做一些更有价信息系统的那些高级专业技术人员去做一些更有价信息系统的那些高级专业技术人员去做一些更有价值的工作,充分发挥他们的潜能。值的工作,充分发挥他们的潜能。值的工作,充分发挥他们的潜能。值的工作,充分发挥他们的潜能。11.26信息系统外包缺点:缺点:缺点:缺点:1111)降低了对未来技术变革的了解程度。外包信息系统意味)降低了对未来技术变革的了解程度。外包信息系统意味)降低了对未来技术变革的了解程度。外包信息系统意味)降低了对未来技术变革的了解程度。外包信息系统意味着组织内部不再拥有利用信息
21、系统组织智力的专长。着组织内部不再拥有利用信息系统组织智力的专长。着组织内部不再拥有利用信息系统组织智力的专长。着组织内部不再拥有利用信息系统组织智力的专长。2222)降降降降低低低低了了了了控控控控制制制制力力力力。资资资资源源源源外外外外包包包包意意意意味味味味着着着着放放放放弃弃弃弃控控控控制制制制,无无无无论论论论什什什什么么么么原原原原因因因因选选选选择择择择资资资资源源源源外外外外包包包包,在在在在某某某某种种种种程程程程度度度度上上上上组组组组织织织织正正正正在在在在放放放放弃弃弃弃对对对对职职职职能能能能的的的的控控控控制;制;制;制;3333)增加了战略信息的易受攻击性。外包
22、信息系统开发,包)增加了战略信息的易受攻击性。外包信息系统开发,包)增加了战略信息的易受攻击性。外包信息系统开发,包)增加了战略信息的易受攻击性。外包信息系统开发,包括告诉另外的组织使用哪些信息以及如何使用这些信息。括告诉另外的组织使用哪些信息以及如何使用这些信息。括告诉另外的组织使用哪些信息以及如何使用这些信息。括告诉另外的组织使用哪些信息以及如何使用这些信息。同时,你的组织可能正在泄露战略信息和秘密;同时,你的组织可能正在泄露战略信息和秘密;同时,你的组织可能正在泄露战略信息和秘密;同时,你的组织可能正在泄露战略信息和秘密;4444)增加了对其他组织的依赖性。组织一旦开始外包信息系)增加了
23、对其他组织的依赖性。组织一旦开始外包信息系)增加了对其他组织的依赖性。组织一旦开始外包信息系)增加了对其他组织的依赖性。组织一旦开始外包信息系统,就意味着开始依靠其他的组织完成许多本组织内的业统,就意味着开始依靠其他的组织完成许多本组织内的业统,就意味着开始依靠其他的组织完成许多本组织内的业统,就意味着开始依靠其他的组织完成许多本组织内的业务职能。务职能。务职能。务职能。11.27三种开发方式的比较三种开发方式的比较 方式方式方式方式特点比特点比特点比特点比较较较较利用利用利用利用软软软软件包开件包开件包开件包开发发发发最最最最终终终终用用用用户户户户开开开开发发发发外包信息系外包信息系外包信
24、息系外包信息系统统统统分析分析分析分析设计设计设计设计能力的能力的能力的能力的要求要求要求要求较较较较低低低低较较较较高高高高一般一般一般一般编编编编程能力程能力程能力程能力的要求的要求的要求的要求较较较较低低低低较较较较高高高高不需要不需要不需要不需要系系系系统维护统维护统维护统维护难难难难易程度易程度易程度易程度较较较较困困困困难难难难容易容易容易容易较较较较困困困困难难难难开开开开发费发费发费发费用用用用较较较较少少少少少少少少多多多多 说说说说明明明明要有要有要有要有鉴别鉴别鉴别鉴别与校与校与校与校验软验软验软验软件件件件包功能及适包功能及适包功能及适包功能及适应应应应条条条条件的能力
25、。即使件的能力。即使件的能力。即使件的能力。即使完全符合本企完全符合本企完全符合本企完全符合本企业业业业业务处业务处业务处业务处理要求,理要求,理要求,理要求,仍需要仍需要仍需要仍需要编编编编制一定制一定制一定制一定的接口的接口的接口的接口软软软软件。件。件。件。开开开开发时间较长发时间较长发时间较长发时间较长,但可,但可,但可,但可得到适合本企得到适合本企得到适合本企得到适合本企业业业业的系的系的系的系统统统统,并培养,并培养,并培养,并培养了自己的系了自己的系了自己的系了自己的系统统统统开开开开发发发发人人人人员员员员。该该该该方式方式方式方式需要需要需要需要强强强强有力的有力的有力的有力
26、的领领领领导导导导及及及及进进进进行一定的行一定的行一定的行一定的咨咨咨咨询询询询。最省事,开最省事,开最省事,开最省事,开发费发费发费发费用高。必用高。必用高。必用高。必须须须须配配配配备备备备精通精通精通精通业务业务业务业务的的的的人人人人员员员员,需要,需要,需要,需要经经经经常常常常进进进进行行行行监监监监督、督、督、督、检查检查检查检查和和和和协调协调协调协调。11.28系统开发技术和方法系统开发技术和方法11.29结构化方法结构化方法 自上而下、按部就班地自上而下、按部就班地 逐步完成系统的开发逐步完成系统的开发 后一步的工作是建立在前一步的基础上后一步的工作是建立在前一步的基础上
27、 用系统工程的思想和工程化的方法,按用户至上的原用系统工程的思想和工程化的方法,按用户至上的原用系统工程的思想和工程化的方法,按用户至上的原用系统工程的思想和工程化的方法,按用户至上的原则,结构化、模块化、自顶向下的对系统进行分析和则,结构化、模块化、自顶向下的对系统进行分析和则,结构化、模块化、自顶向下的对系统进行分析和则,结构化、模块化、自顶向下的对系统进行分析和设计。设计。设计。设计。先将整个信息系统开发过程划分出若干个独立的阶段,先将整个信息系统开发过程划分出若干个独立的阶段,先将整个信息系统开发过程划分出若干个独立的阶段,先将整个信息系统开发过程划分出若干个独立的阶段,如系统规划、系
28、统分析、系统设计、系统实施等。如系统规划、系统分析、系统设计、系统实施等。如系统规划、系统分析、系统设计、系统实施等。如系统规划、系统分析、系统设计、系统实施等。*11.30结构化方法的特点结构化方法的特点目的性目的性目的性目的性整体性整体性整体性整体性用户至上用户至上用户至上用户至上深入的调查研究深入的调查研究深入的调查研究深入的调查研究相关性相关性相关性相关性环境适应性环境适应性环境适应性环境适应性层次性层次性层次性层次性开发过程工程化开发过程工程化开发过程工程化开发过程工程化*11.31结构化分析结构化分析数据流图数据流图数据流图数据流图:描述逻辑业务过程、信息需求和信描述逻辑业务过程、
29、信息需求和信描述逻辑业务过程、信息需求和信描述逻辑业务过程、信息需求和信息流息流息流息流数据字典数据字典数据字典数据字典:所有数据描述的定义控制所有数据描述的定义控制所有数据描述的定义控制所有数据描述的定义控制,例如数例如数例如数例如数据的名和类型据的名和类型据的名和类型据的名和类型过程说明过程说明过程说明过程说明:从模块层上描述处理逻辑从模块层上描述处理逻辑从模块层上描述处理逻辑从模块层上描述处理逻辑 *11.32数据流程图的图符数据流程图的图符数据流程图的图符数据流程图的图符 DATA FLOW DIAGRAMS(DFD):DATA FLOW DIAGRAMS(DFD):数据流数据流数据流
30、数据流处理处理处理处理数据源数据源数据源数据源或数据或数据或数据或数据目的地目的地目的地目的地文件文件文件文件11.33帐单生成帐单生成客户客户平衡计算平衡计算报表报表管理人管理人支付文件支付文件客户文件客户文件数据流程图数据流程图:11.34结构化系统开发方法的优缺点结构化系统开发方法的优缺点优点:优点:强调系统开发的整体性和全局性,强调强调系统开发的整体性和全局性,强调在整体优化的前提下来考虑具体的分析在整体优化的前提下来考虑具体的分析设计问题,即自顶向下的观点。设计问题,即自顶向下的观点。强调严格的区分开发阶段,强调一步步强调严格的区分开发阶段,强调一步步的严格的进行系统分析和设计,每一
31、步的严格的进行系统分析和设计,每一步工作都及时地总结,发现问题及时的反工作都及时地总结,发现问题及时的反馈和纠正。馈和纠正。*11.35结构化系统开发方法的优缺点结构化系统开发方法的优缺点缺点:缺点:结构化方法是一种面向过程的方法。侧重点在结构化方法是一种面向过程的方法。侧重点在结构化方法是一种面向过程的方法。侧重点在结构化方法是一种面向过程的方法。侧重点在于数据转换过程而不是数据本身。人们已经越于数据转换过程而不是数据本身。人们已经越于数据转换过程而不是数据本身。人们已经越于数据转换过程而不是数据本身。人们已经越来越多的意识到,数据的转换处理过程是不稳来越多的意识到,数据的转换处理过程是不稳
32、来越多的意识到,数据的转换处理过程是不稳来越多的意识到,数据的转换处理过程是不稳定的、变化的,而数据本身却是相对稳定的。定的、变化的,而数据本身却是相对稳定的。定的、变化的,而数据本身却是相对稳定的。定的、变化的,而数据本身却是相对稳定的。系统的开发周期常也是结构化系统分析方法的系统的开发周期常也是结构化系统分析方法的系统的开发周期常也是结构化系统分析方法的系统的开发周期常也是结构化系统分析方法的一个缺点。由于要经过非常严格的系统分析、一个缺点。由于要经过非常严格的系统分析、一个缺点。由于要经过非常严格的系统分析、一个缺点。由于要经过非常严格的系统分析、系统设计和系统实施的三个阶段的工作,因此
33、系统设计和系统实施的三个阶段的工作,因此系统设计和系统实施的三个阶段的工作,因此系统设计和系统实施的三个阶段的工作,因此开发周期比较长,这样的结果就导致原来设想开发周期比较长,这样的结果就导致原来设想开发周期比较长,这样的结果就导致原来设想开发周期比较长,这样的结果就导致原来设想的方案和了解的需求都会因为环境的变化而不的方案和了解的需求都会因为环境的变化而不的方案和了解的需求都会因为环境的变化而不的方案和了解的需求都会因为环境的变化而不适合了。适合了。适合了。适合了。*11.36面向对象(面向对象(OO)软件开发)软件开发强调的不是程序强调的不是程序强调的不是程序强调的不是程序将重点从模型与数
34、据转向将重点从模型与数据转向将重点从模型与数据转向将重点从模型与数据转向 对象对象对象对象,对象是数据和程序的结合体对象是数据和程序的结合体对象是数据和程序的结合体对象是数据和程序的结合体对象、类、消息对象、类、消息对象、类、消息对象、类、消息 *11.37OO方法的特点方法的特点继承继承封装封装多态多态抽象抽象11.38OO方法开发过程方法开发过程 1.1.定义问题。定义问题也就是我们通常所说的需求分定义问题。定义问题也就是我们通常所说的需求分定义问题。定义问题也就是我们通常所说的需求分定义问题。定义问题也就是我们通常所说的需求分析和确定系统目标;析和确定系统目标;析和确定系统目标;析和确定
35、系统目标;2.2.分析问题的性质和求解问题。在繁杂的问题空间中分析问题的性质和求解问题。在繁杂的问题空间中分析问题的性质和求解问题。在繁杂的问题空间中分析问题的性质和求解问题。在繁杂的问题空间中抽象的识别出对象以及其行为、结构、属性、方法等。抽象的识别出对象以及其行为、结构、属性、方法等。抽象的识别出对象以及其行为、结构、属性、方法等。抽象的识别出对象以及其行为、结构、属性、方法等。OOAOOA;4.4.详细设计问题,从而给出对象的现实描述。整理问详细设计问题,从而给出对象的现实描述。整理问详细设计问题,从而给出对象的现实描述。整理问详细设计问题,从而给出对象的现实描述。整理问题、详细的设计对
36、象,对分析结果做进一步的抽象、题、详细的设计对象,对分析结果做进一步的抽象、题、详细的设计对象,对分析结果做进一步的抽象、题、详细的设计对象,对分析结果做进一步的抽象、归纳、整理,最后以范式的形式确定对象。归纳、整理,最后以范式的形式确定对象。归纳、整理,最后以范式的形式确定对象。归纳、整理,最后以范式的形式确定对象。OODOOD;5.5.程序实现。采用面向对象的程序设计语言实现抽象程序实现。采用面向对象的程序设计语言实现抽象程序实现。采用面向对象的程序设计语言实现抽象程序实现。采用面向对象的程序设计语言实现抽象出来的范式形式的对象,使之成为程序软件。出来的范式形式的对象,使之成为程序软件。出
37、来的范式形式的对象,使之成为程序软件。出来的范式形式的对象,使之成为程序软件。OOPOOP。*11.39OOA方法方法标识对象和类标识对象和类标识结构标识结构定义主题定义主题定义属性定义属性确定方法确定方法11.40OOD方法方法问题空间部分的设计问题空间部分的设计人机交互部分的设计(人机交互部分的设计(HIC)任务管理部分的设计任务管理部分的设计数据管理部分的设计数据管理部分的设计 耦合、内聚、重用耦合、内聚、重用11.41面向对象方法的优缺点面向对象方法的优缺点优点:优点:由于面向对象的方法更接近于现实世界,由于面向对象的方法更接近于现实世界,易于理解。易于理解。解决了客观世界描述工具和软
38、件结构的解决了客观世界描述工具和软件结构的不一致性问题,缩短了开发周期。不一致性问题,缩短了开发周期。一旦对象库建立起来,设计及程序编写一旦对象库建立起来,设计及程序编写工作通常在系统分析文档未完成时便可工作通常在系统分析文档未完成时便可进行。进行。11.42面向对象方法的优缺点面向对象方法的优缺点缺点:缺点:需要一定的软件基础支持才可以应用。需要一定的软件基础支持才可以应用。一开始就自底向上的采用面向对象方法一开始就自底向上的采用面向对象方法开发系统,会造成系统结构不合理、各开发系统,会造成系统结构不合理、各部分关系失调等问题。部分关系失调等问题。技术仍处于不成熟的阶段,要让大多数技术仍处于
39、不成熟的阶段,要让大多数公司采用,还需要做大量的验证。公司采用,还需要做大量的验证。11.43计算机辅助软件工程计算机辅助软件工程COMPUTER AIDED SOFTWARE ENGINEERING(CASE)计算机辅助系统工程计算机辅助系统工程集图形处理技术、程序生成技术、关系集图形处理技术、程序生成技术、关系数据库技术和各类开发工具于一身数据库技术和各类开发工具于一身 支持结构化开发方法、原型方法、支持结构化开发方法、原型方法、OO方方法到支持知识处理语言法到支持知识处理语言 一种辅助的开发方法一种辅助的开发方法*CASE11.44图表工具:图表工具:DFD、ER图或其他与特定方法相关的
40、图形工具语语法法校校正正:对进入系统的信息的准确性和完整性按照特定方法的相关原则进行验证原原型型法法工工具具:界面、报表及菜单生成器,使分析人员画出自己需要的界面报表格式或菜单信信息息存存储储:用来存储所有软件资源的中心信息数据库,包括界面及报表的格式,图形、数据定义、持续代码、项目安排以及其他文档。这些信息的存储可方便分析人员查询、共享以及将来的软件重用代代码码生生成成器器:从较高层的规范描述生成可执行的代码模块,有些CASE工具使用图符来表示各种功能并将这些符号转换成程序开开发发方方法法:一些CASE产品包括整个系统开发过程的详细描述,可用来帮助监控整个系统的开发项项目目管管理理工工具具:
41、一些CASE 工具将他们的组成与常用的一些工具集成起来以进行项目的安排以及资源的评价,有些则直接将项目管理软件集成到CASE 工具中11.45计算机辅助软件工程计算机辅助软件工程(CASE)优点:优点:解决了从客观世界对象到软件系统的直接映射解决了从客观世界对象到软件系统的直接映射解决了从客观世界对象到软件系统的直接映射解决了从客观世界对象到软件系统的直接映射问题,强有力的支持软件问题,强有力的支持软件问题,强有力的支持软件问题,强有力的支持软件/信息系统开发的全信息系统开发的全信息系统开发的全信息系统开发的全过程;过程;过程;过程;使结构化方法更加实用;使结构化方法更加实用;使结构化方法更加
42、实用;使结构化方法更加实用;自动检测的方法大大的提高了软件的质量;自动检测的方法大大的提高了软件的质量;自动检测的方法大大的提高了软件的质量;自动检测的方法大大的提高了软件的质量;使原型化方法和使原型化方法和使原型化方法和使原型化方法和OOOO方法付诸于实施;方法付诸于实施;方法付诸于实施;方法付诸于实施;减少了重复工作量,简化了软件的管理和维护减少了重复工作量,简化了软件的管理和维护减少了重复工作量,简化了软件的管理和维护减少了重复工作量,简化了软件的管理和维护加速了系统的开发过程;加速了系统的开发过程;加速了系统的开发过程;加速了系统的开发过程;*CASE11.46计算机辅助软件工程计算机
43、辅助软件工程(CASE)使开发者从繁杂的分析设计图表和程序编写工使开发者从繁杂的分析设计图表和程序编写工使开发者从繁杂的分析设计图表和程序编写工使开发者从繁杂的分析设计图表和程序编写工作中解脱出来,将精力集中到更需要创造力的作中解脱出来,将精力集中到更需要创造力的作中解脱出来,将精力集中到更需要创造力的作中解脱出来,将精力集中到更需要创造力的工作中;工作中;工作中;工作中;使软件的各部分能重复使用;使软件的各部分能重复使用;使软件的各部分能重复使用;使软件的各部分能重复使用;产生出统一的标准化的系统文档,并使团体的产生出统一的标准化的系统文档,并使团体的产生出统一的标准化的系统文档,并使团体的
44、产生出统一的标准化的系统文档,并使团体的工作更加协调一致。共同分担开发工作的程序工作更加协调一致。共同分担开发工作的程序工作更加协调一致。共同分担开发工作的程序工作更加协调一致。共同分担开发工作的程序员通过相互审阅和修改已经完成的工作文件使员通过相互审阅和修改已经完成的工作文件使员通过相互审阅和修改已经完成的工作文件使员通过相互审阅和修改已经完成的工作文件使合作变得更加容易;合作变得更加容易;合作变得更加容易;合作变得更加容易;使软件开发的速度加快而且功能进一步完善。使软件开发的速度加快而且功能进一步完善。使软件开发的速度加快而且功能进一步完善。使软件开发的速度加快而且功能进一步完善。*CASE11.47计算机辅助软件工程计算机辅助软件工程(CASE)缺点:缺点:CASE方法与生产效率的关系不明朗方法与生产效率的关系不明朗并不能做到系统设计的自动化,并且无并不能做到系统设计的自动化,并且无法使业务上的需要自然而然的得到满足法使业务上的需要自然而然的得到满足*CASE11.48