收藏 分享(赏)

课件—UML系统建模与分析设计(1).ppt

上传人:buyk185 文档编号:8024610 上传时间:2019-06-04 格式:PPT 页数:41 大小:1.52MB
下载 相关 举报
课件—UML系统建模与分析设计(1).ppt_第1页
第1页 / 共41页
课件—UML系统建模与分析设计(1).ppt_第2页
第2页 / 共41页
课件—UML系统建模与分析设计(1).ppt_第3页
第3页 / 共41页
课件—UML系统建模与分析设计(1).ppt_第4页
第4页 / 共41页
课件—UML系统建模与分析设计(1).ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、2019/6/4,UML系统建模与分析设计,1,UML系统建模 与分析设计,刁成嘉 编著2007年9月,课件,2019/6/4,UML系统建模与分析设计,2,第一章 系统建模与分析设计技术的演变,本章目的: 理解软件的基本概念和特点 了解软件的发展过程及软件开发过程 了解软件开发的方法 掌握面向对象技术的基本概念及开发过程 了解几种典型的面向对象方法,2019/6/4,UML系统建模与分析设计,3,1.1 软件的概念、特点和分类,1现代软件的概念和特点(1)软件规模大。(2)软件开发规范并趋于标准化。(3)软件开发方法多,有大量的软件工具持。(4)注重软件开发的管理。(5)软件维护相对过去容易

2、得多。,2019/6/4,UML系统建模与分析设计,4,2软件的分类 (1)按软件的功能划分系统软件。支撑软件。应用软件。 (2)按软件的规模划分微型软件。小型软件。中型软件。大型甚至超大型软件。 (3)按软件工作方式划分实时处理软件。分时软件。交互式软件。批处理软件。,2019/6/4,UML系统建模与分析设计,5,(4)按软件服务对象的范围划分项目软件。产品软件。 (5)按使用的频度划分一次性使用软件。使用频度较高的软件。 (6)按软件失效的影响程度划分一般性软件。关键性软件。,2019/6/4,UML系统建模与分析设计,6,1.2 软件的发展与软件工程,软件工程的指导性原则:变动的软件需

3、求。稳妥的设计方法。高效的软件开发支持技术。有效的过程管理。软件工程具有里程碑意义的进展:结构化软件开发方法的工具。计算机辅助软件工程(CASE)。面向对象语言和方法成为主流的软件开发技术。,2019/6/4,UML系统建模与分析设计,7,1.3 软件开发模型的演变和生存周期,1.3.1 软件开发过程与模型的演变1. 瀑布模型(waterfall model) (1)慎重使用瀑布模型的情况: 不能充分理解客户需求或客户需求有可能迅速发生化; 系统太大太复杂,不能一次做完所有的事; 事先拟采用的技术迅速发生变化; 提供的资源有限; 无法利用各开发阶段的某一中间产品。,2019/6/4,UML系统

4、建模与分析设计,8,(2)使用瀑布模型的情况: 系统所有的功能、性能要求客户可以一次性准确交付时; 必须是首次开发的新系统并且淘汰全部老系统时。2. 渐增模型(incremental model) (1)慎重考虑使用渐增模型的情况: 不能充分理解客户需求或客户需求有可能迅速发生变化; 事先拟采用的技术迅速发生变化; 客户突然提出一些新的功能需求; 长时期内仅有有限的资源保证(开发人员和资金)。,2019/6/4,UML系统建模与分析设计,9,使用渐增模型的情况: 需要在尽短的时间内得到系统基本功能的演示或使用; 各版本都有中间阶段产品可提供使用; 系统可以被自然地分割成渐增的模式; 开发人员与

5、资金可以逐步增加。,2019/6/4,UML系统建模与分析设计,10,3. 演化模型(evolutionary model)演化模型也称为原型(prototype)法模型。使用演化模型时应注意: 演化模型也是通过系统各个可执行的中间版本以渐增的形式来开发系统的,但是客户需求可以分步逐渐了解,不用在初始时就确定。 在模型中,可以预先定义一部分客户需求,然后在每个后继的中间版本中再逐步增加需求,一点点完善。 在开发每个中间版本时,开发过程中的活动和任务可以顺序地或部分重叠平行地被加入到这些中间版本中。,2019/6/4,UML系统建模与分析设计,11,2019/6/4,UML系统建模与分析设计,1

6、2,4. 螺旋模型(spiral model) 螺旋模型的四类活动: 制定计划。 风险分析。 实施开发。 客户评估。,2019/6/4,UML系统建模与分析设计,13,5 . 智能模型(intelligent model),2019/6/4,UML系统建模与分析设计,14,1.3.2 软件开发模型的选择要综合考虑以下几个因素: (1)软件规模(2)软件类型 系统软件的开发。 实时软件的开发。 商业应用软件的开发。 嵌入式软件的开发。 人工智能软件的开发。,2019/6/4,UML系统建模与分析设计,15,(3)软件质量要求 (4)交付工期 (5)客户需求明确度 (6)投资 (7)可复用性 (8

7、)开发者掌握的资源,2019/6/4,UML系统建模与分析设计,16,1.3.3 软件生存周期,2019/6/4,UML系统建模与分析设计,17,软件定义(1)软件系统的可行性研究1)经济可行性研究。2)技术可行性研究。3)法律可行性研究。4)方案的选择。(2)需求分析1)任务。 软件功能需求: 软件性能需求: 软件系统运行环境: 2)按需求建模。3)软件需求规格说明(Software Requirements Specification,简称SRS)。,2019/6/4,UML系统建模与分析设计,18,软件开发(1)概要设计建立系统总体结构和各模块之间的关系;定义各个功能摸块的接口;设计全局

8、数据库或数据结构;规定设计约束;制定组装测试计划。(2)详细设计对概要设计进行细化;建立文档资料。,2019/6/4,UML系统建模与分析设计,19,(3)实现选择合适的编程语言;制定测试案例;保存文档资料。(4)组装测试(5)确认测试 3软件使用、维护和更新换代(1)软件使用(2)系统维护(3)系统更新换代,2019/6/4,UML系统建模与分析设计,20,1.4 软件开发方法简介,1. 结构化程序设计方法其控制结构仅由顺序、选择与重复等有限的基本控制结构表示。 2. 模块化程序设计方法模块之间的接口应尽可能简明清晰:单独模块的修改不影响其它模块的功能;模块化应具有可修改性、易读性和可验证性

9、。 3. 面向对象程序设计方法,2019/6/4,UML系统建模与分析设计,21,1.4.1 结构化软件开发方法1结构化分析的步骤构造数据流模型。构建控制流模型。生成数据字典(DD)。生成可选方案,建立需求规约。,2019/6/4,UML系统建模与分析设计,22,2结构化设计步骤首先研究、分析和审查数据流图。从软件的需求规格说明中弄清数据流加工的过程。 然后根据数据流图决定问题的类型。 由数据流图推导出系统的初始结构图。 优化软件结构。 描述模块接口。 修改和补充数据词典。 制定测试计划。,2019/6/4,UML系统建模与分析设计,23,1.4.2 模块化软件开发方法(1)模块可分解性。(2

10、)模块可组装性。(3)模块可理解性。(4)模块连续性。(5)模块保护。,2019/6/4,UML系统建模与分析设计,24,1.4.3 面向数据结构软件开发方法1建立JSD的系统进程模型2JSD方法的步骤(1)JSD需求分析步骤标识系统中的实体与相应动作;生成实体结构图;初建系统模型。(2)JSD系统设计步骤扩充功能过程。系统定时。系统实现。,2019/6/4,UML系统建模与分析设计,25,面向数据结构的开发方法的特点:将分析结果作为设计基础,无明显分界; 都必须标识关键实体和动作; 信息具有层次性; 提供一组将层次化的数据结构映射到程序结构的步骤; 数据结构由顺序、选择和重复3种构造成分表示

11、。,2019/6/4,UML系统建模与分析设计,26,1.4.4 面向对象软件开发方法面向对象方法的意义:(1)一种新的思考方式。(2)将数据和行为结合成为对象。(3)核心是封装。(4)面向对象方法建立的基础是: 软件工程概念; 计算机科学概念; 工程管理; 数据库信息模型; 传统软件开发方法。,2019/6/4,UML系统建模与分析设计,27,面向对象方法有几十种,综合起来,其基本观点如下: 现实客观世界由对象组成。 相同的对象归并为类。 类可以继承。 对象之间通过消息进行联系。面向对象 = 对象 + 类 + 继承 + 通信,2019/6/4,UML系统建模与分析设计,28,1.4.5 软件

12、开发方法的评价与选择综合考虑以下几方面因素: 人员素质。 时间进度。 掌握资源。 可行性。 领域知识。从四个方面评价: 技术特征。 使用特征。 管理特征。 经济特征。,2019/6/4,UML系统建模与分析设计,29,1.5 面向对象软件开发方法简介,特点:(1)使人们更好地认识客观世界(2)能很好地适应需求变化(3)容易实现软件复用(4)系统易于维护和修改,2019/6/4,UML系统建模与分析设计,30,1.5.1 面向对象的基本概念封装性、继承性和多态性。1. 对象客观世界中的实体抽象为问题空间中的对象。2. 对象的抽象类把具有相同特征和行为的对象归在一起就形成了类(Class)。,20

13、19/6/4,UML系统建模与分析设计,31,2019/6/4,UML系统建模与分析设计,32,3. 信息隐蔽和局部化封装 4. 继承与派生,2019/6/4,UML系统建模与分析设计,33,5. 对象之间的联系纽带消息,2019/6/4,UML系统建模与分析设计,34,6. 多态性多态性(Polymorphism)是指同一个消息为不同的对象接收时,可产生不同的动作或执行结果。,2019/6/4,UML系统建模与分析设计,35,1.5.2 面向对象系统开发过程,2019/6/4,UML系统建模与分析设计,36,(1)需求分析阶段。(2)系统分析阶段。(3)系统设计阶段。(4)系统实现、测试、使

14、用、维护阶段。,2019/6/4,UML系统建模与分析设计,37,1.5.3 几种典型的面向对象方法简介1Booch面向对象方法(1)Booch 方法的基本开发模型开发模型包括逻辑模型、物理模型、静态模型和动态模型。(2)Booch方法的一般过程开发过程分为技术层和管理层开发。1)系统技术层开发步骤发现类与对象。确定类和对象的语义。标识类和对象间的关系。,2019/6/4,UML系统建模与分析设计,38,2)系统管理层开发步骤强调团队技术管理。明确用户关键需求。建立系统分析模型。完善设计系统结构。系统实现。软件交付。 2Jacobson的面向对象方法(1)建立面向对象分析模型的过程1)建造用户

15、需求模型。2)建造系统分析模型。,2019/6/4,UML系统建模与分析设计,39,(2)建立面向对象设计模型的过程1)创建模块作为主要的设计对象。2)创建一个显示激励如何在模块间传送的交互图。3)把模块组织成子系统。4)复审设计工作。3Coad-Yourdon的面向对象方法论(1)面向对象分析(OOA)步骤类及对象层。结构层。主题层。属性层。服务层。(2)面向对象设计(OOD)步骤,2019/6/4,UML系统建模与分析设计,40,4James Rumbaugh的面向对象方法(1)对象模型。(2)动态模型。(3)功能模型。,2019/6/4,UML系统建模与分析设计,41,1.6 本章小结,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报