UML系统建模与分析设计课件_第1页
UML系统建模与分析设计课件_第2页
UML系统建模与分析设计课件_第3页
UML系统建模与分析设计课件_第4页
UML系统建模与分析设计课件_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

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

文档简介

UML系统建模

与分析设计刁成嘉编著2007年9月课件2023/1/11UML系统建模与分析设计UML系统建模

与分析设计刁成嘉编著课件20第一章

系统建模与分析设计技术的演变

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

系统建模与分析设计技术的演变2022/12/2721.1软件的概念、特点和分类1.现代软件的概念和特点(1)软件规模大。(2)软件开发规范并趋于标准化。(3)软件开发方法多,有大量的软件工具持。(4)注重软件开发的管理。(5)软件维护相对过去容易得多。2023/1/13UML系统建模与分析设计1.1软件的概念、特点和分类1.现代软件的概念和特点202.软件的分类(1)按软件的功能划分系统软件。支撑软件。应用软件。(2)按软件的规模划分微型软件。小型软件。中型软件。大型甚至超大型软件。(3)按软件工作方式划分实时处理软件。分时软件。交互式软件。批处理软件。2023/1/14UML系统建模与分析设计2.软件的分类2022/12/274UML系统建模与分析设计(4)按软件服务对象的范围划分项目软件。 产品软件。(5)按使用的频度划分 一次性使用软件。 使用频度较高的软件。(6)按软件失效的影响程度划分 一般性软件。 关键性软件。2023/1/15UML系统建模与分析设计(4)按软件服务对象的范围划分2022/12/275UML系1.2软件的发展与软件工程软件工程的指导性原则:

变动的软件需求。 稳妥的设计方法。 高效的软件开发支持技术。 有效的过程管理。软件工程具有里程碑意义的进展:

结构化软件开发方法的工具。 计算机辅助软件工程(CASE)。 面向对象语言和方法成为主流的软件开发技术。2023/1/16UML系统建模与分析设计1.2软件的发展与软件工程软件工程的指导性原则:2022/1.3软件开发模型的演变和生存周期1.3.1软件开发过程与模型的演变1.瀑布模型(waterfallmodel)(1)慎重使用瀑布模型的情况:不能充分理解客户需求或客户需求有可能迅速发生化;系统太大太复杂,不能一次做完所有的事;事先拟采用的技术迅速发生变化;提供的资源有限;无法利用各开发阶段的某一中间产品。2023/1/17UML系统建模与分析设计1.3软件开发模型的演变和生存周期1.3.1软件开发(2)使用瀑布模型的情况:系统所有的功能、性能要求客户可以一次性准确交付时;必须是首次开发的新系统并且淘汰全部老系统时。2.渐增模型(incrementalmodel)(1)慎重考虑使用渐增模型的情况:不能充分理解客户需求或客户需求有可能迅速发生变化;事先拟采用的技术迅速发生变化;客户突然提出一些新的功能需求;长时期内仅有有限的资源保证(开发人员和资金)。2023/1/18UML系统建模与分析设计(2)使用瀑布模型的情况:2022/12/278UML系统建使用渐增模型的情况:需要在尽短的时间内得到系统基本功能的演示或使用;各版本都有中间阶段产品可提供使用;系统可以被自然地分割成渐增的模式;开发人员与资金可以逐步增加。2023/1/19UML系统建模与分析设计使用渐增模型的情况:2022/12/279UML系统建模与分3.演化模型(evolutionarymodel) 演化模型也称为原型(prototype)法模型。使用演化模型时应注意:演化模型也是通过系统各个可执行的中间版本以渐增的形式来开发系统的,但是客户需求可以分步逐渐了解,不用在初始时就确定。在模型中,可以预先定义一部分客户需求,然后在每个后继的中间版本中再逐步增加需求,一点点完善。在开发每个中间版本时,开发过程中的活动和任务可以顺序地或部分重叠平行地被加入到这些中间版本中。2023/1/110UML系统建模与分析设计3.演化模型(evolutionarymodel)2022023/1/111UML系统建模与分析设计2022/12/2711UML系统建模与分析设计4.螺旋模型(spiralmodel)螺旋模型的四类活动:制定计划。风险分析。实施开发。客户评估。2023/1/112UML系统建模与分析设计4.螺旋模型(spiralmodel)2022/12/25.智能模型(intelligentmodel)2023/1/113UML系统建模与分析设计5.智能模型(intelligentmodel)2021.3.2软件开发模型的选择要综合考虑以下几个因素:(1)软件规模(2)软件类型系统软件的开发。实时软件的开发。商业应用软件的开发。嵌入式软件的开发。人工智能软件的开发。2023/1/114UML系统建模与分析设计1.3.2软件开发模型的选择2022/12/2714UM(3)软件质量要求(4)交付工期(5)客户需求明确度(6)投资(7)可复用性(8)开发者掌握的资源2023/1/115UML系统建模与分析设计2022/12/2715UML系统建模与分析设计1.3.3软件生存周期2023/1/116UML系统建模与分析设计1.3.3软件生存周期2022/12/2716UML系统1.软件定义 (1)软件系统的可行性研究 1)经济可行性研究。 2)技术可行性研究。 3)法律可行性研究。 4)方案的选择。 (2)需求分析 1)任务。 软件功能需求: 软件性能需求: 软件系统运行环境: 2)按需求建模。 3)软件需求规格说明(SoftwareRequirementsSpecification,简称SRS)。2023/1/117UML系统建模与分析设计1.软件定义2022/12/2717UML系统建模与分析设计2.软件开发 (1)概要设计 建立系统总体结构和各模块之间的关系; 定义各个功能摸块的接口; 设计全局数据库或数据结构; 规定设计约束; 制定组装测试计划。 (2)详细设计 对概要设计进行细化; 建立文档资料。2023/1/118UML系统建模与分析设计2.软件开发2022/12/2718UML系统建模与分析设计

(3)实现 选择合适的编程语言; 制定测试案例; 保存文档资料。 (4)组装测试 (5)确认测试3.软件使用、维护和更新换代 (1)软件使用 (2)系统维护 (3)系统更新换代2023/1/119UML系统建模与分析设计 (3)实现2022/12/2719UML系统建模与分析设计1.4软件开发方法简介1.结构化程序设计方法 其控制结构仅由顺序、选择与重复等有限的基本控制结构表示。2.模块化程序设计方法 模块之间的接口应尽可能简明清晰: 单独模块的修改不影响其它模块的功能; 模块化应具有可修改性、易读性和可验证性。3.面向对象程序设计方法2023/1/120UML系统建模与分析设计1.4软件开发方法简介1.结构化程序设计方法2022/1.4.1结构化软件开发方法 1.结构化分析的步骤 构造数据流模型。 构建控制流模型。 生成数据字典(DD)。 生成可选方案,建立需求规约。2023/1/121UML系统建模与分析设计1.4.1结构化软件开发方法2022/12/2721UM2.结构化设计步骤首先研究、分析和审查数据流图。从软件的需求规格说明中弄清数据流加工的过程。然后根据数据流图决定问题的类型。由数据流图推导出系统的初始结构图。优化软件结构。描述模块接口。修改和补充数据词典。制定测试计划。2023/1/122UML系统建模与分析设计2.结构化设计步骤2022/12/2722UML系统建模与分1.4.2模块化软件开发方法 (1)模块可分解性。 (2)模块可组装性。 (3)模块可理解性。 (4)模块连续性。 (5)模块保护。2023/1/123UML系统建模与分析设计1.4.2模块化软件开发方法2022/12/2723UM1.4.3面向数据结构软件开发方法 1.建立JSD的系统进程模型 2.JSD方法的步骤 (1)JSD需求分析步骤 标识系统中的实体与相应动作; 生成实体结构图; 初建系统模型。 (2)JSD系统设计步骤 扩充功能过程。 系统定时。 系统实现。2023/1/124UML系统建模与分析设计1.4.3面向数据结构软件开发方法2022/12/272

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

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

面向对象方法有几十种,综合起来,其基本观点如下:现实客观世界由对象组成。相同的对象归并为类。类可以继承。对象之间通过消息进行联系。面向对象=对象+类+继承+通信2023/1/127UML系统建模与分析设计 面向对象方法有几十种,综合起来,其基本观点如下:2022/1.4.5软件开发方法的评价与选择综合考虑以下几方面因素:人员素质。时间进度。掌握资源。可行性。领域知识。从四个方面评价:技术特征。使用特征。管理特征。经济特征。2023/1/128UML系统建模与分析设计1.4.5软件开发方法的评价与选择2022/12/2721.5面向对象软件开发方法简介

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

2022/12/27291.5.1面向对象的基本概念 封装性、继承性和多态性。 1.对象 客观世界中的实体抽象为问题空间中的对象。 2.对象的抽象——类 把具有相同特征和行为的对象归在一起就形成了类(Class)。2023/1/130UML系统建模与分析设计1.5.1面向对象的基本概念2022/12/2730UM2023/1/131UML系统建模与分析设计2022/12/2731UML系统建模与分析设计3.信息隐蔽和局部化——封装4.继承与派生2023/1/132UML系统建模与分析设计3.信息隐蔽和局部化——封装2022/12/2732UM5.对象之间的联系纽带——消息2023/1/133UML系统建模与分析设计5.对象之间的联系纽带——消息2022/12/2733U6.多态性 多态性(Polymorphism)是指同一个消息为不同的对象接收时,可产生不同的动作或执行结果。2023/1/134UML系统建模与分析设计6.多态性2022/12/2734UML系统建模与分析设1.5.2面向对象系统开发过程2023/1/135UML系统建模与分析设计1.5.2面向对象系统开发过程2022/12/2735U

(1)需求分析阶段。 (2)系统分析阶段。 (3)系统设计阶段。 (4)系统实现、测试、使用、维护阶段。2023/1/136UML系统建模与分析设计 (1)需求分析阶段。2022/12/2736UML系统建模1.5.3几种典型的面向对象方法简介1.Booch面向对象方法 (1)Booch方法的基本开发模型 开发模型包括逻辑模型、物理模型、静态模型和动态模型。 (2)Booch方法的一般过程 开发过程分为技术层和管理层开发。 1)系统技术层开发步骤 发现类与对象。 确定类和对象的语义。 标识类和对象间的关系。2023/1/137UML系统建模与分析设计1.5.3几种典型的面向对象方法简介2022/12/27

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

2023/1/138UML系统建模与分析设计 2)系统管理层开发步骤2022/12/2738UML系统

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

(2)面向对象设计(OOD)步骤2023/1/139UML系统建模与分析设计 (2)建立面向对象设计模型的过程2022/12/2739U4.JamesRumbaugh的面向对象方法 (1)对象模型。 (2)动态模型。 (3)功能模型。2023/1/140UML系统建模与分析设计4.JamesRumbaugh的面向对象方法2022/121.6本章小结2023/1/141UML系统建模与分析设计1.6本章小结2022/12/2741UML系统建模与分UML系统建模

与分析设计刁成嘉编著2007年9月课件2023/1/142UML系统建模与分析设计UML系统建模

与分析设计刁成嘉编著课件20第一章

系统建模与分析设计技术的演变

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

系统建模与分析设计技术的演变2022/12/2721.1软件的概念、特点和分类1.现代软件的概念和特点(1)软件规模大。(2)软件开发规范并趋于标准化。(3)软件开发方法多,有大量的软件工具持。(4)注重软件开发的管理。(5)软件维护相对过去容易得多。2023/1/144UML系统建模与分析设计1.1软件的概念、特点和分类1.现代软件的概念和特点202.软件的分类(1)按软件的功能划分系统软件。支撑软件。应用软件。(2)按软件的规模划分微型软件。小型软件。中型软件。大型甚至超大型软件。(3)按软件工作方式划分实时处理软件。分时软件。交互式软件。批处理软件。2023/1/145UML系统建模与分析设计2.软件的分类2022/12/274UML系统建模与分析设计(4)按软件服务对象的范围划分项目软件。 产品软件。(5)按使用的频度划分 一次性使用软件。 使用频度较高的软件。(6)按软件失效的影响程度划分 一般性软件。 关键性软件。2023/1/146UML系统建模与分析设计(4)按软件服务对象的范围划分2022/12/275UML系1.2软件的发展与软件工程软件工程的指导性原则:

变动的软件需求。 稳妥的设计方法。 高效的软件开发支持技术。 有效的过程管理。软件工程具有里程碑意义的进展:

结构化软件开发方法的工具。 计算机辅助软件工程(CASE)。 面向对象语言和方法成为主流的软件开发技术。2023/1/147UML系统建模与分析设计1.2软件的发展与软件工程软件工程的指导性原则:2022/1.3软件开发模型的演变和生存周期1.3.1软件开发过程与模型的演变1.瀑布模型(waterfallmodel)(1)慎重使用瀑布模型的情况:不能充分理解客户需求或客户需求有可能迅速发生化;系统太大太复杂,不能一次做完所有的事;事先拟采用的技术迅速发生变化;提供的资源有限;无法利用各开发阶段的某一中间产品。2023/1/148UML系统建模与分析设计1.3软件开发模型的演变和生存周期1.3.1软件开发(2)使用瀑布模型的情况:系统所有的功能、性能要求客户可以一次性准确交付时;必须是首次开发的新系统并且淘汰全部老系统时。2.渐增模型(incrementalmodel)(1)慎重考虑使用渐增模型的情况:不能充分理解客户需求或客户需求有可能迅速发生变化;事先拟采用的技术迅速发生变化;客户突然提出一些新的功能需求;长时期内仅有有限的资源保证(开发人员和资金)。2023/1/149UML系统建模与分析设计(2)使用瀑布模型的情况:2022/12/278UML系统建使用渐增模型的情况:需要在尽短的时间内得到系统基本功能的演示或使用;各版本都有中间阶段产品可提供使用;系统可以被自然地分割成渐增的模式;开发人员与资金可以逐步增加。2023/1/150UML系统建模与分析设计使用渐增模型的情况:2022/12/279UML系统建模与分3.演化模型(evolutionarymodel) 演化模型也称为原型(prototype)法模型。使用演化模型时应注意:演化模型也是通过系统各个可执行的中间版本以渐增的形式来开发系统的,但是客户需求可以分步逐渐了解,不用在初始时就确定。在模型中,可以预先定义一部分客户需求,然后在每个后继的中间版本中再逐步增加需求,一点点完善。在开发每个中间版本时,开发过程中的活动和任务可以顺序地或部分重叠平行地被加入到这些中间版本中。2023/1/151UML系统建模与分析设计3.演化模型(evolutionarymodel)2022023/1/152UML系统建模与分析设计2022/12/2711UML系统建模与分析设计4.螺旋模型(spiralmodel)螺旋模型的四类活动:制定计划。风险分析。实施开发。客户评估。2023/1/153UML系统建模与分析设计4.螺旋模型(spiralmodel)2022/12/25.智能模型(intelligentmodel)2023/1/154UML系统建模与分析设计5.智能模型(intelligentmodel)2021.3.2软件开发模型的选择要综合考虑以下几个因素:(1)软件规模(2)软件类型系统软件的开发。实时软件的开发。商业应用软件的开发。嵌入式软件的开发。人工智能软件的开发。2023/1/155UML系统建模与分析设计1.3.2软件开发模型的选择2022/12/2714UM(3)软件质量要求(4)交付工期(5)客户需求明确度(6)投资(7)可复用性(8)开发者掌握的资源2023/1/156UML系统建模与分析设计2022/12/2715UML系统建模与分析设计1.3.3软件生存周期2023/1/157UML系统建模与分析设计1.3.3软件生存周期2022/12/2716UML系统1.软件定义 (1)软件系统的可行性研究 1)经济可行性研究。 2)技术可行性研究。 3)法律可行性研究。 4)方案的选择。 (2)需求分析 1)任务。 软件功能需求: 软件性能需求: 软件系统运行环境: 2)按需求建模。 3)软件需求规格说明(SoftwareRequirementsSpecification,简称SRS)。2023/1/158UML系统建模与分析设计1.软件定义2022/12/2717UML系统建模与分析设计2.软件开发 (1)概要设计 建立系统总体结构和各模块之间的关系; 定义各个功能摸块的接口; 设计全局数据库或数据结构; 规定设计约束; 制定组装测试计划。 (2)详细设计 对概要设计进行细化; 建立文档资料。2023/1/159UML系统建模与分析设计2.软件开发2022/12/2718UML系统建模与分析设计

(3)实现 选择合适的编程语言; 制定测试案例; 保存文档资料。 (4)组装测试 (5)确认测试3.软件使用、维护和更新换代 (1)软件使用 (2)系统维护 (3)系统更新换代2023/1/160UML系统建模与分析设计 (3)实现2022/12/2719UML系统建模与分析设计1.4软件开发方法简介1.结构化程序设计方法 其控制结构仅由顺序、选择与重复等有限的基本控制结构表示。2.模块化程序设计方法 模块之间的接口应尽可能简明清晰: 单独模块的修改不影响其它模块的功能; 模块化应具有可修改性、易读性和可验证性。3.面向对象程序设计方法2023/1/161UML系统建模与分析设计1.4软件开发方法简介1.结构化程序设计方法2022/1.4.1结构化软件开发方法 1.结构化分析的步骤 构造数据流模型。 构建控制流模型。 生成数据字典(DD)。 生成可选方案,建立需求规约。2023/1/162UML系统建模与分析设计1.4.1结构化软件开发方法2022/12/2721UM2.结构化设计步骤首先研究、分析和审查数据流图。从软件的需求规格说明中弄清数据流加工的过程。然后根据数据流图决定问题的类型。由数据流图推导出系统的初始结构图。优化软件结构。描述模块接口。修改和补充数据词典。制定测试计划。2023/1/163UML系统建模与分析设计2.结构化设计步骤2022/12/2722UML系统建模与分1.4.2模块化软件开发方法 (1)模块可分解性。 (2)模块可组装性。 (3)模块可理解性。 (4)模块连续性。 (5)模块保护。2023/1/164UML系统建模与分析设计1.4.2模块化软件开发方法2022/12/2723UM1.4.3面向数据结构软件开发方法 1.建立JSD的系统进程模型 2.JSD方法的步骤 (1)JSD需求分析步骤 标识系统中的实体与相应动作; 生成实体结构图; 初建系统模型。 (2)JSD系统设计步骤 扩充功能过程。 系统定时。 系统实现。2023/1/165UML系统建模与分析设计1.4.3面向数据结构软件开发方法2022/12/272

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

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

面向对象方法有几十种,综合起来,其基本观点如下:现实客观世界由对象组成。相同的对象归并为类。类可以继承。对象之间通过消息进行联系。面向对象=对象+类+继承+通信2023/1/168UML系统建模与分析设计 面向对象方法有几十种,综合起来,其基本观点如下:2022/1.4.5软件开发方法的评价与选择综合考虑以下几方面因素:人员素质。时间进度。掌握资源。可行性。领域知识。从四个方面评价:技术特征。使用特征。管理特征。经济特征。2023/1/169UML系统建模与分析设计1.4.5软件开发方法的评价与选择2022/12/2721.5面向对象软件开发方法简介

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

2022/12/27291.5.1面向对象的基本概念 封装性、继承性和多态性。 1.对象 客观世界中的实体抽象为问题空间中的对象。 2.对象的抽象——类 把具有相同特征和行为的对象归在一起就形成了类(Class)。2023/1/171UML系统建模与分析设计1.5.1面向对象的基本概念2022/12/2730UM2023/1/172UML系统建模与分析设计2022/12/2731UML系统建模与分析设计3.信息隐蔽和局部化——封装4.继承与派生2023/1/173UML系统建模与分析设计3.信息隐蔽和局部化——封装2022/12/2732UM

温馨提示

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

评论

0/150

提交评论