- 1、本文档共113页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UML、OOAD与OOP实践与思索UML
OOA、OOD和UML 面向对象技术的开发实践 主要内容 OOA、OOD与UML基础 Rose如何介入软件开发的全过程 案例:编写一个自己的简化版WinZip 软件开发的哲学思考 待研究的课题 第一部分 OOA与OOD基础 OOA Object-Oriented Analysis (OOA):面向对象的分析 OOA的成果 OOD Object-oriented design (OOD) OOD的地位 OOD的主要任务是跨越业务领域模型与可实际运行的软件系统之间的鸿沟。 OOD的难度是非常大的,负责OOD工作的人被称为系统架构设计师 系统架构设计师的任务 确定系统的总体框架---大多采用已有的领域框架 正确理解需求分析得出的领域模型,用面向对象的思想设计出软件体系结构---系统概要设计 分析现实的可获取的技术资源,分解出软件的各个组件,安排好开发任务流程---系统详细设计 OOD的成果 系统中有多少个类? 系统中这些类间有什么关系(系统静态特性)? 系统中这些类生成的对象如何协作来完成工 作(系统动态特性)? 系统中如何管理这些类和对象? OOP 流行的面向对象语言 关于OOP 用面向对象的语言编程不是OOP! OOP最重要的特征是面向对象理论的广泛应用 OOP的成果是可运行的实际系统 OOP中掺杂着OOD,OOP与OOD你中有我,我中有你,OOP是具体的OOD,二者的区别就在于应用范围的不同。 OOA、OOD、OOP与真实世界 面向对象理论的再认识 封装 面向对象理论的再认识 继承 面向对象理论的再认识 C++中的面向对象特性 四种编程风范: 软件源代码复用的方式 组合(composition)与聚合(aggregation) 继承(inherit) STL Standard Template Library,标准模板库 泛型编程在OOD中的应用 一种独特的平面型编程风范,大量使用C++的模板技巧 典型案例:STL 在标准的OOD设计方案中引入泛型编程技术,可以起到减少类数目的作用 统一建模语言UML UML 统一软件过程RUP 三大特点: OOAD的强大工具---ROSE ROSE是采用UML进行软件系统设计的一个CASE工具,还有其他工具比如Visio,JBuilder7等。 ROSE对软件开发全过程的参与 4+1视图 用ROSE表达系统功能 用ROSE表达软件的静态结构 类图Class Diagram: 表明了一个软件中的各个类之间的关系 用ROSE表达软件的静态结构 用ROSE表达软件的静态结构 用ROSE表达软件的静态结构 用ROSE表达软件的静态结构 小结: 用组件图描述软件组件 一般用组件图来生成代码 用ROSE表达软件的动态特性 用ROSE表达软件的动态特性 用ROSE表达软件的动态特性 用ROSE表达软件的动态特性 活动图 用ROSE表达软件的动态特性 小结: 参考资料 参考资料 参考资料 参考资料 参考资料 参考资料 参考资料 案例研究一 缘起: 用一个规模小的工具软件来说明OOD的实际应用 整个软件完成周期:四天 开发过程 基于组件的用户界面设计 功能设想 技术方案考虑 采用C++流技术 采用Borland C++ Builder开发 软件的工作原理(一) 要编写一个软件,首先要知道人是如何完成某项工作的; 接着,必须分析如何用计算机来完成这个工作,其结果是形成一个计算机算法,这要求有相关领域的理论知识 软件的工作原理(二) 计算机中文件的基本类型 软件的工作原理(三) 计算机中文件的基本类型 软件的工作原理(四) 考虑软件的内部总体数据处理流程 设计过程(一)---资源选择 选择可以复用的代码资源: 设计过程(二)---接口设计 设计基本的流操作类接口 设计过程(三)---利用多态 VCL的TStream类继承树图 设计过程(四)---数据结构 Struct VS Class 数据结构设计结果 设计过程(五)---数据对象的管理? OO软件的显著特点之一是如何管理对象 设计过程(六)---功能实现 设计结果 Key: 先进行非可视化功能类的设计 设计过程中要综合考虑各方面的要求,作出综合平衡,然后才能形成可行的设计方案 界面设计放在功能设计方案之后,它的目的是提供一个用户接口以驱动功能类的运作. 界面设计案例: 界面与功能代码的完全分离 用户界面设计(一)---窗体 用户界面设计(二)---灵活性 用户界面设计(三)---健壮性 保证用户界面层以正确的顺序调用功能类 提高软件健壮性 每一个函数都尽可能地保证是独立完备的、安全的。 程序基本完成后,从最底层的类开始,逐步找出每个对外接口的前条件(前提)和后条件(结果),然后,判断有无可能发生错误,并且决定这些错误应该如何处理 开发高容错程
文档评论(0)