软件工程各种图

这篇具有很好参考价值的文章主要介绍了软件工程各种图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考视频:

6 分钟学会 UML 类图_哔哩哔哩_bilibili

5 分钟学会 UML 时序图(顺序图、序列图)_哔哩哔哩_bilibili

3 分钟学会 UML 活动图_哔哩哔哩_bilibili

6 分钟学会 UML 用例图_哔哩哔哩_bilibili

是真的讲的非常好!!! 

活动图(Activity diagrams)

显示流程或数据处理涉及的活动。展现了从一个活动到另外一个活动的控制过程。

组成

开始节点

表示活动图的开始

软件工程各种图,软件工程

*一个活动图中只有一个开始节点

动作节点

表示需要执行的任务,通过动词进行描述

软件工程各种图,软件工程

决策节点/合并节点

通过不同的条件来执行不同的子流程/子流程执行后合并

软件工程各种图,软件工程

fork节点

分叉出的子流程是并行的

软件工程各种图,软件工程

join节点

等待所有异步流程都执行完成后再合并成同一个流程执行

软件工程各种图,软件工程

发送/接受信号

• 凸多边形(Convex polygon)- 发送信号/输出事件(sending signal / output event)

• 凹多边形(Concave polygon)- 接收信号/输入事件(receiving signal / input event)

e.g

软件工程各种图,软件工程

取指定参数

附加的带着字母的小方块是输入或输出的引脚(pin)- 是对象节点的特殊符号
而在箭头中间的方框代表对象(object),其所在的流代表对象流(object flow),代表着指定的信息在各行动中流动

软件工程各种图,软件工程

软件工程各种图,软件工程

异常处理

折叠的箭头指向一个行为,箭头上应写明条件(为什么是异常)

软件工程各种图,软件工程

时间事件(Time Event)

时间事件将会在其底下的时间表达式(time expression)为”真”时流动

软件工程各种图,软件工程

结束节点

*一个活动图中可以有多个不同的结束节点

软件工程各种图,软件工程

泳道图

展现流程中不同角色的交互关系

例题

e.g1

软件工程各种图,软件工程

软件工程各种图,软件工程

e.g2

 软件工程各种图,软件工程

软件工程各种图,软件工程

e.g3

软件工程各种图,软件工程

软件工程各种图,软件工程

e.g4

软件工程各种图,软件工程

----------------------------------

用例图(Use case diagrams)

显示系统与其环境之间的交互

软件工程各种图,软件工程

组成

System

矩形

内部的任何事情都会在矩形内出现,外部的任何事情都不会矩形内出现

Actor 参与者

火柴人

1)参与者都是外部对象

2)有主要参与者和次要参与者的区别,主要参与者做出动作后次要参与者才会响应,主要参与者在左边,次要参与者在右边

3)每个参与者都至少与一个用例进行交互

Use Cases

椭圆

描述系统功能要用到的元素

Relationships

关联 association

参与者与用例之间的实线

Include 包含

软件工程各种图,软件工程

e.g 登录 ---<<include>>----->验证密码

Extend 扩展

扩展用例在基本用例满足某些条件时才会触发

软件工程各种图,软件工程

e.g 登录 <---<<extend>>-----密码错误

Generalization 泛化

软件工程各种图,软件工程

例题

e.g1软件工程各种图,软件工程

软件工程各种图,软件工程

e.g2 

 软件工程各种图,软件工程
软件工程各种图,软件工程

e.g3

e.g4

----------------------------------

序列图/时序图(Sequence diagrams)

显示参与者和系统之间以及系统组件之间的交互

组成

组成:参与者,对象,生命线

实线:请求消息  虚线:回复消息

选择框:在两个或多个消息间进行选择

激活框:生命线上的第一条消息到最后一条消息

选择和循环

软件工程各种图,软件工程

例题

e.g1

软件工程各种图,软件工程

软件工程各种图,软件工程

e.g2

软件工程各种图,软件工程

软件工程各种图,软件工程
软件工程各种图,软件工程
 

软件工程各种图,软件工程

 软件工程各种图,软件工程

软件工程各种图,软件工程

软件工程各种图,软件工程

----------------------------------

类图(Class diagrams)

显示系统中的对象类和这些类之间的关联

- private

+public

# protected(只能由同一个类或者子类访问)

~ package/default (用的少)

关系

继承 inheritance

软件工程各种图,软件工程

关联 Association

软件工程各种图,软件工程

聚合 Aggregation

部分可以存在整体之外

软件工程各种图,软件工程

组合 Composition

部分不能存在于整体之外

软件工程各种图,软件工程

例题

e.g1

软件工程各种图,软件工程

软件工程各种图,软件工程

e.g2

软件工程各种图,软件工程

e.g3

e.g4

 ----------------------------------

状态机图(State machine diagrams)

显示系统如何对内部和外部事件作出反应。 

状态机图表示对象可能处于的状态以及状态之间的转换

显示了状态变化序列(a sequence of state change)的起点和终点

行为模型(Behavioral Model)
识别事件(Identifying Events)

刺激(Stimulus)

是指:在某个时间点发生的离散信号(discrete signal)

• 由内部或外部类之间的通信引起

• 可能导致状态变化

• 可能触发动作(trigger actions)

• 可能有相关的条件(associated conditions)

类的状态(State of a Class)

必须发生事件(有时称为触发器(trigger))强制对象从一个活动状态转换到另一个活动状态

 被动状态(passive state)是一个对象的所有属性的当前状态,一般不会改变

• 例如: Student类的属性

• 学生ID,姓名,入学日期,.....

活动状态(active state)表示对象在经历持续转换或处理时的当前状态。

• 例如: 学生类的状态

• 新生,入学,休学,毕业(New, Enrolled, Suspended, Graduated)

构成

状态(State)

初始状态(Start State)

通常用一个空心圆圈来表示

终止状态(Terminate State)

通常用一个的双圈来表示

状态转换(Transition)

表示状态之间的转换通常用带箭头的连线来表示,箭头指向目标状态

转换通常具有事件、条件、动作等属性,以描述触发转换的事件、条件和执行的动作。

•是什么导致了转换发生?

• 事件(event)

• 事件期间的条件被满足(Condition met during an event)

行动可能在过渡期间(即状态转换时)执行(Actions(活动中的单个原子步骤(single atomic step) may be executed during transition)

软件工程各种图,软件工程

行动和活动(Action and activity)

共有3类活动(activity)

• 进入时/行动(entry / action)

• 执行时/活动(do / activity)

• 退出时/行动(exit / action)

其中:

• 进入/动作: 是离散的动作(action),在进入状态时只执行一次

• do/activity: 整个状态生命周期的连续活动(只要这个状态还在,这个活动就不停)

• exit/action: 离散动作,在状态退出时只执行一次

保证条件(Guard Conditions)

用于定义状态转换是否发生的条件。它们通常与转换关联,以确定在何种情况下可以从一个状态切换到另一个状态

软件工程各种图,软件工程

状态的层次结构(State Hierarchy)

种方法是使用超状态(superstate)的概念,它封装了许多独立的状态。这个超状态看起来像高级模型中的单个状态,但它会展开,在单独的图中显示更多细节

它分为超状态和子状态(Superstate / Substate),每个状态的活动都是独立的

软件工程各种图,软件工程

例题

e.g1

软件工程各种图,软件工程

软件工程各种图,软件工程

e.g2

软件工程各种图,软件工程

感觉找的这个答案不太对啊

软件工程各种图,软件工程

e.g3

软件工程各种图,软件工程

 软件工程各种图,软件工程

软件工程各种图,软件工程

软件工程各种图,软件工程文章来源地址https://www.toymoban.com/news/detail-806756.html

到了这里,关于软件工程各种图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【软件工程】软件工程期末考试复习题

    软件工程期末考试试题及参考答案 一、单向选择题 1、软件的发展经历了(D)个发展阶段。 一 二 三 四 2、需求分析的任务不包括(B)。 问题分析 系统设计 需求描述 需求评审。 3、一个软件的宽度是指其控制的(C)。 模块数 层数 跨度 厚度 4、当模块中包含复杂的条件组

    2024年02月10日
    浏览(43)
  • 【软件工程】山东大学软件工程复习提纲

    涵盖所有考点,复习绝对高效,点赞+留邮箱获取pdf版本 本提纲可以完全摘抄,考试命中率100%,先上考试带的A4纸: 1. 软件工程三要素 方法:为软件开发提供了“如何做 ”的技术,如项目计划与估算、软件系统需求分析、数据结构、系统总体结构的设计等; 工具:为软件工

    2024年02月13日
    浏览(34)
  • 【软件工程】为什么要选择软件工程专业?

    个人主页:【😊个人主页】 软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。就当下主流趋势来看,其有着无限的未来。接下来我将以六个方面来谈谈我对软件工程专业的看法: 软件工程是一门研究用工程化方法构建和维护有效、实用和高质

    2023年04月19日
    浏览(38)
  • 【软件工程】自动化测试保证卓越软件工程能力(3)

    对照目标系统,如下:  给出自动化测试平台目标如下: Case level Case brief Report send to OVERALL User 1 - Process - Customer 1 Boss Level 1 User 1 - Process - Customer 1 User 1 - Process - Customer  2 User  2  - Process - Customer 1 ... Manager, Some users, Developers, Testers Level 2 User 1 - Igeress - Process - Router - Sender 1

    2024年02月04日
    浏览(49)
  • 经典软件工程复兴?大模型驱动的软件工程实践标准化

    简单来说,本文探讨了大模型驱动的软件工程实践标准化,以及如何将需求和设计规范化为 DSL 格式。通过这种方式,可以让 AI 更自动化、高效地编写代码。 随着大语言模型在软件开发中的应用越来越广泛,传统的软件工程实践开始被重新关注和提及。在诸如于编写清晰的文

    2024年02月12日
    浏览(33)
  • 【软件工程】软件测试

    软件=程序+文档 测试对象:各个阶段产生的源程序和文档。 基于不同的立场,对软件测试的目的存在着两种完全对立的观点。 (1)一种观点是通过测试暴露出软件中所包含的故障和缺陷(从用户的角度); (2)另一种是希望测试成为表明软件产品中不存在错误的过程,验证该

    2024年02月13日
    浏览(53)
  • 软件与软件工程

    软件的概念以及特点: 软件是计算机系统中不可或缺的一部分,与硬件共同构成特定的系统功能。 人们通常把各种不同功能的程序,包括系统程序、应用程序、用户自己编写的程序等称为软件 软件的概念: 软件不仅包括程序,还包括程序的处理对象——数据,以及与程序开

    2024年02月11日
    浏览(36)
  • 软件测试03:软件工程和软件生命周期

    软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。 基本软件危机对于计算机发展的阻碍,1968年,在联邦德国召开的国际会议,北大西洋公约组织的计算机科学家讨论软件危机问题。提出了 软

    2024年02月08日
    浏览(50)
  • 软件设计师——软件工程(四)

    本文主要是【软件工程】——软件设计师——软件工程的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一句:狠狠沉淀,顶峰相见 21.某开发小组欲为一公司开发一个产品控制软件,监控

    2024年01月24日
    浏览(42)
  • 软件工程(二十) 系统运行与软件维护

    时至今日,你想去开发一个系统,想完全不涉及到已有的系统,基本是不可能的事情。但是对于已有系统我们有一个策略。 比如我们是淘汰掉已有系统,还是继承已有系统,或者集成已有系统,或者改造遗留的系统呢,都是不同的策略。 技术水平(技术维度) 比如你开发是用

    2024年02月11日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包