9 软件架构设计 用例与需求

【软件设计与体系结构】用例图、类图、时序图 (将【泛化】的实线改为虚线则表示【实现】)(一条实线加一个菱形表示【聚合】) 阅读详情

用例技术族

用例技术包括:用例图、用例简述、用例规约、用例实现

用例图
用例图的元素:参与者、用例
参与者:可以是系统,或用户
用例:用例是一个动词,是一个动作
在这里插入图片描述

用例简述
对用例简短的说明
在这里插入图片描述

用例规约
对用例详细的说明,包括流程的说明,如下:
在这里插入图片描述

用例规约虽然详细,但不是每个用例都应该有用例规约,只有在难以理解的用例才需书写用例规约

用例实现(不是代码的实现,是业务上的实现)
用例实现=协作
在这里插入图片描述

用例技术族应用场景

需求分析
需求捕获:
用例图+用例简述可以用于需求捕获阶段
需求分析:
用例图+用例简述可以应用与不太复杂的系统的需求分析阶段,对于复杂的系统,一般使用用例规约
系统分析:
用例实现应用在初始设计中

需求文档
《软件需求规格说明书》
在这里插入图片描述

需求变更
用例图,用例简述在面对需求变更时比较稳定
用例规约面对需求变更时不稳定,因为用例规约设计的比较细,所有用于规约一般在要定义功能时才进行细化

只需用例建模就够的吗?

对于小型项目,我们的工作项
在这里插入图片描述

对于中型项目
在这里插入图片描述

对于大型项目
我们需要画流程模型,流程模型有助于我们发现用例
在这里插入图片描述

在流程模型中,需要我们系统辅助完成的,往往就是我们的用例,如下流程图示例
在这里插入图片描述

5个真实项目案例告诉你:如何用UML用例图搞定需求分析(附模板下载) 本文通过5个真实项目案例,深入解析如何运用UML用例图从静态描述转向动态驱动,以有效进行软件需求分析。文章强调以用户目标为核心,区分主次流程与异常场景,并提供了实用的用例规约模板,帮助团队建立清晰、无歧义的需求沟通语言,提升整体开发效率。 阅读详情

相关推荐

软件架构之架构设计与评估

即每个模块都构成自己的小领域(专门知识或专门技术),并与其他模块的接口清晰,这样,不同的模块分到不同的开发小组中,就能减少各开发小组之间的沟通成本,而在各开发小组内部,由于是处理小领域的问题,容易建立起有效的沟通机制,如成员有这个小领域的背景。修剪这棵树,保留重要场景(不超过 50 个),再对场景按重要性给定优先级(用 H/M/L 的形式),再按场景实现的难易度来确定优先级(用 H/M/L 的形式),这样对所选定的每个场景就有一个优先级对(重要度,难易度),如(H,L)表示该场景重要且易实现。

恒二哥的博客 1226

用例图之参与者、用例间的四种关系

用例图中包括三种元素,参与者,用例,它们之间的关系。下面说说参与者与用例之间,用例与用例之间都有哪些关系。 1.关联关系         定义:参与者与用例之间通常用关联关系来描述。         表示方法:带箭头的实线,箭头指向用例。         如图所示:     2. 泛化关系         定义:一个用例可以被特别列举为一个或多个子用例,这被称为用例泛化。

sunny_LI 9万+

软件架构之软件架构概述及质量属性

软件架构是软件抽象发展到一定阶段的产物,从编程的角度,可以清晰地看到软件抽象层次和表达工具的发展历史。20 世纪 60 年代是子程序的年代:出现了原始的软件架构,即子程序,并以程序间的调用为连接关系。20 世纪 70 年代是模块化的年代:出现了数据流分析、实体—关系图(E-R 图)、信息隐藏等工具和方法,软件的抽象层次发展到了模块级。20 世纪 80 年代是面向对象的年代:基于模块化的编程语言进一步发展成面向对象的语言,继承性地增加了一种新元素之间的连接关系。

恒二哥的博客 1840

如何画好架构图:7种常用类型与示例

????目录1 引言2 UML 常见的架构图3架构图在软件开发周期中的应用场景与时机4结语对于众多开发者而言,架构图不仅是一项不可或缺的技能,更是他们理解、规划和构建软件系统的关键工具。然而,面对多样化的系统需求和复杂的业务逻辑,如何画好一张架构图,成为了许多程序员面临的共同挑战。今天,我们特邀了同程旅行资深架构师、腾讯云 TVP 李智慧老师,李老师也是畅销书《高并发架构实战:从需求分析到系统设计》...

QcloudCommunity的博客 4363

【企业架构设计实战】4 应用架构设计

前言企业IT架构包括应用架构、数据架构和技术架构,企业IT架构与业务架构共同构成了企业架构的核心内容。接下来重点介绍IT架构中的应用架构。应用架构是对企业所有应用系统、服务及它们之间交互关系的整体描述,反映应用系统如何支撑业务运行及未来业务发展,同时需要体现应用与技术、数据之间的关系。其中我们会看看应用架构的本质、价值、设计框架、常用模式、核心策略、设计原则,并重点讨论应用架构的利器——领域驱动设...

AI天才研究院 2万+

6、软件架构需求解析与实践

本文深入探讨了软件架构设计中的核心主题,包括后端前端(BFF)模式与模块架构的实现方式,功能与非功能需求的区分及其对架构的影响,以及具有架构意义的需求(ASR)的识别方法。同时,还介绍了如何通过系统化流程收集需求,并利用工具链生成清晰的需求和架构文档。文章为软件架构师和开发人员提供了从理论到实践的全面指导,帮助设计更加高效、可维护和可扩展的软件系统。

vscode6remote的博客 56

书籍推荐 —— 软件是这样“炼”成的:从软件需求分析到软件架构设计

软件是这样“炼”成的:从软件需求分析到软件架构设计》是以案例驱动的方式,用投核保系统为本书仅有、连贯性的案例全程记录了软件开发过程中从需求开发到架构设计的全部过程。从文字组织到书的结构设计方面,既不是以理论为主调的“学院派”编写方法,也不是以应用介绍为主调的“应用派”编写格调,而采用了情景对话、场景在线、自然语言的方式,详细介绍了软件需求到架构过程中所应用的理论知识以及这些知识的应用,同时分析了这些理论知识的应用场景,然后以投核保系统为案例将软件开发过程中各个阶段成果物完整的展现给读者。

blackcat123的博客 1309

9、软件开发需求与设计的全面解析

本文深入探讨了软件开发中的需求与设计方法,包括软件需求规格说明(SRS)、用例、统一建模语言(UML)和用户故事等关键概念。文章分析了这些方法的特点、应用场景以及优缺点,并结合实际案例和流程图,详细阐述了如何在项目中综合运用这些工具来提高软件质量和开发效率。此外,还介绍了敏捷开发中的用户故事实践、产品待办事项列表的管理以及持续改进的重要性,为开发团队提供了全面的指导和参考。

xray4的博客 142

第1章 软件架构与需求分析方法

中台战略与组件化开发

假装文艺范儿 2558

测试用例框架

测试用例框架,应用于接口测试用例编写及测试执行的指导具有很强的指导意义

Android开发Intent详解

本文详解Android开发Intent。

qq_30725967的博客 2415

打造高质量软件架构 - 9大质量属性

在软件架构中,软件系统的需求通常可以分为两类:功能性需求和非功能性需求。软件系统的架构设计需要满足这两类需求,尤其是在非功能性需求方面,系统架构的支持成为了架构的质量属性。

TechLead 2157

fMRI脑影像特征提取——静息态与任务态,ALFF/fALFF和ReHo(Dpabi,Rest1.8)

任务态和静息态是大脑的两种状态,前者主要是指大脑在执行记忆、识别以及运动等具体任务时的状态,静息态则是指大脑不执行具体认知任务、保持安静、放松、清醒时的状态,是大脑所处的各种复杂状态中最基础和最本质的状态。任务态fMRI分析有非常悠远的历史,而静息态fMRI自1995年biswal教授及其同事率先报告静息态fMRI具有生理意义后,越来越多的人进入了静息态的研究领域。任务态fMRI主流的分析方法是模型驱动(GLM+HRF),也可以引用静息态fMRI

意疏的学习笔记 6万+

什么是软件架构?常用的软件架构

软件架构所指的就是说相应的系列性的抽象模式,可以为设计大型软件系统的各个方面提供相应的指导。从本质上来看,软件架构是属于一种系统草图。在软件架构所描述的对象就是直接的进行系统抽象组件构成。连接系统的各个组件之间就是做到把组件之间所存在的通讯比较明确与相对细致的实施描述。处于相应的系统实现环节,那么就会使得细化这些抽象组件成为现实的组件,比如可以是具体的某个类或者是对象。从面向对象领域进行分析,那么各个组件之前实施的连接实现往往是接口。...

qq_41854911的博客 1万+

qmt量化交易策略小白学习笔记第67期【qmt编程之获取ETF申赎清单】

qmt编程之获取ETF申赎清单

fanglue3705的博客 1773

君正T31x metartc集成测试

metartc为国内杨大侠部分开源的一款用于嵌入式领域webrtc库,它与谷歌官方webrtc相比,编译到君正平台的可执行文件仅有5M即可实现webrtc的通信。1. 目前实现的是基于开源版v5.0-b0版本做的简单修改,官方的好几个版本都多少缺点东西,我这里给整理了一下。目前是局域网连接的webrtc,后续尝试走stun和turn试一下NAT穿越的效果。

fsmpeg的博客 3159

软件架构设计与需求分析方法论

电商所有模块中,订单系统是非常核心的一个子系统,决定了整个流程能不能顺畅的执行,起着承上启下的作用,其他模块都是围绕订单系统进行构建的。订单系统出问题,或者功能流程设计不完善、不准确,将会造成整个电商系统整体或局部业务流转不顺畅,甚至导致项目的失败。订单系统的作用是:管理订单类型、订单状态,收集关于商品、优惠、用户、收货信息、支付信息等一系列的订单实时数据,进行库存更新、订单下发等一系列动作。订单系统业务的基本模型涉及用户、商品(库存)、订单、付款。

qq_41854911的博客 1360

变压器励磁电感、励磁电流、漏感、漏感折算

励磁、漏感知识整理

HW-BASE的博客 1万+

9种单片机常用的软件架构

后面有幸,接触了稍微复杂点的项目,感觉以前水平Hold不住,然后借着项目需求,学习了很多优秀的代码架构,比如以前同事的,一些模组厂的SDK,还有市面上成熟的系统。因为我在做研发工程师的第6年,才开始意识到这个东西,在此之前,都是做一些比较简单的项目,一个main函数干到底,架构复杂了反而是累赘。下面是一个简化的示例,展示如何在C语言中模拟面向对象的编程风格,以51单片机为背景,创建一个简单的LED类。事实上,真正的事件型驱动架构,是非常复杂的,我职业生涯的巅峰之作,就是用的事件型驱动架构。

无际单片机编程 1万+

实战指南:用Python实现ONVIF WS-Discovery设备发现(附完整代码)

本文提供了一份详细的实战指南,介绍如何使用Python实现基于ONVIF标准的WS-Discovery设备发现协议。文章深入解析了协议原理、网络通信模型,并提供了完整的代码实现,帮助开发者快速构建智能安防和物联网应用中的设备自动发现工具,有效提升网络设备集成与管理的效率。

chair的专栏 1114

必知必会:DeepSeek-R1训练流程详解

必知必会:DeepSeek-R1训练流程详解

丨汀、的博客 287

新年快乐:软件架构设计的软件架构概述、软件架构建模、软件架构风格

本文系统介绍了软件架构的概念、发展历程、建模方法、风格分类及实现技术。主要内容包括:1)软件架构作为需求与设计间的桥梁,提供了系统结构的高级抽象;2)架构建模方法如4+1视图模型;3)六种主要架构风格(数据流、调用/返回等)及其特点;4)SOA架构的原理与实现;5)基于架构的开发模型(ABSDM)六个子过程;6)软件质量属性的分类与评估方法。文章还探讨了架构标准、质量属性场景描述等关键问题,为软件架构设计与评估提供了系统指导。(149字)

帅次的博客 2086

FPGA入门200例(17):如何阅读RTL原理图(Schematic)?将Verilog代码与门级电路对应

本文针对FPGA开发新手常见误区,重点讲解了RTL原理图的重要性和阅读方法。文章指出,仅通过仿真验证代码会导致板级测试异常,而RTL原理图能直观呈现Verilog代码对应的硬件结构(门电路、寄存器、多路选择器等)。通过"识别基础元件→跟踪信号路径→验证逻辑关系"的三步法,新手可以建立代码与硬件的映射思维,排查冗余逻辑、意外锁存器等错误。文章还结合Vivado/Quartus工具操作指南和典型代码案例,帮助读者掌握从代码到硬件实现的转换过程,避免混淆RTL与门级原理图、忽略信号位宽等常见误

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 201

2024年最新软件架构设计与需求分析方法论_软件设计方法论(4),看这篇足矣了

已剪辑自: https://blog.youkuaiyun.com/fegus/article/details/125091731。

2401_84911559的博客 1434

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

[架构之路-88]:《程序员必读之软件架构》-3-软件需求与架构设计的关系

这部分是关于设计软件的整个流程,特别是开始编码前真正需要思考的事情。

文火冰糖(王文兵)的博客 733

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

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

【软件架构设计方法论(9)】关键需求:如何从海量需求中找出决定架构的那20%

识别关键质量→识别关键功能→转化关键约束→综合决策架构选型”。公式拆解识别关键质量:列出所有质量需求,识别相互制约的关系,确定主要目标和次要目标。这就像买车,先确定主要目标(省油还是动力强),再确定次要目标(舒适性、安全性)。识别关键功能:通过4条启发规则(核心功能、必做功能、高风险功能、独特功能),从海量功能需求中识别出20-30%的关键功能。这就像盖房子,先确定核心房间(客厅、卧室、厨房),其他房间可以后期补充。转化关键约束。

hiliang521的博客 1691

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

上一篇: 8 软件架构设计 需求分析
下一篇: 10 软件架构设计 领域建模
dabusidede
博客等级 码龄9年 84粉丝 208原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值