1 / 41

UML 系统建模 与分析设计

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

Download Presentation

UML 系统建模 与分析设计

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UML系统建模 与分析设计 UML系统建模与分析设计

  2. 第一章系统建模与分析设计技术的演变 本章目的: • 理解软件的基本概念和特点 • 了解软件的发展过程及软件开发过程 • 了解软件开发的方法 • 掌握面向对象技术的基本概念及开发过程 • 了解几种典型的面向对象方法 UML系统建模与分析设计

  3. 1.1 软件的概念、特点和分类 1.现代软件的概念和特点 (1)软件规模大。 (2)软件开发规范并趋于标准化。 (3)软件开发方法多,有大量的软件工具持。 (4)注重软件开发的管理。 (5)软件维护相对过去容易得多。 UML系统建模与分析设计

  4. 2.软件的分类 (1)按软件的功能划分 系统软件。 支撑软件。 应用软件。 (2)按软件的规模划分 微型软件。 小型软件。 中型软件。 大型甚至超大型软件。 (3)按软件工作方式划分 实时处理软件。 分时软件。 交互式软件。 批处理软件。 UML系统建模与分析设计

  5. (4)按软件服务对象的范围划分 项目软件。 产品软件。 (5)按使用的频度划分 一次性使用软件。 使用频度较高的软件。 (6)按软件失效的影响程度划分 一般性软件。 关键性软件。 UML系统建模与分析设计

  6. 1.2 软件的发展与软件工程 软件工程的指导性原则: 变动的软件需求。 稳妥的设计方法。 高效的软件开发支持技术。 有效的过程管理。 软件工程具有里程碑意义的进展: 结构化软件开发方法的工具。 计算机辅助软件工程(CASE)。 面向对象语言和方法成为主流的软件开发技术。 UML系统建模与分析设计

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

  8. (2)使用瀑布模型的情况: • 系统所有的功能、性能要求客户可以一次性准确交付时; • 必须是首次开发的新系统并且淘汰全部老系统时。 2. 渐增模型(incremental model) (1)慎重考虑使用渐增模型的情况: • 不能充分理解客户需求或客户需求有可能迅速发生变化; • 事先拟采用的技术迅速发生变化; • 客户突然提出一些新的功能需求; • 长时期内仅有有限的资源保证(开发人员和资金)。 UML系统建模与分析设计

  9. 使用渐增模型的情况: • 需要在尽短的时间内得到系统基本功能的演示或使用; • 各版本都有中间阶段产品可提供使用; • 系统可以被自然地分割成渐增的模式; • 开发人员与资金可以逐步增加。 UML系统建模与分析设计

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

  11. UML系统建模与分析设计

  12. 4. 螺旋模型(spiral model) 螺旋模型的四类活动: • 制定计划。 • 风险分析。 • 实施开发。 • 客户评估。 UML系统建模与分析设计

  13. 5 . 智能模型(intelligent model) UML系统建模与分析设计

  14. 1.3.2 软件开发模型的选择 要综合考虑以下几个因素: (1)软件规模 (2)软件类型 • 系统软件的开发。 • 实时软件的开发。 • 商业应用软件的开发。 • 嵌入式软件的开发。 • 人工智能软件的开发。 UML系统建模与分析设计

  15. (3)软件质量要求 (4)交付工期 (5)客户需求明确度 (6)投资 (7)可复用性 (8)开发者掌握的资源 UML系统建模与分析设计

  16. 1.3.3 软件生存周期 UML系统建模与分析设计

  17. 1.软件定义 (1)软件系统的可行性研究 1)经济可行性研究。 2)技术可行性研究。 3)法律可行性研究。 4)方案的选择。 (2)需求分析 1)任务。 软件功能需求: 软件性能需求: 软件系统运行环境: 2)按需求建模。 3)软件需求规格说明(Software Requirements Specification,简称SRS)。 UML系统建模与分析设计

  18. 2.软件开发 (1)概要设计 建立系统总体结构和各模块之间的关系; 定义各个功能摸块的接口; 设计全局数据库或数据结构; 规定设计约束; 制定组装测试计划。 (2)详细设计 对概要设计进行细化; 建立文档资料。 UML系统建模与分析设计

  19. (3)实现 选择合适的编程语言; 制定测试案例; 保存文档资料。 (4)组装测试 (5)确认测试 3.软件使用、维护和更新换代 (1)软件使用 (2)系统维护 (3)系统更新换代 UML系统建模与分析设计

  20. 1.4 软件开发方法简介 1. 结构化程序设计方法 其控制结构仅由顺序、选择与重复等有限的基本控制结构表示。 2. 模块化程序设计方法 模块之间的接口应尽可能简明清晰: 单独模块的修改不影响其它模块的功能; 模块化应具有可修改性、易读性和可验证性。 3. 面向对象程序设计方法 UML系统建模与分析设计

  21. 1.4.1 结构化软件开发方法 1.结构化分析的步骤 构造数据流模型。 构建控制流模型。 生成数据字典(DD)。 生成可选方案,建立需求规约。 UML系统建模与分析设计

  22. 2.结构化设计步骤 • 首先研究、分析和审查数据流图。从软件的需求规格说明中弄清数据流加工的过程。 • 然后根据数据流图决定问题的类型。 • 由数据流图推导出系统的初始结构图。 • 优化软件结构。 • 描述模块接口。 • 修改和补充数据词典。 • 制定测试计划。 UML系统建模与分析设计

  23. 1.4.2 模块化软件开发方法 (1)模块可分解性。 (2)模块可组装性。 (3)模块可理解性。 (4)模块连续性。 (5)模块保护。 UML系统建模与分析设计

  24. 1.4.3 面向数据结构软件开发方法 1.建立JSD的系统进程模型 2.JSD方法的步骤 (1)JSD需求分析步骤 标识系统中的实体与相应动作; 生成实体结构图; 初建系统模型。 (2)JSD系统设计步骤 扩充功能过程。 系统定时。 系统实现。 UML系统建模与分析设计

  25. 面向数据结构的开发方法的特点: • 将分析结果作为设计基础,无明显分界; • 都必须标识关键实体和动作; • 信息具有层次性; • 提供一组将层次化的数据结构映射到程序结构的步骤; • 数据结构由顺序、选择和重复3种构造成分表示。 UML系统建模与分析设计

  26. 1.4.4 面向对象软件开发方法 面向对象方法的意义: (1)一种新的思考方式。 (2)将数据和行为结合成为对象。 (3)核心是封装。 (4)面向对象方法建立的基础是: • 软件工程概念; • 计算机科学概念; • 工程管理; • 数据库信息模型; • 传统软件开发方法。 UML系统建模与分析设计

  27. 面向对象方法有几十种,综合起来,其基本观点如下:面向对象方法有几十种,综合起来,其基本观点如下: • 现实客观世界由对象组成。 • 相同的对象归并为类。 • 类可以继承。 • 对象之间通过消息进行联系。 面向对象 = 对象 + 类 + 继承 + 通信 UML系统建模与分析设计

  28. 1.4.5 软件开发方法的评价与选择 综合考虑以下几方面因素: • 人员素质。 • 时间进度。 • 掌握资源。 • 可行性。 • 领域知识。 从四个方面评价: • 技术特征。 • 使用特征。 • 管理特征。 • 经济特征。 UML系统建模与分析设计

  29. 1.5 面向对象软件开发方法简介 特点: (1)使人们更好地认识客观世界 (2)能很好地适应需求变化 (3)容易实现软件复用 (4)系统易于维护和修改 UML系统建模与分析设计

  30. 1.5.1 面向对象的基本概念 封装性、继承性和多态性。 1. 对象 客观世界中的实体抽象为问题空间中的对象。 2. 对象的抽象——类 把具有相同特征和行为的对象归在一起就形成了类(Class)。 UML系统建模与分析设计

  31. UML系统建模与分析设计

  32. 3. 信息隐蔽和局部化——封装 4. 继承与派生 UML系统建模与分析设计

  33. 5. 对象之间的联系纽带——消息 UML系统建模与分析设计

  34. 6. 多态性 多态性(Polymorphism)是指同一个消息为不同的对象接收时,可产生不同的动作或执行结果。 UML系统建模与分析设计

  35. 1.5.2 面向对象系统开发过程 UML系统建模与分析设计

  36. (1)需求分析阶段。 (2)系统分析阶段。 (3)系统设计阶段。 (4)系统实现、测试、使用、维护阶段。 UML系统建模与分析设计

  37. 1.5.3 几种典型的面向对象方法简介 1.Booch面向对象方法 (1)Booch 方法的基本开发模型 开发模型包括逻辑模型、物理模型、静态模型和动态模型。 (2)Booch方法的一般过程 开发过程分为技术层和管理层开发。 1)系统技术层开发步骤 发现类与对象。 确定类和对象的语义。 标识类和对象间的关系。 UML系统建模与分析设计

  38. 2)系统管理层开发步骤 强调团队技术管理。 明确用户关键需求。 建立系统分析模型。 完善设计系统结构。 系统实现。 软件交付。 2.Jacobson的面向对象方法 (1)建立面向对象分析模型的过程 1)建造用户需求模型。 2)建造系统分析模型。 UML系统建模与分析设计

  39. (2)建立面向对象设计模型的过程 1)创建模块作为主要的设计对象。 2)创建一个显示激励如何在模块间传送的交互图。 3)把模块组织成子系统。 4)复审设计工作。 3.Coad-Yourdon的面向对象方法论 (1)面向对象分析(OOA)步骤 类及对象层。 结构层。 主题层。 属性层。 服务层。 (2)面向对象设计(OOD)步骤 UML系统建模与分析设计

  40. 4.James Rumbaugh的面向对象方法 (1)对象模型。 (2)动态模型。 (3)功能模型。 UML系统建模与分析设计

  41. 1.6 本章小结 UML系统建模与分析设计

More Related