面向对象需求分析——用例图和活动图

面向对象软件开发的方法有:a,面向对象分析(OOA)b,面向对象设计(OOD)c,面向对象实现(00I)d,面向对象测试(OOT),e,面向对象维护(OOM)这几个主要大步骤。下边我们就从面向对象的角度来学习UML的相关图。这里介绍面向对象分析阶段的用例图和活动图。

面向对象分析阶段,我们要明确系统的职责,范围和边界;确定软件的功能和性能;构建需求模型(用例模型)。

首先在这里说一下,为什么将这两个图放在一起,主要原因就是活动图的一个目的是更细致的描述用例图,和文档的配合使用,使用例图更加清楚明了。

先介绍一下:用例图

1, 概念:用例是系统的一个功能单元 ,是对用户需求的描述。

2,组成:参与者,用例及其之间的关系(包括关联关系,泛化关系,包含关系,扩展关系):

3,用例建模的步骤:a,确定系统的范围和边界;b,确定系统的用例和参与者;c,描述用例;d,对用例分类,并确定用例之间的关系;e,建立用例图,并定义用例图的层次结构;f,评审用例模型。

下边我们看个例子:这是一个教务管理系统的总用例图和一个子一级用例图,当然还可以再分:

在上述6个步骤中,我简单总结一下:a,系统边界,就是一个系统内部所有元素与系统外部事物的分界线。b,用例和参与者,需要我们根基实际情况去抽象。c,描述用例,这个我重点写一下(举例,选课注册):

用例编号:0101

用例名称:选课注册

执行者:学生

功能:实现学生选课注册的过程

类型:主要用例,基本用例

级别:一级

过程描述:

1,学生输入系统账号和密码,系统进行验证;

2,查询课程信息

3,查询个人选课信息

4,若可以选课,则进行选课注册,并将选课信息写入数据库中

5,返回选课注册是否成功

异常事件流处理:

1,学生的账号和密码错误,允许重新输入(3次)

2,学生未按时交纳学费,不可选课

3,学生人数已达到上限,不可选课。

(当然在这里在把下边的活动图,添加进来即可)

d,用例分类和确定之间的关系,有端点用例,基本用例,主要用例,辅助用例等,关系弄准确就可以。e,画好用例图,分层次结构,就是上边那样的,分成一级,二级等,像分叉树一样。f,最后就是规格说明书了,这里可以参见统一规定的需求说明书,然后评审。

活动图:

活动图(Activity Diagram)可以实现对系统动态行为的建模,主要是将用例细化,即用例内部的细节可以以活动图的方式描述。活动图描述活动的顺序,主要表活动之间的控制流,是内部处理驱动的流程,在本质上是一种流程图。先看一下基本图标。

既然是用例图的详细描述,我们来描述一下教务管理中的选课注册:

这里用通过学习用例图和活动图,将面向对象的需求分析阶段进行了梳理。当然实际工作中,系统复杂程度,需要我们用很多个,很多层用例图来描述,我们根基实际情况而定即可。主要是学习画图的基本方法,规则,原理,步骤等。需要我们做到的是举一反三,以不变应万变。

面向对象分析(实验三) 一开始是12关,最后一关我是按照要求画的,结果头歌系统一直不给过,最后时间到了,我画过了,和我一开始的是一样的,头歌系统说是效率分然后不给开,最后只有33.3分,对头歌很失望,这个系统有太多问题,无法接受这样的结果 面向对象分析的基本概念 类图关系 1.依赖(Dependence) 依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。定义比较晦涩难懂,但在java中的表现还是比较直观的:类... 阅读详情

相关推荐

UML之用例图,类图,时序图,活动图

用例图 用例图是用于描述系统在某个系统边界下需要提供的功能的图例描述,是对用户与系统进行交互的动作的表述。用例图描述了用户、需求以及系统功能单元之间的关系,主要由参与者,用例和它们之间的关系组成。用例图需要的因素: 参与者(Actor):使用系统功能的人或者团体,用小人表示,参与者可以继承,用空三角表示 系统边界:用于确定用例的使用场景,用例图必须在系统边界中设计才有意义,用矩形表示 用例:用户与系统之间的交互行为,一般是用户做的某件事,用椭圆表示,注:每个用例都得是动宾结构(动词+名词) 关系:用例与参与

欢迎订阅 -- 小源笔迹 1万+

【软件架构】软件的设计图纸(用例图,类图,状态图,活动图,顺序图)

而活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。实现:实现指的是类与接口之间的关系,在UML中用带虚线的三角形箭头表示,这里的接口指的是接口类型,接口名字用斜体字表示,接口中的方法都是抽象方法,也采用斜体字表示。活动图的走向可以是横向的也可以是纵向的,根据个人喜好而定。它要求普通的聚合关系中代表的对象负责代表部分的对象的生命周期,合成关系是不能共享的。活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流。

qq_41694204的博客 4474

面向对象需求分析

以对象为中心,以类为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。功能模型描述所有参与者使用系统功能的情况。以用例为建立功能模型的基本单位,通过可视化的用例图展示参与者与系统交互的情况。用例图从用户的观点描述系统的功能,是用户所能观察到的系统功能的模型图,由参与者、用例以及它们之间关系所组成。什么是对象模型呢?对象模型(类图)是模型的静态结构,表示软件要处理的数据,它描述了系统逻辑设计中存在的包、类以及它们之间的关系。

分享各类实战项目,提供源码与教程,供大家学习参考。 2588

详解UML(统一建模语言)中的类图、用例图、活动图、状态图、顺序图

nifiedodelinganguage)UML是非专利的第三代建模和规约语言 是用于说明 可视化 构建和编写一个正在开发的 面向对象的 软件密集系统的制品的开放方法UML展现了一系列最佳工程实践 这些最佳实践在对大规模 复杂系统进行建模方面 特别是在软件架构层次已经被验证有效。

很多时候犯错都是在不知情的情况下发生的 1万+

软件工程-第三章 需求分析

目录 3.1 需求分析 3.1.1 需求获取 3.1.2 需求分析的过程 一、需求确认 二、需求变更 3.1.3 需求分析的任务&需求规格文档编制 一、需求分析的任务 二、软件需求规格文档编制 3.2 面向过程的分析方法 3.2.1 面向过程的分析方法 1、需求分析模型概述 2、面向过程分析模型 ——结构化分析方法 3.2.2 数据流图(DFD)初步 3.2.3 数据流图进阶(一) 3.2.4 数据流图进阶(二) 3.2.5 检查数据流图的原则 3.3 面向对象的分析.

HerbertRonaldo的博客 3626

《生成式AI引发的“认知污染”:社交媒体虚假信息的治理困局》

认知污染与生成式AI“认知污染”指信息环境被大量虚假、误导性内容所充斥,干扰公众对事实的认知判断。在社交媒体时代,虚假信息的生产和传播门槛大幅降低,呈现出工业化、规模化的趋势。近年兴起的生成式人工智能(Generative AI)技术,如大型语言模型(LLM)和深度伪造(deepfake),更是加剧了这一问题。AI可以自动生成看似真实的文本、图像、音视频,将虚假信息批量生产并快速散播到社交平台上。

那谁的博客 5912

面向对象的软件工程——用例图

用例图 概念 用例图主要用于描述角色以及角色与用例之间的链接关系,说明的是谁要使用系统,以及他们使用系统可以做些什么。 用例图的元素 用例图的三个元素 : {参与者(Actor),用例(Use Case),子系统} 参与者 Actor 大多数系统具有多种类型的用户,每类用户表示为一个参与者。 用一个火柴人表示: 用例 Use Case 在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述。 用椭圆表示 子系统 用来展示系统的一部分功能,这部分功

congee0的博客 3391

高通8155车机系统里,安卓和QNX是怎么‘打电话’的?聊聊HAB通信框架那些事

本文深入解析了高通8155车机系统中HAB通信框架如何实现安卓与QNX的高效协同。作为异构系统的通信桥梁,HAB通过共享内存和中断信号机制,在多媒体数据传输中展现出零拷贝、硬件加速等优势,成为智能座舱实现实时性与生态丰富性平衡的关键技术。

weixin_42715608的博客 381

软件工程——实验1:面向对象需求分析方法

安装建模工具并熟悉其操作与使用,包括用例建模的基本元素、用例建模技术等。 根据附件1给出的《简单的学生选课管理系统》,采用面向对象分析方法,给出系统的用例图、课程注册用例活动图、分析类图。 分析对比功能模块和用户需求。

阮阮的阮阮的博客 3378

Keil MDK安装NRF52832开发环境全攻略(附系统时间错误解决方案)

本文详细介绍了如何使用Keil MDK搭建NRF52832开发环境,包括基础软件安装、项目配置关键步骤以及常见问题解决方案。特别针对系统时间错误导致的编译失败问题提供了实用解决方法,帮助开发者快速上手NRF52832开发。

weixin_29168153的博客 505

Python量化交易实战:如何用vnpy+Tushare获取股票历史数据(附完整代码)

本文详细介绍了如何利用vn.py框架与Tushare数据接口,构建一个健壮的Python量化交易数据获取引擎。通过封装Tushare API,实现股票历史数据的自动化获取与格式转换,并适配vn.py的BarData结构,为策略回测与实盘交易提供稳定、高效的数据基础。文中提供了完整的代码实现,涵盖环境配置、核心封装逻辑及高级功能扩展。

cola5的博客 1219

面向对象的分析与设计

面向对象的分析与设计 1.面向对象 是一种思维方式 UML 统一建模语言,是一种建模工具,表达设计思想的工具 2.软件功能是如何完成的 类 定义了对象群体的逻辑结构,包括属性和操作 系统运行时,类作为产生对象的模板,在物理层面是不存在的 对象 系统运行时必须为每一个需要的对象分配内存、保存数据 对象存在于物理层面,每个对象都有自己的数据空间(内存) 所有的对象共享同一块代码空间 消息 对象之间的一种交流手段 就像我们日常工作中的各种交流手段 3.模型的定义 建模 m

紫青宝剑的博客 7757

C++中为什么要引入引用变量?

C++引用机制的设计哲学在于平衡性能与安全性。它解决了指针的三个痛点:语法噪音、空指针风险和语义模糊,同时保持了指针的效率优势。引用必须绑定有效对象且不可重绑定的特性增强了安全性,其值语义语法更直观。尤其在运算符重载和const引用场景中,引用展现了不可替代的优势。本质上,引用是编译器优化的指针实现,体现了C++"零开销抽象"的核心思想——既保持底层性能,又提供高级抽象。这种设计允许开发者根据场景灵活选择指针或引用,反映了C++多范式共存的语言智慧。

教学 & 技术专栏 175

面向对象设计学习总结

面向对象设计概述分析阶段活动图、用例图、领域模型活动图用例图领域模型寻找概念类添加关联设计阶段SSD(系统顺序图)软件类图设计类图实现阶段单元测试重构总结 概述 软件设计是软件工程中技术方向部分,软件工程大方向上划分,包含管理方向和软件设计方向。管理方向,主要指软件迭代、资源管理等项目进度、宏观质量把控方面,涉及理论知识,书籍,如《敏捷迭代开发:管理者指南》、《敏捷软件开发的组织模式》、《软件项目...

卓越之路 2930

从零搭建Obsidian智能知识库:Ollama本地模型与Copilot插件实战指南

本文详细介绍了如何从零搭建Obsidian智能知识库,结合Ollama本地模型与Copilot插件实现高效知识管理。通过本地部署AI助手,用户可以在保证隐私安全的同时,快速检索和整理笔记,提升工作效率。文章涵盖硬件准备、Ollama部署、插件配置及实战技巧,适合需要高效知识管理的专业人士。

weixin_29230773的博客 631

【项目案例】前后端分离项目 【Web图书管理系统 】SpringBoot + Vue + Element UI + Mysql

Web图书管理系统

激流丶的博客 5397

掌握软件工程基础:知识点全面解析【chap03、chap05、chap06、chap08、chap09】

掌握软件工程基础:知识点全面解析,着重关注UML数据流图及需求分析部分

Five的博客 1814

【C++】C++异常语法、使用、规范、异常安全及异常的优缺点

实际中我们可以可以去继承exception类实现自己的异常类。但是实际中很多公司像上面一样自己定义一套异常继承体系。因为C++标准库设计的不够好用。如果有一个块抛出一个异常,捕获异常的方法会使用 try 和 catch 关键字。try 块中放置可能抛出异常的代码,try 块中的代码被称为保护代码。C++ 提供了一系列标准的异常,定义在 中,我们可以在程序中使用这些标准的异常。异常是一种处理错误的方式,

weixin_51692487的博客 1524

面向对象分析与设计小结

最近接触了下面向对象分析与设计的概念,虽说书上也许是讲的比较浅显,这里暂且做做学习笔记 当面对一个项目的时候,首先依然是需求分析,得到需求分析报告,接下来在面向对象分析过程中建立用例图,这一步是项目负责人员与用户共同参与, 在结构化分析设计中应该是从属于需求分析的,用例图的重要作用也就是明确整个系统大致上的功能需求,及需要面向的用户类型,类似于DFD中的顶层图。 用例图建好后...

weixin_30466953的博客 106

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

UML实践-用例图、顺序图、状态图、类图、包图、协作图

面向对象的问题的处理的关键是建模问题。建模可以把在复杂世界的许多重要的细节给抽象出。许多建模工具封装了UML(也就是Unified Modeling Language UML中有九种建模的图标,即: 用例图 类图 对象图 顺序图 协作图 状态图 活动图 组件图 配置图 本课程...

weixin_30469895的博客 312

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

软件开发工具【十四】 之 常用建模工具

感谢内容提供者:金牛区吴迪软件开发工作室 接上一篇:软件开发工具【十三】 之 Eclipse插件的使用与开发 文章目录一、UML建模介绍1.面向对象方法的出现和发展2.面向对象的一些概念3.面向对象方法的基本过程4.组件思想二、RATIONAL ROSE建模工具介绍1.RATIONAL 公司简介2.面向对象的分析设计和Rational Rose3.Rational Rose可视化建模的特点三、使用RATIONAL ROSE 建模1.UML建模的三大部分2.需求分析之用例图与活动图3.系统分析与设计四、E.

吴小迪的博客 6168

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

UML统一建模语句(摘自《疯狂 Java 讲义》)

UML统一建模语句欢迎使用Markdown编辑器用例图类图1.关联2.泛化3.依赖组件图4.部署图新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLow...

qq_37139980的博客 462

【系统分析师之路】第六章 需求工程记忆敲出Part2

【系统分析师之路】第六章 需求工程记忆敲出Part2

千月星跡 490

uml时序图_UML建模更好地表达产品逻辑

本文为PMCAFF专栏作者产品经理朱学敏出品UML(UnifiedModeling Language,统一建模语言) 是一种在软件设计时提供给分析师、设计师和工程师之间的通用语言。UML在软件需求分析及整个产品生命周期中起着重要作用:一是有助于捕获系统结构或行为;二是有助于定义软件构架,保持设计和实现的一致性;三是有助于管理复业务,方便团队沟通。UML不仅支持面向对象的分析与设计,还支持产品从0到...

weixin_39819576的博客 337
上一篇: windows下c++多线程编程入门实例
下一篇: 面向对象系统分析——类图包图
piperzero
博客等级 码龄21年 1377粉丝 504原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值