《几种主要的软件开发方法.ppt》由会员分享,可在线阅读,更多相关《几种主要的软件开发方法.ppt(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.41.4 主要的软件开发方法主要的软件开发方法结构化开发结构化开发方法方法面向对象的方法面向对象的方法1开发队伍最熟悉哪种开发方法开发队伍最熟悉哪种开发方法开发队伍最熟悉哪种开发方法开发队伍最熟悉哪种开发方法?提供的软提供的软提供的软提供的软/硬件资源和开发工具?硬件资源和开发工具?硬件资源和开发工具?硬件资源和开发工具?开发开发开发开发方法在计划、组织和管理方面的可行性?方法在计划、组织和管理方面的可行性?方法在计划、组织和管理方面的可行性?方法在计划、组织和管理方面的可行性?对开发项目所涉及领域的知识的掌握情况?对开发项目所涉及领域的知识的掌握情况?对开发项目所涉及领域的知识的掌握情况
2、?对开发项目所涉及领域的知识的掌握情况?选择方法要考虑如下的几个因素选择方法要考虑如下的几个因素2 结构化开发方法结构化开发方法也称为面向功能开发方法或面向过程方法,也称为面向功能开发方法或面向过程方法,也称为面向功能开发方法或面向过程方法,也称为面向功能开发方法或面向过程方法,是由是由是由是由E.Yourdon和和和和L.Constantine提出的提出的提出的提出的.结构化分析方法结构化分析方法结构化分析方法结构化分析方法SASA结构化设计方法结构化设计方法结构化设计方法结构化设计方法SDSD结构化编程方法结构化编程方法结构化编程方法结构化编程方法SPSP3按照功能分解的原则按照功能分解的
3、原则;自顶向下、逐步求精自顶向下、逐步求精;直到实现软件功能为止。直到实现软件功能为止。简单、实用简单、实用。结构化方法的特点结构化方法的特点4它以功能分解为基础,而用户的它以功能分解为基础,而用户的功能是经常改变的,必然导致系功能是经常改变的,必然导致系统的统的框架结构不稳定框架结构不稳定。从数据流程图到软件结构图之间从数据流程图到软件结构图之间的过渡有明显的断层,导致的过渡有明显的断层,导致设计设计回溯到需求有困难回溯到需求有困难。结构化方法的主要问题结构化方法的主要问题5 面向对象的方法面向对象的方法BoochBoochBoochBooch方法:方法:方法:方法:该方法的分析能力较弱,是
4、一种偏重设计的方法。该方法的分析能力较弱,是一种偏重设计的方法。OMTOMTOMTOMT方方方方法法法法:通通过过建建立立对对象象模模型型、动动态态模模型型、功功能能模模型型,来来实实现现对对整个系统分析和设计工作。整个系统分析和设计工作。OOSEOOSEOOSEOOSE方方方方法法法法:最最大大特特点点是是用用用用例例(UseUseCaseCase)与与外外部部角角色色的的交交互互来表示系统功能,用例贯穿于整个开发过程。来表示系统功能,用例贯穿于整个开发过程。CoadCoadCoadCoadYourdonYourdonYourdonYourdon的的面面向向对对象象分分析析和和设设计计方方法
5、法:即即OOAOOA和和OODOOD方方法法,它是最早的面向对象的分析和设计方法之一。它是最早的面向对象的分析和设计方法之一。UMLUMLUMLUML:统统一一建建模模语语言言,国国际际对对象象管管理理组组织织OMGOMG已已批批准准将将UML1.1UML1.1作作为为面向对象技术的标准建模语言。面向对象技术的标准建模语言。6将现实世界问题向面向对象解空间直接映将现实世界问题向面向对象解空间直接映将现实世界问题向面向对象解空间直接映将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。射,实现对现实世界的直接模拟。射,实现对现实世界的直接模拟。射,实现对现实世界的直接模拟。以数据为
6、中心,而不是基于对功能的分解以数据为中心,而不是基于对功能的分解以数据为中心,而不是基于对功能的分解以数据为中心,而不是基于对功能的分解使得软件结构相对稳定,软件的重用性、使得软件结构相对稳定,软件的重用性、使得软件结构相对稳定,软件的重用性、使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。可靠性、可维护等特性都较好。可靠性、可维护等特性都较好。可靠性、可维护等特性都较好。缺点:缺点:缺点:缺点:较难掌握。较难掌握。较难掌握。较难掌握。优点:优点:优点:优点:面向对象方法的特点面向对象方法的特点7可视化开发技术及其特点可视化开发技术及其特点可视化开发技术是随着图形用户界面的兴起
7、而发展可视化开发技术是随着图形用户界面的兴起而发展起来的,是通过事件驱动实现应用软件的工作。起来的,是通过事件驱动实现应用软件的工作。可视化开发技术的优点:可视化开发技术的优点:可视化开发技术的优点:可视化开发技术的优点:简化了图形用户界面的设计和编码工作,将简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和开发的注意力主要集中在程序的执行逻辑和工作流程上。工作流程上。软件开发简单,易学、易上手。软件开发简单,易学、易上手。专业或非专业人员都能参与软件开发活动。专业或非专业人员都能参与软件开发活动。8 软件工程中的软件工程中的“五个面向五个面向”uu面向流程分析、面向
8、流程分析、uu面向数据设计、面向数据设计、uu面向对象实现、面向对象实现、uu面向功能测试、面向功能测试、uu面向过程管理。面向过程管理。9面向流程的业务分析面向流程的业务分析面向流程分析,就是面向流程的需求分析。面向流程分析,就是面向流程的需求分析。面向流程分析,就是面向流程的需求分析。面向流程分析,就是面向流程的需求分析。在需求分析时,系统分析员要面向在需求分析时,系统分析员要面向在需求分析时,系统分析员要面向在需求分析时,系统分析员要面向业务流、资业务流、资金流、信息流金流、信息流。这。这。这。这“三个流三个流三个流三个流”分析透了,才能分析透了,才能分析透了,才能分析透了,才能建立好系
9、统的业务模型和功能模型。建立好系统的业务模型和功能模型。建立好系统的业务模型和功能模型。建立好系统的业务模型和功能模型。这这这这“三个流三个流三个流三个流”,可以用,可以用,可以用,可以用“数据流数据流数据流数据流”这一个流程这一个流程这一个流程这一个流程来代替,或者说来代替,或者说来代替,或者说来代替,或者说“三个流三个流三个流三个流”是是是是“数据流数据流数据流数据流”在三在三在三在三个不同方向的投影。个不同方向的投影。个不同方向的投影。个不同方向的投影。10面向数据的设计面向数据的设计面向数据设计,就是面向元数据进行设计。面向数据设计,就是面向元数据进行设计。面向数据设计,就是面向元数据
10、进行设计。面向数据设计,就是面向元数据进行设计。系统设计采用面向数据的方法。系统设计采用面向数据的方法。系统设计采用面向数据的方法。系统设计采用面向数据的方法。设计的主要任务是建立系统的数据模型,包括设计的主要任务是建立系统的数据模型,包括设计的主要任务是建立系统的数据模型,包括设计的主要任务是建立系统的数据模型,包括概念数据模型概念数据模型概念数据模型概念数据模型CDMCDMCDMCDM和物理数据模型和物理数据模型和物理数据模型和物理数据模型PDMPDMPDMPDM,以数据,以数据,以数据,以数据模型为支撑,去实现系统的业务模型和功能模模型为支撑,去实现系统的业务模型和功能模模型为支撑,去实
11、现系统的业务模型和功能模模型为支撑,去实现系统的业务模型和功能模型型型型(包括性能和接口包括性能和接口包括性能和接口包括性能和接口)。在管理软件中在管理软件中在管理软件中在管理软件中,数据设计主要指数据库设计。数据设计主要指数据库设计。数据设计主要指数据库设计。数据设计主要指数据库设计。11面向对象实现面向对象实现 面向对象实现,就是面向对象设计和编程。面向对象实现,就是面向对象设计和编程。面向对象实现,就是面向对象设计和编程。面向对象实现,就是面向对象设计和编程。在多层结构的表示层和逻辑层上,设计和编程在多层结构的表示层和逻辑层上,设计和编程在多层结构的表示层和逻辑层上,设计和编程在多层结构
12、的表示层和逻辑层上,设计和编程时,采用面向对象的方法。用构件化的设计方时,采用面向对象的方法。用构件化的设计方时,采用面向对象的方法。用构件化的设计方时,采用面向对象的方法。用构件化的设计方法实现业务模型和功能模型。法实现业务模型和功能模型。法实现业务模型和功能模型。法实现业务模型和功能模型。只有对系统的三个模型只有对系统的三个模型只有对系统的三个模型只有对系统的三个模型(业务模型、功能模型、业务模型、功能模型、业务模型、功能模型、业务模型、功能模型、数据模型数据模型数据模型数据模型)吃透了,才能设计和编写出好的程吃透了,才能设计和编写出好的程吃透了,才能设计和编写出好的程吃透了,才能设计和编
13、写出好的程序。序。序。序。面向对象实现,实质上是面向类实现,因为实面向对象实现,实质上是面向类实现,因为实面向对象实现,实质上是面向类实现,因为实面向对象实现,实质上是面向类实现,因为实例化的类称为对象。例化的类称为对象。例化的类称为对象。例化的类称为对象。12面向功能测试面向功能测试测试的种类包括:单元测试、集成测试、测试的种类包括:单元测试、集成测试、测试的种类包括:单元测试、集成测试、测试的种类包括:单元测试、集成测试、AlphaAlphaAlphaAlpha测测测测试、试、试、试、BetaBetaBetaBeta测试等。测试等。测试等。测试等。测试内容包括:系统的功能、性能和接口等。测
14、试内容包括:系统的功能、性能和接口等。测试内容包括:系统的功能、性能和接口等。测试内容包括:系统的功能、性能和接口等。面向功能测试大多采用面向功能测试大多采用面向功能测试大多采用面向功能测试大多采用黑盒测试黑盒测试黑盒测试黑盒测试。白盒测试只适合构件生产和核心代码的编程。白盒测试只适合构件生产和核心代码的编程。白盒测试只适合构件生产和核心代码的编程。白盒测试只适合构件生产和核心代码的编程。13面向过程管理面向过程管理面向过程管理是指面向软件过程的生命周面向过程管理是指面向软件过程的生命周面向过程管理是指面向软件过程的生命周面向过程管理是指面向软件过程的生命周期各阶段进行管理和控制。期各阶段进行
15、管理和控制。期各阶段进行管理和控制。期各阶段进行管理和控制。软件产品质量的提高与改进,完全软件产品质量的提高与改进,完全软件产品质量的提高与改进,完全软件产品质量的提高与改进,完全取决于取决于取决于取决于软件过程的改善软件过程的改善软件过程的改善软件过程的改善。无论是。无论是。无论是。无论是CMM、ISO9000、企业文化,都是通过对软件过程的管理来企业文化,都是通过对软件过程的管理来企业文化,都是通过对软件过程的管理来企业文化,都是通过对软件过程的管理来提高软件企业的素质。提高软件企业的素质。提高软件企业的素质。提高软件企业的素质。软件危机的出现正是由于软件危机的出现正是由于软件危机的出现正是由于软件危机的出现正是由于忽视了软件中的忽视了软件中的忽视了软件中的忽视了软件中的过程管理过程管理过程管理过程管理。14 软件工程的最新发展动向软件工程的最新发展动向 形式语言的研究形式语言的研究体系结构技术体系结构技术质量保证质量保证过程控制过程控制15思考题思考题 主要的软件开发方法?主要的软件开发方法?软件工程中的软件工程中的“五个面向五个面向”?16
限制150内