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