首页 学籍管理系统毕业设计论文4934829359

学籍管理系统毕业设计论文4934829359

举报
开通vip

学籍管理系统毕业设计论文4934829359学籍管理系统毕业设计论文4934829359 摘 要 随着国家加强对教育的投入,九年义务制的基本普及,社会上对高学历、高能力人才的急切需求,随着国民经济的稳定增长,全国各级院校容纳着越来越多的学生.随着学生数量的剧增,对学生的管理面对着严峻的考验,传统的手工操作理已经跟不上管理的步伐. 本系统主要完成对学籍的管理,包括添加、修改、删除等方面。系统可以完成对各类信息的浏览、查询、添加、删除、修改等功能。系 统的核心是添加、修改和删除三者之间的联系,每一个表的修改都将联动的影响其它的表,当完成添加或删除操作时系统...

学籍管理系统毕业设计论文4934829359
学籍管理系统毕业设计论文4934829359 摘 要 随着国家加强对教育的投入,九年义务制的基本普及,社会上对高学历、高能力人才的急切需求,随着国民经济的稳定增长,全国各级院校容纳着越来越多的学生.随着学生数量的剧增,对学生的管理面对着严峻的考验,传统的手工操作理已经跟不上管理的步伐. 本系统主要完成对学籍的管理,包括添加、修改、删除等方面。系统可以完成对各类信息的浏览、查询、添加、删除、修改等功能。系 统的核心是添加、修改和删除三者之间的联系,每一个表的修改都将联动的影响其它的表,当完成添加或删除操作时系统会自动地完成学籍的修改。 作为计算机应用的一部分,使用计算机对学生学籍信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生学籍管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。 关键词:VC++ 6.0; SQL SERVER 2000;软件工程;学籍管理系统 Abstract As countries to strengthen the investment, education basically universal nine-year compulsory system, society of highly educated, high capacity on the urgent demand of talents, along with the steady growth of national economy, the national various colleges contain more and more students. With the surge in the number of students on student's management faced severe test, the traditional manual operation the pace of Daniel's behind management. Student school management system is a typical management information system (MIS), including the development of its database background to the establishment and maintenance, and front-end application development aspects. With regard to the former request to establish data consistency and integrity of strong, good for data security. For the latter request applications fully functional, easy to use and so on. As a part of computer application, use the computer to manage student status information, which themanual administration center advantages. For example: retrieves, the search rapidly convenient, the reliability high, thereserves big, the secrecy good, the life is long, low cost. These merits can enormously enhance the student registration management efficiency, also is enterprise's scientific, thestandardized management, connecting with the world the important condition. Therefore, the development of such a set of management software to become very necessary things. . Keywords: VC++ 6.0 , SQL SERVER 2000, software engineering, student status management system 目 录 1 引言 ........................................................................................................ 1 1.1项目开发的背景 ......................................................................................... 1 1.2项目开发的目的和意义 ............................................................................. 1 1.3开发环境及使用工具简介 ......................................................................... 1 1.3.1 开发环境本系统开发的软件环境如下: ............................................... 1 1.3.2 Visual C++ 6.0语言简介 .................................................................. 2 1.3.3 SQL Server 2000简介 ....................................................................... 2 2 系统分析 ................................................................................................ 4 2.1问题的定义 ................................................................................................. 4 2.2可行性研究 ................................................................................................. 4 2.3 需求分析 .................................................................................................... 5 3 总体设计 ................................................................................................ 6 3.1 E-R图的设计 ............................................................................................. 6 3.2 系统流程图设计 ...................................................................................... 11 3.3功能模块图 ............................................................................................... 12 4 详细设计 .............................................................................................. 14 4.1 数据库设计 .............................................................................................. 14 4.1.1建立数据库 ........................................................................................... 14 4.1.2 数据库的逻辑设计 .............................................................................. 14 4.2 主要模块及功能设计 ............................................................................... 18 4.2.1 数据库访问功能的实现 ...................................................................... 18 4.2.2 日期编辑框的实现 .............................................................................. 20 4.2.3 可编辑的列表框的模块 ...................................................................... 21 4.2.4 用户登录窗口 ...................................................................................... 23 4.2.5 系统主窗体 .......................................................................................... 25 4.2.6 学制信息添加窗口 .............................................................................. 27 4.2.7 产生学号窗口 ...................................................................................... 28 4.2.8 评价学生窗口 ...................................................................................... 29 4.2.9 制定招生计划窗口 .............................................................................. 30 4.2.10 数据导入导出窗口 ............................................................................ 31 5 系统测试 .............................................................................................. 33 结 论 ........................................................................................................ 36 致 谢 ........................................................................................................ 37 参考文献 .................................................................................................. 38 武汉纺织大学11届毕业设计论文 1 引言 1.1项目开发的背景 随着国家加强对教育的投入,九年义务制的基本普及,社会上对高学历、高能力人才的急切需求,随着国民经济的稳定增长,全国各级院校容纳着越来越多的学生.随着学生数量的剧增,对学生的管理面对着严峻的考验,传统的手工操作理已经跟不上管理的步伐.而计算机的普及和应用给计算机智能化管理带来最根本的保障。众所周知,计算机管理可以大大的提高工作效率,加强部门之间的沟通配合,节省大量的纸张浪费。由此带来的经济效益是非常客观的。因此,开发一个适合的学生管理系统是非常重要的。 1.2项目开发的目的和意义 学生籍管理系统是一个现代教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生学籍管理系统应该能够为用户提供充足的信息和快捷的查询手段。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生学籍信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生学籍管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。 1.3开发环境及使用工具简介 1.3.1 开发环境本系统开发的软件环境如下: 操作系统:Windows XP Professional; 编程语言:Visual C++ 6.0; 数 据 库:Microsoft SQL Server 2000 1 武汉纺织大学11届毕业设计论文 1.3.2 Visual C++ 6.0语言简介 Visual C++ 6.0编程语言是由Microsoft公司推出的目前极为广泛的可视化开发工具,利用Visual C++ 6.0可以开发基于Widnows平台的32位应用程序,依靠强大的编译器以及网络与数据库的开发能力,用Visual C++ 6.0可以开发出功能强大的应用程序。本书是在面向对象编程思想的基础上,融合了利用Visual C++ 6.0开发Windows下应用程序的理论和实践,全面和深入的介绍了利用Visual C++ 6.0开发应用程序的常用方法和技巧,内容涵盖了Visual C++ 6.0编制应用程序的一些基础知识、图形和图像处理技术、MFC编程及异常处理、模式和非模式对话、线程、ActiveX及其控件设计、多媒体程序设计、 SDI和MDI等窗体的编程技巧、数据库与网络程序设计。在介绍各种编程方法和常用技巧的同时,摈弃了繁冗的文字平铺直叙,而是通过程序设计实例的方法向 读者介绍VC++编程的常见思路和它的高级应用。 1.3.3 SQL Server 2000简介 SQL Server 是基于客户/服务七模式的新一代大型关系型数据库管理系统(DBMS).SQL Server数据库管理系统建立在成熟而强大的个关系模型理论基础之上,在易用性,可扩展性,可靠性等方面确立了领先的地位,是使用最为广泛,普及率最高的数据库管理系统。 我选择SQL Server 2000 做为数据库开发工具有以下几个理由: 1、与Internet的紧密结合。 2、SQL Server 2000的数据库 引擎集成了对XML的支持同时以可扩展、易于使用和安全的特点,成为建设大型Web部件最好的数据存储设备之一。SQL Server2000所携带的诸如英语查询以及Microsoft 查询服务等为开发Web应用提供了友好而强大的查询界面。 3、可扩展性和可用性。 为了兼顾各种配置计算机的使用,SQL Server2000的数据库引擎可以运行在从装Windows 98的台式机、笔记本电脑到安装Windows 2000数据中心的多处理器计算机上。SQL Server2000企业版,具有联盟服务器、视图索引以及超大规模的内存支持等特征。 2 武汉纺织大学11届毕业设计论文 企业级数据库SQL Server2000关系数据库引擎具备有完善而强大的数据处理功能。它在有效保证数据库一致性的基础上,尽量降低成千上万的数据库用户进行并发访问时的管理和延迟成本。SQL Server2000的分布式查询允许用户同时引用多处数据源,但其友好的界面使用户觉得好像自始至终是在操作一个数据源。 4、简单、友好的操作方式。 SQL Server2000包含一整套的管理和开发工具。这些工具都具有非常友好的用户界面,在提供强大功能的同时,易于安装、使用和发布。用户可以把更多的精力放在自己的问题上,可以非常迅速地建立并发布强大而复杂的数据库应用系统。 数据仓库支持SQL Server2000为了满足现代企业对大规模数据进行有效分析和利用的要求,包含了一系列提取、分析、总结数据的工具从而使联机分析处理成为可能。同时,SQL Server2000提供了英语查询工具和编程接口,使得以英语为基础设计和管理、查询数据库成为了可能。SQL Server 还提供的客户端组件包括:企业管理器、查询分析器、SQL Server管理工具和向导以及SQL Server命令提示管理工具等。其中主要使用企业管理器和查询分析器。 (1)企业管理器 企业管理器是图形化的集成管理工具,提供了调用其他管理工具的简单途径,利用企业管理器,可以实现SQL Server2000服务器的有效配置和管理。企业管理器采用的界面是Microsoft公司为Microsoft Back Office服务器开发的管理控制台界面,与(Windows 资源管理器)极为相似。企业管理器按照树型结构的要求来管理多个通过网络互联的SQL Server服务器。通过在企业管理器中对SQL Server服务器进行注册,任何访问SQL Server的用户都可以使用这些服务器。通过企业管理器集成的各种管理工具,数据库管理员可以方便地管理服务数据库、数据库、数据库对象、用户登录和许可、复制、安全性、调试任务、生成Web标签、生成SQL脚本及其他多种事务。 (2)查询分析器 SQL Server2000提供了查询分析器作为编写Transact-SQL脚本程序的开发工具。查询分析器提供的是一个图形化地编写和调试Transact-SQL程序的工作环境。它通过彩色代码编辑器和上下文敏感帮助提高了应用程序的可用性。除此以外,SQL Server 数据库管理系统在电子商务,数据仓库和数据库解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 等应用中起着重要的核心作用,为企业的数据管理提供了强大的支持,对数据库中的数据提供有效的管理,并采取有效的 措施 《全国民用建筑工程设计技术措施》规划•建筑•景观全国民用建筑工程设计技术措施》规划•建筑•景观软件质量保证措施下载工地伤害及预防措施下载关于贯彻落实的具体措施 实现数据库的完整性及数据的安全性。 3 武汉纺织大学11届毕业设计论文 2 系统分析 2.1问题的定义 近十几年来,我国的高校扩招使得学校的学生人数大大增加,这使得高校的管理方面出现在了管理效率下降,学生评介的失误,制定招生计划时有可能出现失误的情况,班级要手动分配,学号不能自动产生。等等这一些原因,影响到了高校学生的能力。在 计算机硬件功能变强大,运算速度变快。各种软件开发工具的出现在,现代的软现在, 件开发技术变得系统化,工程化,快速化。这使得运用现代的工具――计算机,改善高校的管理不足的现状变成现实。 本系统的目的就是要解决这种高校的管理不足的现状,实现高校管理的方便,高效,决策的正确。 2.2可行性研究 由于本系统管理的对象单一,都是学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。本系统的设计是在Windows XP操作系统环境下,使用Microsoft Visual Studio英文版开发成功的。 Visual Studio具有以下特点: 1、面向对象设计不再是单纯的从代码的第一行一直编到最后一行,而是考虑如何创建类和对象,利用类和对象来简化程序设计,并提供代码的封装和可重用性,便于程序的维护与扩展。 2、所谓的对象是一种抽象的名称,用来对应实现世界存在的“东西”。一个窗口、一个按钮、一个菜单都可视为一个对象,而按钮对象、菜单对象、又会出现在窗口对象中,因此按钮对象、菜单对象便是窗口的组件之一。对象内部的数据是不能随意更改的,必须由外部向其传递信息,再由对象按其方法加以处理。用户无需知道其任何细节,操 4 武汉纺织大学11届毕业设计论文 作是封闭的,对象之间能通过 关于工期滞后的函关于工程严重滞后的函关于工程进度滞后的回复函关于征求同志党风廉政意见的函关于征求廉洁自律情况的复函 数调用相互通信。 3、类可视为一个产品模具、一个模块。在面向对象设计中,类是对象的原型,是对象的制作器。类的概念是面向对象程序设计最重要的特征。所谓类,是指由数据结构及其相关操作所形成的集合,描述该类任一对象的共同的行为特征,是对一组性质相同的对象的程序描述,概括了对象的共同性质和数据。 4、面向对象设计的核心是类的设计。例如:可以定义一个“数据库访问”类,该类中可以定义访问的数据链接,数据命令,数据集 等成员变量,定义相应的操作:如,访问数据库中的对像的操作,和得到操作结果等。则以此类为原型可以设计出众多的“数据操作”类的对象实例,这些实体都具有类中所定义的特征。 2.3 需求分析 伴随社会的高速发展,全国各高校的学生数量一直在增加,在这样的形式下,必须要求学校有一种高效有序的方法来管理学生的信息。 通过调查,要求系统需要有以下功能: (1)学制信息管理:输入学制信息,和相关的系名,自动产生相应的系编号。产生系时,先判断当前系的学院是否存在,若不存在刚要求输入相应的学院的信息。 (2)班级管理:能添加、查询、修改,能根据某些条件自动给学生分配班级。 (3)学生信息管理:能够添加、查询、修改和删除新生个人信息。在添加新生信息时要修改相应的生源信息。 (4)学籍管理:主要实现根据上一年的各个生源地的学生表现来制定当年的招生计划。并册办学生注册和办理学生毕业。 (5)奖罚管理:对学生的在校表现的综合管理,包括学生奖罚的输入,查询,修改并能按学院,专业,班级,学号等情况评价学生。 (6)用户管理:主要用来设置用户的操作权限。只有管理员身份才能添加用户。 (7)数据维护:提供对数据库中的数据进行备份,还原和导入,导出为excel等功能。 5 武汉纺织大学11届毕业设计论文 3 总体设计 总体设计的任务是根据用户需求分析阶段得到的物理模型,确定一个合理的软件系统的体系结构。根据对系统的分析可以设计ER图和功能模块如下。 3.1 E-R图的设计 利用ER方法进行数据库的概念设计,可分成三步进行:首先设计局部ER模式,然后把各局部ER模式综合成一个全局模式,最后对全局ER模式进行优化,得到最终的模式,即概念模式。 ER模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:N,M:N,还是1:1等。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。 (1)系统总的E-R图 对系统的需求进行分析可得到系统总的E-R图,如“图3-1”。 6 武汉纺织大学11届毕业设计论文 归属1N学院信息专业信息 11对应N生涯信息 归属1 组成N N 班级信息N归属1学生信息11拥有11注册组成1奖罚NNN 学生绩点信息班级学生信息学生注册信息奖罚信息 图3-1 系统总的E-R图 (2)学院信息的实体图 学院信息包括(学院名,学院编号,学院注释,学院院长,学院位置,学院电话) 学院名学院信息的实体图如“图3-2”。 学院电话 学院编号 学院位置 学院信息 学院注释 学院院长 图3-2 学院信息实体图 (3)专业信息的实体图 专业信息包括(专业编号,专业名,学院编号,专业注释,专业学年,教研室,系 主任),专业信息的实体图如“图3-3”。 7 武汉纺织大学11届毕业设计论文 教研室系主任 专业学年 专业名 专业信息 专业注释 学院编号专业编号图3-3 专业信息实体图 (4)学生信息的实体图 学生信息包括(身份证号,学号,姓名,专业编号,姓别,生日,生源,家庭住址,身份证号专业编号 学号联系电话),学生信息的实体图如“图 3-4”。 生源 联系电话 学生信息 家庭住址生日 姓别姓名图3-4 学生信息实体图 (5)学生注册信息的实体图 学生注册信息包括(学号,学期,交费情况),学生注册信息的实体图如“图3-5”。 8 武汉纺织大学11届毕业设计论文 学号 学期交费情况 学生注册信息 图3-5 学生注册信息实体图 (6)奖罚信息的实体图 奖惩信息包括(奖惩编号,学号,奖惩得分,奖惩原因,附件)奖罚信息的实体图学号 奖惩编号如“图 3-6”。 奖惩得分 奖惩信息 奖惩原因附件图3-6 奖罚信息实体图 (7)班级信息的实体图 班级信息包括(班级编号,班级名,班主任,学生总数,教室),班级信息的实体 图如“图3-7”。 9 武汉纺织大学11届毕业设计论文 班级名 班级编号 班主任 班级信息 学生总数 教室图3-7 班级信息实体图 (8)学生绩点信息的实体图 学生绩点信息包括(学号,平均绩点,总学分),在这个信息表中的平均绩点,和总学分的修改要在学校管理的成绩管理系统中修改。学生分班信息的实体图如“图3-8”。 平均绩点 学号总学分 学生绩点信息 图3-8 学生绩点信息实体图 (9)生源信息的实体图 生源信息包括(生源名,专业名,入学时间,人数,评价),生源信息的实体图如“图3-9”。 10 武汉纺织大学11届毕业设计论文 专业名 生源名 入学时间 生源信息 人数 评介图3-9 生源信息实体图 3.2 系统流程图设计 经过分析用户需求,并结合数据的设计得到系统的流程图如“图3-10”。 账户管理修改密码 创建用户学制管理 删除用户学生管理 班级管理 开始奖罚管理管 理学籍管理 员数据管理 登录 否退出系统 结束是否成功 学生管理 是是班级管理 普读取用户奖罚管理通类型学籍管理用 户数据管理 是否是账户管理修改密码管理员 否 图3-10 系统流程图 11 武汉纺织大学11届毕业设计论文 3.3功能模块图 对系统流程的进一划分,共划分为七个模块,得到系统的功能模块图如“图3-11”。 学籍管理系统 账户管理学制管理学生管理班级管理奖罚管理学籍管理数据管理 查查查查查添看查录看评录看看制录分看加修看入修价修创删入修修定学学数数导导入配修班改班奖改学改建除学改改招生生据据出入学学改级班级罚奖生密用用制学专生注毕备恢数数生生学信级学信罚表信院业计信学生码户户册业份复据据信信信信信息生息现息划息号息息息息息 图3-11 系统功能模块图 下面对上图进行详细解释: 1 账户管理模块 账户管理模块下面有三个子模块,这三个子模块实现了对用户的账户的常用管理。对账户常用的管理分为:修改密码,创建用户,删除用户。每个用户都能够修改用户密码;但是,只有管理员才能创建用户和删除用户。程序根据用户登录的权限,自动装载相应的菜单项。 2 账户管理模块 学制管理模块主要是管理学校的学院和专业,如输入,修改学院,专业信息。如:学院名,专业名,学年等信息。学制管理模块分为三个子模块,分别是:添加学制信息,查看修改学院信息,查看修改专业信息。 3 学生管理模块 学制管理模块主要是管理学校的学生信息,和能提高学校工作效率的功能,,自动分配学号,自动分配学号是根据学生的生源地的不同来平均分配,学生在学校能的交往更广。在输入的学生住处主要包括:学生身份证号,姓名,姓别等标志学生个人的信息。学生管理模块分为三个子模块,分别是:添加学生信息,自动产生学号,查看修改学生信息。 本模块的流程是:在新生被录取后,录入学生信息,并给学生发录取 通知 关于发布提成方案的通知关于xx通知关于成立公司筹建组的通知关于红头文件的使用公开通知关于计发全勤奖的通知 书,但是此时的新生并没有学号。只有等所有的新生信息录入完成后,在自动产生学号的子模块中输入相应专业的班级的个数后就能自动为学生分配学号。当新生报到时就能看到自己的班级,和学号。最后可以在系统中查看和修改学生的信息。自动产生学号子模块中还 12 武汉纺织大学11届毕业设计论文 考虑了,插班生的学号的分配。在插班生的学号的分配,考虑到了生源的平均分配和各个班级中学生人数的平均。 4 班级管理模块 班级管理模块就是对自动分配学号时产生的班级进行信息的管理,主要是查看功能。它能查看班级的总体信息,也能查看某个班级下的学生信息。它分为三个子模块:录入班级信息,查看修块改班级信息,查看修改班级学生信息。 5 奖罚管理模 奖罚管理模块主要是对学生在校的表现进行管理,它分为三个子模块:录入奖罚信息,查看修改奖罚信息,评价学生表现。这个模块不仅能评价学生的表现。而且,把学生的奖罚信息统计到生源信息一个模块,不仅能根据往庙学生的在校表现来制定出招生计划,还能完成学生的注册和毕业。学籍管理模块分为三个子模块:制定招生计划,学生注册,学生毕业。 在制定招生计划子模块中,首先要求输入计划招生的学生总数据,和学生变化的比例。然后,根据本校相应专业,相应生源的往庙的表现,来评价生源地的学生对某专业的学习能力。来制定出一个比较好的招生计划,来逐年提高学生的素质。 6 数据管理模块 数据管理模块是针对数据的安全,和数据的庞大来设定的一个功能模块。在这个模块中要实现数据的备份,数据的还原,和导入导出数据为excel文件。来达到数据的安全和数据输入输出的快捷。中,以便在学籍管理模块中能根据去年学生的在校表现来制定出招生计划。 7 学籍管理模块 学籍管理模块是很重要的一个模块,不仅能根据往庙学生的在校表现来制定出招生计划,还能完成学生的注册和毕业。学籍管理模块分为三个子模块:制定招生计划,学生注册,学生毕业。 在制定招生计划子模块中,首先要求输入计划招生的学生总数据,和学生变化的比例。然后,根据本校相应专业,相应生源的往庙的表现,来评价生源地的学生对某专业的学习能力。来制定出一个比较好的招生计划,来逐年提高学生的素质。 13 武汉纺织大学11届毕业设计论文 4 详细设计 4.1 数据库设计 4.1.1建立数据库 数据库在MIS系统中占有非常重要的地位,数据库结构的设计是MIS系统开发的重要环节。数据库结构设计的好坏将直接对应用系统的效率以及实现效果产生影响。合理的数据库结构设计可以提高数据存储的效率,以确保数据的完整性和一致性。 根据系统的需求分析和功能模块划分得出本章的数据库结构。 本系统建立一个数据库,数据库名为:“xjgl”,内部存放8张表。 在SQL Server 2000的企业管理器中单击鼠标右键。选择“新建数据库”命令,在出现的对话框中输入数据库的名称,输如"xjgl” 。如“图4-1”所示: 图4-1 建立数据库截图 4.1.2 数据库的逻辑设计 双击xjgl数据库,主要包括8个表。表的详细信息如下: 1.用户信息表(userInfo) 14 武汉纺织大学11届毕业设计论文 userInfo数据表主要用于存储用户的基本信息,如“表4-1”所示。 表4-1 用户表(userInfo) 列名 数据类型 长度 描述 是否主键 是否能为空 userID char 20 用户编号 是 , userName varchar 20 用户名称 否 否 password varchar 20 密码 否 否 userRight char 20 用户的权限 否 否 2.学院信息表(academyInfo) academyfo数据表主要用于存储学院的基本信息,如“表4-2”所示。 表4-2 学院信息表(academyInfo) 列名 数据类型 长度 描述 是否主键 是否能为空 acadeID varchar 10 学院编号 是 , acadeName varchar 50 学院名称 否 否 acadeNote varchar 50 学院注释 否 是 Dean varchar 10 院长 否 否 acadeLocation varchar 50 学院位置 否 否 acadeTEL varchar 15 学院电话 否 是 3.专业信息表(profInfo) profInfo数据表主要用于存储专业的基本信息,如“表4-3”所示。 表4-3 专业信息表(profInfo) 列名 数据类型 长度 描述 是否主键 是否能为空 profID varchar 10 专业编号 是 , acadeID varchar 10 学院编号 否 否 profName varchar 50 专业名 否 否 profNote varchar 50 专业注释 否 是 15 武汉纺织大学11届毕业设计论文 staffRoom varchar 10 教研室 否 否 profHead varchar 10 系主任 否 否 4.学生信息表(studentInfo) studentInfo数据表主要用于存储学生的基本信息,如“表4-4”所示。 表4-4 学生信息表(studentInfo) 列名 数据类型 长度 描述 是否主键 是否能为空 ID varchar 20 身份证号 是 , stuID varchar 10 学生编号 否 否 profID varchar 10 专业编号 否 否 stuName varchar 8 学生姓名 否 否 stuSex varchar 2 学生姓别 否 否 stuBirthday char 10 学生生日 否 否 stuSource varchar 10 生源地 否 否 stuAddress varchar 50 学生住址 否 否 stuTEL varchar 15 联系电话 否 否 enrollTime varchar 10 入学时间 否 否 5.班级信息表(classInfo) classInfo数据表主要用于存储各个班级的基本信息,如“表4-5”所示。 表4-5 班级信息表(classInfo) 列名 数据类型 长度 描述 是否主键 是否能为空 clasD varchar 10 班级编号 是 , profYID varchar 10 专业编号 否 否 clasName varchar 30 班级名 否 否 clasChief varchar 8 班主任 否 是 classRoom varchar 10 教室 否 否 stuSum int 4 学生总数 否 否 16 武汉纺织大学11届毕业设计论文 6.学生绩点信息表(Class08030501) Class08030501数据表是在程序中根据班号动态创建的。它主要用于存储班级中各个学生的绩点信息,如“表4-6”所示。 表4-6 学生绩点信息表(Class08030501) 列名 数据类型 长度 描述 是否主键 是否能为空 stuID varchar 10 学号 是 , avePoint float 4 学生平均绩点 否 是 creditHour int 4 学生总的学分 否 是 注:“表4-6” 中的avePoint,creditHour两个字段的值不是本系统修改,而是学生成绩管理系统修改的。 7.生源信息表(stuSourceInfo) stuSourceInfo数据表主要用于各学年,各省份的招生下情况和学生表现,如“表4-7”所示。 表4-7 生源信息表(stuSourceInfo) 列名 数据类型 长度 描述 是否主键 是否能为空 stuSource varchar 10 生源地 否 否 profID varchar 10 专业号 否 否 enrollTime varchar 10 入学时间 否 否 stuSum int 4 学生总数 否 否 estimation int 4 学生评价 否 是 8奖罚信息表(rewOrPunInfo) rewOrPunInfo数据表主要用于每个学生奖罚下情况,如“表4-8”所示。 表4-8 奖罚信息表(rewOrPunInfo) 列名 数据类型 长度 描述 是否主键 是否能为空 ropID varchar 20 奖罚编号 是 , 17 武汉纺织大学11届毕业设计论文 stuID varchar 10 学生编号 否 否 rewOrPun int 4 奖罚得分 否 否 ropDetail varchar 100 奖罚原因 否 否 adjunct varchar 10 附件编号 否 是 9.招生计划信息表(plan2009) Plan2009数据表主要用于存储自动生成的招生计划信息,它的结构如“表4-9”所示。 表4-9 招生计划信息表(plan2007) 列名 数据类型 长度 描述 是否主键 是否能为空 stuSource varchar 10 生源地 否 否 profID varchar 10 专业编号 否 否 stuSum int 4 招生总数 否 否 10.注册信息表(registerInfo) registerInfo数据表主要用于存储在校学生的注册信息,他的结构如“表4-10”所示。 表4-10 注册信息表(registerInfo) 列名 数据类型 长度 描述 是否主键 是否能为空 stuID varchar 10 专业编号 否 否 term int 4 学期 否 否 tuitiom bit 1 学费是否交 否 否 4.2 主要模块及功能设计 下面对学籍管理系统的主要模块及功能的实现进行详细阐述。 4.2.1 数据库访问功能的实现 本系统的后台数据是SQL server 2000,为了方便的访问数据库。在本系统中定义了一个类CDataSource。在这个类中为了访问的安全,定义了二个私有变量:一个数据 18 武汉纺织大学11届毕业设计论文 库连接变量和一个数据记录集变量。通过数据库连接变量来连接数据库,通过数据记录集变量的操作来实现对数据库的操作和得到数据集。 为了方便数据库的连接,在这个类中定义了一个公有访问权限的函数InitData,来实现了数据库的连接,InitData函数有一个CString类型的参数,这个参数有一个默认的值,这个值是用来连接SQL数据库中的xjgl数据库。当CDataSource的对象要连接一个其它数据库时,可以向InitData函数传递一个连接其它数据库的对像。这样在数据管理模块中的导入导出数据为Excel文件时,也可以用CDataSource对象来连接数据库。实现InitData函数的过程是:先初始化com对象,为使用ADO做准备,然后对创建两个私有变量的对象,到最后是用连接变量来打开数据库的连接字符串。InitData函数的部分代码如下: //初始化com对象,为使用ADO做准备 CoInitialize(NULL); m_pConn.CreateInstance("ADODB.Connection"); m_pRecordset.CreateInstance("ADODB.Recordset"); try { if(m_pConn->GetState()==adStateOpen) m_pConn->Close(); m_pConn->Open((_bstr_t)strOpen.AllocSysString(),"","",adConnectUnspecified); 在这个数据库操作类中有一个判断数据库中是否存在一个表的函数IsTableExists。这个函数能够判断CDataSource对象打开的打开的各种数据库中是否存在某个表。这个函数的实现是通过对接对象m_pConn的OpenSchema方法来得到数据库的模式信息,返回的模式信息存储在一个记录集里,通过对返回的记录集里的信息进行查询就可以判断当前数据库中是否存在某个表。 为了方便地操作数据库中的表中的数据,定义了一个Opera函数。向这个函数中传入一个字符串类型的SQL语句,就能操作数据中的表的数据了,能过这个函数可灵活的访问,修改,删除数据库中的据。为了在通过Opera函数操作数据库后,得到操作后的数据结果,刚在这个类中还定义了一系列操作数据集的函数,比如:得到第一个记录,得到最后一个记录,得到下一个记录,得到上一个记录,按字段名和按字段编号得到当前记录的值等。它实现了本系统对数据库的连接和数据访问等操作。Opera函数的实现 19 武汉纺织大学11届毕业设计论文 代码如下: if(m_pRecordset->GetState() == adStateOpen ) { m_pRecordset->Close(); } try{ m_pRecordset->Open(_variant_t(cscmd),_variant_t(m_pConn,true),adOpenStatic,adLoc kOptimistic,adCmdText); } 4.2.2 日期编辑框的实现 在输入学生基本信息时,要输入学生生日,由于学生的生日不仅仅是一个简单的字符串。在这个字符串中不仅要求格式是:YYYY,MM,DD形式的,而且还要求输入的年月日之间要符合自然关系,符合闰年非闰年之间的关系,当输入错误年月日时提示输入错误信息。并且为了方便用户输入,要对方向键的事件进行处理。对方向键的上下健是分别用来增加和减少当前调节的年月日。对左右键的作用是改变光标在输入框中的位置。 为了实现这些功能CDateEdit在经过多次修改后,最后用以下方法实现。首先在编辑框中显示一个初始的日期0001-01-01。当用户按下一个键时,首先判断用户按下的是否是方向键,或是则进行相应的处理。若不是则判断输入的字符是否是数字,若不是数字提示应输入数字信息。若是刚进行下面的输入处理。 当用户输入一位数字后,先得到当前光标的位置若当前光标在第五个、第八个、位置时把光标向后移一个位置。若当前光标的位置在最后一个字符的后面时,则把光标移到第一个位置,这样就能控制输入的字符个数了。保证输入的日期的相应的格式和位数了。 当得到的输入光标的位置在年月日数字上时,先通过日期验证函数ValidateDate中验证这个日期是否正确,若正确刚进入下一位数的输入,若输入的错误,刚把错误的日期放到日期转换函数ConvertDate中进行是日期转换。当转换成功时则把转换成功的日期显示出来,若转换不成功,刚提示错误。 函数ValidateDate实现了验证当前输入的日期是否正确,若正确则返回0,若年份错误则返回1,若月份错误则返回2,若天数错误则输入3。在ValidateDate函数中先 20 武汉纺织大学11届毕业设计论文 根据当前输入年份判断是否是润年,后面判断天数是否正确时要用到是否是润年。在转换函数ConvertDate实现的过程是根据输入的日期和当前的输入的位置,看从当前的输入和当前输入的前面的是否可能组成正确的日期。若能组成则返回成功,若不能成功刚反回相应的错误位置。部分代码如下: int CDateEdit::ValidateDate(CString strDate) {//省略了部分代码 if((year % 4==0 && year%100 !=0)||year%400==0) m_isRN = TRUE; //是润年 else m_isRN = FALSE; if(year > 9999 || year <1) return 1; //年份错误 if(month>12 || month<1) return 2; //月份错误 if(day<1) return 3; //天数错误 if(month ==2 && ((!m_isRN && day>28)||( m_isRN&&day>29))) return 3; //天数错误 else if(month <=7) { if((month %2 == 0 && day >30)||(month %2 == 1 && day >31)) return 3; //天数错误 } else if(month <=12) { if((month %2 == 0 && day >31)||(month %2 == 1 && day >30)) return 3; //天数错误 } return 0; //日期正确 } 4.2.3 可编辑的列表框的模块 为了方便用户修改在实现时,用了一个可编辑的列表框来实现。但是由于在VC6.0中没有提供可直接编辑的列表框。在本系统中为了实现这个功能,定义了一个 CEditListCtrl类来实现这个功能,在这个类中的修改功能实现方法是,当用户单击列表控件的某个方格时,先选中这个方格所在的这一行,并改变这一格的颜色,保存这一 21 武汉纺织大学11届毕业设计论文 行的行号和向其父窗口中发送一个选中某行的消息,这样在它的父窗口中就可以删除这 个可编辑列表框中的某行数据了。当用户再次单击前一次单击的行中的某个方格时,刚 可以对这个方格里的数据进行修改。 在实现对某个方格里的数据进行修改时,先得到这个子项的方框的大小位置,和保 存子项里的数据在一个变量str中,然后根据这个方格所在列的是编辑框,是组合框, 还是一个日期输入框。把相应的框的大小设置为用户单击的方格的大小。并把相应的框 的位置移到用户点击的方格的位置,这样就可以用相应的框来覆盖用户点击的方格。这 时,只要在相应的框中添加数据,并把相应的框显示在用户点击的方格的位置就可以了。 当用户输入数据完成后,只要把相应的显示出来的框隐藏起来,并把用户输入的数据写 回到列表框的相应的方格里,最后就是修改数据库,这样就实现了可编辑列表框。 void CEditListCtrl::OnClick(NMHDR* pNMHDR, LRESULT* pResult) { NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; if(pNMListView->iItem!=m_item) { m_item=pNMListView->iItem;//标志被单击的项目 ::SendMessage(this->GetParent()->GetSafeHwnd(),WM_SHOWDELETEMSG,1,0); return; } m_subitem=pNMListView->iSubItem; flag = m_iStyle[m_subitem]; ::SendMessage(this->GetParent()->GetSafeHwnd(),WM_SHOWDELETEMSG,0,0); GetItemRect(m_item ,&m_itemrect,2); GetItemRect(0 ,&m_r,2); int m_height=m_itemrect.bottom -m_itemrect.top ; int x=m_r.left ,y=m_r.top,cx,cy;//(x,y,cx,cy)为编辑框显示的位置 for(int i=0;i< m_item;i++) y+=m_height; cy=y+m_height; for(i=0;iMoveWindow(x,y,cx-x,cy-y);//移动到当前子项目的位置。 m_edit->SetWindowText(str); m_edit->SetSel(0, -1); m_edit->ShowWindow(SW_SHOW);//显示编辑框。 m_edit->SetFocus(); } else if(flag==2 || flag == -2) { m_combo[j].MoveWindow(x,y,cx-x,(cy-y)*6); m_combo[j].SetCurSel(k); m_combo[j].ShowWindow(SW_SHOW); m_combo[j].SetFocus(); } 4.2.4 用户登录窗口 本系统是用VC6.0中的基于对话框的应用程序,为了让系统在进入时显示用户登录对话框,需要修改CxjglApp类的InitDialg函数。在这个函数中用了对话框的DoModal方法来显示用户登录对话框。主窗口的显示是在用户登录对话框中根据用户输入的登录信息是否正确用DoModal来显示的。在CxjglApp中的InitDialg函数的主要代码如下: CLogin login; if(login.DoModal()==IDOK) { CxjglDlg dlg; m_pMainWnd = &dlg; int nResponse = dlg.DoModal(); } 系统登录主要用于对进入学籍管理系统的用户进行安全性检查,以防止非法用户进入该系统。只有合法的用户,才可以进入系统,同时根据管理员分配的权限,给予操作员相应的操作权限。 23 武汉纺织大学11届毕业设计论文 另外,为了防止用户无限期地输入错误的用户名或密码,在系统登录模块中增加了限制登录次数的功能。首先定义一个窗口级的变量m_iLoginCount,其主要用来保存用户已经登录的次数,在登录按扭的响应函数中自动对m_iLoginCount加1,并判断是否超过允许登录的次数,如果超过,则显示提示信息,并结束应用程序。 验证用户及其密码,主要根据用户的输入并通过数据访问对像查询数据库看在选择的用户类别下输入的用户和密码是否正确。如果正确则允许登录,并给予相应的权限,否则提示相应的信息登录。登陆窗体如“图4-2”所示。 图4-2用户登陆界面 登录的响应代码如下: void CLogin::OnOK() {//此处省略了其它代码 ds.Opera("select * from userInfo where userID='"+m_strID+"' and userRight='"+ userRight +"'"); pwd=ds.GetAsString("password"); strName=ds.GetAsString("userName"); if(pwd=="") { ::AfxMessageBox("用户名错误!"); m_iLoginCount++; if(m_iLoginCount >= 3) CDialog::OnCancel(); } else if(pwd == m_strPassword) 24 武汉纺织大学11届毕业设计论文 { CxjglApp *app = (CxjglApp *)::AfxGetApp(); app->m_csUserID = m_strID; app->m_csUserName = strName; app->m_csUserRight = userRight; CDialog::OnOK(); } 4.2.5 系统主窗体 当输入正确的用户名和密码后将进入系统的主窗体,主窗体为用户显示出可操作的菜单以及子菜单,使用户一目了然,方便用户对各个菜单的操作。在系统主窗口中主要是实现初始化及响应种用户消息,在主窗口中的初始化的函数中,先根据CxjglApp中的自定义的变量m_csUserRight的值得到用户的权限,若不是管理员则把学制管理中模块中的菜单移除,这样就实现了普通用户不能进行学制管理。 在主窗口中添加了一个自定义的工具栏类,CStandarBar的对像来显示工具栏,并在主窗口中的消息映射中添加了工具栏的消息处理,这栏本系统的工具栏就真正起作用了,他就能为用户常用的操作提供了快捷的操作。在主窗体中用代码添加了,状态栏,在状态栏中显示了当前登录用户的用户名和当前系统时间,为了能使该系统的状态栏中的时间能动态的显示,为些在主窗体中加入了一个时间触发器,在这个时间处理函数中,先获得系统的当前时间,然后把这个这个时间按要求的格式显示在状态栏,这样就可以动态的更新状态栏的时间了。主窗中的布局如“图4-3”所示。 25 武汉纺织大学11届毕业设计论文 图4-3系统主窗体界面 系统主窗口类的初始化代码如下: BOOL CxjglDlg::OnInitDialog() { //添加菜单栏 CxjglApp *app = (CxjglApp *)::AfxGetApp(); CMenu *menu = this->GetMenu(); if(app->m_csUserRight == "普通用户") { menu->RemoveMenu(ID_MENUITEM_cjgh,1); menu->RemoveMenu(ID_MENUITEM_scyh,1); menu->RemoveMenu(ID_MENUITEM_LRXZ,1); menu->RemoveMenu(ID_MENUITEM_ckxy,1); menu->RemoveMenu(ID_MENUITEM_ckzy,1); } //添加工具栏 m_StandardBar.Create(CBRS_TOP|WS_BORDER|WS_VISIBLE|WS_CHILD|CCS 26 武汉纺织大学11届毕业设计论文 _ADJUSTABLE, CRect(0,0,0,0),this,IDR_STANDARDBAR); //添加状态栏 m_StatusBarCtrl.Create(WS_CHILD|WS_VISIBLE|CCS_BOTTOM,rect,this,ID_ST ATUSBAR); csTemp = "欢迎 " + app->m_csUserName + " 来到学籍管理系统"; m_StatusBarCtrl.SetText("武汉纺织大学",0,0); m_StatusBarCtrl.SetText("计算机1班",1,0); m_StatusBarCtrl.SetText(csTemp,2,0); m_StatusBarCtrl.SetText(strTime,3,0); this->SetTimer(12,1000,NULL); } 4.2.6 学制信息添加窗口 添加学制信息是学制信息管理模块中最重要的部分,它能根据用户的输入自动产生学院编号,和专业编号。并且在产生自动编号时不是接的从最大编号开始产生编号,而是找出编号中的空缺编号来分配给用记输入的学院,或专业。它的实现是人1开始查询数据库中的编号,看编号是否已经存在。若存在刚编号加1,断续查找,直到查询到不存在的编号,然后把这个数据库中不存在的编号分配给新创建的学院或专业。这样就实现了自动分配空缺编号的功能。 在添加一个新专业时,若该专业所属的学院已经存在,刚在学院组合框中选择相应的学院。若该专业所属的学院不存在,刚在学院组合框中输入学院名,并在下面的输入框中输入学院的信息。然后,输入专业信息,这样就可以创建一个新的学院。窗口的设计如“图4-4”所示: 27 武汉纺织大学11届毕业设计论文 图4-4 添加学制信息窗口 4.2.7 产生学号窗口 在本学籍管理系统中,自动产生学号功能大大的减轻了用户的工作量。在产生学生的学号时,要防止某个专业在某个地方的学生全在一个班里,使他们不能和其它地方的同学更好的交流。 在这个子模块中,首先从数据库中读出未当年待分配学号的学生总数显示给用户,让用户决定分几个班。然后读入用户输入的班数。为了使分配的每个班级中的学生占每个生源地的平均傎。先将待分配学号的学生按生源地的人数的多少排序。然后把排完序学生一个一个的循环按次序分配给每个班级。产生学号窗口的设计如“图4-5”。 28 武汉纺织大学11届毕业设计论文 图4-5 产生学号窗口 4.2.8 评价学生窗口 评价学生是根据学生以住的表现得分,和学校的人均平均分想比较来评价一个学生的表现。评价学生的表现子模块中,能根据用户输入的评价类别进行想应的评价。用户可选择的评价类别有:进行学生评价,进行班级评价,进行专业评价,进行学院评价。在评价学生类别的实现中,首先从数据库中读出评价对象的表现得分,和总的学生的表现得分。然后,计算出评价对象的平均表现在得分和总的学生的平均表现在得分。然后将两都进行比较。 在学生评价学生表现中用到的数据是在输入学生奖罚信息时输入的,这些学生奖罚信息将在以后的制定招生计划中用到。评价学生表现窗口的设计如“图4-6”所示。 29 武汉纺织大学11届毕业设计论文 图4-6 评价学生窗口 4.2.9 制定招生计划窗口 招生计划是为了提高新生的基础,从学生来源上提高学生的素质。这个功能的实现主要是用数据访问类的对象CDataSource ds访问数据库,读出学生生源表中的信息。根据学生生源表中的专业的生源地和学生人数。来算出去年招生中某生源地中某专业的人数点总人数的比例。然后根据将制定的招生计划当中输入的新生相对于去年的学生的变化比例。算出某生源地,某专业的学生最少人数。然后将计划招生的人数中剩下的人数按去年生源地专业的学生的表现从好到差地给某生源地,某专业的分配剩下的招生人数。在制定招生计划时,若是制定第一年招生,则没有去年的学生的表现信息。所以为了使系统全面考虑各种情况,在制定第一年招生的则进入手动输入先前的招生计划。制定招生计划窗口的设计如“图4-7” 。 30 武汉纺织大学11届毕业设计论文 图4-7 制定招生计划窗口 4.2.10 数据导入导出窗口 由于一个学校的管理信息的数据量比较大,系统中的一些管理信息若一个个的输入效率很低,这就使得要用一种方便快捷的数据输入方法。在本系统中实现了把系统中的一些常用的数据量在的数据导出为excel文件,和导入excel文件。这两个功能在本系统中的实现方法是把一个excel文件当做一个数据库,excel文件中的表格作为数据库中的表。这样就可以方便的实现从本系统中的SQL server 中的数据到excel数据库的导入和导出。 在导出时,先创建一个excel文件,并通过ado对象的连接对象到接到新创建的excel文件中。然后判断在新创建的excel数据库中是否存在当前将要导出的表格。若存在则提示是否覆盖,根据用户的输入进行相应的操作。若不存在表则创建表,最后向表中插入数据。 在导入时,先判断将要导入的excel文件中,是否存在将要导入的数据表,若不存在刚提示错误信息。若存在则进行相应的数据导入操作。数据导入导出窗口“如图4-8” 31 武汉纺织大学11届毕业设计论文 图4-8 数据导入导出窗口 32 武汉纺织大学11届毕业设计论文 5 系统测试 软件的测试是软件开发中的一个重要的环节。软件测试是为了发现程序中的错误而执行程序的过程,一个好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。它是为了发现程序中的错误而执行程序的过程,其目的是尽可能多地发现并排除软件中潜在的错误,最终把一个高质量的软件系统交给用户使用。软件测试从是否关心软 为:.白盒测试,.黑盒测试和灰盒测试。 件内部结构和具体实现的角度可划分 白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。 黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试地,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的 情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼 于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身有问题或规格说明的规定有误,用墨盒测试方法是发现不了的。 灰盒测试,确实是介于白盒测试与黑盒测试之间的,可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完 整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来 操作,效率会很低,因此需要采取这样的一种灰盒的方法。 灰盒测试结合了白盒测试盒黑盒测试的要素.它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。 由于白盒测试,黑盒测试,灰盒测试各有特点,它们能识别的错误各不一样,所以在测试不同的模块,可能用到不同的测试方法。在这里列出了学生生日输入的测试过程。经分析可知学生的生日是通过自定义的一个类CDataEdit类输入的,在这个类中要控制用户的输入,还要显示一些格式信息。在测试这个类时,主要是用边界值分析法,分析 33 武汉纺织大学11届毕业设计论文 年月日之间的连接符号“,”处得到输入光标时输入数据问题。为了测试它的功能,先把光标定位到输入框的最右端,然后输入日期,如“图6.1”。然后,把输入光标定位到6后面,输入1。此时出现问题,如“图6.2”。经过分析,可知这个错误出现的原因是,在CDateEdit的OnChar函数中未处理光标在第4个字符的情况,解决方法是,在OnChar函数中添加 如下代码。按照上面方法对系统中的其它模块进行测试。 错误修改代码: //b是当前光标所处的字符 if(b==4||b==7) { b++; this->SetSel(b,b+1); } 图6-1 日期输入测试界面(测试正确) 34 武汉纺织大学11届毕业设计论文 图6-2 日期输入测试界面(测试出错) 35 武汉纺织大学11届毕业设计论文 结 论 从本系统的开发过程来看,它基本上是按照传统正规的流程来进行的,而且软件系统的每个步骤、每个流程都是按照自己的开发思路来进行的,从用户资料的录入,班级分配,再到制定招生计划,每一个窗体的设计,每一段代码的实现都是经过反复的琢磨和修改而成的。 实现功能的方面分析,因系统设计时间仓促,为了解决系统中遇到的各种技术,从 知识的不足,使得在这个系统中没有实现学生的头像的管理,在录入学生信息时没有录入新生的头相。在最后经过后到处的查询,和请教使得对照片的显示有了一个想法,那就是定义一个类,通过这个类访问,显示,保存图片。这个类中要很好的处理各类图像文件的操作。在数据库中存储没个学生对应的头像的位置包括路径和图片文件名。这样就能很好的实现学生头像的显示修改。在开发这个系统的过程中,随着需求分析,总体设计,详细设计的完成。最后的编码实现,就变得想对容易了。在编码阶段主要是对开发工具的使用了。 综上所述,这个学籍管理系统是按照正规的软件开发流程下完成的,基本实现了学校管理的日常事务,而且不论从其操作、实用性,或是采用的技术来看都已基本满足了用户的需求,实现了所需功能。 36 武汉纺织大学11届毕业设计论文 致 谢 首先感谢各位老师,以及我的指导老师朱勇在百忙之中看我的这篇毕业论文。 我用近四个多月的时间,通过参考各种VC编程书籍、网上查找信息以及老师耐心的指导,我终于完成了这次毕业设计。这次设计能够如此顺利地完成,我要感谢我的指导老师朱勇老师,是他悉心的指导使我有信心把毕业设计做的更加完善。感谢朱勇老师是他给了我一个管理系统应具有的功能的见意。同时,我还要感谢我的同学们,谢谢他们对我在程序设计不足之处提出的中肯的建议。 通过本信息系统的开发,我对软件开发过程有了更清晰的了解,并对软件测试的方法、手段有了较深的理解,同时也对学校管理的流程有了一个系统的认识。在开发过程中还认真地学习了与系统相关的知识,极大地拓宽了我的知识面,我感觉收获不小。 从开始熟悉这些知识到对整体设计有了解,从概要设计、详细设计到开始编码,以及最后的测试,整个过程使我感到很充实,虽然遇到了不少困难,但当我通过自己查资料,而设计出解决方案并成功实现时,那种成就感和满足感足以鼓励我继续前进。 经过这几个月的毕业设计实习,确实学到了不少的知识,同时也深感自己知识的欠缺。虽然即将毕业,但我在以后的学习工作中,一定会坚持不懈地学习新兴的专业知识以及相关的非专业知识,只有这样才能紧跟时代的潮流。 37 武汉纺织大学11届毕业设计论文 参考文献 [1] 杨志姝, 李光海. SQL应用与开发第一版[M].北京:清化大学出版社. 2006年. 124—141 [2] 王俊伟, 史创明. SQL Server 2000数据库管理与应用第一版[M].北京:清华大学出版社.2006 年: 67—80 [3] 夏邦贵, 刘凡馨. Visual C++数据库开发经典实例精解第一版[M].北京:机械工业出版社.2006 年.145—183 [4] 周鸣扬. Visual C++界面编程技术第一版[M].北京:北京希望出版社. 2006年.89—115 [5] 辛长安, 梅林. Visual C++编程技术与难点剖析第一版[M].北京:清华大学出版社.2002年.181—209 [6] Jeff Prosise. MFC Windows程序设计第二版[M]. 北京:清华大学出版社.2001年.110-130 [7]李闽溟, 吴继刚,周学名等.Visual C++6.0数据库系统开发实例导航[M].北京:人民邮电出版社.2002年.80-95 [8]谭浩强. C程序设计第二版[M]. 北京:清华大学出版社.1999.50-132 [9]郑人杰. 软件工程(中级)[M].北京: 清华大学出版社.1999.22-78 [9] 龚波.SQL Server 2000教程[M].北京:科学出版社.2004年.40-98 [11] 夏邦贵.SQL Server数据库开发入门与范例解析[M].北京:机械工业出版社.2004年.20-55 [12] 金林樵,唐军芳.SQL Server数据库应用开发技术[M].北京:机械工业出版社.2005年.12-70 [13] 王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社.2006年.13-78 [14] 彭东编.SQL Server 2000应用开发技术指南[M].北京:清华大学出版社.2004年.18-88 [15] 刘卫宏.SQL Server 2000实用教程[M].北京:科学出版.2003年.78-94 38 武汉纺织大学11届毕业设计论文 39
本文档为【学籍管理系统毕业设计论文4934829359】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_348501
暂无简介~
格式:doc
大小:225KB
软件:Word
页数:0
分类:工学
上传时间:2017-09-19
浏览量:12