您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 学生成绩管理系统-报告
数据库应用课程设计说明书班级:软件工程1404姓名:徐螣学号:201426811322设计题目:学生成绩管理系统(数据库)设计时间:2017.6.25至2017.7.6指导教师:廖峰峰学生成绩管理系统(数据库)设计总说明考虑到高校学生的成绩管理工作量大、繁杂,人工处理非常困难,出现了学生成绩管理系统。它借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理也更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。本系统根据我校的一些实际情况开发,用于对学校教师、学生、课程信息的管理,主要用于管理学生成绩。登录系统时需要访问数据库中的用户信息,确定登录身份。系统完成了日常的教育工作中对学生成绩档案的数字化管理,并且较为系统地对学生信息、成绩信息和课程信息进行管理。查询、增添、修改、删除都变的非常简便,减少了管理的工作量。基于学校学生众多,为了数据的安全性,系统将学生数据保存在数据库中,以VisualC++设计前台对系统进行设计。因为成绩管理系统是一项很实用的系统,所面对的数据量很大,所以我们要求系统能够高效快速的处理这些数据,并且要保证数据的正确性、相容性和安全性。C++作为前台是将数据库中的数据读取出来,有助于用户对这些数据进行相应的操作,使操作更方便,更符合用户的要求。所以该系统应该要有一个良好的界面,使用户感觉很直观,使用快捷,这就是用C++所要实现的功能。关键词VisualC++6.0;SQLServer;MFC;学生成绩管理前言本课程设计是在学习了数据库系统和C语言等有关课程后,通过实际的操作来熟悉数据库和相关软件的应用,培养独立的完成对相关课题或者项目的分析能力、设计能力和调试能力。成绩管理系统登录须有数据库中的账号信息,如无用户可及时注册。系统可以对不同的项目进行查询、添加、修改、删除等操作,方便学校的成绩管理。课程设计,着重培养的是学生的自学能力,以及独立分析互联网上和图书馆里的各种资料,用来丰富自己的知识并且提高对SQL、VC++等软件的实际操作能力。通过这次的课程设计,使我们对已经学习过的数据库课程的进一步的掌握,对知识进行最大程度的消化融汇。因此这次的课程设计对我们来说具有非常重要的作用:为以后学习工作做必要的准备和实践,提高自身对数据库开发的能力。第1章数据库总体设计与实施1数据库设计1.1概念分析:概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。设计成绩管理数据库包括系别、教研室、班级、教师、学生、课程、成绩七个关系。E-R图2.1.1和图2.1.2所示。图2.1.1实体及其属性图图2.1.2完整的实体-联系图1.2逻辑设计:逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。设计学生成绩管理数据库,包括系别、教研室、班级、教师、学生、课程、成绩七个关系,考虑到数据库完整性,其关系模式中对每个实体定义的属性如下:系别表系别:(系号,系名)教研室表教研室:(教研室号,教研室名)班级表班级:(班号,班名,系号)教师表教师:(教师号,姓名,教研室号)学生表学生:(学号,姓名,性别,班号)课程表课程:(课程号,课程名,教师号,学时,学分)成绩表成绩:(学号,课程号,成绩)为了存放前台用户信息再添加一用户表用户表用户:(用户名,密码)1.3物理设计:定义每个表的数据类型以及字段限制,使数据库达到一定的完整性。每个表的物理设计如下:表2.1.1系别表字段名数据类型字段限制系号char(2)Primarykey系名char(20)Notnull表2.1.1教研室表字段名数据类型字段限制教研室号char(10)Primarykey教研室名char(20)Notnull系号char(10)Notnull表2.1.3班级表字段名数据类型字段限制班号char(10)Primarykey班名char(14)Notnull系号char(10)Notnull表2.1.4教师表字段名数据类型字段限制教师号char(5)Primarykey教师姓名char(6)Notnull教研室号char(10)Notnull表2.1.5学生信息表字段名数据类型字段权限学号char(14)Primarykey姓名char(6)Notnull性别char(2)Notnull班号char(10)Notnull表2.1.6课程表字段名数据类型字段权限课程号char(5)Primarykey课程名char(20)Notnull教师号char(5)Notnull学时IntNotnull学分char(3)Notnull表2.1.7成绩表字段名数据类型字段权限学号char(14)Primarykey课程号char(5)Primarykey成绩char(3)Notnull表2.1.8用户表字段名数据类型字段权限用户名char(20)Primarykey密码char(20)Notnull第2章数据库的实施2.1创建数据库在SQL2000中的企业管理器中,新建一个数据库,名为“student1”,在查询分析器中新建数据表。2.2创建表同样在查询分析器中键入如下代码完成表的创建。createtable学生(学号char(14)notnullprimarykey,姓名char(6)notnull,性别char(2)notnull,班号char(10)notnull)createtable教师(教师号char(5)notnullprimarykey,姓名char(6)notnull,教研室号char(4)notnull)createtable课程(课程号char(5)notnullprimarykey,课程名char(20)notnull,教师号char(5)notnull,学时intnotnull,学分char(3)notnull)createtable成绩(学号char(14)notnull,课程号char(5)notnull,成绩char(3)notnullprimarykey(学号,课程号))createtable用户(用户名char(20)notnullprimarykey,密码char(20)notnull)第3章前台设计与实现3导入数据库数据并链接BOOLCMyDlg::OnInitDialog()//{CDialog::OnInitDialog();//AddAbout...menuitemtosystemmenu.m_db.Open(_T(ODBC;DSN=student1));m_userrs.m_pDatabase=&m_db;//IDM_ABOUTBOXmustbeinthesystemcommandrange.ASSERT((IDM_ABOUTBOX&0xFFF0)==IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX0xF000);CMenu*pSysMenu=GetSystemMenu(FALSE);if(pSysMenu!=NULL){CStringstrAboutMenu;strAboutMenu.LoadString(IDS_ABOUTBOX);if(!strAboutMenu.IsEmpty()){pSysMenu-AppendMenu(MF_SEPARATOR);pSysMenu-AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);}}//Settheiconforthisdialog.Theframeworkdoesthisautomatically//whentheapplication'smainwindowisnotadialogSetIcon(m_hIcon,TRUE);//SetbigiconSetIcon(m_hIcon,FALSE);//SetsmalliconreturnTRUE;//returnTRUEunlessyousetthefocustoacontrol}3.1登录模块3.1.1登录运行程序首先要通过登录,登录的用户名和密码存于数据库中用户表中。输入用户名和密码还有用户的类型从而进入程序。当用户名与密码不匹配时提示错误。voidCMyDlg::OnOK(){//TODO:AddextravalidationhereUpdateData(true);if(!m_userrs.IsOpen()){m_userrs.Open();}m_userrs.m_strFilter.Format(用户名='%s'and密码='%s',m_username,m_pass);m_userrs.Requery();try{if(m_username==){AfxMessageBox(请输入用户名!);return;}if(m_userrs.IsEOF()){AfxMessageBox(密码错误!);return;}else{CDialog::OnOK();CMain1Dlgmain1dlg;main1dlg.DoModal();}}catch(CException*e){e-ReportError();return;}}3.1.2为了使系统美观,可通过设置背景图片来改变系统样式。(1)实现方法如下:引入一张要加入的图片,在要添加图片的对话框类向导中Messages中选择WM_PAINT对其编辑,在OnPaint()函数中加入如下代码:CPaintDCdc(this);CRectrect;GetClientRect(&rect);CDCdcMem;dcMem.CreateCompatibleDC(&dc);CBitmapbmpBackground;bmpBackground.LoadBitmap(IDB_BITMAP3);BITMAPbitmap;bmpBackground.GetBitmap(&bitmap);CBitmap*pbmpOld=dcMem.SelectObject(&bmpBackground);dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);(2)为了将界面设计更加美观,更加人性化,适合用户,将按钮加入图片。代码实现如下:在OnInitDialog中加入:HBITMAPhBitmap,hBitmap1;hBitmap=LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP1));((CButton*)GetDlgItem(IDOK))-SetBitmap(hBitmap);hBitmap1=LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP2));((CButton*)GetDlgItem(IDCANCEL))-SetBitmap(hBitmap1);returnTRUE;//returnTRUEunlessyousetthefocustoacontrol界面运行如下:登录界面的用户名通过数据库访问代码如下:在BOOLCMyDlg::OnInitDialog()中加入CDialog::OnInitDialog();m_db.Open(_T(ODBC;DSN=student1));m_userrs.m_pDatabase=&m_db;3.2系统的详细设计3.2.1主界面设计主界面添加了菜单栏,用于各种信息查询操作和软件帮助信息。通过引入图片设置对话框背景图片。主界面如图
本文标题:学生成绩管理系统-报告
链接地址:https://www.777doc.com/doc-6347146 .html