面向对象软件设计(Java项目开发文档之一)共35页
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
系统分析设计思想概述
❖ 程序定义等式:
➢ 程序=数据结构+算法
❖ 理解算法:
➢ 软件算法的含义是为解决一个问题而采取的有限的、 可行的操作步骤,在计算机程序中wenku.baidu.com算法就是指令 的有限集合
➢ 广义上讲,一切的数据操作代码都是某种算法的实 现
系统分析设计思想概述
❖ 理解数据结构:
➢ 定义一、数据元素集合(也可称数据对象)中各元 素的关系。
结构化分析设计思想
❖ 主要缺点:
➢ 过程式设计对于比较复杂的问题,或是在开发中需 求变化比较多的时候,往往显得力不从心。这是因 为过程式的设计是自上而下的,这要求设计者在一 开始就要对需要解决的问题有清楚的了解和把握。 在问题比较复杂的时候,要做到这一点会比较困难, 而当开发中需求变化的时候,以前对问题的理解也 许会变得不再适用。事实上,开发一个系统的过程 往往也是一个对系统不断了解和学习的过程,而过 程式的设计方法忽略了这一点。
➢ 定义二、相互之间存在特定关系的数据元素集合。 ➢ 数据结构是计算机存储、组织数据的方式,实际上
是信息的一种表示协议,在信息和数据之间搭起了 一座桥梁,用来在计算机中描述现实世界中的信息
系统分析设计思想概述
❖ 计算机解决一个具体问题步骤:
➢ 首先要从具体问题中抽象出一个适当的数学模型 ➢ 然后设计一个解此数学模型的算法(Algorithm) ➢ 最后编出程序、进行测试、调整直至得到最终答案 ➢ 寻求数学模型的实质是分析问题,从中提取操作的对
象,并找出这些操作对象之间含有的关系,然后用数 学的语言加以描述 ➢ 最终实现通过指令流+数据流实现现实系统的目的
系统分析设计思想概述
❖ 系统分析思想的发展:
系统分析设计思想概述
❖ 对于计算机处理系统:数据结构和算法用来描述现实 世界的过程,由此产生两类方法:侧重于算法实现的 结构化设计和侧重于数据处理的面向数据的设计。
➢一个完善的、成功的软件系统分析设计对于 软件的质量、开发过程是至关重要的 ➢现代的软件分析设计方法,是与软件开发过 程管理的思想相结合的
系统分析设计思想概述
❖ 回顾计算机工作原理:
➢ 计算机的基本原理是存贮程序和程序控制。 预先要把指挥计算机如何进行操作的指令序列(称 为程序)和原始数据通过输入设备输送到计算机内 存贮器中。每一条指令中明确规定了计算机从哪个 地址取数,进行什么操作,然后送到什么地址去等 步骤。
系统分析设计思想概述
➢ 计算机在运行时,先从内存中取出第一条指令,通 过控制器的译码,按指令的要求,从存贮器中取出 数据进行指定的运算和逻辑操作等加工,然后再按 地址把结果送到内存中去。接下来,再取出第二条 指令,在控制器的指挥下完成规定操作。依此进行 下去,直至遇到停止指令。 程序与数据一样存贮,按程序编排的顺序,一步 一步地取出指令,自动地完成指令规定的操作是计 算机最基本的工作原理。
系统分析设计思想概述
❖ 由计算机物理运行角度分析程序:
➢ 程序=计算机硬件上运算的指令流和数据流 ➢ CPU能够处理的只是数据 ➢ CPU处理的方式都是在CPU指令集里定义好的 ➢ 物理计算机的工作就是处理数据 — 运算 ➢ 软件的本质分为两个独立部分:数据和指令 ➢ 数据在机器中是按一定规则排放的 — 数据结构 ➢ 指令是按照一定的顺序调用的 — 算法
❖ 系统分析设计思想概述 ❖ 面向过程的结构化分析设计思想 ❖ 面向对象思想概述 ❖ OO思想的本质是什么 ❖ 面向对象程序设计的方法 ❖ 优秀的系统设计追求的原则 ❖ 多层结构软件设计
目录
系统分析设计思想概述
❖“软件危机”、让人们开始追求“高质量、高速 度”的生产软件 ❖技术和管理手段是实现“两高”开发的必要手 段
结构化分析设计思想
❖ 示例:
➢ 需求:实现一个邮件发送程序(邮件列表存在数据 库里面 )
❖ 过程式的设计思路实现:
➢ 先把邮件内容读入,然后连接数据库,读取显示邮 件列表地址,选择邮件地址,最后调用本机的相应 API函数命令发送邮件
➢ 设计思路是一直基于计算机如何具体实现的思想上 的,整体体现的就是站在计算机的角度处理问题的 解决方法
前言
❖ OO是“面向对象”的英文Object Oriented的缩写,这 个词在整个软件领域制造了一场深刻的变革,大大改 变了传统的面向过程的软件分析和开发模式。
❖ 面向对象是一种与语言无关的设计思想,符合人类自 然的思考习惯来看待现实系统。
❖ 面向对象的语言提供强大的面象对象的机制,支持对 问题更高层次的抽象描述,使软件的设计和开发者可 以更好的把握问题的本质,从而提高程序的开发质量 和效率。
面向对象思想概述
❖ 面向对象的机制和思想是在结构化设计的基础 上发展而来的,继承了面向结构开发的优点, 支持新的编程机制,又在一定的方面扩展了自 己的强大优势
❖ 面向对象是基于分解而不是变换的方法。它的 分析过程是把一个大系统分解为小系统的过程。 将现实系统的过程抽象为计算机世界能处理的 过程(数据结构和算法)的变换向后推迟,最 终转换为对一系列相对简单的小的现实系统的 变换,这就使系统分析设计的风险降低,并且风 险也得到分散
❖ 特点:
➢ 首先把系统的分析设计看做是一个自顶向下、逐步 求精的过程
➢ 其次是采用模块化的设计方式,把大的问题,分解 为一个一个的功能单元,单元尽可能是单入口、单 出口。同时尽可能地保证功能单元成为功能独立的 软件模块,尽量减少副作用
➢ 整个软件就是功能单元的顺次调用过程。
结构化分析设计思想
❖ 优点:
❖ 两者在一开始建模的时候就出现了分离的数据和算法 ❖ 两者都是先有了数学变换的思想,再来映射现实世界
的过程 ❖ 这两类方法都更加贴近计算机系统的执行方式、贴近
数学世界的方式 ❖ 面向对象的思想则是一开始把大的系统分解为小的系
统,而数据和指令在开始没有分离
结构化分析设计思想
❖ 结构化程序设计方法,是面向过程实现的,是 计算机软件的传统分析设计方法,同时也是计 算机硬件流程化信息处理模式的真实反映。
➢ 结构化设计方法的优点是高效率,直接面对问题, 结构清晰,适宜构建已经分析的很清楚的、变动不 多的或者变动已被很好预期的信息系统
❖ 思想:
➢ 结构化分析方法是真实反应计算机硬件流程化信息 的,背后的思想是放大了物理的计算机,建立一台 更贴近现实世界的、强大的、抽象的计算机。相当 于为每一种实际系统制造了不同的计算机