课程名称 |
ASP.NET程序设计 |
实验名称 |
学生信息管理系统 |
下载链接:https://download.csdn.net/download/mariodf/85671926?spm=1001.2014.3001.5501
目录
一、实验目的... 3
二、实验环境... 3
1. 运行环境.. 3
2. 开发工具.. 3
三、实验设计... 3
1. 系统框架.. 3
2. 系统总体设计.. 4
3. 数据库表结构设计... 6
4. 项目的实现... 11
四、实验结果和分析.. 17
1.用户登录模块.. 17
2.学生信息管理系统首页的实现.. 18
3.学生信息管理模块的实现.. 21
3.1学生信息管理.. 21
3.2学生成绩管理.. 23
3.3选课信息管理.. 25
4.系统管理模块的实现... 26
4.1用户管理... 26
4.2角色管理... 28
5.授课信息管理模块的实现.. 29
5.1教师管理... 29
5.2课程管理... 30
5.3班级管理... 30
5.4授课信息管理.. 31
五、总结.. 31
一、实验目的
编写学生信息管理系统,实现以下功能:
1. 学生信息管理:对在校学生信息进行添加、删除、修改、查询等操作。
2. 学生成绩管理:对已经录入的学生信息进行添加、删除、修改学习成绩,并可以通过关键字进行查询。
3. 课程信息管理:支持对授课教师、课程编号及授课老师所授课的年级进行添加、删除、修改等操作。
4. 课程管理:可显示每个班级每学期的课程表,并可以对已经开设的课程进行添加、删除和修改等操作。
5. 用户管理:用于管理系统用户,可进行账号增加、账号删除、权限修改等操作,方便对不同账号进行管理,避免出现系统权限混乱的情况。
二、实验环境
- 运行环境
1.1 服务端运行环境
1.1.1 硬件配置:作为服务端硬件必须具有服务器级别。
1.1.2 软件配置:对于web服务器应配置IIS等提供web服务的软件。
1.1.3操作平台:Windows 10。
1.2客户端运行环境
1.2.1 操作系统:Windows 10。
1.2.2软件需求:客户端需要安装Internet浏览器,如Chrome、Firefox。
- 开发工具
本系统采用c#语言开发,所用开发工具有Visual Studio 2019、Microsoft SQL server 2012、 绘图工具Process On等。
三、实验设计
- 系统框架
在学习通的资料里,老师上传了三层体系结构的学习资料,三层体系结构有:用户界面表示层、业务逻辑层、数据访问层这三层,学习完三层架构模式后,在这个学生信息管理系统中使用了传统的四层架构模式,分布如下:
1.1 User Interface-表示层,负责向用户显示信息和解释用户的命令。
1.2 Application-应用层,定义了这个软件需要完成的任务,且指挥表达领域概念的对象来解决问题。这一层所负责的工作对这个学生信息管理系统来说有着很大的意义,起到关键的作用。
1.3 Domain-领域层,负责表达本身业务的概念、状态信息以及规则。
1.4 Infrastructure-基础设施层,向其他层提供通用的方法等,比如:为Application传递消息,为User Interface绘制屏幕组件等。这一层能够通过整个架构框架来支持四个层次之间交互的模式。
整个项目的结构如下:
- 系统总体设计
对于学生而言:可以对成绩进行查看;
对于教师而言:可以进行学生成绩管理和学生信息管理;
对于系统管理员而言:可以进行学生成绩管理、学生信息管理、教师授课信息管理、用户管理和课程管理。
2.1系统功能结构图如下图所示:
2.2系统业务流程图:
- 数据库表结构设计
StudentManage数据库中的表:
3.1班级信息表:T-Class
学校班级详细信息:
SeriaINumber:班级编号
MajorId:专业id
Name:班级名称
Description:班级描述
3.2课程信息表:T-Course
学校课程详细信息:
SeriaINumber:班级编号
MajorId:专业id
Name:班级名称
Description:班级描述
3.3院系表:T-Department
基础数据,存放院系相关信息:
Name:院系名称
Description:院系描述
图片
3.4专业表:T-Major
基础数据,存放专业相关信息:
Name:专业名称
Description:专业描述
DepartmentId:所属院系
图片
3.5菜单表:T-Module
基础数据,存放各个模块的信息:
Name:菜单名称
Url:菜单url
Icon:菜单图标
ParentId:父级菜单
3.6多对多关系存储表:T-Relation
多对多映射关系表,一些关联关系可以存放在此表:
Key:多对多标识
FirstKeyId:所关联的第一个表id
SecongKeyId:所关联的第二表id
3.7角色表:T-Role
存放角色的详细信息:
Name:角色名称
Discription:角色描述
3.8成绩存储表:T-Score
学生的成绩表:
StudentId:学生id
TeachInfold:授课信息id
Scores:成绩
3.9学生信息存储表:T-Student
用来存放学生信息的详情:
SerialNumber:学号
UserName:用户名
Password:密码
RealName:真实姓名
Sex:性别
Phone:手机号
ClassId:所属班级
EnterDate:入学时间
3.10学生成绩存储表:T-StudentScore
用来存放学生各科成绩:
StudentId:学生id
StudentName:用户名
MajorId:专业id
MajorName:专业名称
CourseId:课程id
CourseName:课程名称
StudentTime:学时
StuGrade:学分
StuScore:成绩
3.11教师信息存储表:T-Teacher
用来存放教师相关的详细信息:
SerialNumber:教师编号
UserName:登录用户名
Password:登录密码
RealName:真实姓名
Sex:性别
Phone:手机号
3.12授课信息存储表:T-TeacherInfo
用来存放学校的授课信息:
TeacherId:教师id
CourseId:课程id
Hours:学时
Credit:学分
3.13系统用户表:T-User
用户信息,存放管理人员用户详细信息
SerialNumber:编号
UserName:登录用户名
Password:登录密码
RealName:真实姓名
Sex:性别
Phone:手机号
- 项目的实现
4.1数据库连接
数据库连接部分的代码:
4.2增删改数据方法的实现
4.3查询数据方法的实现
4.4四层结构部分的设计实现
4.4.1表示层的实现:
在这里实现了界面内容的设计显示,向用户显示信息,在不同的模块应该显示数据库的哪部分内容等。
在Areas部分主要是实现对搜索框按钮的实现,可以根据关键字对数据库表中的内容进行查找并在界面显示给用户;
在Controllers部分实现了学生管理、课程管理,对一些数据内容通过按钮进行添加、删除、修改等内容的实现;
在Views中主要是对界面进行设计;
4.4.2 应用层的实现:
这一部分实现了对对象的获取和存储。
4.4.3 领域层的实现:
这一部分主要是定义了一些接口类、对该系统一些基本模块的实现。
在DbEntity、Model中对一些基本模块的实现;
在IRepository、Repository中定义了接口类:
4.4.4基础设施层的实现:
这一部分的代码主要是对数据连接,一些数据的增删查改的代码实现。
四、实验结果和分析
1.用户登录模块
1.1本模块主要实现了管理员、教师、学生的登录。只有通过身份确认后才可以访问相关的资源,例如学生不能访问用户管理模块。
1.2用户登录的输入、输出。
输入:用户名、密码、用户身份(管理员,教师,学生);
输出:登录成功进入系统首页(当验证失败时会弹出错误提示)。
1.3登录界面如下:
在下面可以选择用户的登录身份:
输入密码时,可以选择是否显示密码:
当输入错误时,会有弹窗出现:
1.4用户登录模块的程序流程图:
2.学生信息管理系统首页的实现
登录成功后进入系统首页。不同用户身份进入系统,左侧菜单栏的显示也会不同,右上角显示用户的头像和用户名称。
2.1学生的系统首页:
只有学生成绩查询模块。
2.2教师的系统首页:
有学生信息管理、学生成绩管理、选课信息管理模块。
2.3管理员的系统首页:
有学生信息管理、学生成绩管理、选课信息管理模块;用户管理、角色管理模块;教师管理、课程管理、班级管理、授课信息管理模块。
2.4当点击右上角的用户名时,会出现一个下拉框,可以选择基本资料和退出登录:
当点击退出时,会回到系统登陆页面;
当选择基本资料时,会出现一个编辑页面,可以对用户基本信息进行编辑。点击重置可以对输入的内容进行清空,点击提交便可保存所修改的信息。
3.学生信息管理模块的实现
学生管理模块包含学生信息管理、学生成绩管理和选课信息管理。其中以学生身份登录时,只能查看到学生成绩模块;而以教师和管理员身份登录时,则可以使用这三个功能,并且可以对信息进行增删查改操作。
3.1学生信息管理
3.1.1学生信息管理界面:
可以在页面下面的下拉框选择当前页面显示多少条信息:
3.1.2新增学生信息:
3.1.2新增学生信息:
可以在性别、班级的下拉框对性别、班级进行选择:
3.1.3编辑/删除学生信息,当编辑/删除成功时,会有一个弹窗出现,提示你编辑/删除成功。
编辑:
删除:
3.2学生成绩管理
3.2.1学生成绩管理页面:
教师、管理员的页面(可以对信息进行增删查改操作):
学生的页面(只能对信息进行查看):
3.2.2 新增、删除、修改和查询和上面学生信息管理模块类似:
查询信息(可以根据输入的姓名或课程号进行查询):
添加信息:
可以在下拉框选择专业,课程名称等:
在学时、学分、成绩处可以选择右边的按钮上下进行加减:
新增成功的弹窗:
可以选择右边的按钮进行编辑、删除;
删除成功的弹窗:
3.3选课信息管理
3.3.1选课信息管理页面:
3.3.2添加、删除、修改、查询实现和上面类似:
添加:
添加成功:
4.系统管理模块的实现
系统管理主要实现该系统的用户和角色的管理。跟据角色不同,不同的用户会有不同的路径访问权限。这一模块只有以管理员身份进入系统,才有这部分功能,以学生、老师身份进入则没有这部分功能。
4.1用户管理
4.1.1用户管理首页:
4.1.2新增用户弹窗:
4.1.3用户的编辑界面:
4.1.4用户的删除:
4.1.5用户的模糊查询:
4.2角色管理
4.2.1角色管理首页:
4.2.2新增,修改,删除,查询同上面所述功能类似。
新增角色:
4.2.3设置权限
5.授课信息管理模块的实现
授课信息包含教师管理、课程管理、班级管理、授课信息管理,在授课信息编辑时添加了专业,班级,课程之间的关联。这一模块只有以管理员、教师身份进入系统,才有这部分功能,以学生身份进入该系统则没有此部分功能。
5.1教师管理
5.1.1教师管理界面:
5.1.2新增,修改,删除,查询同上面所述功能类似。
新增教师:
5.2课程管理
5.2.1课程管理界面:
5.2.2新增,修改,删除,查询同上面所述功能类似。
5.3班级管理
5.3.1班级管理首页:
5.3.2新增,修改,删除,查询同上面所述功能类似。
5.4授课信息管理
5.4.1授课信息管理界面:
5.4.2新增,修改,删除,查询同上面所述功能类似。
五、总结
这个学生信息管理系统是尽自己最大的努力去写的,在程序编写过程中,我认为这个系统的实现有一些比较难的地方:一个是业务逻辑的理解实现;还有一个是数据库逻辑结构的设计。这两个方面都是会对整个系统运行情况及程序设计产生重大的影响。因此,在设计过程中,都需要充分考虑到设计的科学性、结构性、安全性等问题。文章来源:https://www.toymoban.com/news/detail-442180.html
我觉得学习就是在程序不断的出错,不断的改正,不断的调试中提高的。通过设计这个系统我掌握了项目基本的设计流程,学会了设计系统的思维方法。虽然这个系统还不够完善,系统实现的功能还没有达到自己想要的效果,还有界面也不是特别美观等,这些地方是有待改善的。我想通过我以后更多的实践和学习,最后可以不断的完善系统,达到自己想要的效果。文章来源地址https://www.toymoban.com/news/detail-442180.html
到了这里,关于学生管理系统实验报告-asp.net程序设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!