大小:369 KB已被310人关注
学生成绩管理系统的设计与实现(毕业设计)是一个不错的学习资源,大小为369 KB,由邓雨星 提供,毕业设计类资源中评分为7.5。
3.需求分析
3.1.范围
3.1.1.系统概述
1.软件名称:学生成绩管理系统的设计与实现
2.软件功能:以学生成绩为中心,提供一系列管理功能。
3.用户:管理员,教师,学生
4.开发者
3.1.2.文档概述
需求分析采用面向对象的方法,在文档中主要采用了用例图和E-R图以及数据字典等表示方法来描述功能需求。
3.2.需求概述
3.2.1.系统目标
本系统的总体目标是通过该系统的实施,可以对学生成绩进行更加有效,全面的管理。系统设计实施过程中,力争做到以下几点:
1.具有较高的可靠性和可用性;
2.系统易于管理维护;
3.操作简单,方便使用;
4.良好的浏览器兼容性;
5.较强的负载能力;
3.2.2.开发环境
软件 版本 备注
Eclipse 4.6.0+
MySql 5.7
Tomcat 9+
Google 87.0.4280.141
3.2.3.运行环境
1.服务器硬件配置要求:CPU频率不得低于1GHz、内存不得小于512MB;
2.软件配置要求:Tomcat 9.0、Mysql数据库、Windows操作系统
3.客户端硬件配置要求:CPU频率不得低于1GHz、内存不得小于256MB;软件配置要求:
3.2.4.用户的特点
学生:修改基本信息,查看成绩。
教师:对学生信息管理,管理成绩。
管理员:具有最高权限,管理教师、课程等。
3.3.功能需求
系统功能主要分为以下三个部分:
学生:查看成绩
教师:学生管理、成绩管理。
管理员:教师管理、课程管理、班级管理。
3.3.1.系统用例图
根据需求分析,分析出系统的具体操作步骤及功能,从而确定系统总体用例图及各子用例图,具体描述如图所示。在此,主要列举几个主要的,有代表性的子系统用例
给大家精选了网上关于《学生成绩管理系统的设计与实现(毕业设计)》的学习笔记心得及相关实例内容,值得大家学习参考。
Python实现学生成绩管理系统
本文实例为大家分享了Python实现学生成绩管理系统的具体代码,供大家参考,具体内容如下
基本功能:
输入并存储学生的信息:通过输入学生的学号、姓名、和分数,然后就可以把数据保存在建立的student文件里面。
打印学生的所有信息:通过一个打印函数就可以把所有的信息打印在屏幕上。
修改学生信息:这个功能首先通过查询功能查询出该学生是否存在,如果存在就对该学生的信息进行修改,如果不存在则返回到主界面。
删除学生信息:该功能是对相应的学生进行删除操作,如果学生存在就查找到进行删除。
按学生成绩进行排序: 这个功能是按照学生的成绩进行排序,对学生的信息进行操作。
查找学生信息:这个功能通过输入学号,查找该学生的信息,如果有该学号就输出该学生的信息,没有该学号就提示输入的学号不存在。
初始化功能
系统在开始使用之前先进行初始化功能,判断students.txt文件中是否保存的有学生的信息,如果有就把文件的内容读取出来,供接下来的操作使用,如用没有就初始化一个空的列表,用来保存用户的输入,程序中接下来的所有数据都会保存在该列表中相当与一个数据缓冲区。
首先是打开文件操作,对文件中的内容进行读取操作,由于在文件中保存的内容是由空格进行分割的,并且每一个学生的信息都占用一行,首先读出所有的内容,先进行按照换行进行分割,得到每个人的信息,然后再对每个人的信息进行安装空格分隔,得到每个人的详细信息包括用户的姓名,学号,成绩。
def Init(stulist): #初始化函数 print "初始化......" file_object = open('students.txt', 'r') for line in file_object: stu = Student() line = line.strip("\n") s = line.split(" ") stu.ID = s[0] stu.name = s[1] stu.score = s[2] stulist.append(stu) print "初始化成功!"
成绩排序实现
这部分代码是按照学生成绩的高低进行排序,在实现的时候,首先是把所有人的成绩放到一个列表里面然后使用插入排序,按照成绩的大小对StuList中保存的学生信息的地址进行排序
def Sort(stulist): #按学生成绩排序 Stu = [] sum_count = [] for li in stulist: temp = [] temp.append(li.ID) temp.append(li.name) temp.append(int(li.score1)) temp.append(int(li.score2)) temp.append(int(li.score3)) temp.append(int(li.sum)) sum_count.append(int(li.sum)) Stu.append(temp) #print sum_count #print Stu; #print stulist insertSort(sum_count, stulist) #print stulist; display(stulist) def insertSort(a, stulist): for i in range(len(a)-1): #print a,i for j in range(i+1,len(a)): if a[i]<a[j]: temp = stulist[i] stulist[i] = stulist[j] stulist[j] = temp
界面截图如下:
源码:
# -*- coding: UTF-8 -*- import os import re import numpy as np class Student: #定义一个学生类 def __init__(self): self.name = '' self.ID ='' self.score1 = 0 self.score2 = 0 self.score1 = 0 self.sum = 0 def searchByID(stulist, ID): #按学号查找看是否学号已经存在 for item in stulist: if item.ID == ID: return True def Add(stulist,stu): #添加一个学生信息 if searchByID(stulist, stu.ID) == True: print"学号已经存在!" return False stulist.append(stu) print stu.name,stu.ID, stu.score1, stu.score2, stu.score3, stu.sum; print "是否要保存学生信息?" nChoose = raw_input("Choose Y/N") if nChoose == 'Y' or nChoose == 'y': file_object = open("students.txt", "a") file_object.write(stu.ID) file_object.write(" ") file_object.write(stu.name) file_object.write(" ") file_object.write(str(stu.score1)) file_object.write(" ") file_object.write(str(stu.score2)) file_object.write(" ") file_object.write(str(stu.score3)) file_object.write(" ") file_object.write(str(stu.sum)) file_object.write("\n") file_object.close() print u"保存成功!" def Search(stulist, ID): #搜索一个学生信息 print u"学号 姓名 语文 数学 英语 总分" count = 0 for item in stulist: if item.ID == ID: print item.ID, '\t' ,item.name,'\t', item.score1,'\t',item.score2, '\t', item.score3, '\t',item.sum break count = 0 if count == len(stulist): print "没有该学生学号!" def Del(stulist, ID): #删除一个学生信息 count = 0 for item in stulist: if item.ID == ID: stulist.remove(item) print "删除成功!" break count +=1 # if count == len(stulist): # print "没有该学生学号!" file_object = open("students.txt", "w") for stu in stulist: print stu.ID, stu.name, stu.score1,stu.score2, stu.score3, stu.sum file_object.write(stu.ID) file_object.write(" ") file_object.write(stu.name) file_object.write(" ") file_object.write(str(stu.score1)) file_object.write(" ") file_object.write(str(stu.score2)) file_object.write(" ") file_object.write(str(stu.score3)) file_object.write(" ") file_object.write(str(stu.sum)) file_object.write("\n") file_object.close() # print "保存成功!" file_object.close() def Change(stulist, ID): count = 0 for item in stulist: if item.ID == ID: stulist.remove(item) file_object = open("students.txt", "w") for stu in stulist: #print li.ID, li.name, li.score file_object.write(stu.ID) file_object.write(" ") file_object.write(stu.name) file_object.write(" ") file_object.write(str(stu.score1)) file_object.write(" ") file_object.write(str(stu.score2)) file_object.write(" ") file_object.write(str(stu.score3)) file_object.write(" ") file_object.write(str(stu.sum)) file_object.write("\n") # print "保存成功!" file_object.close() stu = Student() stu.name = raw_input("请输入学生的姓名") while True: stu.ID = raw_input("请输入学生的ID") p = re.compile('^[0-9]{3}$') if p.match(stu.ID): break else: print "输入的有错误!" while True: stu.score1 = int(raw_input("请输入学生语文成绩")) if stu.score1 <= 100 and stu.score1 > 0 : break else: print "输入的学生成绩有错误!" while True: stu.score2 = int(raw_input("请输入学生数学成绩")) if stu.score2 <= 100 and stu.score2 > 0 : break else: print "输入的学生成绩有错误!" while True: stu.score3 = int(raw_input("请输入学生英语成绩")) if stu.score3 <= 100 and stu.score3 > 0 : break else: print "输入的学生成绩有错误!" stu.sum = stu.score1 + stu.score2 + stu.score3 Add(stulist,stu) def display(stulist): #显示所有学生信息 print u"学号 姓名 语文 数学 英语 总分" for item in stulist: print item.ID, '\t' ,item.name,'\t', item.score1,'\t',item.score2, '\t', item.score3, '\t',item.sum def Sort(stulist): #按学生成绩排序 Stu = [] sum_count = [] for li in stulist: temp = [] temp.append(li.ID) temp.append(li.name) temp.append(int(li.score1)) temp.append(int(li.score2)) temp.append(int(li.score3)) temp.append(int(li.sum)) sum_count.append(int(li.sum)) Stu.append(temp) #print sum_count #print Stu; #print stulist insertSort(sum_count, stulist) #print stulist; display(stulist) def insertSort(a, stulist): for i in range(len(a)-1): #print a,i for j in range(i+1,len(a)): if a[i]<a[j]: temp = stulist[i] stulist[i] = stulist[j] stulist[j] = temp #return a def Init(stulist): #初始化函数 print "初始化......" file_object = open('students.txt', 'r') for line in file_object: stu = Student() line = line.strip("\n") s = line.split(" ") stu.ID = s[0] stu.name = s[1] stu.score1 = s[2] stu.score2 = s[3] stu.score3 = s[4] stu.sum = s[5] stulist.append(stu) file_object.close() print "初始化成功!" main() def main(): #主函数 该程序的入口函数 while True: print "*********************" print u"--------菜单---------" print u"增加学生信息--------1" print u"查找学生信息--------2" print u"删除学生信息--------3" print u"修改学生信息--------4" print u"所有学生信息--------5" print u"按照分数排序--------6" print u"退出程序------------0" print "*********************" nChoose = raw_input("请输入你的选择:") if nChoose == "1": stu = Student() stu.name = raw_input("请输入学生的姓名") while True: stu.ID = raw_input("请输入学生的ID") p = re.compile('^[0-9]{3}$') if p.match(stu.ID): break else: print "输入的有错误!" while True: stu.score1 = int(raw_input("请输入学生语文成绩")) if stu.score1 <= 100 and stu.score1 > 0 : break else: print "输入的学生成绩有错误!" while True: stu.score2 = int(raw_input("请输入学生数学成绩")) if stu.score2 <= 100 and stu.score2 > 0 : break else: print "输入的学生成绩有错误!" while True: stu.score3 = int(raw_input("请输入学生英语成绩")) if stu.score3 <= 100 and stu.score3 > 0 : break else: print "输入的学生成绩有错误!" stu.sum = stu.score1 + stu.score2 + stu.score3 Add(stulist,stu) if nChoose == '2': ID = raw_input("请输入学生的ID") Search(stulist, ID) if nChoose == '3': ID = raw_input("请输入学生的ID") Del(stulist, ID) if nChoose == '4': ID = raw_input("请输入学生的ID") Change(stulist, ID) if nChoose == '5': display(stulist) if nChoose == '6': Sort(stulist) if nChoose == '0': break if __name__ == '__main__': stulist =[] Init(stulist)
更多学习资料请关注专题《管理系统开发》。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。
上一篇:Android开发学习总结
下一篇:没有了
展开 +
收起 -
苍安荷
Copyright 2018-2021 www.xz577.com 码农之家
版权投诉 / 书籍推广 / 赞助:520161757@qq.com