网站大量收购独家精品文档,联系QQ:2885784924

Java面向对象开发解析.doc

  1. 1、本文档共237页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java面向对象开发解析

面向对象开发方法 软件开发经历的周期: 软件分析:分析问题领域,了解需求 软件设计:确定软件总体架构,将总体分成各个大大小大的子系统。 软件编码:选用什么编程软件进行写程序代码。 软件测试:测试软件是否能完成特定功能,以及测试软件性能。 软件部署:安装软件,帮助用户正确操作。 软件维护:修复bug,当用户需求改变(增添新的功能或者修改已有功能的实现方式)。 软件可重用性:减少重复代码。 软件的可扩展性:需要增加新功能,能够在现有的基础结构基础上,方便创建新的子系统、而不需要改变软件现有的结构,也不会影响存在的子系统。 软件的可维护性:当需求发生改变,只需要改变局部的子系统的少量代码。 子系统的特点: 软件可以分解成各个独立的子系统,使用各个子系统能够组成整个软件系统。 结构稳定性:将一个系统划分成更小的子系统,是的系统的结构更健壮,满足用户需求。 可扩展性:子系统的基础上创建新的子系统,该子系统继承了原有子系统的一些特性,并具有一些新的特性。 内聚性:每个子系统只完成特定功能。不同子系统之间不可有功能的重叠。 解决办法:每个子系统的粒度都要尽可能小,这种方式称为精粒度系统结构。内聚性可提高软件的重用性和维护性。 可组合性:若干精粒度的子系统经组合,变成大系统。 松耦合:子系统互相独立,修改一个子系统不影响其他子系统。 主流软件开发方法:结构化开发和面向对象开发。 结构化软件设计方法:按照功能划分系统结构 结构化开发方法,即SASD方法,也称面向功能或面向数据流的软件开发方法。 首先用结构化分析(Structure Analysis, SA),对软件需求分析;后用结构化设计(Structure Design, SD),进行总体设计。最后结构化编程(structure Programming, SP),这种开发方法是开发步骤明确。 结构化设计师属于:自顶向下的设计,就是功能分解的过程。 进行结构化编程时,主体是方法,方法是最小的功能模块,每个方法都有输入输出的子系统,数据的输入来源于方法参数、全局变量、常量。数据的输出有:方法返回值、指针类型的方法参数。 形状 非法形状 圆 直线 上图为 数据流图(Data Flow Diagram ,DFD) 椭圆:处理过程,产生数据 矩形:数据输入源点或输出终点 带箭头的直线:数据流的方向 结构化开发缺点: 制约了软件可维护性和可扩展性。模块之间的松耦合性不高。 自顶向下按功能划分模块,随着需求改变。难以设计出稳定的系统。 最小的系统是方法,方法和变量、常量分散在系统各个角落。削弱各个系统间的独立性。 面向对象的开发方法:把软件系统看成各种对象的集合,对象时最小的子系统。 面向对象的特点: 把软件系统看成各种对象的集合。 需求变动是功能变动,功能的执行者-------对象,一般不会有太大变化,设计出来的系统稳定。 对象包括属性(数据)和行为(方法),对象把数据和方法的具体实现方式封装,使方法与有关的数据不分离,提高子系统的独立性。 支持封装、抽象、继承和多态,提高系统的可重用性、可维护性、可扩展性。 对象模型:建立对象模型 包括自底向上的抽象过程 和自顶向下的分解过程。 自底向上的抽象:搞清需求,再建立正确的对象模型。 把现实领域中的事物抽象为具有特定属性和行为的对象。 把具有相同属性和行为的对象抽象为类。 若干个类存在相同共性(相同的属性和行为),把这些共性抽象到父类中。 自底向上的抽象过程中,使子类更合理继承父类的属性和行为。 自顶向下的分解 例如,计算机系统,首先识别出主机对象、显示器对象、键盘对象等,再进一步分解各个对象。 UML:可视化建模语言 UML (Unified Modeling Language,统一建模语言) Rational Rose:可视化建模工具 面向对象开发的核心思想和概念 主要任务:先建立模拟问题领域的对象模型,通过代码实现对象模型。 问题领域、对象、属性、状态、行为、方法、实现 问题领域? 是指软件系统模拟的真实世界中的系统。 对象? 是对问题领域中事物的抽象。 对象的特征: 万物皆对象。问题领域中的实体和概念都可以抽象为对象。如:学校领域,对象包括学生、成绩单、教师、教室等。在Java图形界面中,宽口,滚动面板,按钮等都是对象。 每个对象都是唯一的。真实世界中事物的唯一性。如一个人的特征独一无二。 对象具有属性和行为。如一部手机:牌子华为,价格1232,颜色白色,能够拍照、能够上网、打电话等。这部手机属性有:品牌类型type、价格price、颜色color,行为有:拍照takePhoto()、打电话takeCall

文档评论(0)

little28 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档