版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
运用VisualC++6.0和MicorsoftSQLSever2000实现一个学生管理系统的开发过程。系统的结构采用当前流行的C/S模式。系统前端界面以VisualC++6.0为开发工具,主要运用ActiveX控件ADODataControl和DataGridControl实现;系统后端数据库用MicorsoftSQLSever2000来创建。在系统的开发过程中,灵活地运用了ADO对象操纵数据库的技术和OLEDB的数据库链接方法。本系统的开发是对陆良县职业中学学生管理工作信息化的一种尝试。1 1摘要 2前言 31.系统分析 41.1功能需求分析 41.2系统功能模块图 42.数据库的设计和创建 52.1SQLServer2000数据库简介 52.2据库概念设计 62.3据库逻辑设计 72.4据库的创建 83.统各功能模块的设计和实现 93.1VisualC++6.0简介 93.2创建学生信息管理模块 3.3创建教师信息管理模块 3.4创建课程信息管理模块 3.5创建选课信息管理模块 3.6创建成绩查询模块 3.7创建主模块 4.结束语 参考文献 附录 2随着计算机的发展及网络技术的应用,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。而在日常生活中信息技术的不断融入,在技术越来越先进的同时,应该从以前繁琐的事务中解放出来。随着学校对学生招生规模的不断扩大,学生的数量急剧增加,有关学生的各种信息量也成倍增长。面对庞可以方便的查询、统计和修改学生的基本情况、学生的课程开课情况和选课情况及成绩,实现信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量,同时避免由于人为因素造成数据遗漏和误报等。本文作者对陆良县职业中学冗余度大;信息的独立性差。这样很容易造成数据的不一致性,给数据的修改和维护带来困难。因此,需要一个功能完善的信息系统来解决这些问题。本系统正是对这种需求的一个实现。本系统结构采用当前流行的C/S结构,也就是客户端/服务器模式,该模式的主要形式是系统的管理人员以及使用者在客户端对服务器端的数据库进行各种操作,操作的记过又由服务器端的数据库发送回给客户端显示出来,客户端和数据库服务器可以在同一台计算机上安装,也可以在出于联网状态的不同机器上安装,形式比较自由,安装比较方便。31.1功能需求分析根据对给学校学生信息管理工作做的调查,本系统必须具备对学生信息、选课信息、课程信息进行基本的数据处理的要求,包括信息的查询、修改、添加和删除等。具体的系统功能如下:●学生信息,包括学号、姓名、性别、出生年月、出生地、入学年份、教师号等信息;●信息,包括教师号、教师姓名、性别、职称、研究方向;(3)课程信息管理●课程信息,包括课程号、课程名、学分、课程类别等;●按课程查询。在具体实现的时候要注意系统的安全性、协调性和完整性。当用户添加学号时,要保证学号不能重复,同样课程号也不能重复,这样才能实现查询功能和各个信息模块的协调;对数据进行添加、修改、删除、查询时要进行监控,进行出根据以上介绍,本系统主要划分为以下四个子模块:学生信息管理、教师信息管理、课程信息管理、成绩查询管理。如下图所示。4选课信息查询选课信息查询选课信息选课信息更新课程信息查询课程信息课程信息更新按课程号查询成绩查询按学号查询教师信息查询教师信息教师信息更新学生信息查询学生信息学生信息更新学生信息管理系统图1-1系统功能模块划分图2.数据库设计和创建通过对陆良职业中学的学生信息管理现状的分析,者决定选用Micorsoft代网络应用程序的最佳数据库和分析解决方案之一。作为Microsoft.NET5(3)最快的开发时间SQLServer2000是Microsoft.NETEnetrpriseServer的数据管理与分析中枢。SQLServer2000包括加速从概念到最后交付开发过程的工具。概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。学生信息管理系统的概念设计描述如下:①老师和学生之间具有指导关系,一个老师可以指导多个学生。②老师和课程之间具有开设讲解关系,一个老师可以开设多门课③学生和课程之间是选择关系,一个学生可以选择多门课,多个学生也可以选择一门课。根据以上分析,本系统应该有三个实体,即学生实体、教师实体和课程实体参照概念设计描述,本系统的E-R图如下:指导老师6111n/nnm图2-5系统总E-R图2.3辑结构设计逻辑设计阶段的任务是把概念结构转换成选用DBMS所支持的关系模式。就本系统而言,通过以上E-R图可以得出系统的关系模式如下:学生(学号,姓名,性别,入学时间,出生时间,出生地,指导老师)教师(教师号,教师姓名,性别,职称,研究方向)课程(课程号,课程名,学分,课程类别)选修(学号,课程号,课程学分,是否及格)规范化到第三范式就可以了,也就是把非主属性对码的传递函数依赖消除。对于上述的四个关系模式来说,经过分析,每一个关系模式都不存在非主属性码对码的部分函数依赖和非主属性码对码的传递函数依赖,因此,对这四个关系模式不用再进行规范化,它们就是三范式。根据模块的设计,以及根据规范化的设计要求,该系统的数据表设计如下:7表2-1学生信息表字段名称数据类型字段属性说明字段大小作用必填字段是否主键4学生编号是是学生姓名否否2学生性别否否8入学时间否否8出生时间否否学生来源否否4教师号否否字段名称数据类型字段属性说明字段大小作用必填字段是否主键4教师编号是是教师姓名否否2教师性别否否教师职称否否表2-3课程信息表字段名称数据类型字段属性说明字段大小作用必填字段是否主键4课程编号是是课程名否否1课程学分否否4任课教师否否课程类型否否字段名称数据类型字段属性字段大小作用必填字段是否主键4学生编号是是4课程编号是否1课程学分否否2是否及格否否2.4数据库的创建(1)数据库的建立打开MicorsoftSQL2000,进入其中的”企业管理器"找到数据库文件夹,然后右击,选择"建数据库",给定数据库名字和生成文件的路径。.84个表,表内的各个字段名称、类型和属性如表1~表4所示。右击"学生表"选择"设计表"然后选中中选择"设为主键",在表内任一处右击,在下拉菜单中选择"关系"。在跳出的对话框中单击“新建",主键表一项选为“学生表",外键表一项选择为“选课信93.各模块的设计和实现(1)VisualC++6.0的技术特点本系统前端的开发主要是运用了VisualC++6.0开发平台,VisualC++6.0是Microsoft公司推出的一个集成开发环境,是MicrosoftVisualStudio系列开发工具之一,采用面向对象的程序设计技术,具有简单易操作,功能强大,灵活,访问速度快,可扩展性好等特点。VisualC++6.0提供了支持数据库编程的、基于ADO对象和OLE-DB技术的新特性。其中,ADO使得客户端应用程序可以通过任何OLE-DB接口来访问和操作数据库服务器中的数据。它继承了OLEDB技术的优点,并且对OLEDB的接口做了封装,定义了ADO对象,是程序开发得到简化,其最主要的优点是易于使用、速度快、内存支出少、磁盘遗迹小。OLEDB是VisualC++6.0开发数据库应用中提供的新技术,它基于COM接口,因此,OLEDB对所有的文件系统包括关系数据库和非关系数据库都提供了统一的接口。这些特性使得OLEDB技术比传统的数据库访问技术更加优越。与ODBC技术相似,OLEDB属于数据库访问技术中的地层接口。直接使用OLEDB来设计数据库应用程序需要编写大量的代码。VisualC++6.0中提供ATL模板,用于设计OLEDB数据应用程序和数据提供程序。和其他可视化编程工具一样,VC++6.0提供了MSDN和调用WindowsAPI的功能,此功能大大增强了VC++的编程能力,并可以实现一些C++语言本身不能实形设备接口(GDI)和多媒体(WINMM)。典型的关系数据库都支持ODBC标准,并可以用SQL命令进行操作.Microsoft为此提供的就是OLEDB,这是一整套的组件对象模型(COM)接口,能够对各种信息源中存储的数据提供一种统一的访问方式.不过,OLEDB应用程序编程接口是用来对各种各样的应用程序提供优化功能的,它并不满足简单化的要求.因此,需要在应用程序与OLEDB之间架起一座API桥梁,而ADO就是这样的一座桥梁。ADO定义了一种编程模式,即它定义了访问和更新数据源所必须的一系列活动.这种编程模式概括了ADO的总体功能。具体的ADO数据库访问的一些步骤如下:使用ADO前必须在工程的stdafx.h文件里用直接引入符号#import引入ADO库文件,以使编译器能正确编译.代码如下:函数AfxOleInit在每次应用程序启动时初始化OLE/COM库环境。3.2创建学生信息管理模块除和修改.何一个学生的信息并显示出来。查找添加删除修改入学年份取消图3-1学生信息管理模块界面图主要控件的属性设置以及功能如下表:表3-1IDDDIALOGSTU对话框中的主要控件控件类型属性设置功能按钮__Caption设为“确定”执行当前操作按钮__Caption设为”查找”开始准备执行查找按钮Caption设为"修改"开始准备执行修改按钮__Caption设为“删除”删除当前记录按钮__Caption设为“添加”开始准备执行添加按钮__Caption设为"返回返回到主界面按钮__Caption设为”取消"撤消准备执行的操作组框Caption设为空组织控件静态文本默认Caption设为学号”盛放说明文字静态文本默认Caption设为”姓名”盛放说明文字静态文本默认Caption设为"性别"盛放说明文字静态文本默认Caption设为"入学年份"盛放说明文字静态文本默认Caption设为"教师号盛放说明文字静态文本默认Caption设为"出生年份"盛放说明文字静态文本默认Caption设为"出生地"盛放说明文字编辑框__Styles选中Number输入或显示学号编辑框__默认输入或显示学生姓名编辑框__Styles选中Number输入或显示教师编号编辑框__默认输入或显示出生地组合框Styles选中DropList输入或显示学生性别组合框__初始值设为2005-8-15输入或显示学生性别组合框__初始值设为1982-8-15输入或显示出生时间ClassWizard,为该模块添加类,类中的成员变量如下表所示:表3-2添加CDialogSTU类成员变量控件ID变量名数据类型______________________ColeDateTime界面中查找、添加、修改、删除程序的工作流程图如下所示:否是单击添加是是图3-3添加程序流程图否是图3-4改程序流程图是无法删除删除成功图3-5删除程序流程图声明ADO记录集,声明功能函数,引入全局变量theApp,这是在头文件 #endif__________________}}AfxMessageBoxErrorMessage3.3创建教师信息管理模块关闭修改取消图3-6教师信息管理模块界面图控件类型属性设置功能按钮__Caption设为”确定"执行当前操作按钮__Caption设为"查找?开始准备执行查找按钮__Caption设为"修改"开始准备执行修改按钮__Caption设为"删除’删除当前记录按钮__Caption设为"添加"开始准备执行添加按钮__Caption设为"返回’返回到主界面按钮__Caption设为”取消”撤消准备执行的操作组框Caption设为空组织控件静态文本默认Caption设为"教师编号说明文字静态文本默认Caption设为"教师姓名"说明文字静态文本默认Caption设为"性别?说明文字静态文本默认Caption设为"职称"说明文字静态文本默认Caption设为"研究方向"说明文字编辑框__Styles选中Number输入或显示教师号编辑框__默认输入或显示教师名编辑框__默认输入或显示教师职称编辑框__默认输入或显示研究方向组合框Styles选中DropList输入或显示教师性别控件设置之后,为教师模块的对话框创建类;打开表3-4添加的Cdialogtea类成员变量控件ID变量名数据类型__________________有两个选项:男和女,并在添加时默认为男;输入完信息再单击确定按钮.如果教师号不重复便可以实现添加,否则添加无效。单击【删除】按钮,系统会弹出确认对话框,提示是否确认删除,选择否就终止删除;在得到确认后,系统会检测该教师在学生表中是否被使用了,在课程表中是否被使用了,只要在其中一个表中被使用了,这样删除就是不完全的,系统会提示其他表正在使用该信息,无法删除;否则的话,便会删除该教师信息。上述操作功能若想中途取消,只需单击取消按钮;单击返回按钮可退回到系统主界面。(1)模块的功能课程信息管理模块主要完成课程信息管理的功能,包括查找、添加、删除和修(2)模块界面取消图3-7课程信息管理模块界面图界面控件的设置及其类成员变量表如下:控件类型属性设置功能按钮__Caption设为"确定"执行当前操作按钮__Caption设为”查找”开始准备执行查找按钮__Caption设为"修改"开始准备执行修改按钮__Caption设为”删除”删除当前记录按钮__Caption设为”添加"开始准备执行添加按钮__Caption设为"返回"返回到主界面按钮__Caption设为”取消”撤消准备执行的操作组框Caption设为空组织控件静态文本默认Caption设为“课程号”说明文字静态文本默认Caption设为“课程名”说明文字静态文本默认Caption设为"学分"说明文字静态文本默认Caption设为"教师’说明文字静态文本默认Caption设为"类别"说明文字编辑框__StyLes选中Number输入或显示课程号编辑框__默认输入或显示课程名编辑框__StyLes选中Number编辑框__默认输入或显示课程学分组合框StyLes选中DropList输入或显示课程类别控件ID变量名数据类型____________________进入该模块也是首先判定"课程表"是否为空.其方法跟前一模块的判定方法一样.各功能模块的实现也跟前两个模块大致相似。该模块的代码跟前一模块的代码大致相似,不再重复。3.5创建选课信息管理模块1.模块的功能和工作方式模块的功能和工作方式极其程序代码跟前两个模块大致相似.不在复述。2.界面设计该模块界面如图图3-8选课信息管理模块界面图界面的控件设置和类成员变量表如下:其中类名为CDialogCHO.控件类型属性设置功能按钮__Caption设为“确定”执行当前操作按钮__Caption设为"查找"开始准备执行查找按钮__Caption设为"修改"开始准备执行修改按钮__Caption设为"删除"删除当前记录按钮__Caption设为”添加"开始准备执行添加按钮__Caption设为"返回"返回到主界面按钮__Caption设为"取消"撤消准备执行的操作组框Caption设为空组织控件静态文本默认Caption设为"学号"说明文字静态文本默认Caption设为"课程号"说明文字静态文本默认Caption设为”分数”说明文字静态文本默认Caption设为“是否及格”说明文字编辑框__Styles选中Number输入或显示学号编辑框__Styles选中Number输入或显示课程号编辑框__默认输入或显示所得分数组合框Styles选中DropList输入或显示是否及格表3-8添加的CDialogSTU类成员变量控件ID变量名数据类型____________________3.6创建成绩查询模块(1)模块的功能成绩查询模块向工作人员提供了关于某一特定对象的成绩查询统计功能,包括具体的详细的成绩信息和统计数字.特定对象可以是学生,也可以是课程.当对象为学生时,系统可以统共该生所选的所有课程及对应成绩,并同时给出统计数字;平均分、选修课程数和不及格门数.当对象为课程时,系统可以提供选修该课程的所有学生及对应成绩,并同时给出统计数字:平均分、选修课程的学生数和不及格人数。(2)界面设计该模块的界面如图:模块的界面控件设置表及其类成员变量表:控件类型属性设置功能按钮__Caption设为"确定"执行查找操作按钮__Caption设为”返回”返回到主截面组框Caption设为“按学号查询”组织控件组框Caption设为"按课程查询"组织控件静态文本默认Caption设为“请输入学号”说明文字静态文本默认Caption设为"平均分数"说明文字静态文本默认Caption设为"选修课程数"说明文字静态文本默认Caption设为"不及格门数说明文字静态文本默认Caption设为"请输入课程号”说明文字静态文本默认Caption设为“平均分数”说明文字静态文本默认Caption设为"选修人数"说明文字静态文本默认Caption设为"不及格人数"说明文字编辑框__Styles选中Number输入学号编辑框__Styles选中Read-only显示平均分数编辑框__LStyles选中Read-only显示选修课程数编辑框__Styles选中Read-only显示不及格门数编辑框__Styles选中Number输入课程号编辑框__Styles选中Read-only显示平均分数编辑框__RStyles选中Read-only显示选修人数编辑框__Styles选中Read-only显示不及格人数组合框__Styles选中DropList输入或显示学生性别不选visible;Provider=SQLOLEDB.1;rce=localhost访问数据库获得记录集控件类型属性设置功能不选visible;Provider=SQLOLEDB.1;访问数据库获得记录集__Caption设为“成绩”__DataControl获得的记录集Caption设为“成绩”__DataControl获得的记录集表3-10添加的CDialogSTU类成员变量控件ID变量名数据类型____在成绩查询模块中使用了ActiveX控件ADODataControl和DataGrid__//根据新的Sql查询语句,重新打开记录集对象mpRecordsetOpenstrAllocSysStriAfxMessageBoxErrorMessagAfxMessageBox("该生没有这门课!");varmpRecordsetGetColleNotPassL++;}______//先关闭已经打开的记录集对象//利用连接对象的Execute方法执行SQL命令theAppmpConnectionExecutestrAllocSysStriAfxMessageBox(ErrorMessageAfxMessageBox("该课没有人选!");NotPassR++;}__mAvgR=AvgR;_mNotPassR=NotPassR;_3.7创建主模块●初始化COM库,引入ADO库定义文件;井入陆良职业中学学生容理系统生所选的课程和成绩情况退出东统图3-10主模块的界面图控件类型属性设置功能按钮__Caption设为“学生信息”进入学生信息模块按钮__Caption设为”教师信息”进入教师信息模块按钮__Caption设为"课程信息"进入课程信息模块按钮__Caption设为"选课信息’进入选课信息模块按钮__Caption设为"成绩信息"进入成绩查询模块按钮__Caption设为"退出信息"结束程序静态文本默认Caption设为"学生的基本情况"说明文字静态文本默认Caption设为"教师的基本情况"说明文字静态文本默认Caption设为"学校对学生所开设的课程情况"选择Client和说明文字静态文本默认Caption设为"学生所选的课程和成绩情况"选择Client和说明文字静态文本默认Caption设为"按学生或课程的成绩统计情况"选择Client和说明文字图片默认Type选中Bitmap载入图片图标默认Type选中Icon载入图标图标默认Type选中Icon载入图标图标默认Type选中Icon载入图标控件类型属性设置功能图标默认Type选中Icon载入图标图标默认Type选中Icon载入图标图标默认Type选中Icon载入图标图标默认Type选中Icon载入图标public:CDialogSTU(CWnd*pParent=NULL);//standardconstructor ________{public: _______CYDMSDlgCYDMSDlgCWndif(pSysMenu!=NULL)_CDialogSTUCDialogSTUCWnmStuSex=T("");mStuYear=COleDateTime:GetCurrentTime();mComYear=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年人教版高三物理选修3-1第11单元电磁学测试题
- 2025-2026年广东省人教版高一物理第5课电磁学基础练习题
- 2025-2026年湖南省湘教版高二英语第9单元听力训练题库
- 2025-2026年四川省人教版七年级历史第4课知识点巩固习题
- 2025-2026年人教版六年级英语下册第7单元同步练习题
- 健康与健康教育
- 子宫内膜异位的护理常规
- 2026年秋季校园环境卫生与传染病防控
- 2026年和美乡村建设与丰收节宣传
- 2025年数字化教学在口腔种植学住培中的应用与思考
- 2026年秋苏教版新教材小学科学五年级上册教学计划及进度表
- 2026-2027学年八年级英语上册 Unit 1 单元测试卷(人教山西版)
- 2026宁夏医科大学总医院自主招聘事业单位工作人员87人考试参考题库及答案详解
- 机械加工车间智能化技改实施方案
- 2026新教材人教版(2024)七年级上册英语全册教案
- 环境保护概论(上篇共上下2篇)
- 2025年种子检验员职业资格考试真题及答案
- 2026年河北省单招考试一类《文化素质数学》真题附答案详解
- 《物业设备设施管理(第2版)》-第一章
- 2026年法务合同管理部业务SOP执行检查表与交付一致性核验模板(含责任矩阵、异常闭环与填写示例)
- 船舶电气设备的维护保养课件
评论
0/150
提交评论