工商管理专业课程设计学生成绩管理系统课程设计报告

上传人:仙*** 文档编号:80124868 上传时间:2022-04-24 格式:DOC 页数:22 大小:327KB
收藏 版权申诉 举报 下载
工商管理专业课程设计学生成绩管理系统课程设计报告_第1页
第1页 / 共22页
工商管理专业课程设计学生成绩管理系统课程设计报告_第2页
第2页 / 共22页
工商管理专业课程设计学生成绩管理系统课程设计报告_第3页
第3页 / 共22页
资源描述:

《工商管理专业课程设计学生成绩管理系统课程设计报告》由会员分享,可在线阅读,更多相关《工商管理专业课程设计学生成绩管理系统课程设计报告(22页珍藏版)》请在装配图网上搜索。

1、长春工业大学人文信息学院工商管理系工商管理专业课程设计管 理 信 息 系 统课 程 设 计题 目 超市管理信息系统专业年级 2010级 100734班姓 名 指导老师 职业 老师日 期 2012年3月6日目录一.概述 1设计背景.2设计目的.3设计内容.二 .需求分析1功能分析.2工作流图3数据流图.4数据字典.三.概念模型设计(E-R图).1实体及属性图.2.实体及其联系图.四.逻辑设计.1.E-R模型转换为关系模式.2.范式分析.五.源代码及查询截图.1程序流程图.2程序源代码.(1)建表代码.(2)数据库连接代码.(3)功能模块代码:.显示数据库中原纪录.增加记录功能实现.删除记录功能实

2、现.修改记录功能实现.查询记录功能实现.3.程序截图. (1)程序界面. (2)增加记录.(3)增加结果. (4)删除记录(密码为1234). (5)删除结果. (6)修改记录(密码为1234). (7)修改结果. (8)查询记录. (9)查询结果. (10)显示学生,教师,科目基本信息六总结.1.设计中存在的问题.2.体会.概述1. 设计背景学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段,但是几年前,各个学校的学生成绩管理基本上都是靠手工进行,随着各个学校的规模增大,有关学生成绩管

3、理工作所涉及的数据量越来越大,有的学校不得不靠增加人力、物力来进行学生成绩管理。这种管理方式存在着许多缺点,如:效率低、保密性差,另外所用其时间长,产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。如今学校的学生越来越多,成绩管理的工作量越来越大,手工管理成绩的弊端也越来越明显。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地

4、提高学生档案管理的效率。所以我想借本次课程设计之际,设计一个简易的学生成绩管理系统。2. 设计目的1、掌握运用数据库原理进行系统分析和设计的方法;2、掌握关系数据库的设计方法;3、掌握利用SQL Server 2000技术;4、加强C+的编程能力3. 设计内容1.设计一个简易学生成绩管理的数据库系统,包括数据库的建立的需求分析,数据的输入输出。2.设计用户的操作界面,主要实现数据的查询,添加,修改,删除基本功能。 二 .需求分析1. 功能分析在成绩管理系统中最主要的是对学生成绩的管理,管理主要包括:对学生成绩的录入,修改,删除,以及按不同的方式对学生成绩进行查询。系统中包括学生的基本信息(如:

5、学号,姓名,专业等),学生的各科成绩信息,教师的基本信息(如:教师编号,姓名,性别,所教科目,学历等),学生所学科目科目的基本信息(如:科目编号,名称,出版社等),以便查询。2. 工作流图 学生成绩管理系统显示系统原先记录增加记录删除记录修改记录查询记录班级成绩信息学生基本信息教师基本信息科目基本信息学生,教师,科目基本信息 3. 数据流图通知参加考试成绩学生管理教师4. 数据字典数据项卡片1: 数据项名学号别名学生学号描述唯一标识每个学生定义学号=3字符3取值范围100199位置学生基本信息表数据项卡片2:数据项名姓名别名学生姓名描述标识每个学生定义姓名=10字符10位置学生基本信息表数据项

6、卡片3: 数据项名专业别名学生专业描述标识学生的专业定义专业=10字符10位置学生基本信息表 数据项卡片4: 数据项名编号别名教师标号描述唯一标识每个教师定义编号=2字符2取值范围099位置教师基本信息数据项卡片5: 数据项名职称别名教师职称描述标识教师职称定义职称=4字符4位置教师基本信息数据项卡片6:数据项名所教科目别名教师所教科目描述标识教师所教的科目定义所教科目=10字符10位置教师基本信息数据项卡片7:数据项名课程号别名课程编号描述标识课程的课号定义课程号=5字符5取值范围010位置科目基本信息数据项卡片8:数据项名课程名别名课程名称定义课程名=10字符10位置科目基本信息数据项卡片

7、9:数据项名学分别名科目学分定义学分=5字符5取值范围15位置科目基本信息数据结构卡片1:数据结构名学生别名学生基本信息描述定义学生的基本信息组成姓名+学号+性别+专业数据结构卡片2:数据结构名教师别名教师基本信息描述定义教师基本信息组成编号+姓名+性别+职称+所教科目数据结构卡片3:数据结构名课程别名课程基本信息描述定义课程基本信息组成课程号+课程名+学分数据存储卡片:数据存储名考试成绩别名成绩表描述学生参加考试的最终结果数据流来源教师办公室数据流去向教务处组成学号+姓名+数学+物理+化学+英语+政治+总成绩+平均成绩数据流卡片:数据流名学生信息别名学生基本信息描述记录学生基本信息定义学生信

8、息=学号+姓名+性别+专业存取方式随机存取三 概念模型设计(E-R图)1. 实体及属性图学生专业性别学号姓名教师所教科目职称性别姓名编号课程课程名学分课程号 2.实体及其联系图教师m 讲授成绩1nm主修课程学生四逻辑设计 1.E-R模型转换为关系模式 学生(学号,姓名,性别,专业) 教师(编号,姓名,性别,职称,所教科目) 课程(课程号,课程名,学分) 成绩(学号,姓名,数学,物理,化学,英语,政治,总成绩,平均成绩)2. 范式分析 (1) 分析关系模式学生(学号,姓名,性别,专业)在关系模式学生(学号,姓名,性别,专业)中,每一个属性都不能再分,故,属于1NF. 在关系模式学生(学号,姓名,

9、性别,专业)中,主键为学号,所以,姓名,性别,专业,都是非主属性。根据候选键定义可知,学号完全决定姓名,性别,专业,即每一个非主属性完全依赖于候选键,故,该关系模式属于2NF。在关系模式学生(学号,姓名,性别,专业)中,姓名,性别,专业,都是非主属性,且每一个非主属性不传递函数依赖于候选键学号,即,学号决定姓名,但姓名不决定性别,不决定专业。故,该关系模式属于3NF。 在关系模式学生(学号,姓名,性别,专业)中,候选键为学号,函数依赖为学号姓名,学号性别,学号专业,故,该关系模式属BCNF。 由于在关系模式学生(学号,姓名,性别,专业)中不存在多值依赖,故该关系模式不属于4NF。 综上所述,关

10、系模式学生(学号,姓名,性别,专业)为BCNF。 (2)分析关系模式教师(编号,姓名,性别,职称,所教科目)和课程(课程号,课程名,学分)在关系模式教师(编号,姓名,性别,职称,所教科目)和课程(课程号,课程名,学分)中,每一个属性都不能再分,故,属于首先满足1NF.主键分别为编号和课程号,每一个非主属性完全依赖于候选键,故,这两个关系模式首先属于2NF。且每一个非主属性不传递函数依赖于候选键学号,故属于3NF。而且,候选键编号和课程号决定一切非主属性,故,该关系模式属于BCNF。 由于关系模式中不存在多值依赖,故,不属于4NF。 即,关系模式教师(编号,姓名,性别,职称,所教科目)和课程(课

11、程号,课程名,学分)属于BCNF。 (3)分析关系模式成绩(学号,姓名,数学,物理,化学,英语,政治,总成绩,平均成绩)在关系模式成绩(学号,姓名,数学,物理,化学,英语,政治,总成绩,平均成绩)中每一个属性都不能再分,故,先属于1NF。在关系模式成绩(学号,姓名,数学,物理,化学,英语,政治,总成绩,平均成绩)中,主键为学号,其他都是非主属性,每一个非主属性完全依赖于候选键,故,该关系模式属于2NF。 在关系模式成绩(学号,姓名,数学,物理,化学,英语,政治,总成绩,平均成绩)中,姓名,数学,物理,化学,英语,政治,总成绩,平均成绩都是非主属性,由于存在函数依赖,即,学号平均成绩,平均成绩总

12、成绩,故,该关系模式不属于3NF。综上所述,关系模式成绩(学号,姓名,数学,物理,化学,英语,政治,总成绩,平均成绩)为2NF。五源代码及查询截图1.程序流程图开始 菜单界面显示系统原先记录增加记录删除记录修改记录查询记录班级成绩信息学生基本信息教师基本信息科目基本信息学生,教师,科目基本信息 退出 2. 程序源代码: (1)建表代码:create table 学生成绩信息( 学号 CHAR(10) NOT NULL, 姓名 CHAR(10) NOT NULL, 高数 CHAR(5) NOT NULL, 物理 CHAR (5) NOT NULL, 英语CHAR (5) NOT NULL,化学

13、CHAR (5) NOT NULL,政治CHAR (5) NOT NULL,总成绩 CHAR (5) NOT NULL,平均成绩 CHAR (5) NOT NULL); create table 课程基本信息( 课程号 CHAR(5) NOT NULL,课程名 CHAR(10) NOT NULL,学分 CHAR (5) NOT NULL);create table 学生基本信息( 学号 CHAR(10) NOT NULL,姓名 CHAR (10) NOT NULL,专业 CHAR(10) NOT NULL,性别 CHAR(4) NOT NULL);create table 教师基本信息( 编号

14、 CHAR(10) NOT NULL,姓名 CHAR (10) NOT NULL,职称 CHAR(4) NOT NULL,性别 CHAR(4) NOT NULL,所教科目 CHAR(10) NOT NULL, (2)数据库连接代码:建立一个CAdodc类 class CAdodc : public CWndprotected:DECLARE_DYNCREATE(CAdodc)public:CLSID const& GetClsid()static CLSID const clsid= 0x67397aa3, 0x7fb1, 0x11d0, 0xb1, 0x48, 0x0, 0xa0, 0xc9

15、, 0x22, 0xe8, 0x20 ;return clsid;virtual BOOL Create(LPCTSTR lpszClassName,LPCTSTR lpszWindowName, DWORD dwStyle,const RECT& rect,CWnd* pParentWnd, UINT nID,CCreateContext* pContext = NULL) return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID); BOOL Create(LPCTSTR lpszWind

16、owName, DWORD dwStyle,const RECT& rect, CWnd* pParentWnd, UINT nID,CFile* pPersist = NULL, BOOL bStorage = FALSE,BSTR bstrLicKey = NULL) return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID,pPersist, bStorage, bstrLicKey); 实现:#include stdafx.h#include adodc.h#include _reco

17、rdset.h#include Font.hCString CAdodc:GetConnectionString()CString result;InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);return result;void CAdodc:SetConnectionString(LPCTSTR lpszNewValue)static BYTE parms =VTS_BSTR;InvokeHelper(0x1, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms

18、, lpszNewValue);(3)功能模块代码: 显示数据库中原纪录:void CBaDialog:OnStatr()m_ListCtrlx.DeleteAllItems();m_ListCtrlb.DeleteAllItems();m_ListCtrll.DeleteAllItems();if(m_Set.IsOpen()m_Set.Close();if(m_bSet.IsOpen()m_bSet.Close();m_cob.GetLBText(m_cob.GetCurSel(),m_Getstring);this-Select();m_tSet.Open();m_nRecordCoun

19、t=this-Show();this-display();this-exhibit();m_bS = GetDlgItem(IDC_STATR)-EnableWindow(FALSE);this-Enable(TRUE); 增加记录功能实现: void CBaDialog:OnAdd() / TODO: Add your control notification handler code hereSelec=TRUE;CAddialog dlg;if( dlg.DoModal()=IDOK) if(dlg.m_nxue=200) / m_nxue为学生的学号 AfxMessageBox(学号在

20、1200之间);/增加记录时学号输入异常,系统提示 return; m_Set.AddNew(); /实现对数据的插入 m_nRecordCount+=1; /记录数量加一 m_Set.m_column1=dlg.m_nxue; m_Set.m_column2=dlg.m_strName; m_Set.m_column3=dlg.m_fmaths; m_Set.m_column4=dlg.m_fphysical; m_Set.m_column5=dlg.m_fchemistry; m_Set.m_column6=dlg.m_fenglish; m_Set.m_column7=dlg.m_fpo

21、litic;m_Set.m_column8=dlg.m_fmaths+dlg.m_fphysical+dlg.m_fchemistry+dlg.m_fenglish+dlg.m_fpolitic; /对输入的数进行求和 m_Set.m_column9=(float)(m_Set.m_column8/5); /计算平均值 this-Equal(); m_Set.Update();/Update()一定放在Equal()后,更新数据 m_Set.Requery(); this-Xuan(); 删除记录功能实现: void CBaDialog:OnDelect() / TODO: Add your

22、control notification handler code here CDelectDialog dlg;Selec=FALSE;if(dlg.DoModal()=IDOK)if(dlg.m_nPass!=1234) /程序中的密码均为1234AfxMessageBox(密码不正确!你没有权限删除记录); /密码不正确删除不能执行 elsethis-Select(); /实现对数据的删除 m_Set.MoveFirst();BOOL sel=FALSE;do if(m_Set.m_column1!=dlg.m_nxue) m_Set.MoveNext(); else m_nRecord

23、Count-=1; sel=TRUE; m_bSet.MoveFirst(); this-Equal(); m_Set.Delete(); m_Set.Requery(); break; while(!m_Set.IsEOF(); if(sel=FALSE) /数据库中没有要符合要求的记录AfxMessageBox(没有此记录);return;elsethis-Xuan();修改记录功能实现: oid CBaDialog:OnEdit() / TODO: Add your control notification handler code here CEditDialog dlg;if(dlg

24、.DoModal()=IDOK) if(strcmp(dlg.m_pass,1234)!=0)AfxMessageBox(你没有权限更改记录!请重输入密码:); else this-Select(); m_Set.m_strFilter.Format(学号=%d,dlg.m_xue); m_Set.Requery(); if(m_Set.IsEOF() AfxMessageBox(没有此记录); Else /实现修改功能 for(int i=0;i=60 & q60)m_bSet.m_column4+=1;if(p=60)m_bSet.m_column4-=1;if(p=80 & q80)m_

25、bSet.m_column5+=1;if(p=80)m_bSet.m_column5-=1; m_bSet.Update(); if(!m_bSet.IsEOF() m_bSet.MoveNext(); else break; m_Set.Edit(); /更新数据 m_Set.m_column2=dlg.m_strName; /更新姓名 m_Set.m_column3=dlg.m_fmaths; /更新数学成绩 m_Set.m_column4=dlg.m_fphysical; /更新物理成绩 m_Set.m_column5=dlg.m_fchemistry; /更新化学成绩 m_Set.m_

26、column6=dlg.m_fenglish; /更新英语成绩 m_Set.m_column7=dlg.m_fpolitic; /更新政治成绩 m_Set.m_column8=dlg.m_fmaths+dlg.m_fphysical+dlg.m_fchemistry+dlg.m_fenglish+dlg.m_fpolitic; /更新总成绩 m_Set.m_column9=(float)(m_Set.m_column8/5); /更新平均成绩 m_Set.Update(); m_Set.m_strFilter.Empty(); m_bSet.Close(); m_Set.Close(); m_

27、ListCtrlx.DeleteAllItems(); m_ListCtrlb.DeleteAllItems(); this-Select(); this-Show(); this-display(); 查询记录功能实现:void CBaDialog:OnFind() / TODO: Add your control notification handler code hereCFinDialog dlg;if( dlg.DoModal()=IDOK) this-Select();m_bSet.Close();if(dlg.m_Getstring2=)/实现“=”的查询m_Set.m_strF

28、ilter.Format(%s=%.2f,dlg.m_Getstring1,dlg.m_find);if(dlg.m_Getstring2=)/实现“=”的查询m_Set.m_strFilter.Format(%s=%.2f,dlg.m_Getstring1,dlg.m_find);if(dlg.m_Getstring2=)/实现“=”的查询m_Set.m_strFilter.Format(%sShow(); 3.程序截图:(1) 程序界面先开始按钮“显示”为可按状态,“增加记录”等四个按钮为灰色,不能按,按下“显示”按钮后,“显示”按钮变为不可按状态,其他四个键变为可按状态,并且数据框中显示

29、数据库中的原记录。(2) 增加记录(3)增加结果(4)删除记录(密码为1234)(5)删除结果(6)修改记录(密码为1234)(7)修改结果(8)查询记录(9)查询结果(10)显示学生,教师,科目基本信息六总结 1.设计中存在的问题: 虽然程序能运行,但还是存在着一些不足。以下是两处比较大的不足:(1) 由于自己的编程能力很差,所以程序的代码都是对一个类似的例子通过改动得来的。故而,程序虽然可以运行,但是其中的潜在错误很多,一不小心就会是程序崩溃,无法工作。这是本次课设的一个致命的不足。(2) 程序在实现对数据的修改功能时,必须在对话框中输入学生的各科成绩。需要修改的科目成绩就写修改后的成绩,

30、不用修改的成绩还得再抄上去,比较麻烦。(具体见截图(6)2.体会: 这次的课程设计可以说是大学做课程设计以来难度最大的一次,做设计所用的MFC以前根本就没有接触过,只有在这学期的C+课上我们才从老师的口中听说到这个词。课程设计开始时,我根本就是一点也不会,可以说,这次的课程设计是零基础。通过老师的讲解我慢慢的对MFC有了一定的认识。再加上自己的摸索,才开始了这次的课程设计。我觉得在用MFC做界面的按钮时,按钮的那个属性(ID)非常重要。按钮的大部分功能都是通过这个ID来实现的。他就像是按钮的一个指针,通过对ID的操作就可以完成按钮的操作。此外,编程实现按钮功能也是这次课程设计的一个大的障碍。以前都是学习书上的短代码,实现的功能也是十分简单的。这次要编程实现按钮式的数据添加,删除,修改等功能确实是一个不小的挑战。但是,我没有灰心,通过网络,书籍我慢慢找着有关资料。终于,我找到了一个和自己做的课程设计类似的代码,通过修改,我的程序也可以运行了。通过这次课程设计,我了解了一个数据库开发的一般步骤,加深了对数据库这门课的理解,虽然课程设计中还有很多的问题,但我坚信,通过努力,我会慢慢的一点一点的克服的。 评 语指导老师: 年 月 日 22

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!