第1章建模基础知识
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.3 UML概述
1.3.3 UML的主要特点
标准建模语言UML的主要特点可以归纳为以 下三点: 1. UML统一了Booch、OMT和OOSE等方法中 的基本概念。 2. UML吸取了面向对象技术领域中其他流派的 长处,其中也包括非OO方法的影响。 3. UML在演变过程中还提出了一些新的概念。
1.1.3 现代软件工程
早期的软件开发仅考虑人的因素,传统的软件工程强调物性 的规律,现代软件工程最根本的就是人和物的关系,就是人 和机器(工具、自动化)在不同层次的不断循环发展的关系。 ► 面向对象的分析、设计方法(OOA和OOD)的出现使传统的开 发方法发生了翻天覆地的变化。随之而来的是面向对象建模 语言(以UML为代表)、软件复用、基于组件的软件开发等新 的方法和领域。 ► 与之相应的是从企业管理的角度提出的软件过程管理,即关 注于软件生存周期中所实施的一系列活动,并通过过程度量、 过程评价和过程改进等涉及对所建立的软件过程及其实例进 行不断优化的活动,使得软件过程循环往复,螺旋上升式地 发展。
1.2.4 建模的目标和原则
► 建立模型可以帮助开发者更好的了解正在开
发的系统。通过建模,要实现以下四个目标: 1.便于开发人员展现系统 。 2.允许开发人员制定系统的结构或行为 。 3.提供指导开发人员构造系统的模板 。 4.记录开发人员的决策 。
1.2 建模概述
1.2.4 建模的目标和原则
► 在工程学科中,对模型的使用有着悠久的历
1.3 UML概述
1.3.4 用UML可以建立的模型种类
3.基于构件的开发模型 基于构件的开发模型利用模块化方法将整个系统模块化,并 在一定构件模型的支持下复用构件库中的一个或多个软件构 件,通过组合手段高效率、高质量地构造应用软件系统的过 程。 4. XP方法 敏捷方法是近几年兴起的一种轻量级的开发方法,它强调适 应性而非预测性、强调以人为中心,而不以流程为中心,以 及对变化的适应和对人性的关注,其特点是轻载、基于时 间、紧凑、并行并基于构件的软件过程。
►
1.1 软件工程概述
1.1.1 软件工程的产生
► 20世纪60年代中期以后,一些开发大型软件系统的
要求提了出来。然而软件技术的进步一直未能满足 形势发展的需要,在大型软件的开发过程中出现了 复杂程度高、研制周期长、正确性难以保证的三大 难题。遇到的问题找不到解决办法,致使问题堆积 起来,形成了人们难以控制的局面,出现了所谓的 “软件危机”。 ► 软件危机(Software crisis)是指在软件开发和维护中 所产生的一系列严重的问题:一是如何开发新的软 件,满足用户对软件的需求;二是如何维护数量众 多的已有软件。
►
1.2 建模概述
1.2.1 什么是模型
► 模型就是对现实客观世界的形状或状态的抽象模拟
和简化。模型提供了系统的骨架和蓝图。 ► 模型给人们展示系统的各个部分是如何组织起来的, 模型既可以包括详细的计划,也可以包括从很高的 层次考虑系统的总体计划。 ► 每个系统都可以从不同的方面用不同的模型来描述, 因而每个模型都是一个在语义上闭合的系统抽象。 ► 模型可以是结构性的,强调系统的组织。它也可以 是行为性的,强调系统的动态方面。
1.1 软件工程概述
1.1.2 软件工程的内容和基本原理
► 软件工程基本原理归纳提出了七条基本原则。
1.用分阶段的生命周期计划严格管理。 2.坚持进行阶段评审。 3.实行严格的产品质量控制。 4.采用现代程序设计技术和软件工程技术。 5.结果应能清楚地审查。 6.开发人员应少而精。
1.1 软件工程概述
第1章 建模基础知识
学习内容
►软件工程概述
►建模概述
►UML概述
1.1 Βιβλιοθήκη Baidu件工程概述
1.1.1 软件工程的产生
►
►
软件工程(Software Engineering)是一门指导计算机软件系统 开发和维护的工程学科,涉及到计算机科学、工程管理科学、 数学等多学科,其研究范围广泛,主要研究如何应用软件开 发的科学理论和工程技术来指导大型软件系统的开发。例如, 现代操作系统的开发,如果不采用软件工程的方法是不可能 实现的。 软件工程的产生和发展是与软件的发展紧密相关的。软件是 计算机系统中与硬件相互依存的另一部分,是包括程序、数 据及其相关文档的完整集合。其中,程序是按事先设计的功 能和性能要求执行的指令序列;数据是使程序能正常操纵信 息的数据结构;文档是与程序开发、维护和使用有关的图文 材料。
1.1 软件工程概述
1.1.2 软件工程的内容和基本原理
► 软件工程研究的主要内容是软件开发技术和软件开
发管理两个方面。在软件开发技术中,主要研究软 件工程方法、软件工程过程、软件开发工具和环境。 1. 软件工程方法为软件开发提供了“如何做”的技术。 2. 软件工程过程是将软件工程的方法和工具综合起来 以达到合理、及时地进行计算机软件开发的目的。 3. 软件开发工具和环境为软件工程方法提供了自动的 或半自动的软件支撑环境。
►
1.3 UML概述
1.3.2 UML的应用领域
UML的目标是以面向对象图的方式来描述任何类 型的系统,具有很宽的应用领域。 ► 最常用的是建立软件系统的模型,但它同样可以 用于描述非软件领域的系统,如机械系统、企业 机构或业务过程以及处理复杂数据的信息系统、 具有实时要求的工业系统或工业过程等。 ► UML适用于系统开发过程中从需求规格描述到系 统完成后测试的不同阶段。 ► UML模型还可作为测试阶段的依据。
►
1.3 UML概述
1.3.4 用UML可以建立的模型种类
1. 瀑布模型 瀑布模型也被称为“生存周期模型”,其核心思想是按照相应的工序将 问 题进行简化,将系统功能的实现与系统的设计工作分开,便于项目之间 的分工与协作,即采用结构化的分析与设计方法将逻辑实现与物理实现 分开。 2. 喷泉模型 喷泉模型是一种以对象为驱动、以用户需求为动力的模型,主要用于描 述面向对象的软件开发过程。该模型认为软件开发过程自下而上周期的 各阶段是相互重叠和多次反复的。各个开发阶段没有特定的次序要求, 并且可以交互进行,可以在某个开发阶段中随时补充其他任何开发阶段 中的遗漏。
1.1 软件工程概述
1.1.1 软件工程的产生
计算机软件经历了三个发展阶段: 1. 程序设计时代(1946年~1956年) 采用“个体生产方式”,即软件开发完全依赖于程序员个人 的 能力水平。 2. 程序系统时代(1956年~1968年) 由于软件应用范围及规模的不断扩大,个体生产已经不能够 满足软件生产的需要,一个软件需要由几个人协同完成,采 用“生产作坊方式”。该阶段的后期,随着软件需求量、规 模及复杂度的增大,生产作坊的方式已经不能够适应软件生 产的需要,出现所谓的软件危机。 3. 软件工程时代(1968年至今) 该阶段的主要任务是为了克服软件危机,适应软件发展的需 要,而采用“工程化的生产”方式。
1.2 建模概述
1.2.2 建模原理
► 建模的原理有以下十点: 1. 选择建立什么样的模型对如何发现和解决问题具有重要的影响。 2. 模型要在不同的精度级别上来表示。 3. 可以根据观察的角色和观察的原因来选择精度。 4. 建造模型要和现实相连。 5. 重要的系统需要用一组独立的模型去处理。 6. 构造模型的基本技术是抽象,应突出与问题有关的特征,将与问题无关 的性质略去。 7. 不必追求绝对的真实和完整,只需从期望的角度看其是否充分。 8. 应当刻画问题的关键方面,略去相对次要的因素。 9. 建模语言应支持人的由模糊到清晰、由粗到细逐渐完善的认识过程。 10. 应采用可视化图形建模语言。
1.2 建模概述
1.2.3 为什么要模型
► 建模是为了能够更好地理解正在开发的系统。
通过建模,要达到四个目的: 1. 模型有助于按照实际情况或按照所需要的样 式对系统进行可视化。 2. 模型能够规约系统的结构或行为。 3. 模型给出了指导构造系统的模板。 4. 模型对做出的决策进行文档化。
1.2 建模概述
1.1 软件工程概述
1.1.1 软件工程的产生
► 到了20世纪60年代末期,软件危机已相当严
重,这促使计算机科学家们开始探索缓解软 件危机的方法。他们提出了“软件工程”的 概念。 ► 软件工程用现代工程的原理、技术和方法进 行软件的开发、管理、维护和更新。于是, 开创了计算机科学技术的一个新的研究领域。
史,人们从中总结出了四条基本的建模原则。 1.选择要创建什么模型,对如何动手解决问题 和如何形成解决方案有着意义深远的影响。 2.可以在不同的精度级别上表示每一种模型。 3.最好的模型是与现实相联系的。 4.孤立的模型是不完整的。
1.3 UML概述
1.3.1 UML的起源和发展
►
►
►
统一的建模语言的创建首先开始于1994年10月,Grady Booch和Jim Rumbaugh首先致力于这一工作的研究,他们将 Booch 93和OMT-2 统一起来,并于1995年10月发布了第一 个公开版本,称之为“统一方法UM 0.8”(Unfitied Method)。 1995年秋,面向对象软件工程的创始人也加入到这个队伍中 来了,并且带来了其在OOSE方法中的成果。经过共同努力, 于1996年6月和10月分别发布了两个新的UML版本,即UML 0.9和UML 0.91,并且正式将UM重新命名为“UML”(Unified Modeling Language)。 从UML纳入到OMG开始,OMG对于UML的修订工作也是从来 没有停止过。产生了UML1.2、UML1.3、UML1.4和UML2.0版 本。目前,该组织正在为UML2.x版本努力。