学生信息管理系统课程设计报告.docx
《学生信息管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统课程设计报告.docx(13页珍藏版)》请在冰豆网上搜索。
![学生信息管理系统课程设计报告.docx](https://file1.bdocx.com/fileroot1/2023-1/7/af1d0871-f8a0-40f3-8ed2-1c6ebd644f88/af1d0871-f8a0-40f3-8ed2-1c6ebd644f881.gif)
学生信息管理系统课程设计报告
数据库系统原理课程设计报告
学生信息管理系统
姓名:
学号:
指导老师:
起始时间:
2010年3月4日
起止时间:
2010年5月4日
目录
第一章概述··············································1
1.1项目背景············································1
1.2编写目的············································1
1.3软件定义············································1
1.4运行环境············································1
第二章需求分析···········································2
2.1需求概述············································2
2.2信息要求············································2
2.3处理要求············································4
第三章结构设计·········································5
3.1概念结构设计······································5
3.2逻辑结构设计······································5
第四章主要模块设计·····································6
4.1用户登录界面·····································6
4.2学生信息管理主界面································6
4.3主要功能介绍·····································6
第五章总结···········································11
5.1设计过程中遇到的问题以及解法·····················11
5.2设计的体会·······································12
第一章概述
1.1项目背景
随着计算机技术的高速发展,学生的管理逐步由人工管理方式过渡到计算机管理方式,由此而设计产生出了学生管理系统。
在学籍管理中,需要从大量的日常教学活动中提取相关信息,以反映教学情况。
传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。
使用计算机可以高速,快捷地完成以上工作。
规范教学管理行为,从而提高了管理效率和水平。
本项目提供给教师对学生的成绩管理简单的管理。
1.2编程目的
实现教师对学生的成绩进行简单的管理。
1.3软件定义
管理学生的成绩
1.4开发环境
系统环境:
Windows7
开发环境:
VisualStudio.Net2008
开发语言:
c#
开发界面:
WinForm
数据库:
SQLSERVER2000
第二章需求分析
2.1需求概述
要求有良好的人机界面
界面整洁美观
方便的数据的添加、修改和删除功能
方便的数据备份、导出、打印和查询
2.2信息要求
用户可以查询数据库中的学生成绩,也可以在数据库中存储学生的成绩和信息。
表的设计如下图所示:
一个有三个数据表:
1、Course(课程表)
2、SC(选修表)
3、Student(学生信息表)
关系表如下图所示:
2.3处理要求
本系统的主要功能需求有:
●在SQLServer2000中,需要建立三个数据表以及设定主键、完整参照性、级联删除等。
●能够提供用户登录界面
●在用户界面中,应分别对每个表提供添加、修改、删除、查询、打印、导出、备份等基本功能。
●能够添加用户和修改登录用户密码。
●主要有学生信息管理功能、课程表管理功能、学生选修管理功能、数据维护功能(备份还原功能)、系统维护功能(添加用户和修改密码功能)。
●处理的响应时间控制在1秒之内。
系统功能模块图:
系统功能模块图
2.3安全性与完整性要求
该软件只有管理权限的人员才能进入,通过用户名和登录密码进行登录,并且只能在用户界面的系统维护中添加新的管理人员和更改密码,从而保障了操作和数据的安全性。
第三章结构设计
3.1概念结构设计
基本E-R图
3.2逻辑结构设计
把E-R模型图转换为关系表
(1)学生(学号、姓名、性别、年龄、所在系)
(2)课程(课程号、课程名、选修课号、学分
(3)选修(学号、课程号、成绩)
表名与属性名对应由英文表示,则关系模式为:
Student(Sno、Sname、Ssex、Sage、Sdept)
Course(Cno、Cname、Cpno、Credit)
SC(Sno、Cno、Grade)
第四章主要模块的设计
4.1用户登录界面:
登录主界面
该界面为软件的用户登录界面,用户通过输入用户名,密码,通过验证成功后方能进入该系统。
(默认用户名字为:
admin,用户密码:
admin)
4.2学生信息管理主界面
学生信息管理系统主界面
该主界面包含的主要管理功能有:
●学生信息管理—基本信息管理/导出学生表/打印学生表
●课程表管理—课程表管理/导出课程表/打印课程表
●学生选修管理—选修表管理/导出选修表/打印选修表
●数据维护—数据备份/数据还原
●系统维护—添加用户/修改密码
4.3主要功能介绍
4.3.1添加/修改/删除/查询(以学生表为例)
学生信息管理
该界面主要实现学生表的添加、修改、删除和查询功能,并且显示当前表中的数据情况。
4.3.2导出(以学生表为例)
导出学生表
该功能主要实现数据库中表的导出(Excel格式)。
4.3.3打印(以学生表为例)
打印学生表
主要通过设计水晶报表把数据库中表显示在报表中,然后再进行打印,水晶报表也可对数据表进行导出。
4.3.4数据备份/还原
数据备份
该功能通过路径选择来备份数据。
数据还原
该功能通过路径选择来还原数据。
4.3.5添加管理用户/更改密码
添加用户
该功能实现登陆用户的添加。
修改密码
该功能实现对当前登陆用户密码的修改。
第五章总结
5.1设计过程中遇到的问题以及解决方法:
(1)设计用户登录界面
在数据库设计时,用User设计为用户登录的表。
而当设计用户界面的时候,将用户名和密码输入会出现了异常,经过多方搜索之后,发现最简单的解决方法是将User表名重命名,这是由于跟系统中某个命名方式冲突而造成的。
(2)在设计用户登录表时出现的问题
由于设计了Use_id这个字段,但是在程序设计的时候却没有将它进行赋值而导致无法修改用户密码,应该在设计用户登录表的时候就得注意这个问题,只要将Use_id这个字段的属性设计为自动增量加1就行了。
(3)误删窗体控件而导致整个程序无法运行
在删除时往往忘记了控件之间的关联而随意对程序中某个控件进行删除,从而导致了程序中的另一处地方因为没有定义或者定义错误而出现异常,最后窗体自动被销毁,这种错误是很致命的。
通过学习,发现想要删除某个项目窗体,应该单击右键,然后点击“从项目中移除”进行删除,切勿随意进行删除;而要对控件进行更换名字,则需要在控件属性中的(name)进行更换,而不应该在程序代码中随意替换,这会造成程序没有定义而发错。
(4)在设计数据库语句连接的时候应注意连接之间的空格
在设计数据库语句连接时,经常会忘记语句结束的时候要留个空格。
例如:
protectedstringM_str_sql="selectCnoas课程号,Cnameas课程名,Cpnoas先行课,Creditas学分fromCourse";
如果在Course后面忘记了空格,会发生数据传递错误,而且这种错误在调试的时候是很难被发现的,所以在设计数据库语句的时候要多加小心,以免耽误了更多的时间。
应改为:
protectedstringM_str_sql="selectCnoas课程号,Cnameas课程名,Cpnoas先行课,Creditas学分fromCourse";(注意有空格)
(5)在设计导出Excel功能时出现的问题
要导出到Excel,首先要添加到引用,然后尝试着加入usingMicrosoft.Office.Interop.Excel,但是始终无法Excel.Applicationexcel=newExcel.Application();而调出函数Application();通过上网发现很多人也会有这种问题,最后通过更改usingExcel=Microsoft.Office.Interop.Excel;而得到解决。
(6)在数据库还原时候出现的问题
这个问题比较常见,在备份数据的时候是不需要先关闭当前数据库的,然而在还原数据库的时候却应该先关闭数据库,或者先将当前数据库转移为另外一个数据库从而才能进行数据库的还原功能,否则会出现错误。
可以将语句设计为:
StuStrComd="backuplogdb_Studenttodisk='"+txtResPath.Text.Trim()+"'usemasterrestoredatabasedb_Studentfromdisk='"+txtResPath.Text.Trim()+"'";
先转移到master这个数据库,然后在进行db_Student数据库的还原。
(7)在设计报表时候出现的问题
首先是最一开始接触报表的时候,不知道数据源应该怎么选择,导致总是无法导入数据源,而无从入手。
最后发现只需选择OLEDB(ADO)—MicrosoftOLEDBProviderforSQLServer,然后在选择你的服务器名还有数据库,就能导入数据源了,最后只需简单的设计报表和添加的代码就能制作好了。
当然,利用这个功能也可以对数据进行导出,而且格式不仅仅局限于Excel。
5.2设计的体会
(1)在设计程序之前,一定要先弄清楚设计该系统的目的是为了什么,并将其流程图画出来,然后根据所做的需求分析对系统进行可行性分析、总体设计和系统设计,在这些前提之下才动手进行编码,这样更有利于自己思路的明确。
(2)在程序编码的开始,要先制定一个完整的代码规范(包括数据库的命名规范和程序代码命名规范),同时,应该对系统做一个总体的分析,将其可能建立的窗体文件进行分类,放置在不同的文件夹中,以便于自己的管理
(3)在开发Windows应用程序时,如果直接将控件放置在窗体上,看上去特别乱,这时可以先对窗体上的控件进行分类,然后再将它们分别放置到一个GroupBox控件中,这样,界面看上去就会井然有序了。
(4)如果应用程序涉及到导出和打印功能的时候,可以利用VisualStudio2008中自带的水晶报表中的导出和打印功能来实现,这样不仅界面美观友好,而且操作简单方便。
参考文献:
《C#数据库系统开发案例精选》,张跃廷、韩阳、张宏宇编著,人民邮电出版社;
《C#+SQLServer中小型信息系统开发实例精选》,黄明、梁旭、李伯林编著,机械工业出版社