资源描述
本科毕业设计(2013届)题 目基于VC的学生信息管理数据库开发学 院通信工程学院专 业信息安全班 级学 号学生姓名指导教师完成日期2012年12月杭州电子科技大学本科毕业设计摘 要随着21世纪信息化的发展,高校的学生的逐渐增加,学生信息的管理成为高校教职工进行学生信息管理越来越着重的部分。而且学生信息管理系统的开发与设计对教学效率的提高至关重要。本毕业设计是一个典型的信息管理系统,本系统的开发主要分为图形用户界面(UI)设计和后台数据库系统设计两部分。图形用户界面采用Microsoft Visual Studio C+6。0开发平台开发设计;学生信息数据库部分采用Microsoft Access 2010来创建,设计一个数据一致性、完整性和数据安全性好的数据库.首先在短时间内建立起系统应用类型,然后,对初始原型进行需求迭代,不断修正和改进。通过对计算机硬件和相关软件方面的了解,来找到本系统的解决方案。另外对学校学生信息管理的基本的了解和调研分析,参照相关各种资料进行数据库编程实践,在指导老师的知道下,完整相关要求。本系统只有一部分,那就是系统管理员一个身份,即通过系统管理员可以对学生信息进行增加、删除、修改、筛选和排序等操作。对于学生越来越多的当代高校来说,设计这样一款软件非常有必要.关键词:信息管理系统; VC+;Access;学生信息管理系统;MFCABSTRACTThe college students increase faster and faster with the development of information technology in the 21st century. Information of students has become the most important part of student information management, which college staff is focus on. The development of the student information management system what is designed is crucial to improve teaching。The graduation project is a typical Information Management System. The development of this system is divided into two parts which is design of the graphical user interface (UI) and back-end database system。 The graphical user interface is developed and designed by Microsoft Visual Studio C+6。0 development platform。 The information database of student is created by Microsoft Access 2010, so the database should be consistency, integrity and security. First of all, the application type of system should be established in a short time. The second, Needs of the initial prototype iterations, constantly revised and improved. Through the understanding of the aspects of the computer hardware and associated software, we can find the solutions of the present system。 In addition, a basic understanding of the school student information management and research analysis carefully and with reference to the relevant information database programming practice, I completed the relevant requirements with the help of teacher.This system has only one part, which is the system administrator. Administrators can operate student information management system to add, delete, modify, query and selection。 For a growing number of students for the contemporary college, the design of such software is very necessary.Key words:Information Management System; VC+; Access; Student Information Management System; MFC 杭州电子科技大学本科毕业设计目 录1 引言12 概述22。1 信息管理系统概述22。2 信息管理系统32。2.1 信息管理系统的特点32。2。2 信息管理系统应用52.3 学生信息管理系统52.4 Microsoft Visual C+6。0介绍62.5 Microsoft Office Access介绍72。5.1 Access的发展72。5.2 Access数据库的优缺点73 理论研究83.1 性能需求83。2 Access数据库93.3 运行环境93.3.1 硬件环境93.3.2 软件环境104 系统总体设计114。1 系统功能设计114。2 系统数据库设计114。2。1 数据库ER图114.2.2 数据库表格设计与创建114.2。3 数据库环境变量配置134。3 本章小结155 系统详细设计165.1 系统主窗体设计165。2 添加与查询学生信息窗体205。3 创建消息映射215。4 本章小结256 系统演示267 结论29致谢31参考文献32杭州电子科技大学本科毕业设计1 引言学生信息管理系统(Student Information Management System),简称SIMS。在高校人事处理中,有很大一部分工作时关于人事处理的,而人事处理的工作大部分都与学生信息管理分不开的;SIMS是信息管理系统的应用领域之一,它是一个高等教育单位管理学生信息不可缺少的部分,此系统的对于高校的领导者和教职工都是至关重要的,加上当代互联网的发展,是的信息管理系统能够为学生和教师提供更加快捷、更加方便的使用界面,庞大的服务器,也就有非常快速的查询手段和方便的管理方法。在过去,高校几乎都是利用人工方式来进行学生信息管理,用纸介质来存储学生信息,这样会有很多不足。如:效率较低,安全性差,长时间下去会产生大量的纸质的文件和数据,查找,维护起来也需要很大的人力物力,如果不保护好空气温湿度,还容易产生大量的纸质垃圾。诸如这些情况,就足以给学校管理者对学生信息管理带来很大困难,这严重影响了教育工作者的工作效率。 21世纪,计算机科学的日渐成熟,传统的人工模式已经赶不上时代发展的速度,然而使用计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,会减少很多人力物力的开资,以前十个人完成的事情,使用计算机一两个人就能完成。其强大的功能已使人们深刻认识到,互联网时代的计算机技术已进入人类社会的各个领域并发挥着越来越重要的作用。高校利用学生信息管理系统对学生信息进行管理,相对于传统方式有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、数据处理快捷、保密性好、寿命长、成本低、便于打印等。这些优点能够极大地提高管理者对学生信息管理的效率,用计算机设计开发的学生信息管理系统还可以通过功能强大的互联网网及时的向学生的家长传递该生在校的成绩动态、学习表现等情况,有助于学校与家长的沟通与交流,为更好地把握学校的教育方针起到了一定的促进作用。因此,开发这样一款学生信息管理系统软件成为很有必要而且有意义的事情。2 概述2。1 信息管理系统概述计算机的应用在国外的发展开始于20世纪五六十年代,那时候计算机处于计算机技术启蒙阶段,各方面都非常简单,国外利用计算机来处理一些生活中最简单的工作,有数值的计算、日志的记录等等一些单纯的运算和控制指令。然而信息管理系统是在70年代才提出来的,它是一门新兴的学科,一门集管理科学、系统科学、及计算机科学为一体的综合性学科,那时候主要研究的是企业中领导者对员工信息管理的各个方面,管理者管理过程中通过分析数据,分析相应的对策,用来提高员工的工作效率和为下一步计划做决策。经过五十多年的研究和发展,计算机在处理信息管理方面发展非常迅速,也非常成熟.如今发达国家80以上的信息处理与财务工作都是由计算机来管理和完成的.人事管理中百分之八十的信息处理由计算机完成;计算机应用管理发展较快的国家中,计算机应用于经济管理的占百分之八十以上;用于科技计算的占百分之二十,用于生产过程控制的则会更多;由此可以看出,信息管理是计算机应用的主要领域之一。而且现当代,国外已将计算机信息管理系统用到了高校教育管理系统中来,而且目前已经达到了相当成熟的地步,给当今科技教育文化的发展起到了巨大的促进作用.从目前形势来看,美国依然是世界上计算机技术最先进的国家,不论是软件还是硬件等高科技都非常成熟,达到非常高端的地步了。Microsoft Visual C+1,2是微软公司推出的开发Win32环境的程序软件开发平台,面向对象的可视化集成编程系统。它不仅具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计等集成交互操作、还以可开发多种程序等优点,而且通过简单的设置就可使其生成的程序框架支持各种大型数据库接口、Socket编程、3D控制界面等等。Microsoft Office Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统.它是微软Office软件里的一部分。2010年5月12日,最新的微软Office Access 2010在微软Office 2010里发布,微软Office Access 2007 是前一个版本.Office2010既可以在PC端和笔记本上使用,还可以作为Web程序使用在手机客户端平台上。为了方便大家学习和使用,还提供了更加友好的API,安全方面也有了很大的提高,第三方浏览器可以通过Office Communication Web Access完整访问Office Outlook Web Access.这些开发和应用工具被世界各地不同语言的国家应用,使用方便、丰富了人们的日常生活,提高了工作的效率。软件开发人员或者软件“架构师可以使用Microsoft Access3开发应用软件,“高级用户”可以使用它来构建软件应用程序。Office成员之间可以相互套用,利用宏也可以让你更方便的操作数据,它可以与Visual C+软件设计平台联系起来完成更多的功能。由于我国历史发展的种种因素,计算机信息管理在我国推广是在十九世纪七十年代,发展相对较晚,我国的信息资源建设水平远远落后于国外信息基础设施的建设水平。长期以来,我国信息资源的开发管理并没有与国际信息资源的增长和发展同步;即使我国地大物博,资源丰富,由于计算机技术的落后,很多信息和数据都没有的到良好的利用,使用率远远低于计算机技术发达的国家,大量的有价值的资源并没有的及时的被加工成商品利用起来。信息管理系统的开发是从1973年开始的,83年以后才正是开始大量的进行信息管理系统软件实际的开发和研究工作,但是专业很缺乏。因此,信息资源的开发和利用被确立为国民经济信息化发展的核心内容,而信息的数字化,网络化是缩小发展中国家与发达国家差距的捷径之一,当世界信息化浪潮正以不可阻挡之势席卷全球时,我们要迎接而上。 虽然国内计算机管理的发展较晚,不过经过四十多年的发展,国内的计算机信息管理技术的发展也不断的、逐渐的向成熟.更何况我国不仅仅是一个工业大国,也是一个教育大国,教育领域的发展与提高更需要用信息化时代的高兴技术来管理和推动。特别是微型计算机的出现和普及,还有互联网的发展,为信息处理提供了物美价廉的手段,对于推动我国管理信息处理现状化提到了重要作用。如今,我国几乎所有的高校都有自己的学生信息管理系统4,方便了高校管理者对学生信息的管理,方便了学生通过学生信息管理系统随时了解自己的学习情况,为老师和教职工提高了非常大的工作效率,减轻大部分负担。希望学生信息管理系统能向中小学,以及山区科学技术不够发达的地方推进,全面提高我国教育水平,当然这需要长期的发展。2.2 信息管理系统2.2.1 信息管理系统的特点从现代信息化时代来看,信息管理系统在企业中的特点存在三要素:人、计算机、和数据。这是最基本的。无论是教育机构、IT还是高科技企业,都存在并离不开这三个要素。人是指企业领导团队、人力资源部人员、研发人员、技术人员以及销售和维护人员,以及MIS(Management Information System 简称:MIS)相关建设的领导机构和实施机构,他们在整个系统中起着主导作用。MIS是一项系统工程,不仅仅靠一些计算机开发人员就可以轻易完成的,必须有企业各层管理人员,尤其是企业领导的积极参与,才能使得软件发挥特定的优势或作用。计算机技术是MIS(管理信息系统)得以实施的主要技术。在这些技术中,软件开发是MIS开发的重点。 第三个要素也是不容忽视的。企业的数据库管理是MIS正常运行的基础。各项管理制度是否正常是MIS建设成功的基础。计算机在全球的发展非常迅速,已经被应用于几乎所有的领域,农业、工业、特别是高科技的应用,而且在计算机软件的应用中,人机界面已经发展成为一个重要的庞大分支。MIS人机界面设计一般遵循以下一些规则:(1)界面设计核心是通信功能:人与计算机之间能友好的交流就是因为人机界面。首先,人通过输入设备湘计算机输入信息指令时很自然;其次,计算机通过处理返回给人的结果信息必须正确,以至于不会引起误解和混乱;最后,人机界面不要与计算机内部的计算算法处理等混淆在一起,以免互相之间产生干扰,影响计算机响应速度。 设计MIS时,针对系统每一个部分功能,都应该按照模块化思想来设计开发,使信息的输入、处理与输出非常清晰明确,人机界面的通信功能优势才得以充分体现。这样设计出来的程序才不易出错,而且易于维护和管理。报表打印是MIS必备的功能之一,而且打印之前要连接驱动器常常需要计算;虽然消耗时间,但对整个MIS系统的维护非常有必要.(2)界面必须始终一致 统一的人机界面可以减少用户操作过程中容易出错的负担,让用户思考和操作都始终用同一种简洁的方式.同一套操作命令和方法在不同的平台下或环境下都应该同样的展现出来。例如:可以以问号图标表示帮助,以磁盘图标表示存盘,以打印机图标表示打印等等。(3)随时掌握运行进展情况 软件用户通过人机界面随时能够看到软件运行的进度。尤其是需要长时间计算等待时,不然会因为误判导致用户错误操作,必须让用户知道或看到工作的进度情况,如可以通过设计进度条表示工作已经完成了百分之多少。目前,Windows下的应用软件无论大小,这一点几乎所有的安装程序都已经做到了。同样,开发MIS软件时,这一点很值得借鉴和学习. (4)界面友好。使用方便 多数MIS软件的数据输入量相当大。因此,对于一些相对固定的数据,不应让用户频频输入,而应让用户通过下拉列表等一些界面方式用鼠标轻松选择。例如,人事管理系统中的“文化程度是相对固定的数据,其值一般取“小学、“初中”、“高中”、“大专、“中专”、“本科”、“硕研”、“博研等。录入这类数据之前,MIS软件应在相应位置弹出一个列表框或选项框,用户通过鼠标点击来选择需要的选项内容,而不应让用户每次都输入这些汉字。 总之,所开发的MIS在使用过程中,应使用户的数据输入量降至最低限度减少用户的干预量,也能减少错误率,提高工作效率。实践证明,用户干预愈少,MIS系统的满意程度愈高。2。2。2 信息管理系统应用信息管理系统相对来说是一个很大的概念,随着计算机技术的发展和成熟,互联网的发展迅速,信息管理系统在各个领域都有了不可替代的位置.如:银行、农业、工业、金融、电子、通信、IT、教育,都离不开计算机互联网的信息管理系统,对一个企业来说,资金、物资、人、能源、信息是5大重要资源。其中人、物资、能源、资金这些都是可见的有形资源,而信息不一样,它是一种无形的资源。在传统社会里,人们比较看重有形的资源,进入信息化社会和知识经济时代以后,信息资源显得越来越重要,因为信息资源能够决定能否有效的利用所拥有的物资资源。信息资源是人类与自然环境的斗争中创造的知识总结,要想更好地利用有形资源,就一定要掌握信息资源,使有形资源发挥更好更大的效益,因此信息管理系统是重要的资源。信息管理系统可以通过对企业客观外部和内部情况的了解来做出正确的判断和决策。所以,决策和信息有着非常密切的相关联系.过去需要凭着经验来解决问题的决策常常会造成一些决策的失误,现在有了信息管理系统,就越来越明确信息是决策性基础。利用信息管理系统来控制整个企业的生产过程、销售过程、服务过程,也可以靠信息的反馈来不断修正或改变已有的计划,依靠信息管理系统来实施管理控制。如果在控制过程中出现了差距,有很多事情不能很好地得到控制,其根源是没有很好地掌握全面的信息资源.教育机构或企业和外界的联系,以及企业内部各职能部门之间的联系也可以通过信息管理系统来互相沟通。因此,让各个部门之间有一个良好的工作沟通,是整个企业能够良好的协调工作就要依靠信息管理系统.所以要想组织好内外沟通,没有信息管理系统就不可能使内外得到良好的沟通和联系,使内外更加协调。况且大学生的不断扩招,学生人数不断的增多,更多的学生信息仅仅通过纸质的人工管理会带来人力物力的增加,而且更新不方便,产生大量垃圾,效率低,安全性低.信息管理系统可以避免这些问题的发生,当然也存在一些需要改进的缺点和不足.2。3 学生信息管理系统学生信息管理系统5是针对学校人事处的大量业务处理工作而开发的管理软件,主要用于学校学生信息管理,总体任务是实现学生信息管理的系统化、科学化、规范化、人性化和自动化,其主要任务是对学生的各种信息通过计算机和互联网进行日常管理,如查询、修改、增加和删除,当然还有学生选课,学生社团活动,社会活动等等,针对这些要求设计了学生信息管理系统6。推行学校信息管理系统的目的是进一步推进学生学籍管理规范化、电子化和提高义务教育水平。学生信息档案的管理对于学校管理者来说至关重要,学生信息是任何一所高等学校非常重要的一项资源,是一个教育单位或培训机构不可缺少的一部分。特别是近几年来,国家政策的调整,我国高等院校,不论是大专、本科、中专等高校都大规模的扩招学生,给高等院校的教学管理、学生管理、后勤管理等工作方面都带来了非常大的冲击.其包含的数据量大,涉及的人员面广,资料变动周期短,而且需要及时更新,故较为复杂,很难单纯地依靠人工管理来完成,目前在我国还有相当一部分高校对学生信息档案管理仍然处于纸介质的基础上,尤其是中、小学对学生档案的管理更是落后,这样的档案管理方式已经不可能适应信息化时代发展的要求,其管理方法将浪费许多人力和物力,而且效率低,易出错。系统是针对学生信息管理过程中的特点需要,实际功能需求而设计的,为了能够让学生信息得到信息化的管理,减轻高校管理者的工作负担,提高工作效率、少量的人力资源能够完成大量的学生信息管理,并且避免人为操作时的易出错和不规范的行为。这样一来,开发一个学生信息管理系统可以给高校人事处或管理者带来事半功倍的效果,既可以提高工作效率,也可以提高教育水平。目前存在着许多学生信息档案管理系统,各个高校和IT软件开发公司也有很深的研究,几乎每一个高校都有自己的学生信息管理系统,但是这些系统也存在一些地域性的问题,每一个学校或部门开发的学生信息管理系统都是针对高校自己的实际情况而开发的,因此大多数只能在本地区或本学校指定区域使用,在别的地方使用则会暴露出很多缺点,这样即造成资源的浪费,也缩短了软件使用的寿命.应用学生信息管理系统的优势主要表现在:可以方便地存放历届学生信息档案,不需要太多的物理空间,管理更为安全,高校;只需要一到两名管理员就可以完成对学生信息的管理,节省大量人力;可以迅速查询、修改、删除、或更新学生信息。2.4 Microsoft Visual C+6。0介绍Visual C+ 6。07是一个可视化集成开发环境(integrated development environment IDE)。它由许多组件组成,如:编译器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。因为其他版本一定的局限性,该开发环境只适用于少数操作系统中,因此,更多开发者都用Visual C+6.0.Visual C+ 6。08以拥有“语法高亮”、自动编译功能以及高级排除错误功能而著称。比如,他允许用户通过局域网等进行远程调试、执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序.其编译及创建预编译头文件(stdafx。h)、最小重建功能及累加连结(link)著称。这些特征明显缩短程序编辑、编译及连结的时间花费,在大型软件计划上尤其显著。由于C+是由C语言发展起来的,因此编译环境也支持C语言的编译。Visual C+ 6.0是Visual C+9家族所有版本中使用最广泛的一个版本,它功能非常强大,界面友好,有大量的C或C+程序使用Visual C+ 6。0编译而成,虽然将来Visual C+ 2008会成为最流行的编译器,并毫无疑问地取代Visual C+6.0,但是,前人的程序中包含了大量优秀的思想精华,为了更加有效的继承和利用这些精华,我们至少应该能够进入Visual C+ 6.0中查看和编译这些代码,这样才能更好的学习,还有一种情况,在软件后期维护或售后服务里,公司极有可能让你去维护和修改一个使用Visual C+6.0编写的程序,因此要想励志成为一个优秀的Visual C+程序员,学好Visual C+6。010是非常重要的基础。虽然此版本是使用最多的版本,不过也有缺点,如:对于模版的支持比较差.现在最新补丁为SP6,不论你是什么操作系统,推荐大家安装一下,否则易出现编译时假死状态。仅支持Windows操作系统。目前发现与windows 7兼容性不好,安装成功后可能会出现无法打开“cpp文件的现象。2。5 Microsoft Office Access介绍2。5。1 Access11的发展Access是微软公司推出的基于Windows的桌面管理数据库管理系统,是Office系列应用软件之一。当时在另一个内产品Microsoft Office家族,微软公司应用的Visual Basic。两个数据库进入信息库COM组成部分被提供:这笔遗产数据存取物体(DAO),用进入和新只可提供ActiveX数据对象(忙乱)。Access数据库系统是一个关系数据库系统,它是作为Windows图形用户界面的应用生成器被设计的,从出现到现在,经历了长期的发展过程。Microsoft Access一般情况下被较小规模的工程项目应用,对于大的工程并不好设计。如今最新版本是2010已经发布,用户界面更加人性化,而且操作更加方便,这也是本次设计主要使用的数据库版本。2。5。2 Access数据库的优缺点(1)数据库过大时,一般Access12数据库达到100M左右的时候性能就会开始下降。(2)如果用户量太大,点击率过高或点击频率过快会引起数据库问题.(3)Access数据库安全性没有Oracle和sqlServer等数据库强.(4)Access论坛大了以后就很容易出现数据库方面的问题,数据库响应的时间会占据大部分浏览论坛的时间,很不方便工作和学习交流。一般症状是所有涉及数据库的页面,突然间就开始运行很慢,涉及HTML和纯ASP运算的页面都正常,等过一段时间(约10分钟或更长)以后又突然恢复。这个时候你可以用一般ASP探针测试一下,如果服务器的运算时间正常,一般就是数据库方面的问题了。3 理论研究人类社会经济在飞速的发展,同样人们的生活质量在随着经济的发展不断地变化和提高,特别是计算机与互联网的应用普及到经济和社会生活的方方面面,人们的生活开始依赖于信息化时代的计算机互联网。这样一来,一些传统的管理方法会越来越不适应人类社会的发展需求.很多人仍然还停留在之前的人工劳动时期,这样的方式大大地阻碍了社会经济的整体发展,也越来越跟不上社会的脚步.为了适应现代社会人们高度强烈的时间观念,学生信息管理系统13软件为学校人事处办公室带来了极大的方便。本毕业设计所开发的这个系统所采用的就是信息化社会较为流行的编程软件Microsoft Visual C+6。0作为实现语言,以微软的Microsoft Office Access2010作为系统的数据库后台操作,其功能在系统内部有源代码直接完成。我们只需要系统要求输入即可操作。需求分析是一个渐进的过程,通过开发人员和用户的不断交流,根据实际生活和工作中的需要,逐步加深对系统功能和性能的认识,并且加以细化、分解软件需求。需求分析是软件开发过程中系统的推理过程,涉及到各个领域问题以及其组成部分,模块实现的功能,目的在于理解需要什么和必须做什么,并将用户的需求用书面的形式表达出来,使得开发人员在开发软件过程中更加清晰明了。3.1 性能需求高校里,在管理学生过程中,学生信息的管理占有重要的地位,它关系到学生的基本信息,包括学生的学号、班级、姓名、性别等。对于学校来讲,对学校学生的变动和统计有着重要的管理作用.本系统根据学生信息管理系统14例子,结合学生信息管理世纪流程需要,需要实现以下功能:能够对学生有关资料信息进行添加、查询、修改、删除和筛选;能够为学校提供强大的查询功能,以便管理人员了解和掌握学生的具体情况;能够对数据库和登陆记录进行清理;新增用户,修改学生信息。图3-1 系统结构为了保证系统能够长期、安全、稳定、可靠、高校的运行,学生信息管理系统应该满足以下的性能需求:(1)系统处理的及时性和准确性系统处理的准确性和及时性是系统的必要性能.在系统设计和开发过程中要充分考虑系统当前和将来可能承受的工作量,使系统的服务器的处理能力和响应时间能够满足学校对信息处理的需求。(2)系统的开放性和系统的可扩充性开发学生信息管理系统的过程中,应该提前考虑好以后软件的可扩充性。我们可以通过系统的开放性来实现这一点,只要系统使用过程中符合一定的规范,可以根据实际应用适当的增加和修改软件的模块和功能,人性化设计,系统硬件配置,是用户使用起来更加方便灵活.(3)系统的易用性和易维护性如果不是软件开发人员,则对学生信息管理系统使用就没那么熟悉,因此,一个良好的系统应该有良好的图形用户界面接口,让用户非常清晰明了的知道软件怎么用,那些按钮实现那些功能;对软件中自定义的术语进行统一的讲解。通过帮助文档的形式来是学习者或使用者更快的学会使用,缩短用户对系统熟悉的过程.3.2 Access数据库(1)数据处理的准确性正确的数据格式输入是数据处理之前的准备,错误的输入数据类型会导致计算错误,从而输出也会出错,最后结果不是预期想要的,这样,系统研发就没有任何意义了.数据是通过数据输入设备用手工方法输入数据的,不可能不会出错,因此,设计时还应该考虑到系统的容错性,如此出错率才得以降低. (2) 数据的一致性与完整性任何系统对数据处理的要求都是非常严格的,学生信息管理系统也不例外,因为学生信息的处理非常频繁,因此要有一定的人员专门为数据进行维护,保持数据的一致性,数据的去向要得到有效的控制,并且要求对数据库的数据字段完整性进行严格的约束。对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据. (3)数据的独立性学生信息管理系统不可能只有一种用户,设计软件是应该针对不同的用户分配不同的使用权限,相互之间不会干扰,每种用户只对自己的功能进行操作,进入系统的每一种权限只有一部分特定的用户界面提供使用。3。3 运行环境3。3.1 硬件环境(1)客户端硬件要求:中央处理器:PIII500 MHz以上处理器;内存:512M以上内存;硬盘:40G以上可用硬盘空间;其他:鼠标、键盘;(2)应用服务器端硬件需求:中央处理器:PIII500 MHz以上处理器;内存:512M以上内存;硬盘:80G以上可用硬盘空间;其他:鼠标、键盘;(3)数据库服务器:同应用服务器3.3。2 软件环境服务器操作系统:Windows XP以上;开发工具:Microsoft Visual C+6.0;数据库:Microsoft Office Access 2003以上;4 系统总体设计4.1 系统功能设计在本学生信息管理系统中,主要以单纯的学生信息管理为主,系统中主要包含的功能有:查看、增加、删除、排序、筛选等功能.单机添加按钮,弹出添加信息对话框,输入学生的学号、姓名、班级和性别,单机确定,即可将信息加入Access数据库中。单机删除即可将数据库中相应的数据对象所有信息更改为已删除。此学生就被删除数据库中了.单机筛选按钮,提示输入过滤查询的条件,点击确定,即可筛选出需要的学生信息,点击取消返回主界面。4。2 系统数据库设计逻辑设计数据库的任务是根据数据库概念设计的结果,设计数据库的概念模式和外模式,这是数据库结构设计的重要阶段.外模式和概念模式是用户所看到的数据库,是应用程序访问数据库的接口。首先将概念以及结构转化为一般的数据库关系模型;然后将转换来的数据库关系模型向特定DBMS支持下的数据库模型转换;最后对数据库模型进行优化.4。2.1 数据库ER图图4-1 学生信息ER图4.2.2 数据库表格设计与创建MATLAB是国际公认的优秀数学应用软件,它用于数值计算和图形处理的应用软件,它包括了数值计算、矩阵运算、信号处理、图形显示、可视化建模拟仿真和实时控制等功能,并且有大量的函数库可供使用。(1)学生信息表(student):学生信息表格用于存储学生的基本信息,其中字段包括(学号、姓名、性别、班级)。表4-1 学生基本信息数据库表字段内容字段名称数据类型长度主键或外键索引备注学号学号Number默认主键有自增姓名姓名Text50性别性别Text50班级班级Text50(2)创建数据库表格打开Microsoft Office Access 2010,2003版的和2010版的界面不一样,如图42所示:图4-2 打开Access(3)选择“创建”菜单下的“表格”,即可创建一个数据库表格,因为本次设计的数据表格只有一个,因此,只需创建一个数据库表格就可以了。如图4-3所示:图4-3 创建表格(4)然后添加相应数据字段,按照设计的数据库表格student的数据格式,设置各个字段的数据类型和格式以及数据长度,将表格名字改为student,向表格中插入一些用于测试的数据,方便调试和运行以及演示的时候用.如图44所示:图4-4 插入数据(5)数据库表格创建完成,在保存的时候将表名改为“Students,也方便记忆,将其保存到相应的目录下即可。4.2.3 数据库环境变量配置(1)添加ODBC数据源:打开电脑“控制面板”,找到“管理工具”选项打开,找到“数据源(ODBC)”。如图4-5所示:图45 添加数据源(2)点击“添加”,即可进入添加用户数据源,如果是其他的数据库(如Mysql,Oracle等)也可以再此处设置。相当于设置数据库环境。如图46所示:图4-6 选择Microsoft Access Driver(*.mdb)(3)选择“Microsoft Access Driver (*。mdb)”双击,进入ODBC Access安装。如图4-7所示:图4-7 选择数据库(4)自定义填写数据源名为“student”和说明(可中文),系统数据库可以选“无”,也可以选“系统数据库”,此处我们没有创建系统数据库,可选可不选.然后点击“选择”,如图48所示:图48 选择数据库students。mdb(5)找到刚刚创建的数据库students.accdb,单机确定,返回ODBC Microsoft Access安装对话框,单机确定可以看到ODBC数据库管理器里面有了student用户数据源。如图4-9所示:图4-9 完成数据库设置(6)数据库环境变量搭建配置成功,记住刚刚填写的数据库名称,在项目创建时需要连接.点击“确定”即可.4。3 本章小结学生信息管理系统是直接面对当代高等学校学生的,而是用学生信息管理系统的人员不一定对计算机的使用非常熟悉,这样一来,就要求系统能够提供良好的人机交互界面。然而,要实现这一点,就必须要求设计者将系统尽量设计成用户熟悉的术语和中文信息的界面;针对用户使用过程中可能出现的问题,要提供足够的帮助,缩短用户对系统熟悉的过程,操作的简单化.学生信息管理系统涉及到的数据是每一个高校里非常重要和关键的信息,因此,系统要有方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时如何进行数据恢复等工作.本章主要是数据库的设计和创建,每一个信息管理系统,都有数据库部分,数据库是信息管理系统的重要组成部分,在创建数据库和配置环境时,必须考虑到数据库的安全性与一致性等因素,Microsoft Office Access 2010相对于2007版本和2003版本并不稳定,毕竟我使用的是试用版,因此,我用Office Access 2010创建了数据库.ER图的分析与student表格的物理设计可以使我们在软件开发和设计中更加明确思路,按照格式给各个相应的按钮或时间创建相应的映射,得到想要的结果。5 系统详细设计根据系统需求分析和功能模块的设计结果,采用VC+6.0来实现各个模块的功能。本系统采用基于对话框的设计方法来实现,会尽可能详细地介绍每一步的实现过程,对每一步的实现的依据进行详细的讲解。5.1 系统主窗体设计主程序界面是应用程序与其他功能模块的连接平台,根据实际使用的需要,本系统仅仅实现对学生信息管理中的增加、删除、排序与查询操作,其中添加于查询操作需要新的对话框图形界面。在创建系统工程项目之前,要设置数据库连接的路径与文件。先启动Visual C+6.0。(1)单机菜单栏中的“File”,选择“New”命令,打开“New窗口,选择窗口上部的“Project”选项卡,选择选项卡下的“MFC AppWizard(EXE)。填入工程名称,单机“确定按钮,便将MFC AppWizard启动起来。第二部时会出现选择数据源,如下图:图5-1 添加数据源(2)点击Data Source进入数据源设置,根据第三章数据库环境搭建时选择的数据库表格名称“student”,因为我使用的数据库是Access,因此选择ODBC下拉列表,对于Snapshot、Dynaset、Table三个选项将在下文接着作详细解答。如图52所示:图52 选择数据源在ODBC下拉列表框里选择第四章里面创建的数据库student.在“Recordset type”中有三个选项:Snapshot(快照:它是当前表的一个静态视图。表被打开之后,表中的所有数据马上被载入到应用程序中。其他用户或程序对表的修改只有在下次打开表时才会体现出来 ,看不到其他用户对表的即时修改,因此它是静态的。Snapshot适用于用户查询信息(例如生成报表等)而不适用于数据编辑)、Dynaset(动态集:这个选项创建指向所求的每个记录的实际指针.只有屏幕需要显示记录时,才从数据库中提取数据。这种方式的好处就是动态、即时的浏览到当前记录。而其他用户也会即时看到你对记录的修改.该选项适合于创建用户要花费很多时间来编辑数据的应用程序,并且,如果正在编写大型数据库应用程序,他也是最佳选择)、Table(表:表方法(仅适用Dao访问数据库是可用)把所做查询的内容放进一个临时表。这样做不但减少了从服务器下载的信息量,还意味着程序员有了更大的灵活性,因为可以直接操作临时表字段和记录。但缺点是你看不到别人的修改.适用DAO的用户会执行同等数量的数据查询和数据编辑时,它是最佳选择)。在此选择Dynaset选项,单机OK按钮完成数据库搭建。回到主界面之后,单机Finish完成工程创建)。(3)然后进入图形界面设计,向图形用户主界面上添加编辑框(编辑框也叫文本框,是一个用户从键盘输入和编辑文字的矩形窗口,应用程序可以从编辑框中获得用户所输入的内容)、命令按钮(可以触发某个命令的执行.要注意的是,这种按钮不会被锁定,相应过后会自动弹起,恢复原状)、静态文本框(静态文本框用来在对话框中标注其他控件。之所以称其为“静态”文本框,是因为它一般不发出或相应消息,也不参与用户交互,主要起标注作用。)、等控件。静态文本框和编辑框包括:学号、姓名、性别和班级。命令按钮与单选按钮有上一条记录和下一条记录以及增加、删除、排序和查询按钮。如图5-3所示:图5-3 主界面(4)对主界面上的编辑框和按钮设置相应的属性,将鼠标放在静态编辑框处,右键选择Properties打开属性对话框。如图所示:图5-4 修改属性(5)将ID修改为自己容易记忆的或者方便项目系统管理的名字,这样在之后建立类变量是也可以用同样的命名方式,不易出错,而且易于调试和修改错误。四个静态编辑框命名规则如表51所示:表5-1 静态对话框对应属性名表ID标题IDC_EDIT_XueHao学号对应的编辑框IDC_EDIT_XingMing姓名对应的编辑框IDC_EDIT_XingBie性别对应的编辑框IDC_EDIT_BanJi专业班级对应的编辑框(6)设置按钮属性时,ID和Caption都要设置,其中Caption一般设置为功能名字,可以任意设置,为了人性化和简单化,在此设置为中文的如:添加、删除等.如图55所示:图5-5 设置属性(7)按钮也要进行相应的编辑设置,命名规则与设置“静态编辑框”时类似,展现出控制按钮能实现的功能最好,命名如表52所示:表5-2 按钮对应属性名表ID标题IDC_BUTTON_ADD添加学生信息IDC_BUTTON_Delete删除学生信息IDC_BUTTON_PaiXu对学生信息按学号排序IDC_BUTTON_ChaXun通过学号查询学生信息IDC_BUTTON_pre上一条记录IDC_BUTTON_next下一条记录IDC_BUTTON_first第一条记录IDC_BUTTON_last最后一条记录(7)为每一个编辑框绑定数据源字段:选定一个编辑框,点击右键,建立类向导(ClassWizard),选择成员变量标签(Member Variables),在class name列表下选择CStudentSystem3Set(数据库的结果集).首先将Member中不好记忆或不方便我们项目管理的“变量名通过右侧“Delete Variable”删除,再点击“Add Variables添加,改为自己好记的名字。图5-6 创建类变量(8)如果需要更改数据源可以选中“Member”,然后点击Update Columns弹出数据源设置对话框重新设置,这与创建数据库环境变量时的表格添加是一样的。如图56所示:图56 绑定变量(9)将Class name切换到CStudentSystem3View添加成员变量,此时只需要在“下拉列表里选择对应的字段数据源即可.完成操作后编辑运行就可以看到,Access数据库里面的数据已经可以再编辑框里显示了。图57 运行主界面5。2 添加与查询学生信息窗体当主界面单机添加按钮时,需要弹出一个对话框,对话框中包括学生的学号、姓名、性别和班级等编辑框信息,当然也包括确定与取消控制按钮.(1)在添加学生信息是需要一个对话框,用于添加学生信息。添加对话框的方法:Microsoft Visual C+6.0主菜单,点击“Insert”,选择“Resource”,如图58所示“Insert Resource”界面:图58 新建对话框(2)点击New即可创建一个新的对话框,然后添加学生基本信息字段对应的静态文本框和文本编辑框,如果需要细化具体的功能设置,可以点击加号选择您所需要的对话框类型。如图59所示:图5-9 添加界面(3)建立类向导,同样游记编辑框,选择“建立类向导进入设置页面,按对应的数据,绑定好刚才设置好的数据变量,并且绑定好。此处不需要添加类变量了,在“下拉列表”里选择就可以。如图5-10所示:图5-10 添加类变量(4)双击添加学生信息对话框的“确定”按钮,添加如下代码:void CDialog_addStudent::OnOK() UpdateData();if (m_XueHao=0|m_XingMing=m_XingBie=m_BanJi=”)MessageBox(”请输入完成的数据!);return;CDialog:OnOK();(5)用同样的方式添加查询学生信息窗体,只是根据学生学号来查询学生信息。学号是long类型的,因此只能是数据类型数据,而且不能超过long能承受的最大值。如图511所示:图5-11 查询窗体5.3 创建消息映射(1)双击“主界面”上的“添加按钮”,添加如下代码:void CStudentSystem3View:OnButtonAdd () CDialog_addStudent DialogAdd;if (DialogAdd。DoModal () =IDOK)m_pSet-AddNew ();m_pSet-m_XueHao=DialogAdd.m_XueHao;m_pSetm_XingMing=DialogAdd.m_XingMing;m_pSetm_XingBie=DialogAdd。m_XingBie;m_pSet-m_BanJi=DialogAdd.m_BanJi;m_pSetUpdate();/更新记录集m_pSetRequery();/重新提取数据m_pSetMoveLast();/移动下一条记录UpdateData(FALSE);/更新视图(2)此时需要在“CStudentSystem3View.cpp中添加头文件“include ”Dialog_addStudent.h,这样程序才能正常运行,否则编译时会出现一个错误。如图所示:图512 添加头文件(3)双击“删除”按钮,删除可能不会显示的像添加那么明显,但是我们可以通过刷新数据库来看到结果。添加如下代码:void CStudentSystem3View:OnBUTTONDelete () bool b=0;if(IDYES=AfxMessageBox(”确认删除?”, MB_YESNOMB_ICONQUESTION))m_pSetDelete ();b=1;MessageBox(”删除成功!”);m_pSetMoveNext ();UpdateData (false);(4)双击界面上的“排序”按钮,添加如下代码:void CStudentSystem3View:OnBUTTONPaiXu () m_pSet-m_strSort=学号”;/按学号查找 m_pSetRequery (); UpdateData (FALSE);(5)双击向前查询按钮“上一条,添加如下代码:void CStudentSystem3View:OnBUTTONpre () UpdateData (FALSE);if (! m_pSet-IsBOF ())m_pSetMovePrev (); else MessageBox(已经是第一条记录!”);UpdateData (FALSE);(6)双击“第一条”按钮,添加如下代码:void CStudentSystem3View:OnBUTTONfirst () UpdateData (FALSE);m_pSet-MoveFirst ();UpdateData (FALSE);(7)双击“最后一条按钮,添加如下代码:void CStudentSystem3View:OnBUTTONlast () UpdateData (FALSE);m_pSetMoveLast ();UpdateData (FALSE);(8)双击向后查询按钮“下一条”,添加如下代码:void CStudentSystem3View::OnBUTTONnext () UpdateData (FALSE);if (! m_pSetIsEOF ()m_pSet-MoveNext (); el
展开阅读全文