文档之家
首页
教学研究
幼儿教育
高等教育
外语考试
建筑/土木
经管营销
自然科学
当前位置:
文档之家
›
Chap1 面向对象与软件建模概述
Chap1 面向对象与软件建模概述
格式:pdf
大小:1.19 MB
文档页数:68
下载文档原格式
下载原文件
/ 68
下载本文档
合集下载
下载提示
文本预览
1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
我想把邮局搬到 我家门口,多加几个 邮递员,24小时都开门 ……
Send by method
Object 对不起, 本邮局不提供 此类服务
对象Object = 数据Attribute + 操作Method 注意:Object内部的attributes不允许外部用户直接改动,只有当它 提供了相应的服务method时,用户才能通过发送message来 提请它执行。 西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
OOM举例:邮局业务管理
杭州 北京
Message
Post-office Attributes: location; employee; …… Methods: send; 唉,那就先送束花吧 —— Post_office.Send (request, payment) sell; ……
2. 推迟实现的观点
前阶段的工作必须做扎实,方可以开展后续工 作。
3. 质量保证的观点 1)必须完成规定文档; 2)必须对完成的文档进行评审,以便尽早 发现问题。
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
(1)瀑布模型——使用条件
1)慎重使用瀑布模型的情况: 不能充分理解客户需求或客户需求有可能迅速发 生化; 系统太大太复杂,不能一次做完所有的事; 事先拟采用的技术迅速发生变化; 提供的资源有限; 无法利用各开发阶段的某一中间产品。 2)使用瀑布模型的情况: 系统所有的功能、性能要求客户可以一次性准确 交付时; 必须是首次开发的新系统并且淘汰全部老系统 时。
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
(4)螺旋模型
制定 计划 客户 评估
风险 分析
Product Maintenance Projects 产生维护计划
工程 实施
Product Enhancement Projects产生增加计划 New Product Development Projects 新产生发展计划 Concept 西安邮电学院计算机学院 Development舒新峰 Projects 发展的观点 shuxf@xupt.edu.cn
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
(3)原型模型
一般用于最终系统的早期用户评价,开发工期 短,质量有保证。
听取用 户意见
建造/修改 原型
【适用领域】:事先不能完整定 义需求的领域。 用户测试 运行原型
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
3 软件开发方法概述
三、 面向对象软件开发方法
1) 面向对象思想的由来 传统的软件开发方法 — 没有直接而全面地反 映问题的本质 希望 直接面对问题域中客观存在的事物来进行软件 开发 — 面向对象
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
2) 对象、实体与类关系图
计算机世界 对象 实 例 化 类 影射 现实世界 实体 抽 象 计算机逻 辑的实现
抽 象
抽象数据类
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
3)面向对象方法(OOM)特点
尽可能模拟人类习惯的思维方式,即问 题域与求解域在结构上尽可能一致。与传 统方法相反,OOM以数据或信息为主线, 把数据和处理结合构成统一体 —— 对象。 这时程序不再是一系列工作在数据上的函 数集合,而是相互协作又彼此独立的对象 的集合。
(5)喷泉模型
演化 维护 确认 实现 设计 【特点】: 主要用于支持面向对象开 分析 发过程,体现了软件创建所固有的迭
代和无间隙的特征
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
3 软件开发方法概述
一、程序设计方法
1. 结构化程序设计方法 其控制结构仅由顺序、选择与重复等有限的基本 控制结构表示。 2. 模块化程序设计方法 模块之间的接口应尽可能简明清晰: 单独模块的修改不影响其它模块的功能; 模块化应具有可修改性、易读性和可验证性。 3. 面向对象程序设计方法
(2)增量模型
增量1 分析 设计 增量2 分析 增量3 编码 设计 测试 编码 交付的 增量1 测试 交付的 增量2 交付的 测试 增量3 交付的 测试 增量4 日历时间
分析 分析
设计
编码
增量4
设计
编码
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
(2)增量模型——使用条件
1)使用渐增模型的情况: 需要在尽短时间内得到系统基本功能的演示或使用 各版本都有中间阶段产品可提供使用; 系统可以被自然地分割成渐增的模式; 开发人员与资金可以逐步增加。 2)慎重考虑使用渐增模型的情况: 不能充分理解客户需求或客户需求有可能迅速发生变 化; 事先拟采用的技术迅速发生变化; 客户突然提出一些新的功能需求; 长时期内仅有有限的资源保证(人员和资金)
1 软件与软件工程
软件: 程序+文档+数据 特点:
(1)软件规模大。 (2)软件开发规范并趋于标准化。 (3)软件开发方法多,有大量的软件工具持。 (4)注重软件开发的管理。 (5)软件维护相对过去容易得多。
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
1 软件与软件工程
软件工程的指导性原则: 变动的软件需求。 稳妥的设计方法。 高效的软件开发支持技术。 有效的过程管理。 软件工程具有里程碑意义的进展: 结构化软件开发方法的工具。 计算机辅助软件工程(CASE)。 面向对象语言和方法成为主流的软件开发技术。
软件概要设计说明书、 软件详细设计说明书、 数据库设计说明书、 测试计划说明书、 测试分析报告
软件 问题 报告、 软件 修改 报告
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
2 生存周期和开发模型的演变
二、开发模型: 软件开发模型是软件开发全部过程、活 动和任务的结构框架。 软件开发模型能清晰、直观的表达开发 全部过程,明确规定了要完成的主要活动、任 务和开发策略,可以作为软件项目开发工作的 基础。 (1)瀑布模型 (2)原型模型 (3)OO模型
1. 2. 3. 4. 5. 6. 《设计模式:可复用面向对象软件的基础》,机械工业出版社 《大话设计模式》,程杰 ,清华大学出版社 《UML与软件建模》,徐宝文等,清华大学出版社 《设计模式精解》, 清华大学出版社 设计模式(Java)http://www.jdon.com/designpatterns/ 设计模式(C#)http://bv.csdn.net/resource/sjms.pdf
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
面向过程Vs.面向对象
对象 对象 对象
函数 和过程
数据
对象
(a) 结构化程序
(b) 面向对象程序
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
3 软件开发方法概述
二、 结构化软件开发方法 1)结构化分析(SA)的步骤 构造数据流模型。 构建控制流模型。 生成数据字典(DD)。 生成可选方案,建立需求规约。
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
Chap1 面向对象及软件建模概述
1. 软件与软件工程 2. 生存周期和开发模型的演变 3. 软件开发方法概述 4.Βιβλιοθήκη Baidu模型 5. 面向对象的软件建模 6. 统一建模语言UML
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
传统方法学的缺点(1)
1)瀑布模型的缺点:僵化
生命周期各阶段间存在严格的顺序性与依赖性, 因此其特别强调预先定义需求的重要性。要求预先 定义并“冻结”软件需求。 实践表明:在系统建立起来很难仅仅依靠分析就 能确定一套完整、准确、一致、有效的应用需求, 而且该方法不适用与用户需求不断变化的情况: (1)某些类型的系统需求是模糊的。 (2)项目参与者之间存在通讯鸿沟。 (3)预先定义的需求可能是过时的。
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
3 软件开发方法概述
二、 结构化软件开发方法 2)结构化设计(SD)步骤 首先研究、分析和审查数据流图。从软件的需求 规格说明中弄清数据流加工的过程。 然后根据数据流图决定问题的类型。 由数据流图推导出系统的初始结构图。 优化软件结构。 描述模块接口。 修改和补充数据词典。 制定测试计划。
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
传统方法学的缺点(2)
2)SA - SD - SP 技术的缺点 本质上是功能分解,以实现功能的过程为 中心,而用户的需求变化主要是针对功能 的。这就使基于过程的设计不易被理解;且 功能变化往往引起结构变化较大,稳定性不 好。 • 系统有明确的边界定义,且系统结构依赖于 系统边界的定义,系统不易扩充和修改。 • 数据与操作分开处理,可造成软构件对具体 应用环境的依赖,可重用性(reusability)较差.
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
传统方法学的缺点
传统的生命周期方法学的本质,是通过需 求分析预定义软件需求,然后一个阶段接着一 个阶段有条不紊的开发用户所要求的软件,实 现预定义的软件需求。 虽然生命周期方法较之传统的软件开发 方法更为规范化,对实现软件开发工程化起到 了重要的促进作用,部分缓解了软件危机,引 起了软件开发原理的一次重大变革。 但是,对于那些大的复杂的软件系统而 言,这种方法仍然显得力不从心。
统一建模语言
第一章
面向对象与软件建模概述
舒新峰 shuxf@xupt.edu.cn 西安邮电学院计算机学院
课 程 简 介
课程名称:统一建模语言 教学方式:授课 + 讨论 课时安排: 48 考试类别:院考
教材:《UML与模式应用(Applying UML and Patterns)》,Craig Larman,机械工业出版社,3rd Edition 参考资料:
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
(2)增量模型
先完成一个系统子集的开发,再按同样的 开发步骤增加功能 (系统子集),如此递增下去 直至满足全部系统需求。 系统的总体设计在初始子集设计阶段就应 作出设想。
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
(1)瀑布模型
定义 阶段
可行性研究与计划 需求分析
开 发 阶 段 维护阶段
设计 编码 测试 运行维护
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
(1)瀑布模型——特点
1. 顺序性和依赖性
1)前结束,后开始; 2)前输出,为后输入。
1) 面向对象思想的由来(续)
对象 表示现实世界中某个具体的事物。 事物 可分为两大部分 : 物质 : 表达具体的事物 意识 : 描述抽象的概念
解决问题方法:(OO Object-Oriented) 现实问题空间 物质 意识 面向对象解空间 对象(客观存在的) 类 (抽象的概念)
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
西安邮电学院计算机学院 舒新峰 shuxf@xupt.edu.cn
2 生存周期和开发模型的演变
一、软件生命周期
定义时期 问题 定义 可行 性研 究 需求 分析 总体 设计 (系统 分析) 开发时期 详细 设计 (系统 设计) 编码 测试 运行 维护
主要文档: 可行性研究报告、开 发实施计划、 软件需求说明书、初 步用户手册、 确认测试计划
(3)原型模型——使用条件
原型模型也是通过系统各个可执行的中间版本 以渐增的形式来开发系统的,但是客户需求可 以分步逐渐了解,不用在初始时就确定。 在模型中,可以预先定义一部分客户需求,然 后在每个后继的中间版本中再逐步增加需求, 一点点完善。 在开发每个中间版本时,开发过程中的活动和 任务可以顺序地或部分重叠平行地被加入到这 些中间版本中。
文档推荐
面向对象技术概述
页数:27
面向对象程序设计概述
页数:5
面向对象方法学概述资料
页数:5
面向对象技术课程设计[2017]
页数:4
OOP技术:面向对象技术
页数:20
面向对象技术与UML
页数:35
面向对象系统分析和设计概述【研究生计算机高级面向对象技术课程PPT】
页数:150
什么是面向对象技术
页数:17
面向对象技术试题
页数:5
第1章面向对象技术概述
页数:24
最新文档
学习工作简历范文
浅析高速铁路的技术经济优势
读《高效教学技能十项修炼》后心得体会
脑外科实习自我鉴定
预制预应力综合管廊受力性能试验研究_胡翔
《经济地理学》复习思考题答案
选择题题型(1)等值线
深圳昆仑治疗男性疾病工作流程图集
从艺术青年到高端摄影创业者
(赛课课件)一年级下册美术《小小钟表店》