当前位置: 首页 > news >正文

案例分析技巧-软件工程

一、考试情况

  • 需求分析(※※※※)
  • 面向对象设计(※※)

 二、结构化需求分析

数据流图

数据流图的平衡原则

数据流图的答题技巧

  • 利用数据平衡原则,比如顶层图的输入输出应与0层图一致
  • 补充实体
    • 人物角色:客户、管理员、学生、老师
    • 组织机构:银行、供应商
    • 外部系统:银行系统、工资系统
  • 补充存储:例如**文件,**表,**库,**清单,**档案
  • 补充加工:找“动词+名词”的结构,分析是否可作为加工的,如生成报告、发出通知等

 三、UML图

静态图(结构图):类图、对象图、构件图、部署图、制品图、包图、组合结构图

动态图(行为图):用例图、顺序图、通信图、状态图、活动图、定时图、交互概览图

(1)用例图:描述一组用例、参与者以及它们之间的关系;用户角度描述系统功能;参与者是外部触发因素(用户、组织、外部系统、时间);用例是功能单位

(2)用例关系

  • 包含关系:将两个或两个以上的用例中提取公共行为时,应该使用包含关系来表示它们,包含关系必然
  • 扩展关系:如果一个用例明显地混合了两种或两种以上的不同环境,即根据情况可能发生多种分支,则可以将这个用例分为基本用例和一个或多个扩展用例。扩展关系可选
  • 泛化关系:当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象为父用例,其他的用例作为泛化关系中的子用例。泛化关系是一个父子关系

       

用例规约包括用例名称、用例ID、角色、用例说明、前置条件、基本事件流、其他事件流、异常事件流和后置条件。

类图:类图描述一组类、接口、协作和它们之间的关系。

对象图:对象图描述一组对象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态快照。

该图的解释:一本书籍对应0或1条借阅记录

多重度

  • 1:表示一个集合中的一个对象对应另一个集合中一个对象
  • 0..*:表示一个集合中的一个对象对应另一个集合中的0个或多个对象
  • 1..*:表示一个集合中的一个对象对应另一个集合中的一个或多个对象
  • *:表示一个集合中的一个对象对应另一个集合中的多个的对象

关系

顺序图(序列图)

顺序图是一个交互图,它强调了对象之间消息发送的顺序,同时显示对象之间的交互

通信图(协作图)

通信图是交互图,它强调对象之间存在的消息收发关系,而不专门突出这些消息发送的时间消息

状态图:是对类描述的补充。用于展现此类对象所具有的可能状态,以及某些事件发生时其状态转移情况。

活动图

活动图里的节点表示是活动,状态图的节点表示的是状态

活动图的黑线表示两条路径可以并行执行的

泳道代表角色

定时图(交互图):也是交互图,用于展示交互过程中的真实时间信息,具体描述对象状态变化的时间点以及维持特定状态的时间段。

相关文章:

案例分析技巧-软件工程

一、考试情况 需求分析(※※※※)面向对象设计(※※) 二、结构化需求分析 数据流图 数据流图的平衡原则 数据流图的答题技巧 利用数据平衡原则,比如顶层图的输入输出应与0层图一致补充实体 人物角色:客户、…...

如何使用docker compose安装APITable并远程访问登录界面

文章目录 前言1. 部署APITable2. cpolar的安装和注册3. 配置APITable公网访问地址4. 固定APITable公网地址 正文开始前给大家推荐个网站,前些天发现了一个巨牛的 人工智能学习网站, 通俗易懂,风趣幽默,忍不住分享一下给大家。 …...

深入了解Matplotlib中的子图创建方法

深入了解Matplotlib中的子图创建方法 一 add_axes( **kwargs):1.1 函数介绍1.2 示例一 创建第一张子图1.2 示例二 polar参数的运用1.3 示例三 创建多张子图 二 add_subplot(*args, **kwargs):2.1 函数介绍2.2 示例一 三 两种方法的区别3.1 参数形式3.2 布局灵活性3.3 适用场景3…...

云计算运维 · 第三阶段 · git

学习b记 第三阶段 三、持续集成 1、git #安装 yum -y install git[rootgit-git ~]# git config –-global user.name "qxl" # 配置git使用用户 [rootgit-git ~]# git config –-global user.email "qxlmail.com" # 配置git使用邮箱 [rootgit-git ~]# g…...

【幻兽帕鲁】开服务器,高性能高带宽(100mbps),免费!!!【学生党强推】

【幻兽帕鲁】开服务器,高性能高带宽(100mbps),免费!!!【学生党强推】 教程相关视频地址:https://www.bilibili.com/video/BV16e411Y7Fd/ 目前幻兽帕鲁开服务器有以下几套比较性价比的…...

微信小程序|推箱子小游戏

推箱子游戏是一种经典的益智游戏,通过移动箱子将其推到指定位置,完成关卡的过程。随着小程序的发展,越来越多的人开始在手机上玩推箱子游戏。本文将介绍如何利用小程序实现推箱子游戏,并分享一些技术实现的方法。 目录 引言游戏背景介绍游戏规则及挑战技术实现步骤创建游戏…...

【Linux】—— 信号的产生

本期,我们今天要将的是信号的第二个知识,即信号的产生。 目录 (一)通过终端按键产生信号 (二)调用系统函数向进程发信号 (三)由软件条件产生信号 (四)硬件…...

【算法】Hash 算法-关注优化细节

//给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 // // 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 // // // // 示例 1: // // //输入:nums [100,4…...

回归预测 | Matlab实现CPO-SVR冠豪猪优化支持向量机的数据多输入单输出回归预测

回归预测 | Matlab实现CPO-SVR冠豪猪优化支持向量机的数据多输入单输出回归预测 目录 回归预测 | Matlab实现CPO-SVR冠豪猪优化支持向量机的数据多输入单输出回归预测预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab实现CPO-SVR冠豪猪优化支持向量机的数据多输入…...

Idea设置代理后无法clone git项目

背景 对于我们程序员来说,经常上github找项目、找资料是必不可少的,但是一些原因,我们访问的时候速度特别的慢,需要有个代理,才能正常的访问。 今天碰到个问题,使用idea工具 clone项目,速度特…...

tkMapper 通用mapper的批量更新 批量新增 官方实现 springboot项目 依赖引入

文章目录 场景官方插件源码解析项目细节小结 场景 在许多业务场景下,需要对tkMapper的功能进行增强,需要用到批量新增和批量更新(这里是唯一主键去更新的),许多论文博客自己写的看起来并不行,我们这里就采…...

【leetcode刷刷】回溯:77.组合

77. 组合 第一次专门做回溯,有点难理解。首先可以理解回溯可以可视化为树的搜索,因此这道题,树的宽度为n,树的深度为kpath作为一个参数传入有点难想回溯没有返回值剪纸更难想,通过列算式可以勉强得到for的表达式&…...

【OOP】Python的OOP编程笔记

1.类变量和实例变量 类变量:变量属于类,在对象中是共用的。访问方式为类名.变量名,或对象名.__class__.变量名 实例变量:定义在方法中的变量,属于具体对象。访问方式为对象名.变量名 类变量访问方式 class Car:# nu…...

一进一出模拟量信号隔离变送器

一进一出模拟量信号隔离变送器 捷晟达科技推出一进一出模拟量信号隔离变送器 深圳捷晟达科技推出一款具有隔离,放大,转换保护功能的一进一出的小型隔离变送器设备,该设备可以把模拟量(4-20mA/0-10V等)标准信号转换用户需要的信号,该产品具有抗EMC干扰,可以有效的保护后级设备安…...

Mybatis-plus原生pages分页未生效的解决方案

文章目录 前言原因1、Mybatis Plus版本的问题2、Mapper.xml文件中SQL语句格式问题3、Mybatis Plus默认分页拦截器问题4、分页参数传参问题5、分页配置的问题 解决方案1、升级对应的Mybatis-plus版本分页插件配置问题3、自定义分页拦截器4、正确的参数5、不同版本的配置文件3.4.…...

【linux】-centos7版本前后-变化篇

1.centos7版本前后区别 首先文件系统变化,由EXT4,变为XFS格式。可支持容量500TB的文件,而6代仅能支持16TB。首个进程变为systemd, 替换了熟悉的init进程。它的特点是功能强大,体积也很强大。 systemd给我们带来了一个全家桶命令&…...

001集—shapefile(.shp)格式详解——arcgis

一、什么是shapefile Shapefile 是一种用于存储地理要素的几何位置和属性信息的非拓扑简单格式。shapefile 中的地理要素可通过点、线或面(区域)来表示。包含 shapefile 的工作空间还可以包含 dBASE 表,它们用于存储可连接到 shapefile 的要…...

ssrf服务器请求伪造漏洞(个人学习)

SSRF前置学习须了解net工作原理 计算机网络 网络地址转换NAT_内部本地地址-CSDN博客 可以看这个来了解 SSRF 攻击的目标:从外网无法访问的内部网络 形成原因:大部分服务器提供了从外部应用获取数据的功能,但是对目标地址没有做过滤和限制…...

【前端web入门第二天】03 表单-下拉菜单 文本域 label标签 按钮 【附注册信息综合案例】

文章目录: 1. 下拉菜单 2. 文本域3.label标签 4.按钮- button 4.1 reset重置按钮结合form表单区域使用 5.无语义的布局标签 6.字符实体 注册信息综合案例 表单第二节 1. 下拉菜单 标签: select嵌套option,select是下拉菜单整体,option是下拉菜单的每一项。 代码…...

回响科技二面面试题解答

面试题 1、你们的数仓中DWD层为什么要划分数据域?划分数据域之后会对ADS层造成什么影响?是可以提效还是可扩展性强?你们是如何考虑的呢? 2、AZkaban和dolphinScheduler的区别是什么?如果选型会从哪几个方面来考虑呢&a…...

告别虚拟机卡顿:在Windows 11的WSL2里搞定Lichee Nano交叉编译环境

告别虚拟机卡顿:在Windows 11的WSL2里搞定Lichee Nano交叉编译环境 对于嵌入式开发者来说,配置开发环境往往是个令人头疼的问题。传统虚拟机方案虽然能提供完整的Linux体验,但资源占用高、启动慢、与宿主系统交互不便等问题一直困扰着开发者。…...

BetterJoy完整配置指南:5分钟让Switch手柄在PC上完美运行

BetterJoy完整配置指南:5分钟让Switch手柄在PC上完美运行 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https://gitcode.c…...

GitLab External Wiki代理权限绕过漏洞深度解析

1. 这个漏洞不是“修个补丁”就能完事的——它暴露的是 GitLab 权限模型里一个被长期忽视的逻辑断层GitLab 安全漏洞 CVE-2025-2614,光看编号容易误以为是又一个常规的越权或 XSS 类型漏洞。但我在实际复现和审计过程中发现,它根本不是配置疏漏或代码拼写…...

为什么软件开发偏爱 Linux?深度剖析 Linux 相较于 Windows 的核心优势

引言 在软件开发的世界里,一个有趣的现象是:无论是大型互联网公司的服务器集群,还是资深程序员的个人开发机,Linux 操作系统的身影无处不在。与之形成鲜明对比的是,尽管 Windows 在个人消费市场占据绝对主导地位&…...

PCB虚焊/走线断裂/焊盘脱落工程师易漏判

PCB 故障中,30% 并非元件损坏,而是 PCB 本身的隐性故障—— 虚焊、走线断裂、焊盘脱落、过孔开路。这类故障外观隐蔽、时好时坏、排查难度大,很多工程师反复更换元件仍无法解决,最终误判为 “板报废”。​一、PCB 隐性故障核心成因…...

轻量化部署,异地机房快速接入,多机房管理不用再大动干戈

随着业务拓展,不少企业、单位陆续建起异地分部机房、多区域节点机房。传统资产管理系统部署复杂、对接困难,异地机房接入成本高、周期长,改造繁琐,让很多运维团队望而却步,只能继续沿用分散人工管理,资产混…...

别再手动编译了!Matlab一键调用CEC2017测试函数的完整配置指南(附30个函数调用示例)

别再手动编译了!Matlab一键调用CEC2017测试函数的完整配置指南(附30个函数调用示例) 算法研究者们常常需要借助标准测试函数来验证优化算法的性能,而CEC2017测试函数集因其复杂性和多维度的挑战性,成为评估算法鲁棒性的…...

Jupyter Notebook里跑argparse脚本总报错?一个空列表参数搞定ipykernel_launcher.py error

Jupyter Notebook中argparse报错的终极解决方案:空列表参数实战解析在数据科学和机器学习的工作流中,Jupyter Notebook因其交互式特性成为众多研究者的首选工具。然而,当我们尝试在Notebook中运行那些原本为命令行设计的Python脚本时&#xf…...

如何快速解锁艾尔登法环帧率限制:终极性能优化指南

如何快速解锁艾尔登法环帧率限制:终极性能优化指南 【免费下载链接】EldenRingFpsUnlockAndMore A small utility to remove frame rate limit, change FOV, add widescreen support and more for Elden Ring 项目地址: https://gitcode.com/gh_mirrors/el/EldenR…...

HoRain云--CLAUDE.md 使用指南

🎬 HoRain云小助手:个人主页 🔥 个人专栏: 《Linux 系列教程》《c语言教程》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!…...