1、 CSAI华东区首席顾问徐 锋面向方面的软件开发方法Agenda 面向对象开发技术与开发范型变迁横切关注点横切关注点的建模与分离弹性体系结构演变AOSD的应用软件开发范型的变迁软件开发范型的变迁 Code-Fix模型 -最原始的开发方式程序越来越大,难以掌握 软件危机结构化开发: SA、 SD、 SP -自顶向下,逐层分解数据与方法分离,内聚性不够 与现实世界模型不一致面向对象开发: OOA、 OOD、 OOP 现实世界真实反映 其它:数据流理论1970 1980 1990结构化方法数据流方法面向对象面向对象开发技术的核心特点面向对象开发技术的核心特点 结构化理论:将应用分解为功能模块、子功能
2、模块、功能接口;与现实问题域的东西没有直接联系! 面向对象理论:系统模型是对问题域的直接映射,即从现实世界中直接抽象出一个模型,然后在计算机中实现出来。面向对象开发技术的历史变迁面向对象开发技术的历史变迁面向对象程序设计面向对象设计面向对象分析面向对象程序语言 LispSimula67 SmallTalk72 SmallTalk80CObjective-CC+Java1970年1990年年 面向对象编程开启了面向对象发展之门。而面向对象分析、设计方法才是 OO思想的真正标志。面向对象开发技术的今天面向对象开发技术的今天 核心基础核心基础 核心基础:组件技术、 UML建模技术 组件技术:大型项目与系统的必由之路需要支持多平台: SOA、 ESB 连接组件拥有大量组件:重用、 MDA 快速、廉价集成组件响应日益复杂的业务操作: EA(连通软件与业务的鸿沟)、 PLE(处理产品线可变性)、反向工程(重用遗留系统)框架: J2EE、 .NET等独立与厂商的组件描述语言 -UML 显然仅有组件和 UML是不够的,因为我们还需要知道如何捕获组件! -答案就是最佳实践:迭代开发体系结构为中心用例驱动面向对象开发技术的今天面向对象开发技术的今天 最佳实践最佳实践最佳实践最佳实践 1 迭代开发迭代开发最佳实践最佳实践 2 用例驱动用例驱动最佳实践最佳实践 3 体系结构为中心体系结构为中心