软件工程实训——第一天
第一天
前后分离
前端:android
后端:springboot+mbatis-plus
高心星
软件工程的思维来开发项目
问题定义
可行性研究
需求分析
概要设计
详细设计
编码
测试
维护
需求分析
1.用户的信息管理
2.新增支出
3.新增收入
4.支出统计
5.收入统计
6.收支管理
概要设计
功能模块图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5T1yJ2dj-1686534517341)(C:\Users\gxx\Desktop\中原工学院移动班实训\家庭理财通.png)]
er图
实体关系图
实体:用户信息,支出的信息,收入的信息
关系:
用户信息-------支出信息
1:n
用户信息--------收入信息
1:n
设计数据字典的时候,先设计实体表,在设计关系
1:1的关系 双方任意一个实体加入一个字段 外键关联另外一个实体的主键
身份证 uid fk 用户的id
用户 idcardid fk 身份证的id
1:n的关系 多的那一个实体 加入一个字段 关联少的那一个实体的id
n:m的关系 额外创建关系表 id 一个实体的外键依赖id 另外一个实体的外键依赖id
r_shop_card
id
shopid 依赖于shop id
cardid 依赖于 card id
数据字典
用户表:t_user
字段 | 字段类型 | 字段描述 |
---|---|---|
id | int | 用户id |
name | varchar(60) | 用户名字 |
password | varchar(60) | 用户密码 |
sex | varchar(4) | 用户的性别 |
school | text | 毕业的学校 |
icon | text | 用户的头像url |
支出表:t_zhichu
字段 | 字段类型 | 字段描述 |
---|---|---|
id | int | 支出的id |
title | varchar(60) | 支出的原因 |
num | float | 支出的数目 |
type | varhcar(10) | 支出的类别 |
time | datetime | 支出的时间 |
istongji | int | 是否加入统计(1加入 0 不加入) |
uid | int | 依赖用户表id |
支出表:t_shouru
字段 | 字段类型 | 字段描述 |
---|---|---|
id | int | 收入的id |
title | varchar(60) | 收入的原因 |
num | float | 收入的数目 |
type | varhcar(10) | 收入的类别 |
time | datetime | 收入的时间 |
istongji | int | 是否加入统计(1加入 0 不加入) |
uid | int | 依赖用户id |
数据库设计
|
| istongji | int | 是否加入统计(1加入 0 不加入) |
| uid | int | 依赖用户id |
数据库设计
相关文章:
软件工程实训——第一天
第一天 前后分离 前端:android 后端:springbootmbatis-plus 高心星 软件工程的思维来开发项目 问题定义 可行性研究 需求分析 概要设计 详细设计 编码 测试 维护 需求分析 1.用户的信息管理 2.新增支出 3.新增收入 4.支出统计 5.收入…...
嵌入式C语言中if/else如何优化详解
观点一(灵剑): 前期迭代懒得优化,来一个需求,加一个if,久而久之,就串成了一座金字塔。 当代码已经复杂到难以维护的程度之后,只能狠下心重构优化。那,有什么方案可以优雅…...
【LSTM】读取时间序列数据 | 时间序列数据的小批量划分方法
由于序列数据本质上是连续的,因此我们在处理数据时需要解决这个问题。当序列过长而不能被模型一次性全部处理时,我们希望能拆分这样的序列以便模型方便读取。 Q:怎样随机生成一个具有n个时间步的mini batch的特征和标签? A&…...
K8s in Action 阅读笔记——【12】Securing the Kubernetes API server
K8s in Action 阅读笔记——【12】Securing the Kubernetes API server 12.1 Understanding authentication 在上一章中,我们提到API服务器可以配置一个或多个认证插件(授权插件也是同样的情况)。当API服务器接收到一个请求时,它…...
爆肝整理,3个月从功能进阶自动化测试,一跃成测试卷王...
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 首先先了解自动化…...
人生这场概率游戏,怎么玩
只会标准答案,是不可救药的愚蠢 那么为了便于理解,我用一些典型的案例来讲解,什么是概率游戏,以及这个游戏,应该怎么玩。 比如典型的相亲,婚恋。人生大事,用标准答案来说,你的意中人…...
Redis笔记
缓存过期时间很重要!redis是单线程的 对于内存过多的3中方案: 惰性删除: 在定时删除的基础上,对于已经过期了的数据,redis的随机选择算法一直没有选中这个数据,所以导致它就一直没被删除,但是…...
centos 安装supervisor并运行网站
前言 之前一直用宝塔的**进程守护管理器【Supervisor】**来启动一些项目,如ThinkPHP、Hyperf的项目,或laravel的一些命令。如果不用宝塔怎么办呢? 一、简介[supervisor] [Supervisor] 是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支…...
Hadoop面试题十道
问题 1:Hadoop是什么? 答案:Hadoop是一个开源的分布式计算框架,用于处理大规模数据集的存储和处理。它基于Google的MapReduce和Google文件系统(GFS)的思想,旨在解决大数据量的处理和分析问题。…...
使用Docker-Compose对Docker容器集群快速编排
目录 一、Docker-Compose1、Docker-Compose使用场景2、Docker-Compose简介3、Docker-Compose安装部署4、YAML 文件格式及编写注意事项5、Docker Compose配置常用字段6、Docker Compose 常用命令7、Docker Compose 文件结构8、docker Compose撰写nginx 镜像9、docker Compose撰写…...
React-Redux 对Todolist修改
在单独使用redux的时候 需要手动订阅store里面 感觉特别麻烦 不错的是react有一个组件可以帮我们解决这个问题, 那就是react-redux。 react-redux提供了Provider 和 connent给我们使用。 先说一下几个重点知道的知识 Provider 就是用来提供store里面的状态 自动getState()co…...
初识微信小程序
新建小程序 创建一个新的微信小程序项目: 打开微信开发者工具,点击“新建项目”。 在弹出的窗口中,填写小程序的 AppID、项目名称和项目目录等信息。 点击“确定”按钮,等待微信开发者工具自动下载并安装所需的依赖库和框架。 …...
我们该如何入门编程呢
提醒:以下内容仅做参考,可自行发散。在发布作品前,请把不需要的内容删掉。 随着信息技术的快速发展,编程已经成为一个越来越重要的技能。那么,我们该如何入门编程呢?选择编程语言:选择一种编程…...
App 软件开发《判断6》试卷及答案
App 软件开发《判断6》试卷及答案 文章目录 App 软件开发《判断6》试卷及答案判断题(对的打“√”,错的打“”;共0分)1.”ionic resources --icon"命令用于生成适应不同分辨率的App图标所应用的图片。(✔)2&#…...
MVC工作原理
MVC工作原理 有视图的情况 1.客户端(浏览器)发起请求,DispatcherServlet拦截请求。 2.DispatcherServlet根据请求信息调用HandlerMapping。HandlerMapping根据uri去匹配查询能处理的Handler(也就是我们所说的Controller&#x…...
使用 Redis 统计网站 UV 的方法
使用 Redis 统计网站 UV 的方法(概率算法) 文章目录 前言思路HyperLogLog 使用 Redis 命令操作使用 Java 代码操作 HyperLogLog 实现原理及特点使用 Java 实现 HyperLogLog小结 前言 网站 UV 就是指网站的独立用户访问量Unique Visitor,即相同用户的多次访问需要…...
黑客工具软件大全
黑客工具软件大全100套 给大家准备了全套网络安全梓料,有web安全,还有渗透测试等等内容,还包含电子书、面试题、pdf文档、视频以及相关的网络安全笔记 👇👇👇 《黑客&网络安全入门&进阶学习包》 &a…...
uniapp主题切换功能的第二种实现方式(scss变量+require)
在上一篇 “uniapp主题切换功能的第一种实现方式(scss变量vuex)” 中介绍了第一种如何切换主题,但我们总结出一些不好的地方,例如扩展性不强,维护起来也困难等等,那么接下我再给大家介绍另外一种切换主题的…...
# 蓝牙音频相关知识
蓝牙音频相关知识 文章目录 蓝牙音频相关知识1 音频源2 蓝牙音频编解码器3 一些标准4 蓝牙音频其他相关知识4.1 蓝牙版本4.2 ANC(主动降噪)4.3 音响相关参数4.4 音质评价4.5 HI-Fi声音特点4.6 耳机线材4.7 耳机分类4.8 IP防尘防水等级4.9 噪音与量化噪音…...
【AI作画】使用DiffusionBee with stable-diffusion在mac M1平台玩AI作画
DiffusionBee是一个完全免费、离线的工具。它简洁易用,你只需输入一些标签或文本描述,它就能生成艺术图像。 DiffusionBee下载地址 运行DiffusionBee的硬性要求:MacOS系统版本必须在12.3及以上 DBe安装完成后,去C站挑选自己喜欢…...
2 STM32库函数 之 通用同步异步收发器(USART、串口)所有函数的介绍及使用
2 STM32库函数 之 通用同步异步收发器(USART、串口)所有函数的介绍及使用 前言一、USART固件库函数预览二、USART固件库函数具体介绍2.1 库函数 USART_DeInit2.2 库函数 USART_Init2.2.1 USART_InitTypeDef structure2.2.2 USART_InitTypeDef 成员 USART…...
SpringCloudAlibaba整合Sentinel实现流量控制熔断降级
目录 一、概念 二、整合Sentinel控制台 三、Sentinel规则配置 四、@SentinelResource资源保护注解...
CentOS 7安装 Postgre
零、前置条件 系统CentOS 7,并已联网,已安装gcc或者g编译器,GNU make版本3.80或以上,系统有至少一个除root之外的普通用户user gcc安装-参考链接查看make命令的版本——make --version更新make版本-参考链接postgresql的使用一般…...
rpc 异步非阻塞 io 配置 线程池和队列
相关 雪崩 - 如何重试 - sla和重试风暴的双保证_个人渣记录仅为自己搜索用的博客-CSDN博客 接口耗时公式 耗时 cpu时间 io时间 线程池数量 最佳数目 1s / 平均cpu时间 * 内核数. 最大平均cpu时间 接口耗时- all外部io时间. 结合gc , linux本身其他线程, 只会还少点. …...
【Turfjs的java版本JTS】前面讲了Turfjs可以实现几何计算,空间计算的功能,如果后端要做这项功能也有类似的类库,JTS
JTS Java Topology Suite 几何计算: 1. 前端js就用这个 Turfjs的类库。参考网站: 计算两线段相交点 | Turf.js中文网 2. 后端java语言就可以用 JTS这个类库,参考网站: JTS参考网站: 1. https://github.com/locatio…...
从Window中先多瞥几眼
JavaFx17官方文档中有如下的描述: Window类是一个顶层窗口类,在其中可以承载场景,并与用户交互。窗口可以是Stage、PopupWindow或其他类似的顶层窗口。 JavaFX Stage类是顶级的JavaFX容器。初级阶段由平台搭建。其他Stage对象可以由应用程序构造。 许多Stage属性是只读的…...
【STM32训练—WiFi模块】第二篇、STM32驱动ESP8266WiFi模块获取天气
目录 第一部分、前言 1、获取心知天气API接口 2、硬件准备 第二部分、电脑串口助手调试WIFI模块获取天气 1、ESP8266获取天气的流程 2、具体步骤 第三部分、STM32驱动ESP8266模块获取天气数据 1、天气数据的解析 1.1、什么函数来解析天气数据? 2.1、解析后…...
Maven私服
Maven 私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的远程仓库(中央仓库、其他远程公共仓库)。 建立了 Maven 私服后,当局域网内的用户需要某个构件时,会按照如下顺序进行请求…...
手写RPC总结篇
协议制定:client到server做交互的通信协议,比如request response 网络端点peer 难点1 : Jetty嵌入 ◆jetty Server ◆ServletContextHandler ◆ServletHolder jetty server 起到网络监听的作用ServletContextHandler注册到jetty server中ServletHolde…...
c++11 标准模板(STL)(std::ios_base)成员类型与常量
流打开模式类型 std::ios_base::openmode typedef /*implementation defined*/ openmode; static constexpr openmode app /*implementation defined*/ static constexpr openmode binary /*implementation defined*/ static constexpr openmode in /*implementation defi…...
深圳网站建设行业新闻/福州百度开户多少钱
首先需要安装Vray渲染器 1.在场景中打一个自由摄像机 2.渲染设置尺寸设置,宽高比为2:1 3.在Vray设置页面,设置相机类型为球面,视角设置为360度 渲染结果...
办公网站建设/搜索引擎优化seo多少钱
Java对象的内存布局及堆内存划分前言对象的指向Java内存模型Object objnew Object()占用字节对象的访问句柄访问和直接指针访问对比堆内存Young区Old区名词扫盲一个对象的人生轨迹图总结前言 上一篇我们分析了Java虚拟机方法执行流程及方法重载和方法重写原理,并分…...
网站建设的实训报告/自己如何制作网站
目 录 摘 要 I Abstract II 1 前言 1 1.1 研究背景及意义 1 1.2 国内外研究现状 2 1.3 本文研究思路与结构 3 2 系统开发技术介绍 4 2.1 Java语言 5 2.2 Spring框架简介 6 2.3 Spring Boot 框架简介 6 2.4 MyBatis 框架简介 7 2.5 开发环境 8 3 系统需求分析 9 3.1 需求分析 9 …...
最专业的企业营销型网站建设价格/seo公司软件
千呼万唤始出来!为了更好的迎接2021年,小编特汇总了四大运营商发布的5G资料供大家学习,欢迎下载。小编共汇总了94份资料,中国移动有45份,中国联通有28份,中国电信有15份,中国广电有6份。文件获取…...
如何在年报网站上做遗失公告/今日最新国内新闻重大事件
合理维护网络服务器安全的七个小技巧对于一个网络而言,维护其服务器安全的重要性是不言而喻的,那么作为管理员的你如何来更好地保障服务器的安全呢?本文较系统地给您介绍一些实用的技巧。 技巧一:从基本做起 ***开始对你的网络发起***的时候&…...
苏州市高新区建设局官方网站/关键词工具软件
除了PCM 封装成wav让一般的播放能正常播放外,然后Wav可以封装很多压缩的音频数据。如: ADPCM, DTS LPCM, 等。在这就收藏一些wav 封装ADPCM的头格式剖析信息 WAVE文件头作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。RIFF是英文Resource …...