软件工程与UML图的关系

软件工程是软件开发设计的灵魂,是我们前进的思想性指导。它使我们的设计有法可依,有章可循。如果把软件开发比作建设一栋高楼,那么软件工程就是知道我们不至于在构建一座大楼的时候,最后不知不觉建成了鸡窝。而UML图正是对大楼主体架构的设计。

采用UML来设计软件系统时,大致可以分为三步:

第一步:描述需求

这时候需要用到的就是用例图,用例图的主要读者便是客户,从客户的角度来看我们所开发的系统。客户最关心的是系统能够提供的服务,也就是系统如何被使用,是否能完成他们需求。

第二步:根据需求建立系统的静态模型

这一步是为了构造系统的结构,此时用到的是类图,对象图,组件图和部署图4种图形,是标准建模语言UML的静态建模机制。

第三步:描述系统的行为

此时建立的模型可以执行,也可以表示执行时的时序状态或交互关系。它包括状态图、活动图、时序图和协作图4种图形,是标准建模语言UML的动态建模机制。

把UML应用到软件开发中的各个阶段进行分析:

1)需求分析

UML的用例图可以表示客户的需求。对外部的角色以及它们所需要的系统功能建模是通过用例建模来完成的。它们之间的关系建模被用于角色和用例。每个用例都指定了客户的需求。需求分析不仅要对软件系统进行而且对商业过程也要进行。

2)分析

考虑要解决的问题是分析阶段要做的工作。其描述可用UML的逻辑视图和动态视图来进行。系统的静态结构由类图进行描述,系统的动态特征由协作图序列图活动图和状态图进行描述。在分析阶段,不定义软件系统的解决方案的细节,只为问题领域的类建模。

3)设计

把分析阶段的结果扩展成技术解决方案是设计阶段主要的工作。提供技术基础结构——用户接口。数据库操作等是采用加入新的类完成的。在这个技术基础结构中,分析阶段的领域问题类被嵌入在其中。构造阶段的详细的规格说明是设计阶段的结果。

4)构造

把设计阶段的类转换成某种面向对象程序设计语言的代码,这是构造阶段的工作。在对UML表述的分析和设计模型进行转换时,最好不要直接把模型转化成代码。在早期阶段,模型是理解系统并对系统进行结构化的手段。

5)测试

单元测试、集成测试、系统测试和接受测试为系统测试的几个不同级别。不同的测试采用不同的UML图作为工作的基础。使用类图和类的规格说明是单元测试,典型地使用组件图和协作图的是集成测试,而系统测试实现用例图来确认系统的行为符合这些图中的定义。在系统测试阶段,UML模型还可以作为测试阶段的依据。如单元测试使用类图和类规格说明;集成测试使用组件图和协作图;系统测试用例图来验证系统的行为;验收测试由用户进行,以验证系统测试的结果是否满足在分析阶段确定的需求。

时间: 2024-11-09 12:36:30

软件工程与UML图的关系的相关文章

UML图与软件开发过程那点关系

首先,软工文档, 软工文档,也就是计划,设计,描述,使用软件的一些文件,它最大的特点就是固定不变,用来给不同的人和计算机来阅读.在期间,文档起到了桥梁的作用,看这张图很形象: 在这里在看一下国家统一规定的13个文档的相关知识.先看一下文档的分类: 各个文档的内容: 1,可行性研究报告:说明该软件开发项目的实现在技术上.经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施的方案,说明并论证所选定实施方案的理由. 2, 项目开发计划:为软件项目实施方案制定出具体计划,应该包括

UML图中经常用到几种的关系图例

学习这个东西挺奇怪的,时间一长就容易忘记,或者记不清楚.今天看到一些UML图的关系,发现有些出入了,索性就写下来,以后再忘记的时候过来看看. 在UML的类图中,常见的有以下几种关系: 继承(Generalization),  实现(Realization), 关联(Association), 聚合(Aggregation), 组合(Composition), 依赖(Dependency) 1.继承(Generalization)[继承关系]:表示一般与特殊的关系, 它指定了子类如何特化父类的所有

java 类与类之间的关系 及uml图

类与接口之间的关系 : 继承 类与类之间的关系 :继承关系  包含关系 类与对象之间的关系 : 实例 UML 类图中类与类之间的关系: 泛化关系(generalization) 关联关系(association) 聚合关系(aggregation) 合成关系 (compostion) 依赖关系 (dependency) 1.泛化(Generalization)[泛化]表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系.一般化的关系是从子类指向父类的,与继承或实现的方法相反.

UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现

类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 2) 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能,要承担什么样的义务.一个类可以有多种职责,设计得好的类一般只有一种职责,在定义类的时候,将类的职责分解成为类的属性和操作(即方法). 3) 类的属性即类的数据职责,类的操作即类的行为职责 一.依赖关系(Dependence) 依赖关系(Dependence):假设A类的变化引起了B类的变

UML类图的关系

UML类图的关系 多态 泛化(Generalization) [定义]:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为[UML表示]:带三角箭头的实线,箭头指向父类[代码表现]:A类 extends B类 public Class Tigger extends Animal{ 实现(Realization) [定义]:是一种类与接口的关系,表示类是接口所有特征和行为的实现[UML表示]:带三角箭头的虚线,箭头指向接口[代码表现]:A类 implements B接口

java 面向对象基础 UML图 构造方法 对象 参数传值 关联关系 依赖关系

UML图 UML(Unified Modeling Language Diagram,UML),它是一个结构图,用来描述一个系统的静态结构.一个UML中通常包含类(class)的UML图,接口(Interface)的UML图以及泛化关系(Generalizaiton)的UML图.关联关系(Association)的UML图.依赖关系(Dependency)的UML图和实现关系(Realization)的UML图. 第一层是名字层,如果类的名字是常规字形,表明该类是具体类, 如果类的名字是斜体字形

UML图类,接口之间的关系

UML图类之间的关系(来自大话设计模式中的一张图,代表了类,接口之间的各种关系) 原文地址:https://www.cnblogs.com/linlf03/p/9735917.html

[Java学习]面向对象-package;内部类;UML图表示六种关系

package 软件包 类名前加入命名空间(包),解决命名冲突问题. 定义格式:公司域名倒叙.项目名.模块名; package语句写在文件第一行 使用import语句导入package java.lang; 软件包下的所有类系统自动导入. 编译 javac -d 生成路径 java源文件路径 运行 java 完整类名 内部类 基本 定义:类里面的类. 好处:内部类可以访问其外部类的私有数据. 分为 :静态内部类,成员内部类,局部内部类,匿名内部类 静态内部类 调用静态内部类的静态方法: Oute

UML图表示类之间的关系

一.泛化(Generanization) 图: 泛化简单的说就是继承关系,在java中就是extend.表示一般与特殊的关系.如鸭子是鸟的一种,即有鸭子的特性也有鸟的共性.用带空心的三角箭头的实线指向父类. 二.接口与实现 图: 这种关系其实就是java里面的implements,是类与接口的关系.有两种表示(因为接口有两种表示方法). 1.用带空心三角箭头的虚线,箭头指向接口. 2.或者直线连接圆圈,圆圈表示接口. 三.依赖(Dependency) 图: 在java中用import表示,如这个