基于 Python 的勤工助学系统分析与设计

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

查询条件
添加教师/学生 查询教师/学生 修改教师/学生 删除教师/学生
教师信息表/学生信息表
个 人 信 息 管理员
图 9 用户信息管理模块数据流图
7
管理员
用户信息管理 修改用户信息
删除用户信息 审核用户信息
查看用户信息
教师 学生
图 10 用户信息管理用例图
六、 数据库设计
(一) E-R 模型简介
本系统数据库使用的设计方法是基于 E-R 模型的设计方法。E-R 图模型的组 成是由实体,属性和联系。其中实体是一个数据的使用者,其代表软件系统中客 观存在的生活中的实物,而同一类实体就构成了一个实体集,实体集用矩形框表 示,矩形框内写上实体名。实体的内涵用实体类型来表示,实体类型是对实体集 中实体的定义,实体中的所有特性称为属性。实体的属性用椭圆框表示,框内写 上属性名,并用无向边与其实体集相连。"实体标识符"是在一个实体中,能够唯 一表示实体的属性和属性集的标示符。但针对于一个实体只能使用一个"实体标 识符"来标明。实体标识符也就是实体的主键。实体间的联系用菱形框表示,联 系以适当的含义命名,名字写在菱形框中,用无向连线将参加联系的实体矩形框 分别与菱形框相连,并在连线上标明联系的类型,即 1—1、1—N 或 M—N。
表 3 管理员信息表
序号 字段名称 字段类型 大小 是否允许为空
1 userId
Int
4

2 userName varchar(50) 50

3 userPw varchar(50) 50

最大长度 是否主键
勤 工 岗 位 管 理














































图 6 勤工岗位管理功能模块图
查询岗位 学生
接收信息并显示可选岗位
发送教师审核并更 新岗位信息表
岗位信息表
岗位信息表
学生 图 7 勤工助学岗位模块数据流图
6
显示可选岗位
(三) 用户信息管理模块分析
用户信息管理模块主要是管理员管理教师和学生的用户信息,包括添加、查 询、修改、删除教师信息和学生信息。用户信息管理模块的具体功能模块图、数 据流图和相关例图如下,对应图 8-图 10。
用户信 息管理
教师信息管理 学生信息管理
修改信息 删除信息 审核信息
图 8 用户信息管理功能模块图
管理员
查询条件
接受查询条件
(二) 勤工助学系统 E-R 模型
通过数据库需求分析,知本系统有管理员、教师、学生、岗位四个实体。全 局 E-R 图如图 11 所示:
8
ID 用户名
用户
ID
密码
ID 用户名
密码 学号 专业 姓名
管理员
1
1
n
教师
n
学生
管理
n
管理
1
ห้องสมุดไป่ตู้
审核
1
密码
教师 号 姓名
性别
性别
n
申请
发布
联系方式
联系方式
m
n
ID 类型 ID
因此,该系统在经济可行性方面是可行的。
(二) 技术可行性
技术可行性分析是分析当前条件下,技术的可用性和解决系统问题的现实 性。可以从开发方法和软硬件平台两方面进行分析。系统所用的开法方法是基于 Python 相关技术和数据库技术的方法,此方法经过多年开发使用已经非常成熟, 因此完全可以使用。
因此,该系统在技术可行性方面是可行的。
是学生和教师,所以此功能实现的是对学生和教师两类用户基本信息的管理。
用 户 账 号 管 理
管 理 员 账 号 管 理
教 师 账 号 管 理
学 生 账 号 管 理
勤工助学系统 勤 工 岗 位 管 理








用 户 信 息 管 理












账账密 号号码 注注修 册销改
修删删 改除除 类类类 型型型
管理员
账号信息
审核信息
岗位信息
岗位信息
岗位申请信息
教 师
账号信息
勤工助学系统
学 生 账号信息
岗位申请信息
岗位信息
图 2 勤工助学系统数据流图
五、 系统设计
该系统基于 Python3.4 环境进行开发,Python 语言具有开发快、语言简洁、 代码简单等优势;并且可以通过模块对代码进行封装,从而实现在不同系统下运 行。此系统的功能设计主要是以满足学校学生工作处下属勤工助学办公室对在校 学生勤工助学管理的需求。它主要由三大模块构成:用户账号模块、勤工助学岗 位模块和用户信息管理模块。
ID 用户名
用户名
ID
密码
ID 用户名
管理员
教师
密码 教师号
密码 ……
学生 n
1 管理
1 n
管理
……
图 12 用户管理 E-R 图
岗位实体拥有 ID、类型 ID、岗位名称、发布日期、招录人数、申请条件六 个属性。由管理员审核。实体间的关系为一名管理员审核多个岗位,一名教师发 布多个岗位,一名学生申请一个岗位。岗位信息 E-R 图如图 13 所示:
通过上述管理过程描述,系统需要实现的基本功能如下: (1)用户账号管理:对三种权限的用户账号操作进行管理。包括管理员账
2
号、教师账号、学生账号。 (2)勤工助学岗位管理:主要管理勤工助学岗位的基本信息,并可以根据
一定的条件对工作岗位进行查询并显示出相应的信息。 (3)用户信息管理:因本系统开发的适用方是学校,主要处理的业务群体
10
……
……
申请
m n
学生
管理员 1
审核 n 岗位
发布
n
1
……
教师
图 13 岗位信息 E-R 图
(四) 数据库表的设计
勤工助学系统共有三个功能模块,用户账号管理模块、勤工助学岗位模块和 用户信息管理模块。其中用户账号管理模块的数据库表有学生信息表、教师信息 表、管理员信息表。勤工助学岗位模块的数据库表有岗位信息表、岗位申请信息 表、工资发放信息表。用户信息管理模块和用户账号管理模块共用数据库表(学 生信息表、教师信息表、管理员信息表)。

4 jiaoshihao varchar(50) 50

5 xingming varchar(50) 50

6 xingbie varchar(50) 50

7
tel varchar(50) 50

最大长度 是否主键
10

50

50

50

50

50

50

3. 管理员信息表 管理员信息表主要保存管理员的信息,包括管理员 ID、用户名、密码。主 键是管理员 ID。表结构如表 3 所示。

4 xuehao varchar(50) 50

5 xingming varchar(50) 50

6 xingbie varchar(50) 50

最大长度 是否主键
10

50

50

50

50

50

11
7 zhuanye varchar(50) 50

8
tel varchar(50) 50
基于 Python 的勤工助学系统分析与设计
一、 引言
学生的勤工助学管理工作,长期以来大多依靠手工或者单机完成。随着社会 的发展和科技的进步,高校的管理方式也发生相应的改革,原有的勤工助学管理 方式的弊端不断凸显——效率低下,数据的准确性和完整性难以保证等。因此, 开发勤工助学系统是必要。
勤工助学管理工作主要是学生基本情况的管理和学生工作情况的管理,主要 包括数据输入、修改、删除、查询、统计等功能,勤工助学管理系统要能高效、 准确地完成这些功能,并要达到界面美观友好、使用方便。
9
(三) 数据库 E-R 图设计
管理员实体拥有 ID、用户名、密码三个属性。学生实体拥有 ID、用户名、 密码、学号、姓名、性别、专业、联系方式八个属性。教师实体拥有 ID、用户 名、密码、教师号、姓名、性别、联系方式七个属性。三者关系为一名管理员管 理多名学生和教师的基本信息。用户管理 E-R 图如图 12 所示:
(二) 数据库相关简介
数据库是数据的集合,数据库能将大量数据按照一定的方式组织并存储起 来,方便的进行管理和维护。它具有以下特征:一定的方式组织、存储数据;能 为多个用户共享;具有尽可能少的冗余代码;与程序彼此独立。
数据库设计是对于一个给定的应用环境,构造(设计)优化的数据库逻辑模 式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数 据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
1. 学生信息表 学生信息表主要保存已注册学生的信息,包括学生 ID、用户名、密码、学 号、姓名、性别、专业、联系方式。主键是学生 ID。表结构如表 1 所示。
表 1 学生信息表
序号 字段名称 字段类型 大小 是否允许为空
1
id
Int
4

2 name varchar(50) 50

3 passwd varchar(50) 50
1
三、 可行性分析
(一) 经济可行性
设计勤工助学系统是为了提高学校勤工助学管理效率。因此,一旦系统被使 用,将会大大减少人力物力的支出,在此会节约一部分人工成本。同时也会减少 一些因为人工而导致的不必要麻烦,如登记错误;信息传达过慢等。该管理系统 的成本不会很高,但可以极大地提高勤工助学的运行效率。开发此系统不需要大 量的经济支出,因为是个人设计编写的,所以可以节省许多费用,同时在开发过 程中也能提升自己的技术。
岗位
岗位名称
发布日期
申请条件 招录人数
图 11 勤工助学系统全局 E-R 图
全局 E-R 图说明: 管理员实体拥有 ID、用户名、密码三个属性。可以管理教师、学生和岗位 三者的信息。 学生实体拥有 ID、用户名、密码、学号、姓名、性别、专业、联系方式八 个属性。由管理员审核管理,可以申请岗位。 教师实体拥有 ID、用户名、密码、教师号、姓名、性别、联系方式七个属 性。由管理员审核管理,可以发布岗位信息。 岗位实体拥有 ID、类型 ID、岗位名称、发布日期、招录人数、申请条件六 个属性。由管理员审核。
四、 需求分析
根据学校勤工助学管理办法,学生勤工助学管理工作涉及三方面角色:管理 人员,教师和学生。学生注册勤工助学系统,填写相关个人信息,如姓名,学号, 所在班级等。注册完成之后学生通过勤工助学系统这个平台找到合适的岗位,进 行申请,申请通过即得到这个岗位。最后每次完成工作后,填写工作时长。教师 发布需要勤工助学的岗位,包括岗位的地点,工作时间;审核学生提供的信息, 确认无误后,提交管理人员。管理人员根据相关记录,进行结算。
二、 Python 相关技术和数据库技术论述
(一) Python 语言简介
Python 是一种面向对象、解释型计算机程序设计语言,由荷兰人 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。
Python 语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言, 能够把用其他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。正因 为 Python 语言的简洁、优雅、开发效率高,它常被用于网站开发,网络编程, 图形处理,黑客编程等等。
密码修改
图 3 用户账号管理功能模块图
个人信息 教师/学生
接收信息并注册新用户
等待审核
管理员
教师信息表/学生信息表 图 4 用户账号模块数据流图
用户账号管理 账号注册
密码修改 账号注销
图 5 用户账号管理用例图
5
教师 学生
(二) 勤工助学岗位模块分析
勤工助学岗位主要是学生查询工作岗位,找到合适的岗位提交教师申请,然 后更新剩余岗位再供学生查询。具体功能模块图、数据流图如下,对应图 6-图 7。
4
(一) 用户账号模块分析
用户主要是学校的教师和学生,用户需要通过注册账号来使用勤工助学系 统,注册信息提交之后由管理员来审核通过,通过后才能正常使用该勤工助学系 统。用户账号模块的功能模块图、数据流图和相关例图如下,对应图 3-图 5。
管理员账号管理
账号注册
用户账 号管理
教师账号管理
账号注销
学生账号管理






































图 1 勤工助学系统总体功能模块图
3
这些基本模块分属于三类权限,一类是管理员权限,一类是学生权限还有一 类是教师权限。其中,管理员的组织结构功能业务主要是审核教师和学生的注册 信息、审核教师发布的岗位信息以及学生工资的发放;学生的组织结构功能业务 主要是岗位信息的查询、申请;教师的组织结构功能业务主要是岗位信息的发布、 审核学生岗位申请信息等。勤工助学系统数据流图如图 2 所示:

50

50

2. 教师信息表 教师信息表主要保存已注册教师的信息,包括教师 ID、用户名、密码、教 师号、姓名、性别、联系方式。主键是教师 ID。表结构如表 2 所示。
表 2 教师信息表
序号 字段名称 字段类型 大小 是否允许为空
1
id
Int
4

2
name varchar(50) 50

3 passwd varchar(50) 50
相关文档
最新文档