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

基于Python语言实现工人工资系统

♻️ 资源

大小:2.03MB

➡️资源下载:https://download.csdn.net/download/s1t16/87453208

一、引言

1.1 编写目的

工人工资系统,记录工人工资并导出数据。

1.2 背景说明

工地工人发放工资还是传统的手工方法,容易出现错误和丢失数据的情况,数据库系统可以有效的管理储存数据,减少操作。

1.3 预期读者和阅读建议

适合软件开发成员和项目经理阅读。

1.4 分工

苏日乐格,白松甫:需求分析

董宏毅:概念结构设计

倪安祥:逻辑结构设计

雷智杰:数据库编程

二、任务概述

2.1 目标

记录工人工资并且生成成批经办模板用于发放工资。

2.2 用户特点

项目经理可增删查改员工信息和工资。

员工可查看个人信息和工资。

数据库管理员进行数据库的运行和维护。

2.3 假定和约束

一般约束、假设及对用户的要求。

三、数据库需求分析

对现有系统(包括自动或人工的)进行简要分析。

3.1 数据项/数据结构分析

财务系统共有 5 个表,按照功能大致分为四大类:

1:员工信息,包括 employees 表。

2:公共信息,包括 bank 表和 fdl_city 表。

3:工资信息,包括 salary 表。

4:付款信息,包括 payment 表。

分析:

employees 员工 由(eno,eaccount,ename,cnaps_code,id,email,phone)7 个数据项组成

eno 员工编号 number(7) 唯一确定员工,

eaccount 员工银行账号 VARCHAR2(19)19 位银行卡号 每个员工登记一个银行卡账号,

ename 员工名称 VARCHAR2(12) 非空,

cnaps_code 联行号 VARCHAR2(12) 12 位联行号 非空 参照 bank 表,

id 城市编号 number(10) 非空 参照 biaofdl_city 表,

email 电子邮件 VARCHAR2(20) ,

phone 移动电话 VARCHAR2(17)

salary 工资 由(eno,year_month,amount)三个数据项组成

eno 员工编号 number(7) 参照 employees 表,

year_month 工资日期 date ,表示当月工资,

amount 工资 number(6) ,

eno 和 year_month 一同决定某员工当月工资。

bank 银行(cnaps_code,bname,branch)

cnaps_code 联行号 VARCHAR2(12) 12 位 唯一确定银行的支行,

bname 银行名 VARCHAR2(20) ,非空,

branch 支行名 VARCHAR2(50) ,非空

biaofdl_city(ID,serial_no,l_name,parent_id,l_level)

id 总编号 number(10) 唯一确定地区,

serial_no 独立编号 varchar2(25) ,非空 ,

l_name 省或市名称 varchar2(50) ,非空,

parent_id 市属于的省 varchar2(25) ,非空 ,

l_level 等级划分 number(4) ,非空

payment 付款信息(Account,purposes,Currency,branch,settlement_method,business_types)

Account 付款账号 VARCHAR2(19) 唯一决定付款信息,

purposes 用途 VARCHAR2(10) ,非空,

Currency 币种 VARCHAR2(10) ,非空,

branch 付款分行 VARCHAR2(50) ,非空,

settlement_method 结算方式 VARCHAR2(4) ,非空,

business_types 业务种类 varchar2(10) ,非空

通过这 5 张表,我们可以看出,整个财务系统所涉及的主要内容包括:员工信息的管理,包括银行和地区,工资的管理。

3.2 数据定义分析

表的定义:

create table employees( eno number(7) not null PRIMARY KEY, eaccount VARCHAR2(19) not null, ename VARCHAR2(12) not null, cnaps_code VARCHAR2(12) not null references bank(cnaps_code), id number(10) not null references fdl_city(id), email VARCHAR2(20), phone VARCHAR2(17)); create table bank( cnaps_code VARCHAR2(12) primary key, bname VARCHAR2(20) not null, branch VARCHAR2(80)not null); CREATE TABLE fdl_city( id number(10) not null PRIMARY KEY, serial_no varchar2(25) NOT NULL , l_name varchar2(50) NOT NULL, parent_id varchar2(25) NOT NULL , l_level number(4) NOT NULL ); create table salary( eno number(7) not null references employees(eno), year_month date not null, amount number(6), primary key(eno,year_month)); create table payment( Account VARCHAR2(19) not null primary key, purposes VARCHAR2(10) not null, Currency VARCHAR2(10), branch VARCHAR2(50), settlement_method VARCHAR2(4), business_types varchar2(10) ); insert into bank values(402191030498,'农村信用合作社','内蒙古呼和浩特金谷农村商业银行股份有限公司创业路分理处'); insert into fdl_city values ('1', '11', '北京市', '0', '1'); insert into payment values(471901379510902,'劳务收入','人民币','呼和浩特分行','普通');

3.3 数据操纵分析

需要提前录入城市信息和银行支行信息,

员工信息、工资和付款信息的增删查改由经理实现。

3.4 数据完整性分析

实体完整性:

  • employees 表 eno 为主键,唯一确定员工
  • salary 表 eno 和 year_month 为主键,一起确定员工月工资
  • bank 表 cnaps_code 为主键,唯一确定支行
  • biaofdl_city 表 id 为主键,唯一确定城市
  • payment 表 Account 为主键,唯一确定付款信息

参照完整性:

  • employees 中 id 参照 biaofdl_city 中 id,cnaps_code 参照 bank 中的 cnaps_code,员工的城市和银行必须是存在与表 biaofdl_city 和表 bank 中的。
  • salary 中的 eno 参照 employees 中的 eno,有工资的员工必须在员工表中。

用户定义完整性:

  • employees 的 eno,eaccount,ename,id,cnaps_code 不为空,保证工资可以发出去。
  • salary 的 eno,year_month 不为空,保证如果有工资,必须有记录,谁的几月的工资。
  • bank 的 cnaps_cod,ebank,branch 不为空,保证有联行号和对应的银行名,支行名。
  • biaofdl_city 的*不为空,保证有地区的全部信息,包括编号,独立编号,市属于的省,级别。

3.5 概念结构设计

E-R 图:

  • 说明:一个员工只能登记一个银行卡和对应的银行,一个银行可以办理多个员工的银行卡,对应关系 n:1。
  • 一个员工只能有一个所在地,一个城市能容纳多名员工,对应关系 n:1。
  • 一个员工能有多份工资,一份工资只属于一个人,对应关系 1:n。

3.6 逻辑结构设计

逻辑模型

关系模型:

3.7 物理结构设计

SID:使用名为 orcl 的 SID

表空间:C:\tbspace\FINANCIAL_SYSTEM_TBSPACE

四、业务功能详细描述

4.1 子系统(模块一)

4.1.1 业务功能描述

员工信息增删查改,工资增删查改,付款方式增删查改,工资表导出。

4.1.2 业务流程图

4.1.3 主题描述及用例视图

4.1.4 用例描述

  • 删除员工/工资/付款信息:从数据库中删除信息。
  • 增加员工/工资/付款信息:增加员工/工资信息到数据库中。
  • 修改员工/工资/付款信息:对数据库中的信息进行修改。
  • 查看员工/工资/付款信息:对员工/工资信息进行查看
  • 登录:连接数据库,登录到系统。
  • 注销登录:断开连接,退出系统。
  • 导出成批经办模板:导出为银行经办系统可用的 Excel 表格
4.1.4 用例名称一

【用例功能说明】

为了将信息插入到数据库,实现信息录入。

【操作描述】

输入员工的信息

点击插入按钮

【活动图、顺序图或协同图】 (可选内容)

【界面原型】 (可选内容)

4.1.4 用例名称二

【用例功能说明】

导出成批经办模板 Excel 文件,用于导入银行系统的成批经办功能。

【操作描述】

输入起始和截至时间

输入付款账号

输入导出的文件名

点击确定按钮

【活动图、顺序图或协同图】 (可选内容)

【界面原型】(可选内容)

http://www.jsqmd.com/news/1394275/

相关文章:

  • 低代码平台架构深度解析:从可视化设计到动态渲染的实现原理
  • 呼和浩特玉泉区消防设施操作员考证通过率高的机构:沐楒职教本地化教研提分显著 - 全域观察站
  • 信号与系统强化突破:构建知识网络与题型套路,冲刺120+高分
  • 从Spark API使用者到性能调优专家:原理、实战与避坑指南
  • 客服 Agent 的拒答能力怎么工程化?置信度阈值、证据阈值与人工接管规则
  • 杭州临平区GEO服务商代理加盟怎么选?国内靠谱服务商选型指南 - 科技快讯
  • Python编程思维:从自然思维到计算机思维的转变与实践
  • ZeroClaw:基于Rust与WASM的AI Agent运行时架构解析
  • AI公司上市潮下,开发者如何构建抗风险的多模型调用架构
  • 中山大学智能工程学院考研专业课(889/890/884)考纲解析与备考全攻略
  • 正则指引——常用的正则表达式工具及资源
  • C语言学习之数据结构 :基本概念
  • 基于LLaMA-Factory与LoRA的大模型微调实战:从环境配置到部署优化
  • 2026惠州人都在推荐!瓷砖空鼓修复,认准爱家同城上门,不砸砖当天好! - 优企甄选
  • 王哥庄口碑好的赶海民宿有哪些 - 品牌推广大师
  • 从Prompt到MCP:构建专属AI技能的核心架构与实战指南
  • AI训练数据查询与退出机制:从本地模拟到通用实践
  • 开源Mythos架构解析:MoE与注意力机制实现指南
  • Spring Boot文件上传实战:从基础到分片断点续传
  • 2026年寄快递怎么省钱?看懂这几点运费直接少一半 - 快递物流资讯
  • SQL进阶指南:从安全高效查询到性能优化与注入防御
  • 医护类中职生上大专怎么选?别让“选错专业”卡住你的职业生涯!
  • AI Agent主循环设计:从单次交互到持续对话的架构演进
  • ASMR声音设计:从双耳录音到助眠应用的技术解析与实践指南
  • 百度输入法美化包安装指南:iOS与安卓双平台全解析
  • 五台山论道
  • 朝花夕拾 · 数据结构 | 链表篇
  • 无人机维修培训机构哪家强?口碑实力双在线推荐 - 湖南阳光技术
  • LangChain deepagents 架构拆解:中间件与 Backend 的双轴设计
  • GEO公司是什么?GEO公司选型攻略:概念解析+GEO优化服务商选型避坑FAQ 避坑篇