2 Star 5 Fork 1

Mimosa / stuManage

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MulanPSL-2.0

一、需求与功能分析 1.1需求分析 学生成绩管理系统主要提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息和课程,若所选的课程教师已录入成绩,则可以查看成绩。教师可以通过成绩管理系统查阅学生成绩信息,教师信息,并给学生录入成绩。系统管理员可以对学生信息以及每个学生所选课程进行增删改查操作,对教师信息以及每位教师所教课程进行增删改查相关操作。 根据开发要求,学生成绩管理系统主要应用于教育系统,完成对日常的教学、教务、教师以及学生的计算机化的管理。开发学生成绩管理系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。目前,学校工作繁杂、资料重多,因此,开发一套适和大众的、兼容性好的系统是很有必要的。

1.2功能分析 “学生成绩管理系统”按登录角色划分系统功能,登录角色包括学生、教师以及管理员。管理员可以对学生和教师的基本个人信息进行增删改查,对学生和教师所选课程进行增删改查。教师的主要权限是查看个人信息和所教课程,并输入所教课程的成绩,系统会计算得出平均分、排名以及不及格人数。学生的主要权限是查看自己的个人信息以及所学课程分数。 本系统根据学生成绩管理的需要,而建立一个“学生成绩管理系统”,以方便对成绩的各项管理操作。本系统能对成绩进行输入和输出;能按姓名、年龄、成绩等对学生进行排序,并显示学生资料、成绩等,不过得以系统输入学生资料、成绩为前提;能添加学生成绩资料;能根据学生的学号来查询该学生的成绩资料,并修改或是删除该学生信息。 二、设计思路 2.1系统总体设计 系统总体框架如图1所示:

图1

2.2 系统功能设计 2.2.1 管理员功能 (1)添加学生 管理员可以通过输入学生的学号、姓名、年龄、性别、学院、班级等基本信息来添加学生进数据库。系统会以表格的形式显示所有学生的信息。 (2)修改学生信息 管理员可以在主界面中输入学生学号,系统将自动填充学生其余信息,管理员可以通过修改文本框的值对信息进行修改,点击修改按钮新的信息将被保存进入数据库。 (3)删除学生信息 管理员在学号文本框中输入学生的学号,然后点击删除按钮,若该学生存在,则将从数据库中删除该学生的信息。 (4)查询学生信息 查询学生信息分为两个模块,一是查询全部学生信息,对应的按钮名称为查询全部,二是查询某个学生信息,管理员可以通过在学号文本框中输入学号,点击查询按钮,表格将单独展示此学生的详细信息。 (5)查询学生课程 管理员通过输入学生学号可以查询到该学生所选的课程 (6)添加学生课程 输入学号后,若数据库存在该学生,则会出现添加课程的功能,选择开课学院和具体的课程以后,点击添加按钮将为该学生添加此门课程。 (7)删除学生课程 查询到某个学生的课程后,在每行课程信息的后面会出现删除按钮,点击按钮可以删除此课程。 2.2.2 学生功能 (1)查询个人信息 点击登录后,系统会跳转到学生首页,在首页会展示学生的学号姓名学院班级等信息。 (2)查询成绩 学生登录系统后,首页便会以表格展示该学生所选的课程以及相应的成绩。 (3)查询课程 学生登录系统后,首页便会以表格展示该学生所选的课程。 2.2.3 教师功能 (1)查询个人信息 点击登录后,系统会跳转到教师首页,在首页会展示教师的职工号姓名等信息。 (3)录入成绩 教师登录系统后,首页便会以表格展示该教师所教的课程以及每门课的选课人数,在表格的最后一列有录入成绩的超链接,点击后即可跳转到对应学生的录入成绩界面。 (3)查询课程 教师登录系统后,首页便会以表格展示该教师所教的课程以及每门课的选课人数。

2.3 数据库的设计 本程序设计了6个实体类对应数据库中的6张表,它们分别是学生基本信息类(student_inf),包括学生学号、姓名、性别、年龄、学院、班级等信息,主键为学号;教师基本信息类(teacher_inf),包括教师职工号、姓名、年龄、学院等信息,主键为职工号。课程信息类(course_inf),包括课程编号、课程名称和开课学院等信息;登录账号类(login),包括账号、密码和登录角色等信息。学生-课程类(stu_course),包括学生学号,所选课程编号和成绩等信息,其中学号作为外键对应学生基本信息表的主键,采用级联删除和级联更新方式。所选课程编号作为外键对应于课程信息表的主键,采用级联删除和级联更新方式;教师-课程类(tea_course),包括教师职工号、所教课程编号等信息,其中教师职工号作为外键对应教师基本信息表的主键,采用级联删除和级联更新方式。所选课程编号作为外键对应于课程信息表的主键,采用级联删除和级联更新方式。

表2.3.1 学生基本信息表 学生基本信息表 序号 字段 别名 数据类型 长度 约束条件 主键 外键 1 id 学号 Char 20 非空 Y N 2 name 姓名 Char 45 N N 3 sex 性别 Char 5 男/女 N Y 4 age 年龄 Int 20 > 0 N N 5 department 学院 Char 45 N N 6 className 班级 Char 45 N N

表2.3.2 教师基本信息表 教师基本信息表 序号 字段 别名 数据类型 长度 约束条件 主键 外键 1 id 职工号 Char 20 非空 Y N 2 name 姓名 Char 45 N N 3 sex 性别 Char 5 男/女 N Y 4 age 年龄 Int 20 > 0 N N 5 department 学院 Char 45 N N

表2.3.3 课程基本信息表 课程基本信息表 序号 字段 别名 数据类型 长度 约束条件 主键 外键 1 id 课程编号 Char 10 非空 Y N 2 name 课程名称 Char 45 N N 3 department 开课学院 Char 45 N N

表2.3.4 学生-课程表 学生-课程表 序号 字段 别名 数据类型 长度 约束条件 主键 外键 1 id INT 20 自增长 Y N 2 stu_id 学号 Char 20 N Y 3 course_id 所选课程编号 Char 10 N Y 4 grade 成绩 Int 20 >=0&&<=60 N N

表2.3.5 教师-课程表 教师-课程表 序号 字段 别名 数据类型 长度 约束条件 主键 外键 1 id INT 20 自增长 Y N 2 Tea_id 学号 Char 20 N Y 3 course_id 所选课程编号 Char 10 N Y

表2.3.6 登录账号表 登录账号表 序号 字段 别名 数据类型 长度 约束条件 主键 外键 1 loginName 用户名 Char 10 非空 Y N 2 password 密码 Char 45 N N 3 role 登录角色 Char 45 管理员/学生/教师 N N

2.4 主程序的设计 本程序采用Asp.Net技术,在静态网页文件aspx文件中进行视图的设计,此文件相当于前台,在其中添加一系列控件。通过runat="server"这一语句,后台可以获取到前端所写的控件。然后在后台文件aspx.cs文件中编写各种控件的具体操作代码,包括对数据库的增、删、改、查等一系列操作。下面以stuInf.aspx为例,对几个常用的基本控件进行说明。 HyperLink控件:此控件相当于html中的超链接,NavigateUrl属性指定了要跳转的页面。 TextBox控件:文本框控件,在本页面中使用的属性有AutoPostBack属性、OnTextChanged属性、并添加了RequiredFieldValidator控件对文本框控件进行校验。AutoPostBack属性用于自动回传,也就是说此控件值更改后是否和服务器进行交互,OnTextChanged属性当文本框的值发生改变时触发。 RadioButton控件:相当于html中的单选框,可以通过设置相同的GroupName属性来把多个RadioButton划分为一组,并在后台进行相关的操作。 DropDownList控件,相当于html中的下拉框,用于创建下拉列表。控件中的每个可选项都是由 ListItem 元素定义的。 Button控件:按钮控件,通过设置OnClick属性在后台编写触发按钮后的相应事件。 GridView控件:Gridview是一个表格控件自带编辑,排序、删除等功能。他的数据绑定方式有两种:通过DataSource属性 或者DataSourceID属性(支持双向数据绑定),本程序中两种方式都有使用。此控件的功能十分强大,可以绑定数据源对数据库中的数据进行展示。把AllowSorting设置为true则可以根据表格的字段进行排序。通过设置AllowPaging对数据进行分页处理。

三、调试分析

3.1技术难点分析 1、本程序的技术难点在于各个控件数据源的绑定,由于本机没有安装SQL Serve数据库,只有MySQL数据库,而asp.net默认的数据库时SQL Server,因此很多高级操作无法在前台进行(如图3.1.1所示),只能在后台用代码进行操作。

图3.1.1 2、在教师录入成绩的页面,对低于60分的成绩以红色显示,高于60分的成绩以绿色显示(如图3.1.2所示),因为成绩录入后是实时更新的,所以每一次刷新gridview时都要对成绩的值进行判断并在后台设置字体的颜色。一开始不知道如何获取某一单元格的值,因此花了较多的时间。

图3.1.2

3.2 调试错误分析 1、先查询了某一个学生的信息,表格中只显示了这一行,点击重置按钮,虽然文本框内数据被清除,但是表格仍然只显示了一行信息:

图3.2.1

修改如下,在重置按钮的OnClick事件中,添加查询全部学生数据的代码:

图3.2.2

2、在按学生姓名进行查询时,发生如下错误:

图3.2.3 查看自动窗口,生成的错误的sql语句如下,发现缺少引号:

图3.2.4

因为name是字符串类型,因此在写查询的sql语句时,要加上引号,修改如下:

图3.2.5

四、测试结果分析

4.1 登录功能测试

图4.1.1 登录界面

图4.1.2 用户名和密码均为空时

图4.1.3 密码为空时

图4.1.4 用户名为空时

4.2 管理员功能测试 学生信息管理界面如图4.2.1所示

图4.2.1

点击右上角的按钮可以展开菜单栏:

图4.2.2

添加一个学生:

图4.2.3 添加学生时要求姓名和年龄不能为空:

图4.2.4 姓名和年龄为空时 年龄要求在10-100之间的整数:

图4.2.5 添加完成后表格将会更新:

图4.2.6 删除刚刚添加的学生:

图4.2.7

输入学号查询某个学生信息:

图4.2.8 点击菜单栏跳转到学生课程管理页面:

图4.2.9 输入学号点击查询显示该学生所选课程:

图4.2.10

选择开课学院和课程名称后点击添加,为该学生添加一门课程:

图4.2.11

点击相应的行后的删除,可以删除此门课程:

图4.2.12

若学号输入错误,则系统产生相应的提示:

图4.2.13

若该学生没有课程,也会产生相应的提示:

图4.2.14 教师信息管理和教师课程管理与上面类似。

4.3 学生功能测试 学生点击登录,系统将以表格形式展示该学生所选课程,若有成绩的话将显示成绩。学生的个人信息展示在右上角:

图4.2.15

4.4教师功能测试 教师登录系统后,系统将会展示该教师所教的课程以及选课人数:

图4.2.16

点击对应课程后面的录入成绩链接,系统将展示所有选择该课程的学生信息,点击最后的编辑可以更新成绩:

图4.2.17

输入完毕后点击更新即可更新成绩:

图4.2.18

木兰宽松许可证, 第2版 木兰宽松许可证, 第2版 2020年1月 http://license.coscl.org.cn/MulanPSL2 您对“软件”的复制、使用、修改及分发受木兰宽松许可证,第2版(“本许可证”)的如下条款的约束: 0. 定义 “软件”是指由“贡献”构成的许可在“本许可证”下的程序和相关文档的集合。 “贡献”是指由任一“贡献者”许可在“本许可证”下的受版权法保护的作品。 “贡献者”是指将受版权法保护的作品许可在“本许可证”下的自然人或“法人实体”。 “法人实体”是指提交贡献的机构及其“关联实体”。 “关联实体”是指,对“本许可证”下的行为方而言,控制、受控制或与其共同受控制的机构,此处的控制是指有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。 1. 授予版权许可 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,您可以复制、使用、修改、分发其“贡献”,不论修改与否。 2. 授予专利许可 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的(根据本条规定撤销除外)专利许可,供您制造、委托制造、使用、许诺销售、销售、进口其“贡献”或以其他方式转移其“贡献”。前述专利许可仅限于“贡献者”现在或将来拥有或控制的其“贡献”本身或其“贡献”与许可“贡献”时的“软件”结合而将必然会侵犯的专利权利要求,不包括对“贡献”的修改或包含“贡献”的其他结合。如果您或您的“关联实体”直接或间接地,就“软件”或其中的“贡献”对任何人发起专利侵权诉讼(包括反诉或交叉诉讼)或其他专利维权行动,指控其侵犯专利权,则“本许可证”授予您对“软件”的专利许可自您提起诉讼或发起维权行动之日终止。 3. 无商标许可 “本许可证”不提供对“贡献者”的商品名称、商标、服务标志或产品名称的商标许可,但您为满足第4条规定的声明义务而必须使用除外。 4. 分发限制 您可以在任何媒介中将“软件”以源程序形式或可执行形式重新分发,不论修改与否,但您必须向接收者提供“本许可证”的副本,并保留“软件”中的版权、商标、专利及免责声明。 5. 免责声明与责任限制 “软件”及其中的“贡献”在提供时不带任何明示或默示的担保。在任何情况下,“贡献者”或版权所有者不对任何人因使用“软件”或其中的“贡献”而引发的任何直接或间接损失承担责任,不论因何种原因导致或者基于何种法律理论,即使其曾被建议有此种损失的可能性。 6. 语言 “本许可证”以中英文双语表述,中英文版本具有同等法律效力。如果中英文版本存在任何冲突不一致,以中文版为准。 条款结束 如何将木兰宽松许可证,第2版,应用到您的软件 如果您希望将木兰宽松许可证,第2版,应用到您的新软件,为了方便接收者查阅,建议您完成如下三步: 1, 请您补充如下声明中的空白,包括软件名、软件的首次发表年份以及您作为版权人的名字; 2, 请您在软件包的一级目录下创建以“LICENSE”为名的文件,将整个许可证文本放入该文件中; 3, 请将如下声明文本放入每个源文件的头部注释中。 Copyright (c) [Year] [name of copyright holder] [Software Name] is licensed under Mulan PSL v2. You can use this software according to the terms and conditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at: http://license.coscl.org.cn/MulanPSL2 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details. Mulan Permissive Software License,Version 2 Mulan Permissive Software License,Version 2 (Mulan PSL v2) January 2020 http://license.coscl.org.cn/MulanPSL2 Your reproduction, use, modification and distribution of the Software shall be subject to Mulan PSL v2 (this License) with the following terms and conditions: 0. Definition Software means the program and related documents which are licensed under this License and comprise all Contribution(s). Contribution means the copyrightable work licensed by a particular Contributor under this License. Contributor means the Individual or Legal Entity who licenses its copyrightable work under this License. Legal Entity means the entity making a Contribution and all its Affiliates. Affiliates means entities that control, are controlled by, or are under common control with the acting entity under this License, ‘control’ means direct or indirect ownership of at least fifty percent (50%) of the voting power, capital or other securities of controlled or commonly controlled entity. 1. Grant of Copyright License Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable copyright license to reproduce, use, modify, or distribute its Contribution, with modification or not. 2. Grant of Patent License Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable (except for revocation under this Section) patent license to make, have made, use, offer for sale, sell, import or otherwise transfer its Contribution, where such patent license is only limited to the patent claims owned or controlled by such Contributor now or in future which will be necessarily infringed by its Contribution alone, or by combination of the Contribution with the Software to which the Contribution was contributed. The patent license shall not apply to any modification of the Contribution, and any other combination which includes the Contribution. If you or your Affiliates directly or indirectly institute patent litigation (including a cross claim or counterclaim in a litigation) or other patent enforcement activities against any individual or entity by alleging that the Software or any Contribution in it infringes patents, then any patent license granted to you under this License for the Software shall terminate as of the date such litigation or activity is filed or taken. 3. No Trademark License No trademark license is granted to use the trade names, trademarks, service marks, or product names of Contributor, except as required to fulfill notice requirements in Section 4. 4. Distribution Restriction You may distribute the Software in any medium with or without modification, whether in source or executable forms, provided that you provide recipients with a copy of this License and retain copyright, patent, trademark and disclaimer statements in the Software. 5. Disclaimer of Warranty and Limitation of Liability THE SOFTWARE AND CONTRIBUTION IN IT ARE PROVIDED WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR OR COPYRIGHT HOLDER BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THE SOFTWARE OR THE CONTRIBUTION IN IT, NO MATTER HOW IT’S CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 6. Language THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN THE CASE OF DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION SHALL PREVAIL. END OF THE TERMS AND CONDITIONS How to Apply the Mulan Permissive Software License,Version 2 (Mulan PSL v2) to Your Software To apply the Mulan PSL v2 to your work, for easy identification by recipients, you are suggested to complete following three steps: i Fill in the blanks in following statement, including insert your software name, the year of the first publication of your software, and your name identified as the copyright owner; ii Create a file named “LICENSE” which contains the whole context of this License in the first directory of your software package; iii Attach the statement to the appropriate annotated syntax at the beginning of each source file. Copyright (c) [Year] [name of copyright holder] [Software Name] is licensed under Mulan PSL v2. You can use this software according to the terms and conditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at: http://license.coscl.org.cn/MulanPSL2 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details.

简介

用asp.net实现的一个学生成绩管理系统 展开 收起
C#
MulanPSL-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C#
1
https://gitee.com/lxyMimosa/stu-manage.git
git@gitee.com:lxyMimosa/stu-manage.git
lxyMimosa
stu-manage
stuManage
master

搜索帮助