学校招生新生管理系统 mysql_学生管理系统MySQL版

# 第一步必须先要引入pyMySQL模板

import pymysql

import random

def p_in():

print("1.注册")

print("2.登录")

print("3.退出")

def zhuce_1():

password = input("请输入你的密码")

if len(password) <6:

print("密码长度最少为6")

else:

str_2 = ""

while 1:

num = str(random.randint(1, 9))

str_2 += num

if len(str_2) == 4:

print("您的账号为" + str_2)

break

con = pymysql.connect(host='39.98.39.173', port=13306, user='root', passwd='root', db='刘烽吉', charset='utf8')

# 获取游标

cur = con.cursor()

sql = "insert into dome_1 (passwd,users) values (%s,%s)"

parm = (password,str_2)

cur.execute(sql, parm)

con.commit()

n = input("是否按照此账号登录 y or n")

if n == "y":

def main():

print("欢迎使用学生管理系统")

print("++++++++++")

print("1.添加学生信息")

print("2.删除学生信息")

print("3.修改学生信息")

print("4.查询学生信息")

print("5.查询所有学生信息")

print("6.退出")

def add_info():

# 建立连接

con = pymysql.connect(host='39.98.39.173', port=13306, user='root',passwd='root', db='刘烽吉', charset = 'utf8')

# 获取游标

cur = con.cursor()

name = input("请输入添加学生的名字")

age = int(input("请输入学生的年龄"))

sex = input("请输入学生的性别")

sql = "insert into students_2 (name,age,sex) values (%s,%s,%s)"

parm = (name,age,sex)

cur.execute(sql,parm)

con.commit()

con.close()

cur.close()

def del_info():

# 建立连接

con = pymysql.connect(host='39.98.39.173', port=13306, user='root', passwd='root', db='刘烽吉', charset='utf8')

# 获取游标

cur = con.cursor()

name = input("请输入删除学生的名字")

sql = 'delete from students_2 where name = %s'

cur.execute(sql, name)

con.commit()

con.close()

cur.close()

def xiu_info():

name = input("请输入学生的姓名")

num_6 = input("请输入修改后的name(回车不修改):")

if len(num_6) != 0:

conn = pymysql.connect(host='39.98.39.173', port=13306, user='root', passwd='root', db='刘烽吉')

cur = conn.cursor()

sql = ("update student_3 set name = %s where name = %s")

cur.execute(sql, (num_6, name))

conn.commit()

cur.close()

conn.close()

num_7 = input("请输入修改后的age(回车不修改):")

if len(num_7) != 0:

conn = pymysql.connect(host='39.98.39.173', port=13306, user='root', passwd='root', db='刘烽吉')

cur = conn.cursor()

sql = ("update student_3 set age = %s where name = %s")

cur.execute(sql, (num_7, name))

conn.commit()

cur.close()

conn.close()

num_8 = input("请输入修改后的sex(回车不修改):")

if len(num_8) != 0:

conn = pymysql.connect(host='39.98.39.173', port=13306, user='root', passwd='root', db='刘烽吉')

cur = conn.cursor()

sql = ("update student_3 set sex = %s where name= %s")

cur.execute(sql, (num_8, name))

conn.commit()

cur.close()

conn.close()

def one_info():

name = input("请输入学生的姓名")

con = pymysql.connect(host='39.98.39.173', port=13306, user='root', passwd='root', db='刘烽吉', charset='utf8')

# 获取游标

cur = con.cursor()

sql = "select * from students_2 where name = %s"

num = cur.execute(sql,(name))

result = cur.fetchall()

print(result)

print(num)

con.commit()

con.close()

cur.close()

def all_infos():

# 建立连接

con = pymysql.connect(host='39.98.39.173', port=13306, user='root', passwd='root', db='刘烽吉', charset='utf8')

# 获取游标

cur = con.cursor()

num = cur.execute("select * from students_2")

print(num)

result = cur.fetchall()

print(result)

con.close()

cur.close()

while 1:

main()

num = input("请输入你要执行的操作")

if num =="6":

num_2 = input("您确定要退出嘛? y or n")

if num_2 == "y":

print("感谢使用")

break

elif num_2 == "n":

continue

elif num == "1":

add_info()

elif num == "2":

del_info()

elif num == "3":

xiu_info()

elif num == "4":

one_info()

elif num == "5":

all_infos()

con.close()

cur.close()

def deng_1():

zhanghao = input("请输入您的账号")

mima = input("请输入您的密码")

con = pymysql.connect(host='39.98.39.173', port=13306, user='root', passwd='root', db='刘烽吉', charset='utf8')

# 获取游标

cur = con.cursor()

sql = "select passwd from dome_1 where users = %s"

parm = (zhanghao)

cur.execute(sql, parm)

result = cur.fetchone()

if mima in result:

print("登录成功")

def main():

print("++++++++++")

print("1.添加学生信息")

print("2.删除学生信息")

print("3.修改学生信息")

print("4.查询学生信息")

print("5.查询所有学生信息")

print("6.退出")

def add_info():

# 建立连接

con = pymysql.connect(host='39.98.39.173', port=13306, user='root',passwd='root', db='刘烽吉', charset = 'utf8')

# 获取游标

cur = con.cursor()

name = input("请输入添加学生的名字")

age = int(input("请输入学生的年龄"))

sex = input("请输入学生的性别")

sql = "insert into students_2 (name,age,sex) values (%s,%s,%s)"

parm = (name,age,sex)

cur.execute(sql,parm)

con.commit()

con.close()

cur.close()

def del_info():

# 建立连接

con = pymysql.connect(host='39.98.39.173', port=13306, user='root', passwd='root', db='刘烽吉', charset='utf8')

# 获取游标

cur = con.cursor()

name = input("请输入删除学生的名字")

sql = 'delete from students_2 where name = %s'

cur.execute(sql, name)

con.commit()

con.close()

cur.close()

def xiu_info():

name = input("请输入学生的姓名")

num_6 = input("请输入修改后的name(回车不修改):")

if len(num_6) != 0:

conn = pymysql.connect(host='39.98.39.173', port=13306, user='root', passwd='root', db='刘烽吉')

cur = conn.cursor()

sql = ("update students_2 set name = %s where name = %s")

cur.execute(sql, (num_6, name))

conn.commit()

cur.close()

conn.close()

num_7 = input("请输入修改后的age(回车不修改):")

if len(num_7) != 0:

conn = pymysql.connect(host='39.98.39.173', port=13306, user='root', passwd='root', db='刘烽吉')

cur = conn.cursor()

sql = ("update student_s2 set age = %s where name = %s")

cur.execute(sql, (num_7, name))

conn.commit()

cur.close()

conn.close()

num_8 = input("请输入修改后的sex(回车不修改):")

if len(num_8) != 0:

conn = pymysql.connect(host='39.98.39.173', port=13306, user='root', passwd='root', db='刘烽吉')

cur = conn.cursor()

sql = ("update students_2 set sex = %s where name= %s")

cur.execute(sql, (num_8, name))

conn.commit()

cur.close()

conn.close()

def one_info():

name = input("请输入学生的姓名")

con = pymysql.connect(host='39.98.39.173', port=13306, user='root', passwd='root', db='刘烽吉', charset='utf8')

# 获取游标

cur = con.cursor()

sql = "select * from students_2 where name = %s"

num = cur.execute(sql,(name))

result = cur.fetchall()

print(result)

print(num)

con.commit()

con.close()

cur.close()

def all_infos():

# 建立连接

con = pymysql.connect(host='39.98.39.173', port=13306, user='root', passwd='root', db='刘烽吉', charset='utf8')

# 获取游标

cur = con.cursor()

num = cur.execute("select * from students_2")

print(num)

result = cur.fetchall()

print(result)

con.close()

cur.close()

while 1:

main()

num = input("请输入你要执行的操作")

if num == "1":

add_info()

elif num == "2":

del_info()

elif num == "3":

xiu_info()

elif num == "4":

one_info()

elif num == "5":

all_infos()

else:

print("登录失败")

con.close()

cur.close()

while 1:

p_in()

num = input("请选择你要执行的操作")

if num == "1":

zhuce_1()

elif num == "2":

deng_1()

elif num == "3":

break

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
招生管理系统概要设计 招生管理系统详细设计说明书 一、需求分析 1.1系统总功能需求 首先需要对招生管理系统进行详细的了解和分析,一个功能完全满足基本需要的系统需要包括以下几个模块: 1.1.1考生数据提取功能模块 在这个功能模块中,提供了使用者从各省招办获取数据并添加至数据库服务器的途径。比如在这个模块中可以提取考生的信息,也可以对这些信息做修改、更新。 1.1.2基本业务功能模块 这个功能模块主要实现对考生通知书打印和网上信息发布的管理,比如根据通知书模生成考生通知书。如果通知书已打印或发放,可以对其进行记录。将考生信息及时准确地发布到录取结果查询网站,方便考生查询 1.1.3数据库管理功能模块 在招生管理部门,对所有的录取考生信息都要进行统一管理,数据导入和录取考生信息发布等情况也要进行详细的登记,以便能对整个招生管理部门运作有全面的了解,并根据实际情况补充书源不足的部分。 1.1.4信息查询功能模块 在对招生数据信息系统进行全面信息化管理的过程中,查询是一项非常重要的功能。比如考生信息,通知书的信息,录取进度情况信息等,这项功能能使用户得到即时考生各项信息,方便招生部门根据实际情况选择业务方式。 1.1.5安全/使用管理功能模块 这是任何一个信息管理系统都需要的部分,操作只能由专人进行,只有招生管理部门的工作人员才能拥有权限,特别是数据的导入进度和通知书打印,如果没有安全管理部分,后果难以想象,可能每次登录都需要用户身份的验证。 1.1.6帮助功能模块 这是软件不可缺少的部分,为了方便使用者实用软件,应该有一个详细的帮助模块。 招生管理系统的需求功能需求图如图1-1所示。 图1-1 系统功能需求框图 1.2基本数据维护功能需求 基本数据模块的具体功能如图1-2所示。基本维护信息包括:考生信息和原系设置信息等。 图1-2 基本数据维护功能需求框图 (1)考生信息的添加,如图1-3所示 图1-3 增加考生信息 这个功能实现把考生信息输入到数据库中,考生信息包括考生号、姓名、录取专业、录取志愿、毕业类别信息和收件人信息。 (2)考生信息的修改,如图1-4所示,这个功能实现把考生信息修改后输入到数据库中。(前置条件:已存在考生) 图1-4修改考生信息 (3)院系信息的增加,如图1-5所示。这个功能实现把院系信息输入到数据库中。读者信息包括学院名称,包含专业,专业代号,学科门类信息。 图1-5院系信息 (4)院系信息的修改,如图1-6所示。这个功能实现把院系信息修改后输入到数据库中。 图1-6修改院系信息 1.3基本业务功能需求 基本业务功能需求模块的具体功能如图1-7所示。这些功能需球基本上包括了工作人员要求提供的业务。 图1-7基本业务需求框图 (1)通知书处理功能需求,如图1-8所示。该功能实现的是将需要打印通知书的一批考生信息从数据库中读出,然后根据通知数模生成通知书。 图1-8通知书处理功能 (2)录取进度功能需求,如图1-9所示。这个功能实现根据已录取的考生信息比对招生计划信息,从而实时掌握录取进度。 图1-9录取进度功能 (3)计划调整功能需求,如图1-10所示。这个功能实现将根据招生政策实时增加或减少某一省市招生计划数达到合理分配有限招生计划。 图1-10计划调整功能 (4)数据发布功能需求,如图1-11所示。该功能实现根据已录取考生信息,及时准备的将信息发布到网站,供考生查询。 图1-11数据发布功能 1.4数据库维护功能 数据库维护功能是信息管理系统不可或缺的部分,其需求如图1-12所示。 图1-12数据库维护功能需求 (1)考生信息管理功能需求,如图1-13所示。该功能实现对考生信息的统一管理,可以增加和修改考生信息。 图1-13考生信息管理功能需求 (2)通知书信息管理功能需求,如图1-14所示。该公那实现对通知书信息的统一管理,可以增加或者修改通知书的信息。 图1-14通知书信息管理功能需求 1.5查询功能需求 这个模块的具体功能如图1-15所示。 图1-15查询功能需求框图 考生信息查询需求,如图1-16所示。 图1-16考生信息查询功能 书籍查询需求,如图1-17所示。 图1-17书籍查询功能 1.6安全使用管理功能需求 这个模块的具体功能如图1-18所示。 图1-18安全使用管理功能需求框图 1.7帮助功能需求 这个模块的具体功能如图1-19所示。 图1-19帮助功能需求框图 二、UML系统建模 使用UML进行系统建模,用面向对象的方法来分析系统,然后用可视化的模型将信息用标准的图形直观地显示出来,以此建立面向对象地系统模型.我们使用UML来进行系统开发地分析,以帮助开发人员了解系统功能与系统流程。 2.1 用例地建立 分析阶段最重要地是用例视图的建立,用例视图强调用户希望得到的功能,它是成为参与者地外部用户所能观察到的系统功能地模型图.通过用户视图,使用者应该明确软件后续设计阶段所要完成地任务,整个软件直到实现地过程都是围绕需求阶段地用例来进行地。 (1)角色地确定 角色是与系统有交互作用地人或事务,通常代表着一个系统地使用者,或者需要与系统打交道地人或事务。 在招生管理系统中有如下事务: 考生投档 考生数据下载 生成考生通知书 考生信息发布 工作人员根据考生要求提供服务 工作人员进行查询,修改信息 对于读者来说,所要求地服务都是直接传递给工作人员的,真正地系统使用者是工作人员,考生只是跟工作人员打交道,不涉及到系统本身。而整个工作流程中,只出现两个角色,那就是考生和工作人员。 (2)创建用例 用例是用户跟系统的交互,是系统提供地功能块。使用用例与传统的方法不同,将项目分解成使用用例是面向对象地过程而不是面向实现地过程,用例关注地是系统外地用户,有助于让开发人员了解最重要地部分——满足用户需求和期望。通过用例,用户也能清楚看到系统提供地功能。在本系统中,通过分析得到以下用例: 招生管理系统中读者得到服务的用例图如图2-1所示,工作人员维护考生基 本信息和考生附加信息的用例图2-2所示,工作人员登录及查询用例图2-3所示: 图2-1考生得到服务的用例图 注释: 投档:考生投档用例 数据下载:数据下载用例 通知书:打印通知书用例 信息发布:录取信息发布用例 图2-3工作人员登录及查询用例图 注释: Login:登录用例 Seek Title:查询考生用例 Seek Borrower:查询计划信息用例 2.2 时序图与协作图的生成 表现系统流程以及系统元素之间的交互关系可以用两种试图:时序图和协作图。 时序图的功能是按照时间顺序描述系统元素间的交互,协作图的功能按照时间和空间顺序描述系统元素间的交互和他们之间的关系。 工作人员使用系统的时序图如图2-4所示。 图2-4工作人员操作时序图 注释: Librarian:管理人员,进行各种系统的操作。 User Login:用户登录,需要管理员输入登录必须的验证信息。 Operation: 基本业务,管理员输入必要的业务处理要求。 Maintenance:维护,管理员进行信息的维护。 Query:查询,管理员进行信息的查询。 工作人员使用系统的协作图如图2-5所示。 图2-5工作人员操作协作图 三、类与接口 类图是系统设计核心的部分,明确基本的类以及相关的关系有助于我们进一步工作,这也是进入编码阶段重要的基础。 3.1 类图的生成 招生管理系统的商业对象类图如图3-1所示. 图3-1商业对象类图 商业对象类图:主要包括考生信息、计划调整信息和统计图信息等几个类。商业对象类图的结构如图3-1所示,这里包含整个系统类的基础信息部分。 商业对象类图中各个类的说明见表1. 表1 商业对象类图说明 类名 中文类名 说明 BorrowInformation 考生信息类 考生个人信息 Title 考生信息扩展类 包括考生附加信息 Item 通知书项类 包括通知书项信息 Loan 关联类 包括考生个人信息和附加信息 Objid 对象父类 所有信息类的基本父类 Resrvation 图形类 包括统计图表的信息 Persistent 固定类 包括数据库关联的共有父类信息 数据库类图:便于数据库的操作,定义的包含数据库基本信息的父类,包括存储、删除、更新和读写等内容。 UI(用户界面)的类图部分。因为相应的类图比较复杂,没有完整列出。Base类图、Function类图、Information类图和Maintenance类图分别如图3-2至3-5所示。 Base类图:这部分类图是系统运行界面的基础部分,包括系统的启动类StartClass、主窗口类,以及一些帮助和退出对话框。 图3-2 Base类图 Base类图中各个类的说明见表2. 表2 Base类图的说明 类名 中文类名 说明 MainWindow 主窗口类 系统主界面的主要信息 AboutDialog 帮助对话框类 系统帮助信息的对话界面 QuitDialog 退出对话框类 系统退出时与用户的交流界面 StartClass 启动类 系统启动类 MessageBox 消息框类 系统消息显示界面 Function类图:这部分类图是系统运行界面的基本功能部分,包括数据转换、数据导入、数据发布的界面。 图3-3 Function类图 Function类图中各个类的说明见表3 表3 Function类图的说明 类名 中文类名 说明 MainWindow 主窗口类 系统主界面的主要信息 LendItemFrame 导入框架类 导入操作的界面框架 ReturnItemFrame 数据转换框架类 数据转换操作的界面框架 Information类图:这部分类图是系统运行界面的信息显示部分,包括考生信息,招生计划完成进度信息的显示,查询各种信息的对话框等界面。 图3-4 Information类图 Information类图中各个类的说明见表4。 表4 Information类图的说明 类名 中文类名 说明 MainWindow 主窗口类 系统主界面的主要信息 TitleInfoWindow 考生信息窗口类 查询考生所有信息的显示窗口 FindTitleDialog 查询详细信息对话框类 查询考生详细信息时显示必要选择项的对话框 BorrowerInfoWindow 计划调整信息窗口类 查询计划所有信息的显示窗口 FindBorrowerDialog 查询招生进度对话框类 查询招生进度时显示的必要选择项的对话框 Maintenance类图:这部分类图是系统运行界面的维护部分,包括考生信息,计划信息的修改、更新和查询的内容。 图3-5 Maintenance类图 Maintenance类图中各个类的说明见表5. 表5 Maintenance类图的说明 类名 中文类名 说明 MainWindow 主窗口类 系统主界面的主要信息 TitleFrame 考生框架类 考生信息的框架 BorrowFrame 计划信息框架类 计划信息的框架 FindBorrowerDialog 查询对话框类 查询需要维护的对话框 FindTitleDialog 查询考生对话框类 查询需要维护的考生信息的对话框 UpdateBorrowerFrame 更新计划框架类 更新计划信息操作的基本框架 UpdateTitleFrame 更新考生框架类 更新考生信息操作的基本框架 3.2 包图的生成 包图主要显示类的包以及这些包之间的依赖关系。系统包图:显示了系统中不同包之间的相互连接关系。包括了UI包、商业对象包、效用包和数据库包。招生管理系统的包图如图3-6所示。 图3-6包图 3.3 组件图的生成 系统组件图:系统包括4个类包:UI包、商业对象包、效用包和数据库包,以及一个启动程序组件StartClass.java。招生管理系统的组件图如图3-7所示。 图3-7 系统的组件图 四、系统部署 招生管理系统的配置图,如图4-1所示。系统由5个节点组成,应用服务器负责整个系统的运行总体协调工作,数据库服务器负责数据库的管理。业务管理、查询管理以及维护管理分管各个模块的内容。 图4-1 招生管理系统配制图
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页