1、 Visual C+程序设计课程设计报告书课程名称 Visual C+程序设计 设计题目 学生信息管理系统 专业班级 计算机082班 学 号 08060508233 学生姓名 史坤坤 指导教师 邓达平 起止日期 2012 年 6 月 27 日至 7 月 10 日信息工程系31Visual C+程序设计课程设计报告书摘 要摘 要随着计算机的普及、信息社会的到来,人们的各个方面都发生了翻天覆地的变化。 目前,学校工作繁杂、资料重多,虽然各类管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。 因此,开发一套适和大众的、兼容性好的系统是很有必要的。 本系统依
2、据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。 开发本系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。 本系统在开发过程中,注意使其符合操作的业务流程,并力求系统的全面性、通用性,使得本系统不只适用于一家教育机构。 在开发方法的选择上,选择了生命周期法与原型法相结合的方法,遵循系统调查研究、系统分析、系统设计和系统实施四个主要阶段进行设计,而在具体的设计上,采取了演化式原型法,随着用户的使用及对系统了解的不断加深,对某一部
3、分或几部分进行重新分析、设计、实施。 本论文主要从系统分析、系统设计、系统实施与使用等几个方面进行介绍。 关键词:计算机;数据库;课程设计;高校学生信息管理系统;Visual C+程序设计课程设计报告书ABSTRACTABSTRACTWith the development of society, the mobile phone has become more and more important in our lives. Currently, school complex, information heavy, although the various types of manageme
4、nt information system to enter college, but has not been popular, and for the management of student achievement, the current does not have a complete, unified system. Therefore, to develop a set of fitness and the public good, compatibility system is necessary.The system is based on development requ
5、irements are mainly used in the education system, to complete the digital management of the daily education of middle school students score file. Development of this system allows Institute staff to reduce work pressure, comparison of the Senate, the teaching service and information management syste
6、m can reduce the use of labor, speed up queries, strengthen management, as well as national departments on information the pace to make the management more standardized.The system in the development process, attention to match the business processes, and seeks comprehensiveness, versatility, making
7、this system not only applies to an educational institution. Choice of development methods, life cycle method and prototype wears, follow the system investigation, system analysis, system design and implementation of four major stages of the design on the specific design, to take the evolutionary pro
8、totyping, with the use of the user and the system continues to deepen understanding of a certain part or parts of the re-analysis, design, implementation. Several aspects of this thesis from the system analysis, system design, system implementation and use are described.Keywords: computer; database;
9、 curriculum design; college student information management system;Visual C+程序设计课程设计报告书目 录摘 要IIABSTRACTIII目 录IV第1章 引言61.1 系统开发目的61.2 系统目标61.3 解决方案6第2章 需求分析72.1 系统需求概述72.2 系统设计分析72.3 系统功能分析82.4 系统高层抽象82.5 数据流程图102.6 数据字典102.6.1 数据项102.6.2数据结构12第3章 概念结构设计123.1 系统各分子系统的数据流图123.2 E-R图143.2.1 分E-R图143.2.2
10、 合并分E-R图,生成初步E-R图16第4章 逻辑结构设计174.1 关系模型174.2 系统数据库表结构:18第5章 数据库的设计及实施19第6章 详细设计21第7章 开发技巧和难点26第8章 小结及展望26参考文献27Visual C+程序设计课程设计报告书高校学生成绩管理系统第1章 引言1.1 系统开发目的目前,学校工作繁杂、资料重多,虽然各类管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。 因此,开发一套适和大众的、兼容性好的系统是很有必要的。 1.2 系统目标1) 节约资源,提高学籍信息的精确度。 本系统能减少很多不必要的资源,不用象以前
11、那样用冗余的纸张式的管理。 大节省了学校能源。 并且计算机的存储与快速查询功能大大提高了学籍管理的效率,并且还提高了学籍信息管理的精确度。 2) 快速操作,精减人员,节约开支方便快速的操作,可减少学籍信息管理的漏洞,又减少因工作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员,这无论从物质上还是工作人员的工资上都为学校节约了开支。 为学校增加了财富。 1.3 解决方案1系统技术性能要求学生成绩管理信息系统的技术总体目标是应用先进的计算机网络与数据技术为教学工作中的成绩管理提供稳定、安全、可靠信息化服务,具体技术上将达到如下要求:(1) 先进性采用先进、成熟的计算机软硬件技术,保障系
12、统能够最大限度的适应今后技术和业务发展的需要。 软件结构应实现层次化、模块化、平台化,统一规范,同时采用先进的现代管理技术,以保证系统的科学性。 (2) 开放性系统将采用具备优良性价比的开放式软硬件平台;网络体系结构支持多种通讯协议、数据库;采用C#等通用开发语言工具;对用户操作平台采用主流的B/S结构。 (3) 可靠性可靠性包括系统的稳定性和数据的可靠性。 系统的稳定性需求包括:满足7*24小时的运行需要,发生局部硬件、网络和软件故障时有相应的旁路技术和容错技术,任意单点故障都不影响整个系统的运行。 数据可靠性需求包括:保证本地备份数据和实时交易数据的一致性,发生局部故障时,数据不损失,发生
13、重大事故时,备份数据可以在规定的时限内恢复。 (4) 高效性系统的设计要具有大规模的业务并发处理能力,数据的处理和传送也可采用批量处理的形式。 即使在日终数据备份和批量处理的时候也可以照常办理业务。 第2章 需求分析2.1 系统需求概述21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。 使原本的旧的管理方法越来越不适应现在社会的发展。 许多人还停留在以前的手工操作。 这大大地阻碍了人类经济的发展。 为了适应现代社会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便。 2.2 系统设计分析本系统适用于中小学校,其功
14、能主要分为六大类:用户管理:用于对用户的添加,赋于不同权限及对用户的修改及查询。 课程管理:用于对各学期课程的开设和修改。 成绩管理:用于对成绩的输入、修改、汇总及排名。 学生信息管理:添加,删除,修改学生信息等。 授课信息管理:对授课教师,课程号,学时数,班级等信息的添加,维护等。 学生信息查询:对学生成绩等信息的查询,查询方式为模糊,且具有多条件组合查询功能。 学生成绩统计:统计本科的总分,平均分等信息。 2.3 系统功能分析权限功能:系统具有动态的权限分配功能,可按用户权限对用户进行分组。 可分为普通用户,一般用户,超级用户。 普通用户只是查询不能修改,一般用户只能对授权范围内进行相应修
15、改及删除,超级用户能修改、删除所有信息。 录入功能:为一般用户提供相应的录入功能,为超级用户提供对所有信息的录入功能。 查询功能:为所有用户提供查询的功能,可查询允许范围内的所有信息。 维护功能:为一般用户提供查询及相应的修改,删除功能,为超级用户提供对所有信息的修改删除功能。 退出功能:结束并关闭系统。 2.4 系统高层抽象本系统从功能上划分可分为以下几大模块:功能模块管理,组权限管理,学生信息管理,课程信息管理,学生成绩管理,授课信息管理,学生信息查询,学生成绩统计等几大模块。 以下将对各子模块进行说明。 功能模块管理:将系统功能模块保存到数据库中以便于动态地进行不同用户组权限的分配等操作
16、。 本模块包括功能模块的添加,删除,修改等。 组权限管理:对用户进行分组,并将权限设置到不同的用户组。 学生信息管理模块:输入学生基本信息,并可以对学生信息进行添加、查询、修改、删除。 还可以关键字查询并从数据库里调出的学生基本信息.输出学生基本信息,学号、班号、姓名查询的信息结果。 课程信息管理:设置课程号,课程名,先修课等课程信息。 成绩信息管理模块:输入成绩信息,并可以对成绩信息进行添加、查询、修改、删除。 还可以用关键字查询并调出数据库里的学生基本成绩信息的修改、删除等。 输出查询的学生成绩信息。 授课信息管理:对教师授课信息的调度,安排等信息的管理。 学生信息查询:本模块是可对学生成
17、绩进行查询,可按学号,姓名,年龄,所在院系,入学年份等不同条件独立查询或进行模糊查询。 学生成绩统计:对学生成绩总分,平均分等进行统计。 系统模块图: 学生信息输入学生信息查询学生信息管理学生信息修改成绩信息输入成绩信息管理成绩信息查询成绩信息修改学生信息管理系统班级信息输入班级信息管理班级信息查询班级信息修改课程信息输入课程信息管理课程信息查询课程信息修改密码管理系统管理用户管理2.5 数据流程图学生修满学分修满学年院系新生专业成绩教师毕业生批准毕业委任教师参加考试评分统计新生注册数据流图表达了数据和处理的关系,根据用户的需求分析和高校学籍管理系统的需求,得出如下图1-1所示的学籍管理数据流
18、图。 2.6 数据字典2.6.1 数据项数据字典是对系统所用到的所有表结构的描述,学籍管理的主要数据见下表。 表 2.1 老师基本信息表序号字段别名数据类型数据长度码1tno学号varchar10Y2tname姓名varchar10N3tsex性别char2N4profess职称varchar10N5dname所属院系varchar10N6tel电话varchar15N表 2.2 学生基本信息表序号字段别名数据类型数据长度码1sno学号varchar10Y2sname姓名varchar10N3ssex性别char2N4birthday出生日期datetime8N5symbol政治面貌varch
19、ar8N6id身份证号varchar20N7intime入学时间timestamp8N8birthplace籍贯varchar10N9homeaddr家庭住址varchar30N10postcode邮政编码intN表 2.3 专业信息表序号字段别名数据类型数据长度码1mno专业号varchar10Y2sno学号varchar10N3mname专业名char10N4intime入学时间datetime8N表 2.4 毕业信息表序号字段别名数据类型数据长度码1gno毕业证编号varchar10Y2sno学号varchar10N3sname姓名varchar10N4ssex性别char2N5dnam
20、e所属院系varchar10N6outtime毕业时间datetime8N7ycredit已修学分floatN8xcredit需修学分floatN表 2.5 院系信息表2.6.2数据结构经过数据项和用户需求的分析,我对本系统一共分了5个组,具体如下表所示:表 2.9 数据结构表数据结构名含义说明组成部分学生基本信息管理描述学生基本信息学号+姓名+性别+出生日期+身份证号+入学时间+政治面貌+家庭住址+籍贯+邮政编码+民族老师基本信息管理描述老师基本信息教工号+姓名+性别+职称+所属院系+电话学生、老师相关信息管理描述学生选课信息,毕业信息,专业、院系信息,老师授课信息,院系信息学号+课程号+成
21、绩课程号+教工号毕业证编号+学号+姓名+性别+身份证号+所属院系+入学时间+已修学分+需修学分学生成绩管理描述学生平均成绩、总成绩的计算,统计相关信息学号+课程号+成绩系统管理描述用户修改密码,帮助信息第3章 概念结构设计3.1 系统各分子系统的数据流图4.2.2查询模块流程图查询 不符合条件条件 满足条件 数据库显示结果退出4.2.4系统维护模块流程图系统维护 超级用户普通用户增加删除用户修改自己的密码退出3.2 E-R图3.2.1 分E-R图1 对于学生信息管理,我们可以将学生实体抽象出来,学生属于学院可以将学院作为一个实体,学生所属专业和毕业信息都将可以作为一个实体。 家庭住址生性别学号
22、政治面貌入学时间民族学生籍贯身份证号出生日期姓名邮政编码图 3-2 学生实体E-R图院系院长名院系号院系名称图 3-3 院系实体E-R图专业专业名专业号入学时间图 3-4 专业实体E-R图需修学分生性别学号毕业证号入学时间毕业生身份证号已修学分姓名所属院系图 3-5 毕业实体E-R图在学生信息管理中存在这样的关系:选择(多对一的关系)、学习(多对一的关系)。 3.2.2 合并分E-R图,生成初步E-R图消除各个分E-R图中的不一致,以形成一个能为全系统中所有用户共同理解和接受的统一的概念模型。 合理消除各分E-R图的冲突是合并分E-R图的主要工作与关键所在。 在此小节将各个分E-R图合并,并尽
23、量消除三类冲突:属性冲突、命名冲突和结构冲突。 以上是本系统中的基本的实体和关系,本系统是将其分步找出来加以描述,下面是本系统总体的E-R图:专业课程老师授课开设1N1N选择毕业成绩毕业学生11工作院系学习NN1图 3-11 学籍管理系统E-R图第4章 逻辑结构设计逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。 设计逻辑结构一般分为3步进行:(1)将概念结构转换为一般的关系、网状、层次模型;(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;(3)对数据模型进行优化。 4.1 关系模型将E-R图转换为关系模型
24、实际上就是要奖实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则:一个实体型转换为一个关系模式。 实体的属性就是关系的属性,实体的码就是关系的码。 将概念结构设计阶段设计好的基本E-R图转换为关系模型,如下所示:u 学生(学号,专业号,院系号,姓名,性别,出生日期,身份证号,入学时间政治面貌,家庭住址,籍贯,邮政编码,民族),此为学生实体对应的关系模式。 u 毕业(毕业证编号,学号,姓名,性别,身份证号,所属院系,入学时间,已修学分,需修学分),此为毕业实体对应的关系模式。 u 课程(课程号,课程名,学分),此为课程实体对应的关系模式。 u 院系(院系号,院系名称,院
25、长名),此为院系实体对应的关系模式。 4.2 系统数据库表结构:u 学生基本信息表(主要描述一些学生入学前的基本信息):图 5-1 学生基本信息表结构图u 院系信息表(主要描述学校中各个院系的一些基本信息):图 5-3 院系信息表结构图u 专业信息表(主要描述学生选择专业的信息):图 5-4 专业信息表结构图u 学生毕业信息表(主要描述学生毕业的基本信息):图 5-8 学生毕业信息表结构图第5章 数据库的设计及实施u 学生基本信息表(主要描述一些学生入学前的基本信息):create table student(sno varchar(10) primary key,deptno varchar
26、(10) references department(deptno),mno varchar(5) references major(mno),sname varchar(10) not null,ssex char(2),birthday datetime,sid varchar(20) unique,intime timestamp,symbol varchar(8),homeaddr varchar(30),birthplace varchar(10),postcode char(6) check(postcode like0-90-90-90-90-90-9)u 院系信息表(主要描述学
27、校中各个院系的一些基本信息):create table department(deptno varchar(10) primary key,deptname varchar(10) not null unique,depthead varchar(10)u 专业信息表(主要描述学生选择专业的信息):create table major(mno varchar(5) primary key,mname char(10) not null unique)u 课程信息表(主要描述学校开设的课程的基本信息):create table course(cno varchar(5) primary key,
28、cname varchar(10) not null unique,credit smallint not null)u 学生毕业信息表(主要描述学生毕业的基本信息):create table graduate(gno varchar(10) primary key,sno varchar(10)references student(sno),sname varchar(10)references student(sno),ssex char(2) not null,sid varchar(20) not null,deptname varchar(10) references departm
29、ent(deptname),outime timestamp,ycredit smallint,xcredit smallint)第6章 详细设计程序运行界面:学生信息管理系统(详细设计)登录的系统界面:编码1、 登录模块代码:Private Sub cmd3_Click()Dim cn As ADODB.ConnectionDim rs As ADODB.RecordsetDim str_cn As String 访问sql server的连接字符串Dim str_sql As Stringstr_cn = driver=sql server;server=.;uid=sa;pwd=;dat
30、abase=studentSet cn = New ADODB.Connectioncn.CursorLocation = adUseClientcn.Open str_cn 连接sql serverstr_sql = select * from user_info where user_name= & Text1.Text & and user_code= & Text2.Text & Set rs = New ADODB.Recordsetrs.Open str_sql, cn, adOpenDynamic, adLockOptimisticIf Len(Text1.Text) = 0 T
31、hen MsgBox 请输入用户名!, 64, 提示 Text1.SetFocusElseIf Len(Text2.Text) = 0 Then MsgBox 请输入密码!, 64, 提示 Text2.SetFocusElse If rs.RecordCount = 0 Then i = MsgBox(不存在该用户,是否立即注册?, 4 + 32, 提示) If i = 6 Then Unload Me Form3.Show Else mdlTextBox.Blank Me Text2.SetFocus End If Else Unload Me Form1.Hide Form4.Show E
32、nd IfEnd IfEnd SubPrivate Sub Form_Load()mdlTextBox.Centen Me 使窗体居中End SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Label5.ForeColor = vbBlackLabel5.FontUnderline = FalseLabel6.ForeColor = vbBlackLabel6.FontUnderline = FalseEnd SubPrivate Sub Label5_Cli
33、ck()Unload MeForm3.ShowEnd SubPrivate Sub Label5_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Label5.ForeColor = vbBlueLabel5.FontUnderline = TrueEnd SubPrivate Sub Label6_Click()Unload MeForm2.ShowEnd SubPrivate Sub Label6_MouseMove(Button As Integer, Shift As Integer, X
34、As Single, Y As Single)Label6.ForeColor = vbBlueLabel6.FontUnderline = TrueEnd Sub2、 添加学生信息代码:Option ExplicitPrivate Sub Command1_Click()If Len(Text1.Text) = 0 Or Len(Text6.Text) = 0 Then MsgBox 请将信息补充完整!, 48, 警告 Exit SubEnd If添加新记录sqlstr = select * from student_InfoSet rs = ExecuteSQL(sqlstr, Msg)r
35、s.AddNewrs.Fields(student_id) = Text6.Textrs.Fields(student_name) = Text1.Textrs.Fields(class_no) = Combo2.Textrs.Fields(born_date) = Text2.Textrs.Fields(student_sex) = Combo1.Textrs.Fields(address) = Text4.Textrs.Fields(tele_number) = Text7.Textrs.Fields(comment) = Text5.Textrs.Fields(ru_date) = Te
36、xt3.Textrs.Updaters.Close第7章 开发技巧和难点本系统开发的技术难点主要有两个方面:一是否业务逻辑的理解;二是数据库逻辑结构的设计。 业务逻辑是依据空警管理系统的行业特点及其特殊的应用领域需要来进行设计的。 只有在准确不理解一个系统的业务逻辑之后才可能开发出适应其应用的应用系统来,并且在系统之间模块的科学划分与结构组织都是在正确不理解实际应用的业务逻辑需求的前提下完成的.数据库设计是应用系统开发的另一个难点,只有科学的数据库设计才能使系统具有良好的结构及良好的可编程性,可扩展性.数据库设计是直接影响系统运行情况及程序设计的一个重要因素.因此,在开发相关数据库方面的管理系
37、统时,都需要充分考虑到科学性,结构性,规范性,安全性,可扩展等相关问题第8章 小结及展望由于设计时间较短,所以该系统还有许多不尽如人意的地方,比如用户界面不够美观,出错处理不够等多方面问题。 这些都有待进一步改善。 通过努力,我们组设计出了一个学籍管理的数据库系统,这个系统可以帮助用户更好、更快、更有效地管理学生的学籍问题。 在这个系统中,我们主要实现了的功能有能够完成新、老生信息的输人、修改、插人、删除等工作,可以按照特定的信息进行查找,并按照特定的要求进行排序,可以对老生的信息进行备份,以便日后查询,可以对学生的信息进行打印输出,学生成绩的输入、修改、删除等基本操作,成绩的综合统计功能,包
38、括学生成绩按照不同条件进行排名。 管理人员可以选择不同的排序条件,并可以将排序结果进行打印输出,计算各班的总分和平均分,并按照平均分将各班成绩进行排序,统计不及格考生的信息,根据条件确定是重修还是补考,学生奖励统计,自动生成每班获得奖学金的同学的信息,并可以将奖学金分成不同的等级,以及所得奖学金的数目。 其中有优点,但也存在不足的地方。 优点是可以保证用户更好地管理数据,可以运用多种功能。 不足的地方是我在设计触发器和存储过程的时候没有实现好,分析其中的原因,是我自己对触发器和存储过程没有更加深入的了解,平时没有花时间去练习,因此我决定在以后的学习中要更加努力。 致谢: 在系统开发,我受到了指
39、导老师细心指导,老师严谨的指导态度与深厚的理论知识都让我受益非浅,从他身上我学到了很多的东西,无论是理论还是实践都使我的知识有很大的提高.借此我特提出感谢.同时我还感谢母校的老师,谢谢他们为本系统提供的帮助.让我能够顺利地完成本系统的开发.也感谢那些对我提供帮助的同学,没有他们就不会现在的系统.参考文献1.萨师煊,王珊. 数据库系统概论(第三版).M 高等教育出版社. 2000.22.美Martin J. Wells. 李鹏,陈炜,任俊伟 译,J2ME游戏编程.M 清华大学出版社. 2004.23. 罗斌,Visual C+ 编程技巧精选500例,北京:中国水利水电出版社,2005.14. 刘
40、家海,余建军, visual C+ 程序设计基础,北京:科学出版社,2003.85. 谭峰,章伟聪, visual C+ 程序设计实训教程,北京:科学出版社,2003.86. 肖宏伟,visual C+实效编程百利,北京:人民邮电出版社,2004.87. 王超龙,陈志华, visual C+ 入门与提高,北京:人民邮电出版社,2002.6 Visual C+程序设计课程设计报告书课程设计任务书基本情况基 本 情 况姓 名学 号专业班级课程名称设计题目指导教师起止日期设计目标设计内容1、系统概述(现状分析,系统目标等)2、系统数据库设计部分1)、需求分析内容包括:需求描述、数据流图、数据词典2)
41、、数据库概念结构设计内容包括:E-R图、实体及属性的定义2)、数据库逻辑结构设计内容包括:初始关系模式,规范化处理3)、数据库物理结构设计内容包括:基于SQL Server的数据表设计(包含索引)3、数据库操作部分1)、数据库的插入操作2)、数据库的修改操作3)、数据库的删除记录操作4)、数据库的备份及还原操作4、系统(界面)设计部分1)、数据录入、修改、删除界面设计2)、数据查询与打印输出设计3)、系统的维护、安全设计设计要求1、结合该课程中所学的理论知识,按要求独立设计方案,培养学生独立分析与解决问题的能力;2、学会查阅相关手册和资料,通过查阅手册和资料,进一步熟悉常用方法的用途和技巧,并掌握这些方法的具体含义和如何使用这些方法解决实际问题;3、掌握综合性数据库设计的基本过程(视具体设计题目)。 4、掌握综合性查询、数据维护、安全设置的方法,熟悉常用数据库对象及查询和维护表单设计(视具体设计题目)。 5、认真撰写总结报告,培养严谨的作风和科学的态度。 备 注Visual C+程序设计课程设计报告书进度计划表序号起止日期设计内容1234567891011Visual C+程序设计课程设计报告书课程设计任务书答辩记录答辩记录答辩日期