课件—UML系统建模与分析设计(1).ppt_第1页
课件—UML系统建模与分析设计(1).ppt_第2页
课件—UML系统建模与分析设计(1).ppt_第3页
课件—UML系统建模与分析设计(1).ppt_第4页
课件—UML系统建模与分析设计(1).ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、UML系统建模与分析设计,1,UML系统建模 与分析设计系列,火龙果软件整理 2014-11-07,2020/9/28,UML系统建模与分析设计,2,UML系统建模与分析设计,理解软件的基本概念和特点 了解软件的发展过程及软件开发过程 了解软件开发的方法 掌握面向对象技术的基本概念及开发过程 了解几种典型的面向对象方法,本章目的:,第一章 系统建模与分析设计技术的演变,2020/9/28,UML系统建模与分析设计,3,什么是UML?,UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它溶入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求

2、分析开始的软件开发的全过程。,2020/9/28,UML系统建模与分析设计,4,1.1 软件的概念、特点和分类,1现代软件的概念和特点 软件:是人们对客观世界中问题空间和解空间的具体描述,是客观事物的一种反映,是知识的提炼和“固化” 特点: (1)软件规模大。 (2)软件开发规范并趋于标准化。 (3)软件开发方法多,有大量的软件工具支持。 (4)注重软件开发的管理。 (5)软件维护相对过去容易得多。,2020/9/28,UML系统建模与分析设计,5,2软件的分类 (1)按软件的功能划分 系统软件。 支撑软件。 应用软件。 (2)按软件的规模划分 微型软件。 小型软件。 中型软件。 大型甚至超大

3、型软件。 (3)按软件工作方式划分 实时处理软件。 分时软件。 交互式软件。 批处理软件。,2020/9/28,UML系统建模与分析设计,6,(4)按软件服务对象的范围划分 项目软件。 产品软件。 (5)按使用的频度划分 一次性使用软件。 使用频度较高的软件。 (6)按软件失效的影响程度划分 一般性软件。 关键性软件。,2020/9/28,UML系统建模与分析设计,7,1.2软件的发展与软件工程,软件工程的指导性原则: 变动的软件需求。 稳妥的设计方法。 高效的软件开发支持技术。 有效的过程管理。 软件工程具有里程碑意义的进展: 结构化软件开发方法的工具。 计算机辅助软件工程(CASE)。 面

4、向对象语言和方法成为主流的软件开发技术。,2020/9/28,UML系统建模与分析设计,8,1.3 软件开发模型的演变和生存周期,1.3.1 软件开发过程与模型的演变 1. 瀑布模型(waterfall model),2020/9/28,UML系统建模与分析设计,9,1.3 软件开发模型的演变和生存周期,(1)慎重使用瀑布模型的情况: 不能充分理解客户需求或客户需求有可能迅速发生化; 系统太大太复杂,不能一次做完所有的事; 事先拟采用的技术迅速发生变化; 提供的资源有限; 无法利用各开发阶段的某一中间产品。,2020/9/28,UML系统建模与分析设计,10,(2)使用瀑布模型的情况: 系统所

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

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

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

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

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

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

11、.4.2 模块化软件开发方法 (1)模块可分解性。 (2)模块可组装性。 (3)模块可理解性。 (4)模块连续性。 (5)模块保护。,2020/9/28,UML系统建模与分析设计,26,1.4.3 面向数据结构软件开发方法 1建立JSD的系统进程模型 2JSD方法的步骤 (1)JSD需求分析步骤 标识系统中的实体与相应动作; 生成实体结构图; 初建系统模型。 (2)JSD系统设计步骤 扩充功能过程。 系统定时。 系统实现。,2020/9/28,UML系统建模与分析设计,27,面向数据结构的开发方法的特点: 将分析结果作为设计基础,无明显分界; 都必须标识关键实体和动作; 信息具有层次性; 提供

12、一组将层次化的数据结构映射到程序结构的步骤; 数据结构由顺序、选择和重复3种构造成分表示。,2020/9/28,UML系统建模与分析设计,28,1.4.4 面向对象软件开发方法 面向对象方法的意义: (1)一种新的思考方式。 (2)将数据和行为结合成为对象。 (3)核心是封装。 (4)面向对象方法建立的基础是: 软件工程概念; 计算机科学概念; 工程管理; 数据库信息模型; 传统软件开发方法。,2020/9/28,UML系统建模与分析设计,29,面向对象方法有几十种,综合起来,其基本观点如下: 现实客观世界由对象组成。 相同的对象归并为类。 类可以继承。 对象之间通过消息进行联系。 面向对象

13、= 对象 + 类 + 继承 + 通信,2020/9/28,UML系统建模与分析设计,30,1.4.5 软件开发方法的评价与选择 综合考虑以下几方面因素: 人员素质。 时间进度。 掌握资源。 可行性。 领域知识。 从四个方面评价: 技术特征。 使用特征。 管理特征。 经济特征。,2020/9/28,UML系统建模与分析设计,31,1.5 面向对象软件开发方法简介,特点: (1)使人们更好地认识客观世界 (2)能很好地适应需求变化 (3)容易实现软件复用 (4)系统易于维护和修改,2020/9/28,UML系统建模与分析设计,32,1.5.1 面向对象的基本概念 封装性、继承性和多态性。 1. 对

14、象 客观世界中的实体抽象为问题空间中的对象。 2. 对象的抽象类 把具有相同特征和行为的对象归在一起就形成了类(Class)。,2020/9/28,UML系统建模与分析设计,33,2020/9/28,UML系统建模与分析设计,34,3. 信息隐蔽和局部化封装 4. 继承与派生,2020/9/28,UML系统建模与分析设计,35,5. 对象之间的联系纽带消息,2020/9/28,UML系统建模与分析设计,36,6. 多态性 多态性(Polymorphism)是指同一个消息为不同的对象接收时,可产生不同的动作或执行结果。,2020/9/28,UML系统建模与分析设计,37,1.5.2 面向对象系统

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论