北京大学:《面向对象技术引论》第二部分 面向对象的分析

第二部分 面向对象的分析
第二部分 面向对象的分析

关于软件工程的补充知识 软件危机 硬件性能提高,价格则下降,应用领域迅速扩大; 要求计算机做的事越来越多,也越来越复杂; 这使计算机软件的功能、规模及复杂性与日俱增。 软件的复杂性达到了它的开发者难以控制的程度。 大系统的复杂性是小程序无法比拟的 当几十个人开发一个大型软件系统时,没有任何人能对它从全局到 细节都了如指掌。各部分的问题错纵复杂,相互影响,不可避免地 隐藏大量错误,并且没有可靠的方法能彻底发现和排除这些错误。 这种情况导致了严重的后果 软件可靠性下降;开发效率低下;维护极为困难。 这使软件开发者陷入困境,人们称之为“软件危机
关于软件工程的补充知识 软件危机 硬件性能提高,价格则下降,应用领域迅速扩大; 要求计算机做的事越来越多,也越来越复杂; 这使计算机软件的功能、规模及复杂性与日俱增。 软件的复杂性达到了它的开发者难以控制的程度。 大系统的复杂性是小程序无法比拟的。 当几十个人开发一个大型软件系统时,没有任何人能对它从全局到 细节都了如指掌。各部分的问题错纵复杂,相互影响,不可避免地 隐藏大量错误,并且没有可靠的方法能彻底发现和排除这些错误。 这种情况导致了严重的后果—— 软件可靠性下降;开发效率低下;维护极为困难。 这使软件开发者陷入困境,人们称之为“软件危机

寻求摆脱危机的出路: 程序设计方法学的研究 着眼于程序本身,研究怎样才能写出高质量的 程序。如结构化程序设计方法 软件工程学的研究 着眼于软件生产的全过程(编程只是其中的 个阶段),研究用工程学的方法来开发软件。 其它 如并发程序设计、数据结构与算法、以及编程 语言等方面的研究
寻求摆脱危机的出路: 程序设计方法学的研究 ——着眼于程序本身,研究怎样才能写出高质量的 程序。如结构化程序设计方法。 软件工程学的研究 ——着眼于软件生产的全过程(编程只是其中的一 个阶段),研究用工程学的方法来开发软件。 其它 ——如并发程序设计、数据结构与算法、以及编程 语言等方面的研究

软件工程: 软件工程的基本思想,就是用工程学的方法进行软件的开 发与维护,并对软件生产过程进行工程化的管理。 在此之前,软件的生产方式是手工作坊式的。程序员 象是一些个体的手工劳动者,程序设计被当作一种艺 术创造,而不当作是一项工程。这种生产方式只能适 应较小的程序,不能适应大型软件开发。 和其它行业的道理一样,当软件的规模和复杂性达到一定 程度时,即使有大量熟练的程序员也难以胜任它的开发任 务。需要用工程的方法来进行软件生产,这就是软件工程
软件工程: 软件工程的基本思想,就是用工程学的方法进行软件的开 发与维护,并对软件生产过程进行工程化的管理。 在此之前,软件的生产方式是手工作坊式的。程序员 象是一些个体的手工劳动者,程序设计被当作一种艺 术创造,而不当作是一项工程。这种生产方式只能适 应较小的程序,不能适应大型软件开发。 和其它行业的道理一样,当软件的规模和复杂性达到一定 程度时,即使有大量熟练的程序员也难以胜任它的开发任 务。需要用工程的方法来进行软件生产,这就是软件工程

软件生命周期(软件工程理论所揭示的一项规律) 个软件总是要经历从诞生到死亡的过程,其间需要经过 需求分析、设计、编码、测试、维护等一系列生存阶段 需求分析——分析用户需求,研究问题域,搞清楚应该建 立一个什么样的系统才能满足用户的需求。 设计—分为概要设计和详细设计。 概要设计是以需求分析的结果为依据定义系统的主要 构成成分和它们之间的关系。 详细设计是定义每个系统成分内部的构造细节。 编程——按设计的要求来编写程序,并通过调试使之能够 还行。 测试通过一系列测试用例来检验程序正确性,看它是 否能达到预期的要求 维护在系统交付使用之后,根据使用中发现的错误或 用户的需求变化,对软件进行修改
软件生命周期(软件工程理论所揭示的一项规律) 一个软件总是要经历从诞生到死亡的过程,其间需要经过 需求分析、设计、编码、测试、维护等一系列生存阶段。 需求分析——分析用户需求,研究问题域,搞清楚应该建 立一个什么样的系统才能满足用户的需求。 设计——分为概要设计和详细设计。 概要设计是以需求分析的结果为依据定义系统的主要 构成成分和它们之间的关系。 详细设计是定义每个系统成分内部的构造细节。 编程——按设计的要求来编写程序,并通过调试使之能够 运行。 测试——通过一系列测试用例来检验程序正确性,看它是 否能达到预期的要求。 维护——在系统交付使用之后,根据使用中发现的错误或 用户的需求变化,对软件进行修改

软件工程的主要内容包括: 针对软件生命周期全过程及其每个具体阶段的工程方法 技术细则、文档规范、技术支持、管理制度、人员织 组以及质量保证体系等。 每个软件开发者必须按工程的统一要求行事,不能随意地自 由发挥。 每个开发阶段都要产生健全的、符合工程规范的文档 软件产品是这些文档的总合,而不仅仅是程序。 实行软件工程的主要意义: 提高软件产品的质量 提高了软件生产率 软件工程的推行从根本上改变了软件生产中无章可循、各行 其是的混乱局面,并为软件开发从手工生产转向工业化生产 奠定了基础
软件工程的主要内容包括: 针对软件生命周期全过程及其每个具体阶段的工程方法 、技术细则、文档规范、技术支持、管理制度、人员织 组以及质量保证体系等。 每个软件开发者必须按工程的统一要求行事,不能随意地自 由发挥。 每个开发阶段都要产生健全的、符合工程规范的文档。 软件产品是这些文档的总合,而不仅仅是程序。 实行软件工程的主要意义: 提高软件产品的质量 提高了软件生产率 软件工程的推行从根本上改变了软件生产中无章可循、各行 其是的混乱局面,并为软件开发从手工生产转向工业化生产 奠定了基础

软件开发方法: 软件工程所采用的方法不是唯一的。自软件工程出现以来 ,人们已经提出了多种软件开发方法,例如: 功能分解法、 数据流法(结构化方法) 快速原型法、 信息模型法、 面向对象方法。 软件过程模型 描述软件开发过程的各项活动、角色、产品及其相互关系 的模型。例如: 瀑布模型、螺旋模型、增量模型和喷泉模型等。 不同的软件开发方法和软件开发模型要求有不同的工程体 系 从历史看,使用最多的是结构化方法和瀑布模型; 代表当前技术主流的是面向对象方法和喷泉模型
软件开发方法: 软件工程所采用的方法不是唯一的。自软件工程出现以来 ,人们已经提出了多种软件开发方法,例如: 功能分解法、 数据流法(结构化方法)、 快速原型法、 信息模型法、 面向对象方法。 软件过程模型 描述软件开发过程的各项活动、角色、产品及其相互关系 的模型。例如: 瀑布模型、螺旋模型、增量模型和喷泉模型等。 不同的软件开发方法和软件开发模型要求有不同的工程体 系。 从历史看,使用最多的是结构化方法和瀑布模型; 代表当前技术主流的是面向对象方法和喷泉模型

分析 瀑布模型 OOA 强调严格的 设计 OOD 阶段划分和 前后次序 编程 先做完OOA 测试 再进行OOD 维护
分析 设计 编程 测试 维护 瀑布模型: 强调严格的 阶段划分和 前后次序 先做完OOA 再进行OOD OOA OOD

喷泉模型: 各个阶段之 演化 间没有严格 的界限,其 活动可以交 集成 叠和回溯。 测试 编程 有些工作既可在OOA中进行, 也可在OOD中进行。 OOD 设计 各阶段概念和表示法的一致为 采用这种模型提供了条件。 OOA 分析
喷泉模型: 各个阶段之 间没有严格 的界限,其 活动可以交 叠和回溯。 演化 集成 测试 编程 设计 OOA 分析 OOD 有些工作既可在OOA中进行, 也可在OOD中进行。 各阶段概念和表示法的一致为 采用这种模型提供了条件

第二章为什么需要OOA 21什么是面向对象的分析? 面向对象的分析(O0A),就是运用面向对象方法进行系 统分析。 ooA是分析,是软件生命周期的一个阶段,具有一般分析 方法共同具有的内容、目标及策略; 但强调运用面向对象方法进行分析,用面向对象的概念和 表示法表达分析结果。 基本任务是:运用面向对象方法,对问题城和系统责任进 行分析和理解,找出描述问题域及系统责任所需的对象, 定义对象的属性、服务以及它们之间的关系。 目标是建立一个符合问题域、满足用户需求的OoA模型
面向对象的分析(OOA),就是运用面向对象方法进行系 统分析。 OOA是分析,是软件生命周期的一个阶段,具有一般分析 方法共同具有的内容、目标及策略; 但强调运用面向对象方法进行分析,用面向对象的概念和 表示法表达分析结果。 基本任务是:运用面向对象方法,对问题域和系统责任进 行分析和理解,找出描述问题域及系统责任所需的对象, 定义对象的属性、服务以及它们之间的关系。 目标是建立一个符合问题域、满足用户需求的OOA模型。 2.1 什么是面向对象的分析? 第二章 为什么需要OOA
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北京大学:《面向对象技术引论》第一部分 面向对象方法概论.ppt
- 北京大学:《面向对象技术引论》第八章 OOD评判标准.ppt
- 北京大学:《面向对象技术引论》分析方法如何适应面临的挑战?.ppt
- 北京大学:《面向对象技术引论》教学计划.doc
- 《SQL Server应用开发技术》第14章 使用Asp开发SQL Server应用程序.ppt
- 《SQL Server应用开发技术》第13章 使用Delphi开发SQL Server应用程序.ppt
- 《SQL Server应用开发技术》第12章 开发ODBC数据库应用程序概述.ppt
- 《SQL Server应用开发技术》第11章 安全管理.ppt
- 《SQL Server应用开发技术》第10章 数据库的备份和恢复.ppt
- 《SQL Server应用开发技术》第9章 触发器.ppt
- 《SQL Server应用开发技术》第8章 存储过程.ppt
- 《SQL Server应用开发技术》第7章 Transact-SQL 程序设计.ppt
- 《SQL Server应用开发技术》第6章 关系、索引和视图.ppt
- 《SQL Server应用开发技术》第5章 约束、默认和规则.ppt
- 《SQL Server应用开发技术》第4章 表和表数据操作.ppt
- 《SQL Server应用开发技术》第3章 数据库文件管理.ppt
- 《SQL Server应用开发技术》第2章 SQL Server 2000安装和配置.ppt
- 《SQL Server应用开发技术》第1章 数据库原理概述.ppt
- 《AutoCAD 2006中文版标准教程》教学资源(PPT课件)第九章 块的使用.ppt
- 《AutoCAD 2006中文版标准教程》教学资源(PPT课件)第八章 尺寸标注.ppt
- 北京大学:《面向对象技术引论》第六章 定义结构与连接.ppt
- 北京大学:《面向对象技术引论》第三部分 面向对象的设计.ppt
- 北京大学:《面向对象技术引论》第四部分 面向对象的编程(00P)和面向对象的编程语言(00PL).ppt
- 北京大学:《面向对象技术引论》第五部分 面向对象的数据库系统.ppt
- 北京大学:《面向对象技术引论》练习题.doc
- 《计算机组装与维护》第1讲 课程安排.ppt
- 《计算机组装与维护》第2讲 主板.ppt
- 《计算机组装与维护》第3讲 CPU.ppt
- 《计算机组装与维护》第4讲 内存.ppt
- 《计算机组装与维护》第5讲 显示卡.ppt
- 《计算机组装与维护》第6讲 显示器.ppt
- 《计算机组装与维护》第7讲 硬盘.ppt
- 《计算机组装与维护》第8讲 其它标设.ppt
- 《3DS?max应用制作》餐厅.ppt
- 《3DS?max应用制作》高层建筑的效果表现.ppt
- 西北农林科技大学:《计算机文化基础》模拟试题.doc
- 《C++入门级教案》第二十一章 指针.doc
- 《C++入门级教案》第二十章 指针 二.doc
- 《C++入门级教案》第二章 编程环境.doc
- 《C++入门级教案》第三章 计算机原理.doc