资源描述
《数据库原理及应用》
课程设计报告
题 目:
指导教师:
班 级:
小组成员: (姓名)(学号)(组长)
(姓名)(学号)(组员)
完成日期:
运城学院计算机科学与技术系
目 录
一. 课程设计目的-----------------------------------------------------------------3
二. 课程设计方案-----------------------------------------------------------------3
总体思路………………………………………………………………………………………3
课程设计内容…………………………………………………………………………………3
项目需求了解…………………………………………………………………………………3
软件总体模块设计……………………………………………………………………………3
数据库设计……………………………………………………………………………………3
三. 课程设计内容-----------------------------------------------------------------4
课程设计的实验环境…………………………………………………………………………4
课程设计的预备知识…………………………………………………………………………4
四. 课程设计步骤-----------------------------------------------------------------4
系统结构分析…………………………………………………………………………………4
数据库的建立…………………………………………………………………………………5
软件设计阶段…………………………………………………………………………………8
软件测试以及维护阶段……………………………………………………………………..16
结束语………………………………………………………………………………………..16
课程设计目的:
考虑和调研到高校教务管理中对学生信息管理存在工作量大、工作繁琐等问题,通过分析教务工作者和学生的需求,进而对整个学校有关学生基本信息管理、学生课程信息管理及成绩考核管理进行分析和设计,以最终形成优化的学生信息综合管理系统。
课程设计方案:
1.总体思路:
通过鼓励学生自行开发小型软件系统,以培养学生的软件设计和开发能力。使学生能熟悉整个软件系统的开发过程,掌握数据库设计管理的方法、.net或Java开发编程的方法,分组协作、明确分工,共同完成软件开发,以增强学生的合作能力。本次综合设计,以开发小型基于DBMS的软件为核心,综合“数据库”设计应用能力、“软件工程”应用能力、利用.net或Java,设计并开发出具有一定功能的小型软件系统。
2.课程设计内容:学生信息综合管理系统
3.项目需求了解:对学生基本信息,学籍管理,班级管理,以及成绩管理和院系各专业的添加、删除、修改等操作。
4.软件总体模块设计:本系统主要包括6个模块:用户管理模块、院系管理模块、学籍管理模块、课程管理模块、成绩管理模块、帮助模块。
5.数据库设计:
本系统主要包括6个表:
1) 用户登录表:USERINFO
2) 学生信息表:STUDENTINFO
3) 课表:SCHEDULE
4) 成绩查询表:RESULTINFO
5) 菜单表:MENU
6) 系管理表.:DEPARTMENTINFO
7) 课程表:COURSEINFO
8) 班级表:CLASSINFO
课程设计内容:
1.课程设计的实验环境:
硬件要求能运行Windows XP操作系统;开发工具可采用Microsoft Visual Studio 2005,数据库管理系统采用SQL server。
2.课程设计的预备知识
熟悉软件开发的基本知识,有熟练运用数据库管理系统、.net或Java开发平台、方案设计能力等诸多具体问题有感性的认识和深入的理解、软件设计、开发和维护的能力。
课程设计步骤-
1.系统结构分析
系统就满足学校的需求,例如学生信息、班级信息等的的录入、查询、更新等。系统就具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作。主要有几个功能部分:
权限:为用户设置权限功能,可分为普通用户,管理员。普通用户只是查询不能修改,管理员能修改、删除所有信息。
录入:为管理员提供对所有信息的录入功能。
查询:为所有用户提供查询的功能,可查询允许范围内的所有信息。
维护:为管理员提供对所有信息的修改删除功能。
打印:能打印全校学生的信息及各班信息、学生成绩等。
帮助:关于本系统。
退出:结束并关闭系统。
本系统适用于学校,其功能主要分为六大类:
(1)用户管理:用于对用户的添加,赋于不同权限及对用户的修改及查询。
(2)学籍管理:用于对学生基本学籍信息的输入、修改、查询,可随时根据查询结果动态生成学生基本信息查询报表。
(3)院系专业管理:用于对系、专业、班级的录入与修改。
(4)课程设置管理:用于对各学期课程的开设和修改。
(5)成绩管理:用于对成绩的输入、修改、查询可随时根据查询结果动态生成学生成绩查询报表。
(6)帮助:关于系统。
本系统性能力求易于使用,具体有较高的扩展性和可维护性。系统的功能结构关系图及系统结构连接图如下:
用户管理
修改密码
删除用户
更改权限
退出
添加或修改学籍
查询学籍信息
添加或修改系
添加或修改专业
添加或修改班级
添加或修改课程
班级课程设置
添加成绩
修改成绩
成绩查询
关于
学籍管理
院系管理
课程管理
成绩管理
用户登陆
帮助
学生信息综合管理系统
2.数据库的建立:(下述三个模型必须要用powerdesigner 设计)
①概念模型设计
②逻辑模型设计
③物理模型设计
本系统建立的6个表:
l 用户登录表:USERINFO
l 学生信息表:STUDENTINFO
l 课表:SCHEDULE
l 成绩查询表:RESULTINFO
l 系管理表.:DEPARTMENTINFO
l 菜单表:MENU
l 课程表:COURSEINFO
l 班级表:CLASSINFO
软件设计阶段
在系统中包括以下功能:系统管理,学籍信息管理,班级信息管理,课程信息管理,成绩信息管理,帮助。分为以下几个模块:
登陆界面的设计:
功能:
登陆者可以选择登陆权限,以不同的方式登陆到系统中从而可以从事不同的工作。
班级管理界面设计:
功能:
选择主窗体中班级管理模块下的添加班级信息,就可进入添加班级信息的窗体,在该窗体中我们可以对学生的班级编号,入学年份,班级名称等学生的信息进行添加。设计时,将会弹出一个提示框提醒用户,以便用户能及时地做出修改、添加等存储到数据库中。
成绩查询:
功能:
点击查询按钮就可分别进入修改成绩信息窗体,信息会在上方的DATAGRID里面显示出来。
课表设置:
功能:管理员可以对课表进行具体的操作,例如添加、删除、修改等操作。
成绩管理:
功能:管理员可以对学生的成绩信息进行输入、修改、删除等操作。
权限修改:
功能:高级管理员可以对一般用户进行权限的设置。
主窗体:
功能:用户登陆成功后可以进入该界面。
日历:
功能:用户可以查看当前日期,时间。
课程管理:
功能:管理员可以添加、修改、删除课程等信息。
系别管理:
功能:管理员可以对院系信息进行添加、删除、修改等操作。
修改密码:
功能:用户可以自主修改自己的登陆密码。
学生基本信息管理:
功能:管理员可以对学生基本信息进行添加、删除、修改等操作。
用户管理:
功能:用户信息显示的地方,管理员可以添加、删除等操作。
帮助文档:
软件测试阶段及维护:
在开发这个软件系统的漫长过程中,面对着极其错综复杂的问题,人的主观认识不可能完全符合客观现实,在本次设计过程中,我采用循环测试法,力求在每个阶段结束之前通过严格技术审查,即每完成一个功能,就进行测试,尽可能早的发现并纠正差错,完成模块测试之后再进行系统测试。在该设计中,偏重考虑了当用户输入的信息出错时,系统就会出现提示,以便让用户知道出错的原因,并能及时做出修改,所以站在用户的角度考虑,尽可能设想各种边界条件,如记录为空,输入为空,输入出错等,以此来发现错误,纠正错误,取得了一定的效果。
在运行的过程中,发现了一些问题,主要是当程序出错时,系统有没有能力给出出错信息,使系统能够安全的运行下去,而不是退出系统。所以,加强系统的安全性是十分重要的,这就使得我要充分的考虑到每一个运行细节,并分析可能出错的情况,在这些边界上,设置出错检测,使系统能自动捕获出错点,给出提示,允许用户重新进行操作。一个应用系统性能的优劣,效率的高低始终应当由用户来做出判决,应用系统在运行过程中,用户会提出一些新的需求和建议,我们就会根据用户需求的变化,对本系统一定的修改,使其进一步地得到完善和提高。
结束语 :
作为计算机专业的学生,在3年的学习过程中我们学到了很多知识,而这次课程设计又是对我们所学的一次总结。我们可以用比较充裕的时间来尝试开发一个大型项目,这次课程设计确实为我们今后从事计算机的开发打下了坚实的基础。在这次课程设计中,总的感觉是我遇到了很多困难,这主要是由于我开发软件的经验不足,其次我对开发软件的应用也不够熟练。有时虽然是一个很小的问题,但解决起来却花费了我不少的时间,值得欣慰的是,当自己苦思冥想或者和其它同学一起探讨,把问题解决的时候我还是觉得获益非浅,这就是在摸索中寻求到的知识。在开发期间,有目的的去学习一些将要用到的东西,仔细的考虑工作流程的规律和步骤,充分的利用手中的开发工具,使自己的开发在代码上实现够少而精确。让用户能够尽量简单的进行操作,但是在老师的检测过程中,还是出现了很多的不足之处,这些都是要在今后的工作重要努力改进和完善的。当我即将完成这次课程设计的时候我终于认清楚了以前老师经常提起的一个问题,那是:一个系统开发的过程中编码不是重要的,重要的是对分析系统以及系统模型的建。.有了一个好的系统模型之后,我们再将其划分成几个模块,那样做起来就会容易得多。
致谢
在系统的开发过程中,我碰到了很多的难题,多亏有老师和同学的帮助,在这里,特别要向我的指导老师张敏的指导表示衷心的感谢。但是由于是第一次面向对象开发数据库管理系统,肯定会有经验上的不足,失误之处在所难免,敬请各位老师,领导批评的指正。
17
展开阅读全文