管理信息系统开发方法.ppt
管理信息系统开发方法管理信息系统开发方法 (Methods of the Management Information System)快速原型法快速原型法快速原型法快速原型法 面向对象法面向对象法面向对象法面向对象法 面向对象的分析与设计语言面向对象的分析与设计语言面向对象的分析与设计语言面向对象的分析与设计语言UMLUML 结构化生命周期法结构化生命周期法结构化生命周期法结构化生命周期法管理信息系统开发方法管理信息系统开发方法管理信息系统开发方法管理信息系统开发方法第一节第一节 结构化生命周期法结构化生命周期法管理信息系统开发方法管理信息系统开发方法管理信息系统开发方法管理信息系统开发方法系统的生命周期:系统的生命周期:任何一个系统都有发生、发展和消亡的过程,新系任何一个系统都有发生、发展和消亡的过程,新系任何一个系统都有发生、发展和消亡的过程,新系任何一个系统都有发生、发展和消亡的过程,新系统是在旧系统的基础上产生、发展、老化、淘汰,统是在旧系统的基础上产生、发展、老化、淘汰,统是在旧系统的基础上产生、发展、老化、淘汰,统是在旧系统的基础上产生、发展、老化、淘汰,最后又被更新的系统所取代最后又被更新的系统所取代最后又被更新的系统所取代最后又被更新的系统所取代传统的开发方法传统的开发方法传统的开发方法传统的开发方法传统的开发方法传统的开发方法传统的开发方法传统的开发方法新系统运行新系统运行小量修改、维护、评价活动小量修改、维护、评价活动原系统(现行系统)运行原系统(现行系统)运行系统开发的各个阶段系统开发的各个阶段小量修改、维护、小量修改、维护、评价活动评价活动新系统生命周期新系统生命周期原系统生命周期原系统生命周期系统开系统开发准备发准备调查调查研究研究系统分析系统分析(逻辑设计逻辑设计)系统设计系统设计(物理设计物理设计)系统系统实施实施维护维护评价评价生命周期法的主要思想:生命周期法的主要思想:将管理信息系统从系统调查开始,经过系统分析、将管理信息系统从系统调查开始,经过系统分析、将管理信息系统从系统调查开始,经过系统分析、将管理信息系统从系统调查开始,经过系统分析、系统设计、系统实施、系统维护与评价,直至要求系统设计、系统实施、系统维护与评价,直至要求系统设计、系统实施、系统维护与评价,直至要求系统设计、系统实施、系统维护与评价,直至要求建立新的系统看成是一个生命周期的结束,另一个建立新的系统看成是一个生命周期的结束,另一个建立新的系统看成是一个生命周期的结束,另一个建立新的系统看成是一个生命周期的结束,另一个生命周期的开始。生命周期的开始。生命周期的开始。生命周期的开始。传统的开发方法传统的开发方法传统的开发方法传统的开发方法结构化方法的基本思想:结构化方法的基本思想:用系统的思想,系统工程的方法,按用户用系统的思想,系统工程的方法,按用户至上的原则,结构化、模块化、自顶向下至上的原则,结构化、模块化、自顶向下地对信息系统进行分析与设计地对信息系统进行分析与设计结构化开发方法结构化开发方法结构化开发方法结构化开发方法基本思想基本思想基本思想基本思想信息系统的开发原则信息系统的开发原则信息系统的开发原则信息系统的开发原则面向用户的观点面向用户的观点面向用户的观点面向用户的观点严格区分工作阶段,每个阶段规定明确的任务和严格区分工作阶段,每个阶段规定明确的任务和严格区分工作阶段,每个阶段规定明确的任务和严格区分工作阶段,每个阶段规定明确的任务和所应得的成果所应得的成果所应得的成果所应得的成果按照系统的观点,自顶向下地完成研制工作按照系统的观点,自顶向下地完成研制工作按照系统的观点,自顶向下地完成研制工作按照系统的观点,自顶向下地完成研制工作工作成果要成文,文献资料的格式要规范化、工作成果要成文,文献资料的格式要规范化、工作成果要成文,文献资料的格式要规范化、工作成果要成文,文献资料的格式要规范化、标准化标准化标准化标准化充分考虑变化的情况充分考虑变化的情况充分考虑变化的情况充分考虑变化的情况信息系统的开发步骤信息系统的开发步骤信息系统的开发步骤信息系统的开发步骤可行性分析可行性分析可行性分析可行性分析信息系统开发阶段信息系统开发阶段信息系统开发阶段信息系统开发阶段 信息系统规划信息系统规划信息系统规划信息系统规划信息系统分析信息系统分析信息系统分析信息系统分析信息系统设计信息系统设计信息系统设计信息系统设计信息系统实施信息系统实施信息系统实施信息系统实施系统运行管理系统运行管理系统运行管理系统运行管理与与与与评价评价评价评价1.1.任务:任务:可行性分析又称可行性研究可行性分析又称可行性研究可行性分析又称可行性研究可行性分析又称可行性研究对现行系统进行初步调查研究对现行系统进行初步调查研究对现行系统进行初步调查研究对现行系统进行初步调查研究从有益性、可能性和必要性三个方面对未来系统从有益性、可能性和必要性三个方面对未来系统从有益性、可能性和必要性三个方面对未来系统从有益性、可能性和必要性三个方面对未来系统的经济效益和社会效益进行初步分析的经济效益和社会效益进行初步分析的经济效益和社会效益进行初步分析的经济效益和社会效益进行初步分析对新系统进行可行性研究对新系统进行可行性研究对新系统进行可行性研究对新系统进行可行性研究2.2.2.2.目的目的避免盲目投资,减少不必要的损失避免盲目投资,减少不必要的损失避免盲目投资,减少不必要的损失避免盲目投资,减少不必要的损失3.3.3.3.成果成果可行性研究报告可行性研究报告可行性研究报告可行性研究报告系统总体规划系统总体规划系统总体规划系统总体规划1.1.任务:任务:(1)(1)(1)(1)从总体的角度来规划系统应该由哪些部分组成从总体的角度来规划系统应该由哪些部分组成从总体的角度来规划系统应该由哪些部分组成从总体的角度来规划系统应该由哪些部分组成 (2)(2)(2)(2)在这些组成部分中有哪些数据库,它们之间如在这些组成部分中有哪些数据库,它们之间如在这些组成部分中有哪些数据库,它们之间如在这些组成部分中有哪些数据库,它们之间如何交换数据何交换数据何交换数据何交换数据 (3)(3)(3)(3)根据信息与功能需求提出计算机硬件网络配置根据信息与功能需求提出计算机硬件网络配置根据信息与功能需求提出计算机硬件网络配置根据信息与功能需求提出计算机硬件网络配置方案方案方案方案 (4)(4)(4)(4)根据管理需求来确定这些模块的开发优先顺序根据管理需求来确定这些模块的开发优先顺序根据管理需求来确定这些模块的开发优先顺序根据管理需求来确定这些模块的开发优先顺序 (5)(5)(5)(5)制定出开发计划制定出开发计划制定出开发计划制定出开发计划,根据开发计划合理调配人员、根据开发计划合理调配人员、根据开发计划合理调配人员、根据开发计划合理调配人员、物资和资金物资和资金物资和资金物资和资金2.2.成果成果 系统规划阶段的总结性成果是系统规划报告系统规划阶段的总结性成果是系统规划报告系统规划阶段的总结性成果是系统规划报告系统规划阶段的总结性成果是系统规划报告系统总体规划系统总体规划系统总体规划系统总体规划信息系统分析信息系统分析信息系统分析信息系统分析1.1.任务任务:(1)(1)(1)(1)按照总体规划的要求,对系统规划中所规定的按照总体规划的要求,对系统规划中所规定的按照总体规划的要求,对系统规划中所规定的按照总体规划的要求,对系统规划中所规定的各组成部分进行详细的分析各组成部分进行详细的分析各组成部分进行详细的分析各组成部分进行详细的分析 分析每部分内容的信息需求分析每部分内容的信息需求分析每部分内容的信息需求分析每部分内容的信息需求 分析内部对主题数据库的需求分析内部对主题数据库的需求分析内部对主题数据库的需求分析内部对主题数据库的需求 分析所需要建立的专用数据库分析所需要建立的专用数据库分析所需要建立的专用数据库分析所需要建立的专用数据库(2)(2)进行需求分析进行需求分析详细分析各部分如何对各类信息进行加工处理,详细分析各部分如何对各类信息进行加工处理,详细分析各部分如何对各类信息进行加工处理,详细分析各部分如何对各类信息进行加工处理,以实现用户所提出的各类功能需求以实现用户所提出的各类功能需求以实现用户所提出的各类功能需求以实现用户所提出的各类功能需求详细分析系统的业务流程图,抽取出数据流程详细分析系统的业务流程图,抽取出数据流程详细分析系统的业务流程图,抽取出数据流程详细分析系统的业务流程图,抽取出数据流程(3)(3)进行功能分析进行功能分析(4)(4)用数据流程图、数据字典和处理逻辑表达用数据流程图、数据字典和处理逻辑表达表示表示信息系统分析信息系统分析信息系统分析信息系统分析与用户进行充分地交流和验证与用户进行充分地交流和验证与用户进行充分地交流和验证与用户进行充分地交流和验证,检验正确后可进检验正确后可进检验正确后可进检验正确后可进入下一阶段工作入下一阶段工作入下一阶段工作入下一阶段工作2.2.系统分析结果系统分析结果系统分析进行完之后,要写出系统分析报告系统分析进行完之后,要写出系统分析报告系统分析进行完之后,要写出系统分析报告系统分析进行完之后,要写出系统分析报告信息系统分析信息系统分析信息系统分析信息系统分析系统设计系统设计系统设计系统设计1.1.系统设计的任务系统设计的任务:即采用一定的标准和准则,即采用一定的标准和准则,即采用一定的标准和准则,即采用一定的标准和准则,考虑模块应该有哪些考虑模块应该有哪些考虑模块应该有哪些考虑模块应该有哪些程序块组成程序块组成程序块组成程序块组成,它们之间如何联系它们之间如何联系它们之间如何联系它们之间如何联系(1)(1)(1)(1)系统的功能结构设计系统的功能结构设计系统的功能结构设计系统的功能结构设计结合计算机的具体实现结合计算机的具体实现结合计算机的具体实现结合计算机的具体实现,设计各个组成部分在计算机系统上的设计各个组成部分在计算机系统上的设计各个组成部分在计算机系统上的设计各个组成部分在计算机系统上的结构结构结构结构(3)(3)(3)(3)系统的编码设计系统的编码设计系统的编码设计系统的编码设计(4)(4)(4)(4)数据文件和数据库设计数据文件和数据库设计数据文件和数据库设计数据文件和数据库设计(5)(5)(5)(5)系统的输入系统的输入系统的输入系统的输入/输出设计输出设计输出设计输出设计(2)(2)(2)(2)系统的处理流程设计系统的处理流程设计系统的处理流程设计系统的处理流程设计(6)(6)(6)(6)网络设计网络设计网络设计网络设计2.2.系统设计的成果系统设计的成果系统设计阶段的成果是系统设计说明书系统设计阶段的成果是系统设计说明书系统设计阶段的成果是系统设计说明书系统设计阶段的成果是系统设计说明书系统设计系统设计系统设计系统设计系统实施系统实施系统实施系统实施 (1)(1)(1)(1)系统硬件设备的购置与安装系统硬件设备的购置与安装系统硬件设备的购置与安装系统硬件设备的购置与安装 (2)(2)(2)(2)程序的编制程序的编制程序的编制程序的编制2.2.2.2.系统开发实施的成果系统开发实施的成果系统开发实施的成果系统开发实施的成果:(1)(1)(1)(1)程序清单程序清单程序清单程序清单 (3)(3)(3)(3)系统使用说明书系统使用说明书系统使用说明书系统使用说明书1.1.任务:任务:程序设计是根据系统设计阶段的成果,程序设计是根据系统设计阶段的成果,程序设计是根据系统设计阶段的成果,程序设计是根据系统设计阶段的成果,遵循一定的设计原则来进行的遵循一定的设计原则来进行的遵循一定的设计原则来进行的遵循一定的设计原则来进行的.(3)(3)(3)(3)数据的录入数据的录入数据的录入数据的录入 (4)(4)(4)(4)人员的培训人员的培训人员的培训人员的培训 (5)(5)(5)(5)系统的测试、调试和转换系统的测试、调试和转换系统的测试、调试和转换系统的测试、调试和转换 (2)(2)(2)(2)测试与调试报告测试与调试报告测试与调试报告测试与调试报告信息系统运行管理与评价信息系统运行管理与评价信息系统运行管理与评价信息系统运行管理与评价1.1.任务:任务:对系统进行修改与扩充(即系统维护)对系统进行修改与扩充(即系统维护)对系统进行修改与扩充(即系统维护)对系统进行修改与扩充(即系统维护)日常运行管理日常运行管理日常运行管理日常运行管理运行情况的记录运行情况的记录运行情况的记录运行情况的记录对系统运行情况进行检查与评价对系统运行情况进行检查与评价对系统运行情况进行检查与评价对系统运行情况进行检查与评价2.2.成果成果 系统运行维护阶段的成果是系统运行审计报告系统运行维护阶段的成果是系统运行审计报告系统运行维护阶段的成果是系统运行审计报告系统运行维护阶段的成果是系统运行审计报告可可可可行行行行性性性性分分分分析析析析信信信信息息息息系系系系统统统统规规规规划划划划信信信信息息息息系系系系统统统统分分分分析析析析信信信信息息息息系系系系统统统统开开开开发发发发实实实实施施施施信信信信息息息息系系系系统统统统安安安安装装装装调调调调试试试试信信信信息息息息系系系系统统统统试试试试运运运运行行行行信信信信息息息息系系系系统统统统运运运运行行行行维维维维护护护护信信信信息息息息系系系系统统统统设设设设计计计计信信信信息息息息系系系系统统统统测测测测试试试试提提提提出出出出开开开开发发发发请请请请求求求求CASECASECASECASE工具工具工具工具信息系统开发阶段信息系统开发阶段信息系统开发阶段信息系统开发阶段停止停止停止停止信息系统开发过程信息系统开发过程信息系统开发过程信息系统开发过程停止停止停止停止停止停止停止停止停止停止停止停止结构化生命周期法的假设是预先定义需求的策略结构化生命周期法的假设是预先定义需求的策略结构化生命周期法的假设是预先定义需求的策略结构化生命周期法的假设是预先定义需求的策略使用生命周期法,项目的参与者之间往往存在通信使用生命周期法,项目的参与者之间往往存在通信使用生命周期法,项目的参与者之间往往存在通信使用生命周期法,项目的参与者之间往往存在通信鸿沟鸿沟鸿沟鸿沟有比较明显的缺点:用这种技术开发出来的软件,有比较明显的缺点:用这种技术开发出来的软件,有比较明显的缺点:用这种技术开发出来的软件,有比较明显的缺点:用这种技术开发出来的软件,其稳定性、可修改性和可重用性都比较差其稳定性、可修改性和可重用性都比较差其稳定性、可修改性和可重用性都比较差其稳定性、可修改性和可重用性都比较差生命周期法的特点与局限性生命周期法的特点与局限性生命周期法的特点与局限性生命周期法的特点与局限性结构化生命周期法特别适合于开发那些能够预先结构化生命周期法特别适合于开发那些能够预先结构化生命周期法特别适合于开发那些能够预先结构化生命周期法特别适合于开发那些能够预先定义需求、结构化程度又比较高的大型事务型系定义需求、结构化程度又比较高的大型事务型系定义需求、结构化程度又比较高的大型事务型系定义需求、结构化程度又比较高的大型事务型系统(统(统(统(TPSTPSTPSTPS)和管理信息系统(和管理信息系统(和管理信息系统(和管理信息系统(MISMISMISMIS)生命周期法不适合于开发信息需求不明确的系统生命周期法不适合于开发信息需求不明确的系统生命周期法不适合于开发信息需求不明确的系统生命周期法不适合于开发信息需求不明确的系统 生命周期法的特点与局限性生命周期法的特点与局限性生命周期法的特点与局限性生命周期法的特点与局限性第二节第二节 快速原型法快速原型法信息系统开发方法信息系统开发方法信息系统开发方法信息系统开发方法 原型法方法的开发过程原型法方法的开发过程原型法方法的开发过程原型法方法的开发过程 原型法的种类和构造过程原型法的种类和构造过程原型法的种类和构造过程原型法的种类和构造过程 原型法的使用场合与局限性原型法的使用场合与局限性原型法的使用场合与局限性原型法的使用场合与局限性 原型法的特点原型法的特点原型法的特点原型法的特点快速原型法快速原型法快速原型法快速原型法 原型法概述原型法概述原型法概述原型法概述原型法的概念原型法的概念原型法的概念原型法的概念在较短时间内建立一个实验性的简单的信息系统在较短时间内建立一个实验性的简单的信息系统在较短时间内建立一个实验性的简单的信息系统在较短时间内建立一个实验性的简单的信息系统原型,在用户使用的基础上,不断迭代,最后形原型,在用户使用的基础上,不断迭代,最后形原型,在用户使用的基础上,不断迭代,最后形原型,在用户使用的基础上,不断迭代,最后形成一个相对稳定、较为理想的成一个相对稳定、较为理想的成一个相对稳定、较为理想的成一个相对稳定、较为理想的MISMIS系统系统系统系统原型法是根据用户提出的需求,由用户与开发者原型法是根据用户提出的需求,由用户与开发者原型法是根据用户提出的需求,由用户与开发者原型法是根据用户提出的需求,由用户与开发者共同确定系统的基本要求和主要功能共同确定系统的基本要求和主要功能共同确定系统的基本要求和主要功能共同确定系统的基本要求和主要功能迭迭迭迭 代代代代迭代就是用户对原型系统进行评价后,提出意见,迭代就是用户对原型系统进行评价后,提出意见,迭代就是用户对原型系统进行评价后,提出意见,迭代就是用户对原型系统进行评价后,提出意见,开发人员根据用户的意见进行修改的反复过程。开发人员根据用户的意见进行修改的反复过程。开发人员根据用户的意见进行修改的反复过程。开发人员根据用户的意见进行修改的反复过程。迭代不是简单的反复,每一次迭代都意味着原型迭代不是简单的反复,每一次迭代都意味着原型迭代不是简单的反复,每一次迭代都意味着原型迭代不是简单的反复,每一次迭代都意味着原型系统向着用户需求又前进了一步,迭代是系统开发系统向着用户需求又前进了一步,迭代是系统开发系统向着用户需求又前进了一步,迭代是系统开发系统向着用户需求又前进了一步,迭代是系统开发进展的动力。迭代过程的结束,就是原型的完成。进展的动力。迭代过程的结束,就是原型的完成。进展的动力。迭代过程的结束,就是原型的完成。进展的动力。迭代过程的结束,就是原型的完成。原型法的开发过程原型法的开发过程原型法的开发过程原型法的开发过程(1)识别基本需求)识别基本需求(2)构造初始原型)构造初始原型(3)使用和验证原型)使用和验证原型(4)修正和改进原型)修正和改进原型(5)判断原型完成)判断原型完成(6)生成文档并交付使用)生成文档并交付使用原型法的开发步骤原型法的开发步骤原型法的开发步骤原型法的开发步骤识别基本需求识别基本需求识别基本需求识别基本需求构造初始原型构造初始原型构造初始原型构造初始原型修正和改进修正和改进修正和改进修正和改进生成文档并交付使用生成文档并交付使用生成文档并交付使用生成文档并交付使用满意吗?满意吗?满意吗?满意吗?放弃放弃放弃放弃?Y YY YN NN N放弃原型放弃原型放弃原型放弃原型使用验证原型使用验证原型使用验证原型使用验证原型丢弃式原型丢弃式原型进化式原型进化式原型原型的种类原型的种类原型的种类原型的种类在于描述和说明系统的需求作为开发人员和用户在于描述和说明系统的需求作为开发人员和用户之间的通信工具之间的通信工具不作为实际系统运行不作为实际系统运行原始系统只是从外观上、功能上象原始系统只是从外观上、功能上象“实际系统实际系统”丢弃式原型丢弃式原型丢弃式原型丢弃式原型进化式原型进化式原型进化式原型进化式原型 进化式原型开发思想与丢弃式完全相反进化式原型开发思想与丢弃式完全相反按照基本需求开发出一个系统,让用户先使用起按照基本需求开发出一个系统,让用户先使用起来,随时修改来,随时修改原系统的一部分或几部分不适用,需要重新设计、原系统的一部分或几部分不适用,需要重新设计、实施和安装实施和安装原型构造方法原型构造方法原型构造方法原型构造方法演变式演变式系统开发系统开发递增式系统递增式系统开发开发演化式原型法的开发过程演化式原型法的开发过程演化式原型法的开发过程演化式原型法的开发过程系统设计系统设计系统设计系统设计系统实施系统实施系统实施系统实施修正和改进修正和改进修正和改进修正和改进演化(重新设计、实施)演化(重新设计、实施)演化(重新设计、实施)演化(重新设计、实施)满意吗?满意吗?满意吗?满意吗?Y Y最终系统最终系统最终系统最终系统N N注意加强注意加强注意加强注意加强管理和控制管理和控制管理和控制管理和控制原型的开发过程就是系统不同原型的开发过程就是系统不同原型的开发过程就是系统不同原型的开发过程就是系统不同版本的开发过程版本的开发过程版本的开发过程版本的开发过程递增式系统开发的原理递增式系统开发的原理递增式系统开发的原理递增式系统开发的原理开始时系统有一个总体框架,各功能单元的结构和开始时系统有一个总体框架,各功能单元的结构和功能十分清楚功能十分清楚功能还没有具体实施功能还没有具体实施以后开发中逐步完善模块以后开发中逐步完善模块递增式系统开发过程递增式系统开发过程递增式系统开发过程递增式系统开发过程系统总体设计系统总体设计系统总体设计系统总体设计实现一个功能子单元实现一个功能子单元实现一个功能子单元实现一个功能子单元子功能单元子功能单元子功能单元子功能单元全部实现了吗?全部实现了吗?全部实现了吗?全部实现了吗?Y Y最终系统最终系统最终系统最终系统N N系统是在原型的基础上逐步系统是在原型的基础上逐步系统是在原型的基础上逐步系统是在原型的基础上逐步扩展,横向发展起来的扩展,横向发展起来的扩展,横向发展起来的扩展,横向发展起来的与传统方法的结合与传统方法的结合与传统方法的结合与传统方法的结合识别基本需求识别基本需求识别基本需求识别基本需求开发工作模型开发工作模型开发工作模型开发工作模型修正和改进修正和改进修正和改进修正和改进模型验证模型验证模型验证模型验证原型满意?原型满意?原型满意?原型满意?Y YY YN NN N可行性研究可行性研究可行性研究可行性研究需求定义需求定义需求定义需求定义维护及评价等维护及评价等维护及评价等维护及评价等系统分析系统分析系统分析系统分析系统设计系统设计系统设计系统设计系统实施系统实施系统实施系统实施需求定义需求定义需求定义需求定义原型法的特点原型法的特点原型法的特点原型法的特点系统开发效益高系统开发效益高系统适用性强系统适用性强系统可维护性好系统可维护性好系统可扩充性好系统可扩充性好易学易用易学易用原型法的使用场合与局限性原型法的使用场合与局限性原型法的使用场合与局限性原型法的使用场合与局限性原型化方法适用于用户需求不清,管理及业务处原型化方法适用于用户需求不清,管理及业务处理不稳定,需求常常变化理不稳定,需求常常变化规模小,不太复杂,而且不要求集中处理的系统规模小,不太复杂,而且不要求集中处理的系统有比较成熟借鉴经验的系统开发有比较成熟借鉴经验的系统开发用于开发信息系统中的最终用户界面用于开发信息系统中的最终用户界面原型法的最大优点是能提高用户满意度原型法的最大优点是能提高用户满意度使用原型法开发系统周期短,成本低使用原型法开发系统周期短,成本低 原型化方法不适于开发大的系统原型化方法不适于开发大的系统原型化方法开发的时候,测试和文档工作常常容易原型化方法开发的时候,测试和文档工作常常容易被忽略被忽略原型化方法的另一个缺点是运行的效率可能会比较原型化方法的另一个缺点是运行的效率可能会比较低低 原型法的使用场合与局限性原型法的使用场合与局限性原型法的使用场合与局限性原型法的使用场合与局限性第三节第三节 面向对象法面向对象法信息系统开发方法信息系统开发方法信息系统开发方法信息系统开发方法面向对象方法面向对象方法面向对象方法面向对象方法q 面向对象方法的产生面向对象方法的产生q 面向对象的概念面向对象的概念q 面向对象方法在开发系统过程中的阶段面向对象方法在开发系统过程中的阶段q 面向对象方法的特点面向对象方法的特点q 面向对象方法与结构化方法的比较面向对象方法与结构化方法的比较q 面向对象的分析与设计语言面向对象的分析与设计语言UML面向对象方法的产生面向对象方法的产生面向对象方法的产生面向对象方法的产生传统传统开开发发方法存在的方法存在的问题问题问题问题空空间间与求解空与求解空间间的不一致的不一致 系系统统分析到系分析到系统设计转换统设计转换困困难难处处理模型和数据模型分理模型和数据模型分别别建立建立忽视信息系统的行为特征忽视信息系统的行为特征 面向对象的概念面向对象的概念面向对象的概念面向对象的概念对象对象对象对象对象是面向对象系统运行过程中的基本实体对象是面向对象系统运行过程中的基本实体既包括属性,也包括作用于属性的行为既包括属性,也包括作用于属性的行为传统语传统语言的操作数据是被言的操作数据是被动动地等待相地等待相应应的操作去的操作去处处理,但理,但对对象是一个主象是一个主动动的数据的数据实实体,其中封装了一体,其中封装了一组对该组对该数据的操作,所以数据的操作,所以对对“对对象象”和和传统传统的的“数据数据”的使用方法也不同的使用方法也不同 面向对象的概念面向对象的概念面向对象的概念面向对象的概念消息消息消息消息消息是消息是对对象之象之间进间进行通行通讯讯的一种数据的一种数据结结构构对对象之象之间间是通是通过传递过传递消息来消息来进进行行联联系的系的消息用来消息用来请请求求对对象象执执行某一行某一处处理或提供某些信息的理或提供某些信息的要求,控制流和数据流要求,控制流和数据流统统一包含在消息中一包含在消息中 程序的程序的执执行是靠行是靠对对象象间传递间传递消息来消息来连连接的接的 面向对象的概念面向对象的概念面向对象的概念面向对象的概念消息消息消息消息消息消息传传送与函数送与函数调调用的区用的区别别 函函数数调调用用可可以以带带或或不不带带参参数数,但但是是消消息息至至少少带带一一个个参参数数,它表明接收消息的它表明接收消息的对对象象消消息息操操作作名名类类似似于于函函数数名名,但但它它们们之之间间的的本本质质区区别别在在于于:函函数数名名代代表表一一段段可可执执行行的的代代码码,但但消消息息操操作作名名具具体体功功能能的的选选取取还还取决于接收消息的取决于接收消息的对对象本身象本身函函数数调调用用是是过过程程式式的的(如如何何做做),消消息息传传送送是是说说明明式式的的(做什么),具体如何做,由对象根据收到的消息自行确定(做什么),具体如何做,由对象根据收到的消息自行确定 面向对象的概念面向对象的概念面向对象的概念面向对象的概念类类类类类类是是对对一一组对组对象的抽象象的抽象将将该组对该组对象所具有的共同特征(包括操作特征和存象所具有的共同特征(包括操作特征和存储储特征)集中起来,以特征)集中起来,以说说明明该组对该组对象的能力和性象的能力和性质质 面向对象的概念面向对象的概念面向对象的概念面向对象的概念继承继承继承继承继继承指承指对对象象继继承它所在承它所在类类的的结结构、操作和构、操作和约约束束也指一个也指一个类继类继承超承超类类或子或子类继类继承父承父类类的的结结构、操作构、操作或或约约束。束。继继承是自承是自动动共享共享类类、子、子类类和和对对象中的方法象中的方法和数据的机制和数据的机制 面向对象的概念面向对象的概念面向对象的概念面向对象的概念封装封装封装封装封装是一种信息封装是一种信息隐隐藏技藏技术术所谓所谓“封装封装”是指把对象的属性和操作方法同时封是指把对象的属性和操作方法同时封装在定义对象中装在定义对象中用操作集来描述可见的模块外部接口,从而保证了用操作集来描述可见的模块外部接口,从而保证了对象的界面独立于对象的内部表达对象的界面独立于对象的内部表达对象的操作方法和结构是不可见的,接口是作用于对象的操作方法和结构是不可见的,接口是作用于对象上的操作集的说明,这是对象唯一的可见部分对象上的操作集的说明,这是对象唯一的可见部分 面向对象的概念面向对象的概念面向对象的概念面向对象的概念实例实例实例实例实实例就是由某个特定的例就是由某个特定的类类所描述的一个具体的所描述的一个具体的对对象象类类是是对对具有相同属性和行具有相同属性和行为为的一的一组组相似的相似的对对象的抽象的抽象象类类在在现实现实世界中并不能真正存在世界中并不能真正存在 面向对象的概念面向对象的概念面向对象的概念面向对象的概念多态多态多态多态所所谓谓多多态态即一个名字具有多种即一个名字具有多种语义语义对对象的多象的多态态是指在一般是指在一般类类中定中定义义的属性或服的属性或服务务被特被特定定类继类继承之后,可以具有不同的数据承之后,可以具有不同的数据类类型或表型或表现现不不同的行同的行为为多多态态引用表示可引用多个引用表示可引用多个类类的的实实例例 面向对象方法在开发系统过程中的阶段面向对象方法在开发系统过程中的阶段1.1.系统调查和需求分析系统调查和需求分析 对系统将要面临的具体管理问题以及用户对系统开发的需求进行调对系统将要面临的具体管理问题以及用户对系统开发的需求进行调查研究查研究,既弄清干什么的问题既弄清干什么的问题.2.2.分析问题的性质和求解问题分析问题的性质和求解问题 在复杂的问题域中抽象地识别出对象及其结构在复杂的问题域中抽象地识别出对象及其结构,属性属性,方法等方法等.即面向即面向对象的分析对象的分析(OOA)(OOA)3.3.整理问题整理问题 对分析的结构作进一步的抽象对分析的结构作进一步的抽象,归类归类,整理整理.即面向对象的设计即面向对象的设计(OOD)(OOD)4.4.程序实现程序实现 利用面向对象程序设计语言将上一步的成果直接映射为应用程序软利用面向对象程序设计语言将上一步的成果直接映射为应用程序软件件.即面向对象程序设计即面向对象程序设计(OOP)(OOP)面向对象的分析面向对象的分析(OOA)(OOA)基本步骤:标识对象标识属性标识方法标识结构标识主题面向对象的设计方法面向对象的设计方法(OOD)(OOD)OOD分为四个部分:问题空间部分的设计人机交互部分的设计任务管理部分的设计数据管理部分的设计以对象为基础,利用特定的软件模块,完成从对象以对象为基础,利用特定的软件模块,完成从对象客体的描述到软件结构之间的转换客体的描述到软件结构之间的转换面向对象面向对象面向对象面向对象方法的特点方法的特点方法的特点方法的特点避免了其它方法在开发过程中的不一致性和复杂性避免了其它方法在开发过程中的不一致性和复杂性系统的开发具有简单性、统一性系统的开发具有简单性、统一性开发周期短,费用低开发周期短,费用低(1 1)对问题空间的理解更直接,更符合人们认识客观事物的)对问题空间的理解更直接,更符合人们认识客观事物的思维规律。思维规律。结构化方法把现实世界映射成数据流和加工,但它把数结构化方法把现实世界映射成数据流和加工,但它把数据流和控制流分开讨论,二者有时难以统一,而且数据流方据流和控制流分开讨论,二者有时难以统一,而且数据流方法主要构造的还是过程模型,它描述数据结构的能力仍然很法主要构造的还是过程模型,它描述数据结构的能力仍然很弱,一般还需要另外使用诸如弱,一般还需要另外使用诸如E-RE-R图之类的工具来建立数据的图之类的工具来建立数据的逻辑模型,造成了过程和数据的分离。逻辑模型,造成了过程和数据的分离。而面向对象方法把二者统一于对象内部,加工过程映射而面向对象方法把二者统一于对象内部,加工过程映射为对象的操作,数据映射为对象的属性,任何数据和与这些为对象的操作,数据映射为对象的属性,任何数据和与这些数据相关的过程都是与相关的对象共同生存的,这样增强了数据相关的过程都是与相关的对象共同生存的,这样增强了模型的一致性和准确性模型的一致性和准确性。面向对象面向对象面向对象面向对象方法方法方法方法与与与与结构化方法的比较结构化方法的比较结构化方法的比较结构化方法的比较面向对象面向对象方法方法与结构化方法的比较与结构化方法的比较(2 2 2 2)系统分析和系统设计使用同一模型,不存在过渡困难。)系统分析和系统设计使用同一模型,不存在过渡困难。)系统分析和系统设计使用同一模型,不存在过渡困难。)系统分析和系统设计使用同一模型,不存在过渡困难。结构化方法的另一个主要问题是从分析过渡到设计结构化方法的另一个主要问题是从分析过渡到设计结构化方法的另一个主要问题是从分析过渡到设计结构化方法的另一个主要问题是从分析过渡到设计有双重负担,一是构造方法的转换;一是添加实施细节。有双重负担,一是构造方法的转换;一是添加实施细节。有双重负担,一是构造方法的转换;一是添加实施细节。有双重负担,一是构造方法的转换;一是添加实施细节。而在面向对象方法中,从分析到设计使用相同的基而在面向对象方法中,从分析到设计使用相同的基而在面向对象方法中,从分析到设计使用相同的基而在面向对象方法中,从分析到设计使用相同的基本表示,对象模型是整个开发过程中的一个统一的表示本表示,对象模型是整个开发过程中的一个统一的表示本表示,对象模型是整个开发过程中的一个统一的表示本表示,对象模型是整个开发过程中的一个统一的表示工具。好处不仅是减少了各个阶段模型之间的转换,较工具。好处不仅是减少了各个阶段模型之间的转换,较工具。好处不仅是减少了各个阶段模型之间的转换,较工具。好处不仅是减少了各个阶段模型之间的转换,较好地支持模型到代码的正向工程及代码到模型的逆向工好地支持模型到代码的正向工程及代码到模型的逆向工好地支持模型到代码的正向工程及代码到模型的逆向工好地支持模型到代码的正向工程及代码到模型的逆向工程,而且可以使需求的变化较为容易地同步到模型和代程,而且可以使需求的变化较为容易地同步到模型和代程,而且可以使需求的变化较为容易地同步到模型和代程,而且可以使需求的变化较为容易地同步到模型和代码中。码中。码中。码中。面向对象面向对象方法方法与结构化方法的比较与结构化方法的比较(3 3 3 3)开发出来的信息系统从本质上具有更强的生命力。需)开发出来的信息系统从本质上具有更强的生命力。需)开发出来的信息系统从本质上具有更强的生命力。需)开发出来的信息系统从本质上具有更强的生命力。需求的不断变化是我们不得不接受的事实。求的不断变化是我们不得不接受的事实。求的不断变化是我们不得不接受的事实。求的不断变化是我们不得不接受的事实。结构化方法基于功能分析与功能分解,而用户的需结构化方法基于功能分析与功能分解,而用户的需结构化方法基于功能分析与功能分解,而用户的需结构化方法基于功能分析与功能分解,而用户的需求变化往往是功能或流程的变化,因此开发出来的系统求变化往往是功能或流程的变化,因此开发出来的系统求变化往往是功能或流程的变化,因此开发出来的系统求变化往往是功能或流程的变化,因此开发出来的系统是不稳定的。是不稳定的。是不稳定的。是不稳定的。而问题空间的对象最稳定,它们对潜在变化最不敏而问题空间的对象最稳定,它们对潜在变化最不敏而问题空间的对象最稳定,它们对潜在变化最不敏而问题空间的对象最稳定,它们对潜在变化最不敏感。面向对象方法使代表共性的对象稳定下来,而把不感。面向对象方法使代表共性的对象稳定下来,而把不感。面向对象方法使代表共性的对象稳定下来,而把不感。面向对象方法使代表共性的对象稳定下来,而把不稳定的东西隐藏起来。这样可避免增加复杂性,系统对稳定的东西隐藏起来。这样可避免增加复杂性,系统对稳定的东西隐藏起来。这样可避免增加复杂性,系统对稳定的东西隐藏起来。这样可避免增加复杂性,系统对环境的适应和应变能力也随之增强。环境的适应和应变能力也随之增强。环境的适应和应变能力也随之增强。环境的适应和应变能力也随之增强。面向对象面向对象方法方法与结构化方法的比较与结构化方法的比较(4 4 4 4)维护成本降低。)维护成本降低。)维护成本降低。)维护成本降低。采用结构化方法开发出来的系统是模块层次结构的,采用结构化方法开发出来的系统是模块层次结构的,采用结构化方法开发出来的系统是模块层次结构的,采用结构化方法开发出来的系统是模块层次结构的,而模块