学生管理系统实验报告 |
您所在的位置:网站首页 › 比树莓派性能好 › 学生管理系统实验报告 |
课程名称 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新增,修改,删除,查询同上面所述功能类似。 五、总结 这个学生信息管理系统是尽自己最大的努力去写的,在程序编写过程中,我认为这个系统的实现有一些比较难的地方:一个是业务逻辑的理解实现;还有一个是数据库逻辑结构的设计。这两个方面都是会对整个系统运行情况及程序设计产生重大的影响。因此,在设计过程中,都需要充分考虑到设计的科学性、结构性、安全性等问题。 我觉得学习就是在程序不断的出错,不断的改正,不断的调试中提高的。通过设计这个系统我掌握了项目基本的设计流程,学会了设计系统的思维方法。虽然这个系统还不够完善,系统实现的功能还没有达到自己想要的效果,还有界面也不是特别美观等,这些地方是有待改善的。我想通过我以后更多的实践和学习,最后可以不断的完善系统,达到自己想要的效果。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |