java软件设计思想
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一首诗送给大家
提问时间
面向过程思想与面向对象思想的区别
• 面向对象方法与面向过程方法根本的不同, 就是不再把世界看作是一个紧密关联的系 统,而是看成一些相互独立的小零件,这 些零件依据某种规则组织起来,完成一个 特定的功能
•
今天你OO了吗?
我能抽象出整个世界... 但是我不能抽象出你... 因为你在我心中是那么的具体... 所以我的世界并不完整... 我可以重载甚至覆盖这个世界里的任何一种方法... 但是我却不能重载对你的思念... 也许命中注定了 你在我的世界里永远的烙上了静态的属性... 而我不慎调用了爱你这个方法... 当我义无返顾的把自己作为参数传进这个方法时... 我才发现爱上你是一个死循环... 它不停的返回对你的思念压入我心里的堆栈... 在这无尽的黑夜中... 我的内存里已经再也装不下别人... 我不停的向系统申请空间... 但却捕获一个异常---我爱的人不爱我... 为了解决这个异常... 我愿意虚拟出最后一点内存... 把所有我能实现的方法地址压入堆栈... 并且在栈尾压入最后一个方法---将字符串"我爱你,你爱我吗?" 传递给你... 如果返回值为真--我将用尽一生去爱你... 否则--我将释放掉所有系统资源.. .
软件设计思想
课程目标
• 熟悉软件开发设计思想 • 理解面向过程和面向对象设计思想的区别 • 软件分析---问题领域
第零章 软件设计思想
内容摘要
• • • • • • • • 软件开发生命周期 软件系统设计特点 系统结构、子系统 面向过程设计思想、面向对象设计思想 面向对象的软件开发方法以及特点 面向对象思想设计工具 面向对象领域的三大名词 一首诗
子系统特点
• • • • • 结构稳定性 可扩展性 内聚性 可组合性 松耦合
面向过程设计思想
• 按照功能来划分软件的结构,它把软件系 统的功能看做是根据给定的输入数据,进 行相应的运算,然后输入结果。
• 面向过程要求:这个过程是稳定的!即过 程中的每一步都是预设好的,有着严谨的 因果关系。
• 面向过程是属于自顶向下的设计 • Basic、C、Fortran、Pascal等语言
我们遇到的问题?
当过程不再稳定,结果不再能预设 的时候,面向过程方法如何分析?怎 么分析?
面向对象设计思想
• 面向对象的开发方法把软件系统堪称各种 对象的集合,对象就是最小的子系统,一 组相关的对象能够组合合成更加复杂的子 系统。 • 把复杂工程转化成标准零部件的做法,这 正是一种面向对象的方法 • 一切皆对象 • JAVA、.NET、PHP等语言
什么是软件?
• 软件就是程序加文档的集合体。 ---来自《WIKI》
软件开发生命周期
• • • • • • • 软件分析 软件设计 软件编码 软件测试 软件部署 软件用户手册与培训 软件维护
软件系统设计特点
• 可重用性 • 可扩展性 • 可维护性
系统结构、子系统
• 系统结构:系统由多个子系统组成,以及 子系统由多个更小的子系统组成。
面向对象的软件开发方法
• 分析:自底向上的抽象
• 设计:自顶向下的分解
面向对象思想的分析工具
• UML(Unified Modeling Language)统一建 模语言 • Rational Rose 可视化建模工具
面向对象基本特征
• 封装 • 继承 • 多态
面向对象Leabharlann Baidu域的三大名词
• OOA(面向对象的分析) • OOD(面向对象的设计) • OOP(面向对象的程序)