【VC++开源代码栏目提醒】:网学会员鉴于大家对VC++开源代码十分关注,论文会员在此为大家搜集整理了“方达学生选课管理系统(附源代码) - 毕业设计”一文,供大家参考学习
华 北 科 技 学 院 课程设计说明书设计题目: 方达学生选课系统__________设计时间: 2012.12.23 至 2013.1.4指导教师: _________________________评 语:___________________________________________________________________________________________________________________________________________________________________________________________________评阅成绩:__ __评阅教师:__ ___ 目 录目 录 ...................................................................... I方达学生选课管理系统设计总说明............................................. III第 1 章 绪论................................................................. 1第 2 章 需求设计............................................................. 2 2.1 需求分析............................................................ 2 2.1.1 了解需求分析背景.............................................. 2 2.1.2 确切了解客户的需求............................................ 2 2.1.3 掌握系统需求.................................................. 2 2.1.4 掌握功能需求.................................................. 3 2.1.5 掌握数据需求.................................................. 3 2.1.6 性能需求,出错处理需求,设计数据字典 .......................... 3第 3 章 相关设计............................................................. 4 3.1 后台数据库设计与相关操作设计........................................ 4 3.1.1 E-R 模型设计 .................................................. 4 3.1.2 后台数据库与基本表的设计 ....................................... 6 3.1.3 建立数据库索引................................................ 6 3.1.4 数据库完整性设计.............................................. 7第 4 章 相关软件介绍......................................................... 9 4.1 简要论述 ODBC 数据源................................................. 9 4.2 简要论述 MFC ....................................................... 10 4.2.1 MFC 简介 ...................................................... 10 4.2.2 建立 MFC 工程................................................. 10第 5 章系统实现过程.......................................................... 11 5.1 华科学生选课管理系统前台界面设计................................... 11 5.1.1 资源视图(Resource View)设计................................. 11 5.1.2 文件视图(File View)设计.................................... 11 5.1.3 类视图(Class View)设计..................................... 13 I 5.1.4 界面与界面之间实现连接设计................................... 14 5.2 方达学生选课管理系统功能展示....................................... 20 5.2.1 方达选课系统教师,学生,管理员登录主界面 ..................... 20 5.2.2 系统管理员添加课程信息....................................... 20 5.2.3 系统管理员查看学生信息与课程信息 ............................. 21 5.2.5 学生登录选修课程............................................. 22 5.2.6 学生查看自己成绩............................................. 23 5.2.7 学生修改密码................................................. 23 5.2.8 教师登录给学生评分........................................... 24第 6 章 总计及感想.......................................................... 25 6.1 本次课程设计总结.................................................... 25 6.2 课程设计体会与感想................................................. 25参考文献.................................................................... 27 (源
代码)........................................................................................................................... 28附录: II 方达学生选课管理系统设计总说明 围绕着本次的学生选课系统,我设计了 , 《方达学生选课系统》 前台界面采用
VC中 MFC应用程序,后台我们通过 SQL2008 做出此系统的数据库, 后台我通过 SQL2008 做出此系统的数据库,鉴于本次课设实际情况我们设计了五个表:教师表,学生表,选课表,课程表,教务处登录表。
然后用 E-R 图设计,我们大致计算出数据库的大小,这样才能防止后续由于人数增多而导致数据库容量不足。
首先我们要创建 ODBC 数据源,通过 MFC 程序把数据库数据源与前台界面连接起来。
前台界面按钮设计主要依据数据库中各个表的列名设计。
界面与界面之间有
代码进行连接,通过建立类向导。
当达到界面与界面正确连接,界面与后台数据库正确连接后,运行后的前台可以对数据库进行操作,添加或者删除信息,也就达到了课设的目的与要求。
因为成绩管理系统是一项很实用的系统,所面对的数据量很大,所以我们要求系统能够高效快速的处理这些数据,并且要保证数据的正确性、相容性和安全性。
VC作为前台是将数据库中的数据读取出来,有助于用户对这些数据进行相应的操作,使操作更方便,更符合用户的要求。
关键词:SQL2008,
VC,E-R 图,ODBC 数据源,MFC 应用程序 III 第 1 章 绪论 随着课程改革的不断深入,学校规模不断扩大、课程项目不断增多,为了解决学生选课管理上的复杂的人工操作,减轻重复工作,故设计了选课系统。
学校规模的扩大使得学校对每年新生入学、
毕业生离校及本校各种分流机制造成的学生信息产生变动,如学籍变动、个人信息修改。
为了适应课程的改革,学校在每个学期都要开设一定的课程提供给学生,让学生根据自己的情况来选择,根据学生选择结果给出课程表。
本校根据教学实际,为了使教师有效地管理学生信息 设计学生信息管理系统,由此形成学生成绩管理系统,本文就此设计思路进行阐述。
随着学校规模的不断扩大,专业、班级、学生的数量急剧增加,有关学生选课的各种信息量也成倍增长,而目前许多高校的学生选课管理仍停留在复杂的人工操作上,重复工作较多,
工作量大,率低,因此,迫切需要开发基于互联网的课程信息管理系统来提高管理工作的效率。
基于互联网的学生选课
管理系统在学生选课的规范管理、科学统计和快速查询方面具有较大的实用意义。
它提高了信息的开放性,大大地改善了学生、教师对其最新信息查询的准确性。
第 1 页 共 42 页 第2章 需求设计2.1 需求分析2.1.1 了解需求分析背景 为方便学校对广大学生选课信息的管理以及方便学生选课学生选课
系统的
设计显得十分重要。
本次程序设计的题目就是学生选课系统系统中的课程信息包括课程编码、课程名称、适用专业、课程类型 包括必修、限选、必选、实践、实习 、学分、学时、主讲教师等。
本程序要求做到可通过键盘输入的形式输入数字及英文字母实现数据的输入输入值的范围按照系统给出的提示 。
输出的形式是通过电脑显示屏显示程序的运行结果及数据 程序能够达到的功能学生信息管理学生选课管
理学生选课学分总数有一定的范围学生可以对课程进行查询、浏览选完课后可以退选、重选并且可以按学号、姓名、课程名称进行查询、统计。
按照系统提示输入能进行下一步的选择并得到相应的正确结果当输入错误时会得到错误提示返回进行下一步操作。
2.1.2 确切了解客户的需求 (1) 用户类型:教务处管理员,教师,学生。
(2) 各类用户拥有的权限:教务处管理员可以添加,修改,
查询学生的资 料和学生的选课情况。
学生只能查询自己的资料、选修
课程、修改密 码。
教师可以选择教授的课程,对课程进行评分。
2.1.3 掌握系统需求 (1) 管理员使用本系统对全部数据进行维护。
(2) 教师对自己相关的数据实体进行操作。
(3) 学生对数据实体只有查询,选修操作。
第 2 页 共 42 页2.1.4 掌握功能需求 (1) 设计不同用户操作的登录名与密码。
(2) 管理员可以操作教师与学生的所有信息。
(3) 学生可以查询信息,选修课程。
2.1.5 掌握数据需求 (1) 学生信息:学号,姓名,性别,系部,专业班级,密码,年龄。
(2) 课程信息:课程编号,课程名称,学分,学时,开课学期。
(3) 选课信息:学号,课程编号,课程名称,学生姓名,学分,学生成绩。
(4) 教师信息:教师编号,姓名,性别,密码,教授课程编号,年龄。
(5) 教务处管理员信息:姓名,编号,密码。
2.1.6 性能需求,出错处理需求,设计数据字典 综上所述我们知道学生选课管理系统,是学校管理学生选课信息的重要系统。
系统中分别涉及到不同管理部门所管理的学生信息,因而将系统的信息分类,分别由教务处、学生处、各系老师管理具体的信息。
因此学生选课管理系统这样设计的目的是: (1)利用查询分析器可以查找学生在学校的一些基本情况 (2)为用户提供充足的信息和快捷的查找手段 (3)提高文件的查找、维护和更新 (4)提高教学信息管理的效率 (5)为了更好的管理学生的基本信息 第 3 页 共 42 页 第3章 相关设计3.1 后台数据库设计与相关操作设计3.1.1 E-R模型设计 学生选课管理系统中采用“实体联系模型”(E-R 模型)来描述数据库的结构与语义,是对现实世界进行第一次抽象。
E-R 模型直接从现实世界抽象出实体类型及实体间联系,然后用 E-R 图来表示数据模型。
它有两个明显的优点:接近于人的思维,容易理解;与
计算机无关,用户容易接受。
但 E-R 模型只能说明实体间语义的联系,不能进一步说明详细的数据结构,它只是数据库设计的第一步。
根据以上对系统所作的需求分析,系统设计,规划出本系统中使用的数据实体。
因此学生选课管理系统的 E-R 图如下: 密码 姓名 系部 学号 学生表 专业班级 年龄 性别 图 1 学生表实体 E-R 图 教师编号 年龄 密码 教师表 教授课程编号 姓名 性别 第 4 页 共 42 页 图 2 教师表实体 E-R 图 姓名 管理员信息表 密码 编号 图3 管理员信息表 E-R 图 课程编号 学分 课程名称 课程信息表 开课学期 学时 图4 课程信息表 E-R 图 学生成绩 课程编号 学分 选课信息表 课程名称 学号 学生姓名 图5 选课信息表 E-R 图 综合上述的 E-R 图,我们可以清晰的看到画出 E-R 图对于建立表提供了依据,同样表与表之间的连接通过各表相同候选码连接起来。
这也是为了后台数据库建立视图,索引,触发器,数据库的完整性等编写
代码打下基础,由此可见E-R 图对于本次课设后台数据库建立起相当重要的地位。
第 5 页 共 42 页3.1.2 后台数据库与基本表的设计 图 6 创建学生选课管理 student 数据库(采用界面方式创建) 图 7 创建基本表表(采用界面方式创建)3.1.3 建立数据库索引 (1)设计思想: 为了从数据库的大量数据中迅速找到需要的内容,也采用类似于书目录的索 第 6 页 共 42 页引技术,不必顺序查找,就能迅速查到所需要的内容。
索引是根据表中一列或若干列按照一定顺序建立的列值与记录行之间的对应关系表,在数据库中的作用如下:快速存取数据、保证数据记录的唯一性、实现表与表之间的参照完整性、减少排序和分组的时间。
(2)索引建立的说明: 学生选课管理系统中有五个表,而聚集索引一个表只能有一个,因此有五个聚集索引。
一个表可以有一个或者多个非聚集索引,因此非聚集索引不限。
图 8 命令方式创建索引3.1.4 数据库完整性设计(1)设计思想: 数据完整性是指数据库中的数据在逻辑上的一致性与准确性,数据库的完整性一般包括:实体完整性,域完整性,参照完整性性。
下面分开介绍三种完整性: 1:实体完整性:实体完整性又称行完整性,要求表中有一个主键,其值不能为空且能唯一的标识对应的记录。
通过索引、UNIQUE 约束、PRIMARY KEY约束或 IDENTITY 属性可以实现数据的实体完整性。
2:域完整性:域完整性又称列完整性,指给定列输入的有效性。
实现域完 第 7 页 共 42 页整的方法有: 格式 限制类型, (通过 CHECK 约束和规则)或可能的取值范围(通过 CHECK 约束、DEFALUT 定义、NOT NULL 定义和规则)等。
3:参照完整性:又称引用完整性。
参照完整性保证主表中的数据与从表中数据的一致性。
在 SQL Server 2008 中,参照完整性的实现是通过定义外键与主键之间或者外键与唯一键之间的对应关系来实现的。
参照完整性确保键值在所有表中的一致性。
(2)具体实现: 图 9 命令方式实现数据库的完整性 第 8 页 共 42 页 第4章 相关
软件介绍4.1 简要论述ODBC数据源 3.1.1 ODBC简介 ODBC(Open DataBase Conectivity)是标准编程接口,只要有相应的 ODBC驱动
程序,就可以通过 ODBC 连结操作各种不同的数据库。
通常通过控制面板中的 ODBC Data Source 来配置 ODBC 的数据源。
所谓 ODBC 数据源就是命名的一组信息,包括需要连结的数据库所在位置(可以是磁盘目录文件,也可以是
网络服务器)、对应的 ODBC 驱动程序以及访问数据库所需的其他相关信息,用户可以通过数据源的名称来指定所需的 ODBC 连接。
3.1.2 前台与后台数据源连接 图 10 数据源连接 第 9 页 共 42 页4.2 简要论述MFC 4.2.1 MFC简介 MFC 是用于在 C环境下编写应用程序的一个框架和引擎。
MFC 的本质就是一个包含了许多微软公司已经定义好的对象的类库,我们知道,虽然我们要编写的程序在功能上是千差万别的,但从本质上来讲,都可以化归为用户界面的设计,对文件的操作,多媒体的使用,数据库的访问等等一些最主要的方面。
这一点正是微软提供 MFC 类库最重要的原因,在这个类库中包含了一百多个程序开发过程中最
常用到的对象。
在进行程序设计的时候,如果类库中的某个对象能完成所需要的功能,这时我们只要简单地调用已有对象的方法就可以了。
我们还可以利用面向对象技术中很重要的“继承”方法从类库中的已有对象派生出我们自己的对象,这时派生出来的对象除了具有类库中的对象的特性和功能之外,还可以由我们自己根据需要加上所需的特性和方法,产生一个更专门的,功能更为强大的对象。
当然,也可以在程序中创建全新的对象,并根据需要不断完善对象的功能。
4.2.2 建立 MFC 工程 图 11 建立 MFC 工程 第 10 页 共 42 页 第 5 章系统实现过程5.1 华科学生选课管理系统前台界面设计5.1.1 资源视图(Resource View)设计 建立完 MFC 工程之后进入前台界面制作,在 C中界面制作分为三个模块:类视图,资源视图,文件视图。
资源视图的设计是前台制作的第一步,资源视图里分为对话框制作与菜单制作,下面就分别介绍: (1) 主菜单设计:学生选课管理系统主菜单分为学生选课与管理员管理两 个主菜单。
(2) 对话框设计:学生选课管理系统对话框设计为 25 个,具体见截图: 图 12 对话框设计5.1.2 文件视图(File View)设计 我们知道 C编程需要有头文件,界面涉及的头文件更多,在文件视图里我们可以看到学生选课对话框涉及的所有头文件,本次课程设计选课系统头文件有如下: 第 11 页 共 42 页(1) 管理员添加课程信息头文件:if definedAFX_ADMADDCDIALOG_H__A7044B91_139A_4DF0_9DA2_0C9787E9A4FF__INCLUDED_defineAFX_ADMADDCDIALOG_H__A7044B91_139A_4DF0_9DA2_0C9787E9A4FF__INCLUDED_if _MSC_VER gt 1000pragma onceendifclass CAdmADDCDialog : public CDialogpublic: CAdmADDCDialogCWnd pParent NULL enum IDD IDD_ADMADDCOURSE protected: virtual void DoDataExchangeCDataExchange pDXprotected: afx_msg void OnAdmAddc afx_msg void OnAdmcancles DECLARE_MESSAGE_MAPprevious line.endif(2) 管理员添加学生信息头文件:if definedAFX_ADMADDSDIALOG_H__9D145081_BC47_4A8F_B590_0A8F719B7390__INCLUDED_if _MSC_VER gt 1000pragma onceendifclass CAdmADDSDialog : public CDialogpublic: CAdmADDSDialogCWnd pParent NULL enum IDD IDD_ADMADDSTUDENT protected: virtual void DoDataExchangeCDataExchange pDXprotected: afx_msg void OnAdninserts afx_msg void OnAdds DECLARE_MESSAGE_MAP 第 12 页 共 42 页previous line.endif由于头文件
代码过于多,所以选取截图作说明,具体详细
代码见附录。
图 13 头文件
代码5.1.3 类视图(Class View)设计由于类是在对话框创建时一并创建的,因此截图说明类的种类,
代码见附录。
图 14 类视图设计 第 13 页 共 42 页5.1.4 界面与界面之间实现连接设计(1)登录主界面与管理员操作界面,学生界面,老师界面的连接include quotstdafx.hquotinclude quotStudent.hquotinclude quotLogonDialog.hquotinclude quotAdmDialog.hquotinclude quotStuDialog.hquotinclude quotTeacherDialog.hquotCString usernumberCString usernameifdef _DEBUGdefine new DEBUG_NEWundef THIS_FILEstatic char THIS_FILE __FILE__endifCLogonDialog::CLogonDialogCWnd pParent /NULL/ : CDialogCLogonDialog::IDD pParentvoid CLogonDialog::DoDataExchangeCDataExchange pDX CDialog::DoDataExchangepDXBEGIN_MESSAGE_MAPCLogonDialog CDialog ON_BN_CLICKEDIDC_LOG OnLog ON_BN_CLICKEDIDC_LOGCANCLE OnLogcanc.