UML与软件开发的关系

news/2024/8/27 7:53:09

我们都知道软件工程是由于软件危机而产生的一门具有科学化开发方法的一门学科。

经典的软件工程思想将软件开发分成以下五个阶段:需求捕获(Requirement Capture)阶段、系统分析与设计(System Analysis And Design)阶段、系统实现(System Implementation)阶段、测试(Testing)阶段、维护(Maintenance)阶段。

需求捕获阶段就是考虑开发环境、方法、手段、经济、技术和开发环境的可行性。

系统分析与设计阶段通常与第一阶段同时进行,在系统分析员的带领下进行。

系统实现阶段就是通常所说的编码阶段。

测试阶段就是《信息系统开发与管理》中所说的模块测试、子系统测试、系统总测试的对软件进行测试的阶段。

维护阶段,顾名思义。软件工程三大目的 软件开发的可维护性、软件的可复用性和软件开发的自动化。是非常重要的一个阶段。

而UML(Unified Modeling Language,统一建模语言)则是在系统捕获阶段和系统分析与设计阶段进行应用的。网上有很多UML的建模工具比如  Rational Rose或者是微软的visio,不过Rational Rose安装比较麻烦,还存在很多不兼容的问题,而且网上的解决办法很多也不是很好。

UML中有九种图如下所示

             

用例图是由软件需求分析道最终实现的第一步,它描述人们如何使用一个系统用例图显示谁将是相关的用户、用户希望系统提供什么服务。

类图(Class Diagram)是描述类、接口、协作、以及他们之间关系的图,用来显示系统中各个类的静态关系的图。类图包含七个元素  类、接口、协作、依赖关系、泛华关系、实现关系以及关联关系。

对象图(Object Diagram)表示在某一时刻一组对象以及他们之间关系的图,对象图可以看做是类图在某一时刻的实例。对象图描述了对象和对象之间的链接关系。对象图用来描述类的实例在特定时刻的状态。

时序图(Sequence Diagram)和协作图(Collaboration Diagram)属于交互图。

状态图(Statechart Diagram)简单来说就是   描述系统从一个状态到另一个状态的变化。

活动图(Activity Diagram)活动图包括的图形元素动作状态、活动状态、动作流、分支与合并、分叉与汇合、泳道与对象流等。

组件图(Component Diagram)描述了软件的各种组件和他们之间的依赖关系。包括组件、接口、依赖三种关系。

配置图(Deployment Diagram)用于对系统的实现视图建模主要是描述系统中各个物理组成部分的分布、提交和安装过程。

一个包图可以由任何一种UML图组成,通常是UML用例图或是UML类图。

包被描述成文件夹,可以用于UML任何一种的图上

包图只是把某些类放在一个包中,因此可以看做是类图的一种


一般的人都能够理解UML的这几种图,要想熟练的掌握并应用,还需要不断的练习,不断的做开发,从中慢慢的寻找UML的精髓。





http://www.niftyadmin.cn/n/4582050.html

相关文章

H3C-Cloud Lab实验-OSPF配置实验

一、实验拓扑图 实验需求: 1、按照图示配置 IP 地址 2、按照图示分区域配置 OSPF ,实现全网互通 3、为了路由结构稳定,要求路由器使用环回口作为 Router-id,ABR 的环回口宣告进骨干区域 4、掌握OSPF初始化流程、路由表学习的过…

LeetCode03 最长无重复子串

题目 给定一个字符串,找出不含有重复字符的最长子串的长度。 解答 刚开始以为只是一遍遍历后来的字符和前面一样便开始算新子串,给的案例都过了,但是卡在了“dvdf” 后来经过重重试验,暴力循环,不断调整变量作用域&…

deepin系统使用deepin-wine安装exe程序

2019独角兽企业重金招聘Python工程师标准>>> deepin自带原生deepin-wine使用命令如下: deepin-wine QQBrowser.exe deepin-wine QQMusicSetup.exe 默认安装的快捷方式位置: /root/.wine/drive_c/Program Files/Tencent/QQBrowser /home/he/.w…

学英语,累了,困了,不能就那么睡了。

在中国很多人都会英语,而且很多人也能和外国人进行流畅的交流,由于学习方法,学习效率,学习努力程度不同,所以达到英语流畅交流的时间就不一样。但至少让我们知道英语so easy的。在这个互联网时代,英语以其简…

用Python开发一款王者荣耀的“脚本”!上王者轻轻松!

https://blog.csdn.net/qq_42156420/article/details/80496607?utm_sourceblogkpcl1

Metasploit框架问题

1、使用nmap 扫描SMB服务漏洞信息 nmap -P0 --scriptsmb-check-vulns 10.10.15.123 2、sql语句绕过后台 这部分我待会补充 只有尽可能的过滤,没有绝对的过滤。所以说构造sql语句至关重要 转载于:https://www.cnblogs.com/xinxianquan/p/9773422.html

UML九种图

UML,统一建模语言,刚开始学UML 的时候我就在想 UML这些个图都在软件工程的什么阶段使用呢?是在概要设计还是用户分析之后?不知道大家有没有这个问题。然而遇到了问题,我就去上网查了查相关的资料,一般是在系统分析阶段…

通过C#理解多态

很多人都知道面向对象有三个主要的特点:封装、继承和多态,老师还说这三个特性的顺序不能记错。 要先对数据和细节进行封装封装后的结果就是只提供接口,隐藏实现细节。 我看C#视频的时候楚老师说“多态可以通过继承抽象类和实现接口来体现”&a…