时间:2022-05-30 04:25:49
序论:写作是一种深度的自我表达。它要求我们深入探索自己的思想和情感,挖掘那些隐藏在内心深处的真相,好投稿为您带来了一篇学生信息管理系统论文范文,愿它们成为您写作过程中的灵感催化剂,助力您的创作。
摘要:根据学生信息管理系统的设计要求,提出符合要求的设计方案。同时,针对不同的模块,利用C语言进行程序的编写与程序调试。最终,将所有的模块进行整合,进行调试,设计出符合要求的学生信息管理系统。
关键词:学生信息管理系统;C语言;结构体;函数定义;指针
一、引言
本篇文章是对针对学生信息管理系统的设计的有关内容而展开的C语言编程的论述。目的在于锻炼C语言程序设计的熟练度和技巧性。毋庸置疑,程序语言的编写已经成为一种必须具备的基本素质之一。在信息高速发达的今天,掌握一种甚至几种程序语言的编写对自身将来的发展是大有裨益的。
学生信息管理系统是一个比较庞大的系统,程序编写起来是比较繁杂的。首先,需要在设计之前,做到整体了解,主要把握设计要求;其次,确定具体的设计方案,根据确定的方案,编写代码,完成局部功能;再次,模块综合,将设计的模块综合在一起,完成系统的设计;最后,调试,检测,增强系统的鲁棒性。
二、设计要求
不同的学生信息管理系统所囊括的学生信息是不尽相同的。因此,对学生信息的囊括程度决定了信息管理系统的繁杂程度。由于系统每个功能对应着相应的程序段,因此,对信息管理系统功能的深刻认识对于程序的编写时尤为重要的。
该学生信息系统的设计要求如下:(1)能够对学生的成绩信息进行创建;(2)可以对该系统中学生信息进行浏览;(3)能够根据不同的关键字对系统中的学生信息进行查询;(4)必要时能够将系统中的学生信息删除;(5)在录入学生信息错误时,可以对该学生信息进行修改;(6)试用文件夹来对数据进行保存
三、程序设计
(一)算法分析。在这里需要用到结构体和函数的有关知识。所谓结构体,即由一系列具有相同类型的数据构成的数据集合。除此,之外还要进行相关函数的定义。如主菜单void mainmenu();打印信息void print();等等系统中需要的功能。同时,还需要囊括C语言中基本的函数库,如stdio.h、stdlib.h、malloc.h、string.h。
(二)各模块程序设计。1.用户选择主菜单。对于用户选择界面的设计,针对“选择”这一动作的设计是运用switch()语句来实现的,其中要实现对选择项选择完毕后的跳出,break语句起到重要的作用,针对每一个case语句后面跟上一个break语句,这样就可以是用户的可视界面发生跳转了,从而实现设计的要求。2.学生成绩信息的录入。针对成绩信息的录入这个子系统,其设计的关键在于对存储空间的申请和对输入信息的获取与保存,同时还要考虑,在某个时刻,录入的新的学生成绩信息。针对这些问题,可以运用malloc函数申请必要的存储空间,同时利用函数scanf()来实现对成绩信息的录入;至于程序的保存可以用到数据结构中链表的有关知识,将每次录入的学生信息插入到链表中,实现数据的保存;与此同时,需要设计一个有关成绩信息插入的新的程序块,运用指针的知识,比较新录入学生的序号,完成学号大的学生先罗列的功能;最后,为了使用户更好的了解自己所输入的信息,可以设计一个printf()语句来实现所输入信息的输出。3.学生成绩信息的浏览。对学生信息的浏览,无疑就是对整个输入信息的一个输出。其中,最关键的问题就是如何实现两个学生信息之间的连接。不能用无穷多个printf()个函数,换言之,也不会知道用户一共会输入多少个学生信息。为了更好的解决问题,可以选用指针的有关知识,通过if语句的判断来实现所有学生信息的输出;同时,运用p=p->next;语句来实现两个学生信息的连接。4.学生成绩信息的查询。该子程序块至少需要两组程序,一组程序实现关键字的选择,另一组则是实现针对该关键字的处理过程的程序编写。其中第一组程序的编写与主菜单程序的编写是基本相同的在此不再赘述;至于第二组程序是由多组程序组成的。其必须包含多个子程序块,但是对每个子程序块的编写思想是完全相同的。5.学生成绩信息的删除。要想实现学生成绩信息的删除要解决两方面的问题,一方面是如何找到满足条件的学生;二是如何实现学生信息的删除;由于涉及到对象属性的问题,那么指针的设计的思想成为了程序设计的关键。同时结合比较函数strcmp(),就可以找到要删除的对象。对于第二个问题的解决就更加的容易了,只要对该学生信息存储的空间进行释放,就可以完成对该学生信息的删除。6.学生成绩信息的修改。要实现对学生信息的修改同样的要解决两方面的问题,一是如何找到要修改的对象;二是如何进行修改。显然,经过对上面程序的编写,第一个问题的解决方案与对学生信息进行删除程序块的设计思想是完全相同的。至于对学生信息的修改,要由学生信息的选择窗口,实现对修改信息的选择;同时运用scanf()函数录入新的信息,并将其覆盖到原存储空间。7.信息的读入与保存。对于文件的写入与写出是一些通用的方法,没有什么特殊的技巧。其中对文件的读取,将用到fopen()函数对文件打开,同时运用fscanf()函数实现对文件信息的读取,最后,用fclose()函数关闭文件;同样的思路可以用在对文件的写入上,只是对文件的写入要用到fprintf()函数,其余思想基本相同。
四、调试结果
将编写好的各模块进行综合,进行程序编写,最终,进行调试。下面将几个重要的调试结果说明如下。
主菜单信息查询菜单信息修改菜单
通过,上面对程序的编写调试。最终设计出基本满足要求的学生信息管理系统。
摘要:论述了基于Web架构,采用ASP技术设计与开发学生信息管理系统的实现方案。提出了用户管理、学生信息管理、成绩管理的设计方法,并对系统的运行环境进行了IIS安全管理设置,对储存到数据库中的用户信息进行加密,采用ADO技术访问OLE DB直接连接的数据库,使数据访问过程简单,访问效率高,从而使整个信息管理系统始终能够高效、稳定的运行和应对比较大的访问流量。
关键词:B/S架构;学生信息管理;数据库
1 引言
如何提高学生信息管理的水平,建立适合自己院校的学生信息管理系统,已成为学校信息化建设过程中堕特解决的重要问题。从实用性和经济性考虑,构建基于Web技术的网络管理平台是当前大多数院校教学管理的一个重要任务和发展方向[1-4]。运用Web技术,建设学校学生信息管理平台,旨在探索一种以互联网为基础的教学管理模式。通过这种新的管理模式,为学院营造一种新的教学管理环境,使管理突破时空限制,提高工作效率和管理水平,使学校管理者、教师和学生可以在任何时候、任何地点通过网络进行学习与交流。
2 学生信息管理系统设计
本系统开发的基本要求与功能是实现学生信息数据包括与学生有关的数据的管理与操作处理,基于Microsoft SQL Server 2000数据库系统的数据管理使该软件有更优异的性能。系统的基本数据流动为用户数据的输入、学生档案信息、课程信息、班级信息、学生成绩信息的输入,以及用户提出的对学生信息的查询和其它要求所产生的数据输出。数据的输入与输出处理流程都依靠数据库的支持。图1是系统的程序功能图。
整个系统只要一个管理员登录入口,所以只要在数据库里建一个管理员表即可,根据不同的管理权限进入不同的后台管理系统对其中的数据进行操作。表1~表4是本系统涉及到数据表。
3 数据库的完整性和安全性
本系统中定义了表与表之间的联系有助于实现完整性规则,一般在程序中实现具体的完整性控制。
3.1 使用数据库完整性约束
为了防止终端用户输入错误的数据,以保证所有数据库中的数据是合法的、完整的。在设计数据库表时采用数据库完整性约束,它是数据库完整性的一种机制,这种约束是一系列预先定义好的数据完整性规则和业务规则,这些数据规则存放于数据库中,具体来说,数据库的完整性约束有以下几种:非空约束(NOTN ULL):缺省值约束(DEFAULT VALUE):唯一性约束(UNIQUE);主键约束(PRIMARYKEY):外部键约束(FOREIGN KEY);规则约束(CHECK)。由于这种约束是加在数据库的表的定义上的,它与应用程序中维护数据库的完整性不同,它不用额外地书写代码,所以代价小而且性能高。
在多用户的Internet/Intranet里,在对多表进行插入、删除、更新等操作时,可能会出现多客户同时操作数据库时带来的“死锁”和破坏数据一致性的问题。为此在设计时采用调用存储过程的方法来解决上述问题。存储过程是由流程控制和SQL语句书写的过程,它是一组经编译和优化后存储在数据库服务器的SQL语句,使用时用户只要调用即可。这种己经编译好的过程可以极大地改善SQL的性能,而且执行速度快,可以大大减少网络通信流量,提高应用系统的性能。由于它是模块化程序,可减少操作出错,从而有效地保证数据的一致性和完整性。
WHTH RECOMPILE执行计划不保存的高速缓存中,每次执行过程需要重新编译ENCRYPTION加密syscomments表的内容,syscomments表中包含CREATE ROCedure的文本,保证无论何时都不删除syscomments表FOR REPLICATION过程在前台执行,不在服务器上执行。
本系统包括数据库的安全和服务器的安全。采用管理员表示和鉴定的方法实现数据库的安全,此安全管理措施并不在前台开发工具中实现,而是在后台数据库中实现。在登录数据库时,系统让管理员户表示自己的身份,不同的管理员权限不同,系统进行核实,鉴别此管理员是否为合法用户,若是,系统进一步核实用户,通常要求用户输入口令,系统和对用户口令以鉴别用户身份。服务器的安全也是通过用户在登录服务器时输入合法的用户名和密码来实现的。这是一种简单可行的方法,实现起来比较方便。没有采用更加复杂的系统安全管理措施是因为本管理系统一般是应用在校园网中,采用安全管理措施主要是为了防止没有修改权限的用户无意间修改了数据,因此采用用户标识和鉴定的安全管理措施就能够保障数据库的安全性。
4 学生信息管理系统的程序实现
系统开发与运行环境确定如下:
体系结构:Brower/Server结构,编程语言:ASP,网络操作系统Windows2000 server、Windows2003 server,数据库操作系统:Microsoft SQL2000,客户端:Windows98/Windows2000/windowsXP。
4.1 成绩管理模块实现
学生成绩查询模块提供了两种查询方式:按考试查询和按科目查询。按考试查询可以在选定考试后,查询某一科或几科的成绩、目标分、是否达标、合格人数、优秀人数、合格率、优秀率等信息。此种方式便于班主任掌握相应考试的考试情况。按科目查询可以在选定科目后,查询某一次或几次考试的成绩、目标分、是否达标、优秀人数、合格率、优秀率等信息。此种方式便于任科老师掌握学生的学习情况。学生成绩修改/删除模块:管理员首先选择查询条件,筛选出符合条件的记录,再进行选择是修改/删除一条记录还是多条记录,并在删除前提示确认信息,以防操作失误造成的数据丢失。计算总分与排名模块:非常实用的一个模块。当各位科任老师将各科成绩录入后,班主任轻点几下鼠标,即可计算出总分、平均分、班级排名与全级排名。学生成绩录入页面如图2所示。
4.2 信息管理模块实现
本模块主要实现对学生信息的录入、查询、修改、删除、打印和班级的设置,下面是这一功能的实现,如图3。
4.3 用户管理模块实现
用户管理(如图4所示)主要是对系统的管理员级别的用户(包括系统管理员、区域管理员和学校管理员)进行管理。
本模块在进行保存用户名和密码时对用户密码进行MD5加密。MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2, MD3和MD4发展而来。Message-Digest泛指字节串(Message)的Hash变换,就是把一个任意长度的字节串变换成一定长的大整数。请注意我使用了字节串而不是字符串这个词,是因为这种变换只与字节的值有关,与字符集或编码方式无关。MD5将任意长度的字节串变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被,篡改。举个例子,你将一段话写在一个叫readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的,抵赖,这就是所谓的数字签名应用。MD5还广泛用于加密和解密技术上,在很多操作系统中,用户的密码是以MD5值(或类似的其它算法)的方式保存的,用户Login的时候,系统是把用户输入的密码计算成MD5值,然后再去和系统中保存的MD5值进行比较,而系统并不知道用户的密码是什么。
当用户注册成功,正式建立一个账号的时候,数据库中就必须为这个用户增加一条记录。以下的程序代码实现了建立一个账号的功能,在页面中,程序要求用户输入账号、密码等信息,然后,将这些信息作为账号信息存入名为UserCount的数据表,在这个表中,用户密码是使用MD5加密保存的。
5 结论
本文的基于Web服务的学生信息管理系统具有如下特点:
采用Browser/Server三层体系结构,使系统具有很好的可维护性和重用性。在本系统的开发过程中采用的是ASP+IIS+SQL Server模式,此模式将明显的把显示和逻辑分离,使代码容易管理,适合于大型项目的开发。中间层使用数据库连接池技术加快与数据库服务器之间的数据处理速度,也加快对客户端响应速度。后台数据库采用的SQL,它功能比较强大,除了可以处理包含在各种平台上运行的数据库管理系统内核之外,还包括了数据复制、数据库系统管理、Internet网关支持、在线分析处理、多媒体支持和各种并行处理能力。
摘要:UML统一建模语言,是软件分析设计中的标准语言,可用于软件分析、设计和实现的全过程。该文试图通过学生信息管理系统开发实例的设计,经过用例建模、静态建模、动态建模、代码设计、界面设计等步骤,介绍如何应用UML的方法设计和开发一个软件模型,从而提升软件设计人员和客户之间交流水平,加快软件开发进程,提高软件开发质量。
关键词:UML;学生信息管理系统;用例建模;静态建模;动态建模
1 引言
随着社会经济的发展和人民生活水平的提高,信息产业的相关技术得到了突飞猛进的提升。而计算机软件作为信息产业技术的一个重要方面,也应不断更新,从而符合产业发展的需求。这就要求软件设计人员在软件开发过程中能够更加人性化、友好化,从而提高软件设计人员和客户之间交流水平,加快软件开发进程,提高软件开发质量。
1.1 UML的简介
Unified Model Language(简称UML),是一种面向对象的可视化的标准建模语言。运用UML中的图形符号可以表示系统中的对象及其之间的关系,从不同的角度描述待开发的系统,并进行相应的语法检查和一致性检查,保证系统模型的完整性。同时,在软件系统的分析和设计中,UML的合理运用能对项目开发、团队的合作以及与用户的交流起到重要的作用。首先,UML用图形表示完整的系统,在实际应用时要反复审查和修改。虽然在分析和设计时会耗费一定的时间,但会提高编码的准确性和效率,从而有利于项目的整体开发。其次,目前,诸如像Rational Rose这样的建模工具,可以将UML模型直接转换为高级语言代码,从而节约了软件开发的时间、减少了软件代码的错误率。最后,UML作为面向对象的分析和设计技术具有与人的思维方式一致、稳定性好、可重用性好、可维护性好等优点,能大大提高系统开发的效率和质量。
1.2 UML产生背景
早期的面向对象的建模语言具有如下不足之处:
首先,面对众多的建模语言,用户由于没有能力区别不同语言之间的差别,因此很难找到一种比较适合其应用特点的语言;其次,众多的建模语言实际上各有千秋;第三,虽然不同的建模语言大多类同,但仍存在某些细微的差别,极大地妨碍了用户之间的交流。因此在客观上,极有必要在精心比较不同的建模语言优缺点及总结面向对象技术应用实践的基础上,组织联合设计小组,根据应用需求,取其精华,去其糟粕,求同存异,从而触发了UML(统一建模语言)的产生。
1.3 UML的建模机制
UML是一种面向对象的可视化的标准建模语言,以图形符号表示系统中的对象及其之间的关系,从不同的角度描述待开发的系统。UML提供了5类、9种模型图:第一类,用例图:从用户角度描述系统功能,指出各功能操作者,为需求分析提供标准化手段;第二类,静态图:描述系统静态结构,类或对角的属性、操作和相互的关系,是建立动态模型的基础,主要有类图、对象图、包图;第三类,行为图:描述系统动态模型和组成对象间交互关系,有状态图、活动图;第四类,交互图:描述对象间交互关系,有顺序图、合作图;第五类,实现图:包括构件图和配置图。
UML的建模过程主要有以下几个步骤:
1) 建立需求模型。即从功能需求出发建立用例模型;
2) 建立对象模型,包括静态模型和动态模型。静态模型使用类图、对象图、包图描述系统的对象和对象之间的静态关系,得到系统的对象和对象之间的静态关系,得到系统的整体结构。动态模型使用状态图、活动图、顺序图、合作图等描述系统的对象和对象之间的动态关系,得到系统的运行机制。
3) 建立系统实现模型,使用配置图定义系统的软硬件结构及通讯机制,表示软硬件系统之间的合作关系;使用构件图描述系统由哪些构件组成;
4) 检查模型之间的一致性,通常这个过程需要反复多次才能完整地描述系统;
5) 在构件图的基础上生成开发语言的代码框架。
1.4 UML的应用领域
UML的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。
1) 建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。总之,UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。
2) UML适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。
① 在需求分析阶段,可以用用例来捕获用户需求。通过用例建模,描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。
② 分析阶段主要关心问题域中的主要概念(如抽象、类和对象等)和机制,需要识别这些类以及它们相互间的关系,并用UML类图来描述。为实现用例,类之间需要协作,这可以用UML动态模型来描述。
③ 在分析阶段,只对问题域的对象(现实世界的概念)建模,而不考虑定义软件系统中技术细节的类(如处理用户接口、数据库、通讯和并行性等问题的类)。这些技术细节将在设计阶段引入,因此设计阶段为构造阶段提供更详细的规格说明。
④ 编程(构造)是一个独立的阶段,其任务是用面向对象编程语言将来自设计阶段的类转换成实际的代码。在用UML建立分析和设计模型时,应尽量避免考虑把模型转换成某种特定的编程语言。因为在早期阶段,模型仅仅是理解和分析系统结构的工具,过早考虑编码问题十分不利于建立简单正确的模型。
⑤ UML模型还可作为测试阶段的依据。系统通常需要经过单元测试、集成测试、系统测试和验收测试。不同的测试小组使用不同的UML图作为测试依据:单元测试使用类图和类规格说明;集成测试使用部件图和合作图;系统测试使用用例图来验证系统的行为;验收测试由用户进行,以验证系统测试的结果是否满足在分析阶段确定的需求。
总之,标准建模语言UML适用于以面向对象技术来描述任何类型的系统,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。
1.5 常用的UML建模工具
自从1997年正式UML以后,大量商用UML建模CASE工具不断涌现。CASE 是英文 Computer Aided Software Engineering的缩写,主要是指利用一整套的方法和工具对系统规则进行建模,并自动生成合适的程序。目前常用的CASE工具主要有:Sparx Systems的Enterprise Architect(EA)和IBM Rational的Rational Rose。大体上,EA和Rose在UML建模能力上有相似的功能,但Rose比EA支持更多的语言,如C#、VB等。基于软件的实用性考虑,本文在系统设计过程中将选用Rational Rose 软件。
2 系统分析
2.1 系统功能简述
系科综合管理系统是为了适应现代化学校管理的需要,加快推进我校数字化校园建设、充分利用校园网,利用网络、多媒体等计算机应用技术和手段,提高办公效率、改善质量的高效管理信息系统。
学生信息管理系统是系科综合管理信息系统的重要组成部分。主要用于对学生的基本信息如入学登记、课程、班级、交费等问题进行管理。此系统用户主要涉及主管学生部门、主管教务部门以上层领导。对于主管学生部门的工作人员来讲,需要掌握每个学生的基本情况,新生入学时需要做好学生的入学登记、了解学生的学费交缴情况并登记学生的班级信息,即要掌握学生及班级的所有信息。对于主管教务的工作人员来讲,需要掌握所有专业的公共基础课程、学生的专业课程,并做好学生的所有课程的成绩登记。
2.2 学生信息管理系统的结构
需求分析是定义系统功能及用户界面,使用户知道系统功能,开发人员知道系统的需求。它的主要工作是寻找系统的用例,建立系统需求模型,主要成果是用例图和系统的参与者。下面首先分析一个系统的主要功能。
1) 管理员通过系统管理界面进入,建立学生基本档案、学生交费档案、学生选课档案等,并将所有信息保存在数据库中,同时管理员还能够对以上信息进行添加、删除等基本操作。
2) 学生可以通过使用该系统查询课程、修改用户密码等。
2.2.1 学生信息管理系统的总体结构
为了直观描述学生信息管理系统的各项功能,我们用图1来大体讲述一下该系统的总体架构。
2.2.2 学生信息管理系统各模块的功能描述
在上图学生信息管理系统总体架构的基础上,为使学生信息管理系统的各模块更为清晰,我们接下来分别描述了学生信息管理系统的各模块功能。
1) 系统管理模块
系统管理模块用于对系统的用户的基本信息进行管理,如设定系统使用权限、进行新用户注册、修改用户密码等。它是其它所有模块运行与否的前提条件。
2) 班级管理模块
班级管理模块主要用于对班级的基本信息(名称、教室、班主任等)进行管理,包括添加班级信息、删除班级信息、修改班级信息、查询班级信息等。
3) 档案管理模块
档案管理模块主要用于对学生的档案信息即入学档案(姓名、班级、专业、家庭住址、班主任等)进行管理,包括添加学生入学登记信息、删除学生入学登记信息、修改学生信息、查询学生信息等。
4) 学生交费管理模块
学生交费管理模块是用于对学生所在班级的基本学费、学生应缴学费、学生已缴学费等基本信息进行管理,包括浏览和查询学生以及班级交费信息、添加学生交费信息等。
5) 课程管理模块
课程管理模块主要用于对学生所在班级的公共课程、学生的自选课程等进行管理,包括添加班级基本课程信息、添加学生选修课程信息、删除班级基本课程信息、删除学生选修课程信息等。
6) 成绩管理模块
成绩管理模块主要用于对学生所在班级的公共课程、学生的自选课程等科目成绩进行管理,包括添加学生成绩信息、删除学生成绩信息、查询学生成绩信息、浏览学生成绩信息等。
2.3 学生信息管理系统的基于UML的详细设计
下面利用Rational Rose工具,通过对学生信息管理系统的动态模型、静态模型(包括类图、序列图、协作图)的分析来进行学生信息管理系统的UML建模。
2.3.1 学生信息管理系统的用例建模
学生信息管理系统的用例主要包括对学生基本信息、班级基本信息、学生交费信息、课程信息、成绩信息进行操作的功能。其基本行为者为:管理员、教师、学生,如下图所示。对学生信息管理系统的主体类图进行解释如下:在系统中管理员可以对课程信息、班级信息、学生档案信息、成绩信息、交费信息等进行管理;学生可查询相关基本信息如:个人档案、成绩等;教师可以对所教课程的基本信息进行查询。
1 ) 学生信息管理系统的主体用例图(如图2)
问题描述:管理员(Administrator)可以对课程、学生成绩、学生档案信息、学生交费信息以及系统进行管理。而一般用户(User)包括教师、学生、课程管理员、学生成绩管理员、学生档案信息管理员、学生交费信息管理员等六个部分,其他类是User类的泛化,继承了一般用户类(User)。
2) 班级管理模块的用例图(如图3)
问题描述:班级管理员能够浏览班级信息、查询班级信息、更新班级信息、打印班级信息。班级管理员对班级信息的更新包括添加、删除、修改。
2.3.2 学生信息管理系统的序列图
序列图用于描述按时间顺序排列的对象之间的交互模式,它按照参与交互的对象所具有的基本属性和它们相互发送的消息来显示这些对象。当收到消息时,接收对象立即开始执行活动,即对象被激活了。通过在对象生命线上显示一个细长矩形框来表示激活。消息可以用消息名及参数来标识。消息也可带有顺序号。在时序图的左边可以有说明信息,用于说明消息发送的时刻、描述动作的执行情况以及约束信息等。下面是对学生信息管理系统的序列图的描述。
1) 添加用户序列图(如图4)
问题描述:管理员登录系统主窗体;单击“系统管理”菜单及“添加用户”选项;加载“添加用户”主窗体;输入用户基本信息;交信息提交到数据库;更新数据库。
2) 档案添加序列图(如图5)
问题描述:用户登录系统主窗体;单击“档案管理”菜单及“添加档案”选项;加载“添加档案”主窗体;输入学生基本信息;将信息提交到数据库;更新数据库;返回窗体。
2.3.3 学生信息管理系统的协作图
协作图用于描述相互合作的对象间的交互关系和链接关系。虽然时序图和协作图都用来描述对象间的交互关系,但侧重点不一样。时序图着重体现交互的时间顺序,协作图则着重体现交互对象间的静态链接关系。协作图中对象的外观与时序图中的一样。对象间的链接关系类似于类图中的联系。通过在对象间的连接上标志带有消息串的消息来表达对象间的消息传递。Rose工具具有能够直接将设计好的序列图转化为协作图的功能,其具体实施步骤为:双击待转化的序列图,利用菜单栏中的Browse菜单,接下来选择Create Collaboration Diagram选项。转化部分结果如下:
1) 用户登录协作图 (如图6)。
2) 添加用户协作图(如图7)。
2.3.4 学生信息管理系统的类的关联图
类图描述类和类之间的静态关系,在系统的整个生命周期都是有效的。与数据模型不同,它不仅显示了信息的结构,同时还描述了系统的行为。类图是定义其它图的基础。在类图的基础上,状态图、协作图等进一步描述了系统其他方面的特性。通过分析类与类之间的关系,我们知道在上述设计的学生管理系统的功能描述中涉及到管理员类(Administrator)、学生类(Student)和教师类(Teacher),由于上述三个类具有相近的属性,因此建立一个基本类(User),包括Name、Password、Sex、Department、Username五个属性,管理员类、学生类、教师类是基本类的泛化,继承了基本类。除此之外还应设计一些控制对象,例如登录(FrmLogin)、添加用户(FrmAddUser)等。具体关联如图8。
3 结束语
结合学生信息管理系统的功能,通过Rational Rose 软件的使用,从用例图、序列图、协作图和关联图的抽象描述构建出满足软件功能要求的软件模型,从而提升了软件设计人员和客户之间交流水平,加快了软件开发进程,提高了软件开发质量。
摘要:管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。 该系统是在 JAVA环境下采用“自上而下地总体规划,自下而上地应用开发”策略开发出的学生信息管理系统。通过分析学校学生管理的不足,创建了一套行之有效的学生信息管理方案。学生信息管理系统的系统分析部分,包括可行性分析、业务流程分析等;系统设计部分主要介绍了系统功能设计和数据库设计及代码设计;系统实现部分说明了几个主要模块的算法。本系统界面友好,操作简单、实用。
关键词:管理信息系统;整体架构;数据库;学生管理;JAVA应用
本系统是用JAVA语言开发的一个学生信息管理系统,为学校学生信息的管理工作效率带来了一个质的飞跃。系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。
本系统主要包括学生信息查询、教务信息维护和学生选课三部分。其功能主要有:1)有关学籍等信息的输入,包括输入学生基本信息、所在班级、所学课程和成绩等;2)学生信息的查询,包括查询学生基本信息、所在班级、已学课程和成绩等;3)学生信息的修改;4)班级管理信息的输入,包括输入班级设置、年级信息等;5)班级管理信息的查询;6)班级管理信息的修改;7)学生课程的设置和修改。
1 相关技术
系统采用B/S架构实现。在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。
1.1 系统整体架构
系统整体结构上分为:数据层、应用层、展示层。
数据层 主要由像Oracle或SQL Server等大型数据库作为底层支撑完成数据的存储和访问,数据层是系统建设的关键部分。
应用层 提供完整的系统功能实现,是系统建设的核心部分。应用层将学生基本信息管理、教师信息管理、课程信息管理等的逻辑实现。系统采用JAVA语言编写应用层,完全可以满足快速高效的处理需求。
展示层 用于提供用户操作界面,要求界面布局合理、分格清晰明朗、操作方便快捷。
1.2 系统采用的技术
JAVA语言是目前企业级应用中使用频率最高的开发语言,JAVA语言有安全、简单、“一次编译、导出运行”等特点,在保证系统功能完善、性能稳定、安全可靠的前提下维护简单,而且迁移方便。JAVA语言具有简单、面向对象、体系结构中立、小巧健全、快速等优势。
本系统所有动态实现全部采用JAVA技术,方便后续系统的升级扩展、服务迁移等工作。
1.3 采用MS-SQLSERVER2000数据库
考虑到系统长期使用数据量的增加,以及系统升级的需要,拟采用MS-SQLSERVER2000数据库作为数据层支持。MS-SQLSERVER2000是目前企业级应用最为普遍的数据存储系统,相比其它大型数据(如Oracle)有性能稳定、管理简单、环境要求低等特点。
1.4 采用JSP进行前台展示
JSP事实上也是JAVA语言,但JSP是将JAVA语法和HTML等前台页面语法结合,以达到动态展示数据的功能。JSP有编写简单、调试方便,而且,JSP借助强大的JAVA语言,具有很高的处理效率。
1.5 采用Tomcat中间件提供Web服务
Tomcat是目前免费Web服务器中使用最多的一种,有体积小、安装容易、配置简单、便于管理等特点,使用Tomcat完全能够满足不同的应用系统服务。
2 系统功能实现方案
2.1 系统总体设计思想
本系统在设计时遵守“操作简单、结构清晰”原则,以解决实际问题为目标,避免繁杂多余的代码。
数据库设计简单明了,充分使用了“主键”、“外键”功能,既避免字段重复出现,又保证了数据一致性。
系统中的各项数据关系,都可以通过设置完成,尽量避免在系统中使用“固定值”来表达数据间关系,方便系统以后升级。数据库连接同样采用配置文件的方式,方便迁移部署。
2.2 系统操作流程
管理员设置系统用户;管理员设置本校教师信息;管理员设置本校班级信息,并为班级指定班主任(教师);管理员设置本校所有课程信息;教师添加本班级学生;教师添加本班级学生所要学习的课程;教师添加本班级学生的学习成绩;学生成绩查询。
2.3 系统用户及权限设计
用户信息管理维护是本系统的基础工作,依据系统设计思想并结合实际情况,本系统的用户分为三种:管理员、教师、学生,各自权限描述如下:
1)系统管理员:系统管理员登录后,可以对系统用户以及本校教师、班级进行管理。管理员只能进行系统基础信息维护,不能进行学生成绩信息的添加、查询。
教师信息由管理员维护,如果教师离职或因其他原因不在职时,需要对该教师信息进行禁用。
班级信息也由管理员维护,班级信息中通常需要指定班主任,班主任信息来自用户信息中级别为“教师”的用户。
课程信息也由管理员维护。
2)学校教师:教师登录后,可以对本人负责班级进行课程设置和班级学生成绩维护、成绩查询。教师无权查询非本人负责班级学生的成绩。
3)学生:学生登录后只能查询本人各课程的成绩,无权修改。
2.4 系统各功能模块的实现
1)用户管理:用户信息包括了用户名称、密码、用户真实姓名、用户级别等。为了便于操作及管理,将所有用户的信息存入一个数据库表,表结构详见附录:数据库表结构中的“用户表”。
用户信息中“管理员”和“教师”信息由管理员维护,“学生”信息由各班主任维护。每个用户只能属于一个级别,对于“学生”用户需要指定班级信息。管理员可以对“学生”基本信息进行修改,但不能将“学生”用户设置成其他级别的用户。
系统在初始状态下只有一个“管理员”用户,用户名:admin,密码:1234。
系统用户状态分为正常和禁用两种,只有处于“正常”状态的用户才能正常使用本系统。考虑到数据完整性要求,为了保存历史数据,对于一些需要停止而又不能删除的用户,可以进行“禁用”处理,不做物理删除。对于确实需要删除的用户,系统也提供了物理删除的功能。在删除用户前必须先删除与用户相关的其他信息,如删除学生时必须首先删除该学生的成绩。
2)课程管理:对课程信息的操作包括以下部分:
课程信息维护 课程的添加、修改等维护工作由管理员完成,管理员有权设置课程当前是否有效。只有设置成“正常”的课程才能被各班级采用并且录入学生成绩。课程表结构详见附录:数据库表结构中“课程表”。管理员负责学校所有课程的维护,不负责各班级选修哪些课程。
班级课程设置 各班级的课程设置需要由各班级班主任完成。课程设置时,系统会自动列出当前所有有效的课程供选择。教师有权设置自己负责的班级的教学课程。教师取消某一课程不会影响到已经录入的该课程的学生成绩,被取消后的课程在下一次成绩录入时将不会被显示。教师应按实际情况进行课程设置。各班级对应的课程信息存入“班级课程表”中,通过“班级id”和“课程id”关联,表结构详见附录:数据库表结构中“班级课程表”。
3)班级信息:对班级的操作包括以下部分:
班级信息管理 班级信息的维护由管理员完成。设置班级信息时可以设置班主任也可以不设置,班主任信息来自用户中级别为“教师”的用户。管理员有权设置班级是否“毕业”。设置为“毕业”后的班级将不能进行“课程”、“学生成绩”的录入维护,只能查看成绩。班级表结构详见附录:数据库结构中“班级表”信息。
4)学生成绩:对学生成绩的操作包括以下部分:
学生成绩录入 各班主任负责本班学生成绩的录入。系统保留每名同学每个课程的最新成绩,即:如果需要修改成绩,则只需要重新录入该学生对应课程成绩即可。成绩录入时,系统只会列出当前学生所属班级所选的所有有效课程,成绩只能填数字。学生成绩数据存入“学生成绩”表,通过“用户(学生)id”和“课程id”关联,表结构信息详见附录:数据库表结构中“学生成绩表”。
学生成绩查询 教师登陆后查询本人负责班级所有学生的成绩。学生登陆后只能查询本人的成绩。
5)其他:用户登陆时,首先判断输入的用户名、密码是否正确,如果正确,系统会根据用户级别的不同显示不同的功能;否则,系统自动返回到登陆界面。
用户退出时,系统会有一个提示确认过程,以避免误点。确定退出后系统返回登陆界面。
3 结束语
本管理系统功能全面、易于日后程序更新。具有数据库管理容易、界面友好、操作方便、效率高、安全性好等优点,是一套在学校日常管理中必不可少的管理软件。
[摘 要] 因为高校学生信息自身所存在的诸多特点,导致建设高校学生信息管理系统的过程中的难度明显上升,所以当前的系统建设过程中,出现了诸多的问题,例如对于信息系统的设计定位依然是基于传统的职能部门方面。针对所出现的这些问题,应当构建高校学生信息管理系统平台,并且确保面向的用户是高校学生,以求高度集成高校的学生信息,并且实现学生信息的共享,从而确保高校学生信息管理系统能够更加适应多种环境,并且可以基于学生信息提供各项服务。
[关键词] 高校;学生信息管理系统;问题;现状;发展措施
1 高校学生信息管理系统建设的过程中所存在的诸多问题
1.1 信息系统的设计依然是根据传统职能部门进行定位
当前高校学生信息管理系统的设计依然是基本按照传统的职能部门进行定位,其管理模式是多头管理,导致学生信息的存储很是分散,每个部门在进行信息的录入的时候,互相之间缺乏沟通,使得高校学生信息管理系统数据出现频繁的重复存储。同个学生,其信息数据存在偏差以及所谓的“信息孤岛”的情况出现。就目前状况而言,学生的课程信息以及学生成绩信息和学籍变动方面的信息都是由教务处负责汇总录入和管理的;而且图书馆、就业处等职能部门也能够和有义务收集学生的信息。所以综合这些可以看出,尽管各个部门互相收集的学生信息都是各自需要的,并且主要热荻疾幌嗤,但是从计算机的角度来看,这种行为必定会导致大量的学生信息出现重复,而且还会导致学生信息数据存在大量偏差。
1.2 高校学生信息管理系统所存储的学生信息不够完善和全面
一般而言,高校学生在入学前,其所在的高中学籍档案是高校的学生信息最为开始的来源,但是这些信息的载体往往都是纸质版的。而当学生参加高考时候,会采集部分电子信息,这些电子信息才是构成学生电子档案的基础信息,其存在内容极少的情况,对于学生的实际基本情况,电子档案是无法完全和细致反映出来的。很多高校对于入学后的学生采集的信息只包括基本的学习信息、课程成绩信息、奖惩信息第一季学历信息等,而诸如班级的日常管理信息、勤工俭学信息等各种辅助类的信息,都是不会录入高校学生信息管理系统中去的。并且很多高校中,都是分部门对学生信息进行存储的,在学生的信息平台中是无法看到这些信息的的,导致信息的使用者无法对学生的全部情况详细完整的了解。
1.3 缺乏促进高校学生信息管理系统建设的统一
因为缺乏的标准,导致各所高校学生信息管理系统互相之间存在较大的差异性。第一是对学生信息的收集内容以及范围不尽相同,例如部分高校所采集的学生信息只是学籍信息,但是部分高校所采集的学生信息则是较为全面,而且即便是所采集信息的类型相同,其在数据的结构上也是存在差异的;第二是构建高校学生信息管理系统所需要的软硬件要求不一,例如不同的高校所使用的数据库以及硬件参数各不相同。
1.4 没有强有力的支撑促进高校学生信息管理系统的建设
1.4.1 没有精神支撑力促进高校学生信息管理系统的建设
因为很多高校从上到下对于学生信息的管理重视程度不足,导致无法从精神层面强力支持信息系统的建设,所以很多情况下,各个部门在进行学生信息的录入时候都不够认真彻底,甚至学生在对自己的信息进行填写的时候也较为随意,这些都是未来进行高校学生信息管理系统建设所面临的问题。
1.4.2 没有资金支撑促进高校学生信息管理系统的建设
开展高校学生信息管理系统的建设,是必须要依赖大量硬件设施,如果在资金上存在问题,那么就无法购买先进的硬件设备,而且也无法选择可以适合本高校发展的信息系统软件,无法开展日常的信息系统管理工作,最终使得高校学生信息管理系统建设形同虚设。即便是前期投入大量的资金完成了高校学生信息管理系统的骨架建设,但是如果后期没有资金继续投入,信息系统无法正常运行,自然也就无法达到设计的目标。目前,很多高校都把教室、宿舍以及校园环境的建设作为工作重点,在高校学生信息管理系统上的资金投入则较为不舍,从而渐渐造成较大影响。
1.4.3 没有人才支撑促进高校学生信息管理系统的建设
高校学生信息管理系统的建设成功与否直接受到工作人员自身计算机水平、素质水平以及工作态度等因素的影响,如果只是单纯的继续使用原来负责录入学籍、管理档案的人员进行学生信息的录入,进行高校学生信息管理系统的操作和维护,而不请专业的管理人员参与管理,则信息系统势必会处于半瘫痪甚至瘫痪的状态,高校学生信息管理系统完全无法发挥出应有的作用。
1.4.4 没有技术支撑促进高校学生信息管理系统的建设
当前高校学生信息管理系统还处于初期阶段,很多都是使用计算机简单替代手工录入学生信息而已,数据库的构建也是基于较为简单的VF和Access技术,如果只是拿来简单办公,这些技术可以满足要求,但是这些技术远不能满足复制的信息系统运行。
当前很多高校进行学生信息的存储依然是用Excel,即便是部分高校使用SQL Server技术的大型数据库进行学生信息的存储,也经常会面临信息超载的情况。
2 构建面向用户的高校学生信息管理系统平台
高校学生信息管理系统平台汇总,主要有学生和高校的各个职能部门两类用户,可以把高校各个职能部门以及学生看作是信息的输入端,同时也可以被定义为信息的输出端,换而言之,学生和高校的各个职能部门可以使信息提供者也可以是使用者。
在信息系统的输入端,由学生登录到信息系统的界面,然后输入各种基本的学生信息,这些信息属性基本都是被固定化的,学生只需要根据实际情况选择对应的内容即可。课程管理模块由教育处登录系统平台管理,对于学生成绩的录入,按照学生的学号进行。教程模块、救助模块以及勤工助学模块等都由学生处登录系统平台管理,其对于奖惩情况、勤工助学情况以及救助情况的录入都需要按照学号进行学生的查询确定。就业模块由学生和就业处分别登录进行录入和管理。进行学生的基本信息以及派遣信息的输入。系统平台汇总的日常管理模块以及班级管理模块则是由学院负责登录管理,进行学生在大学四年学习以及学院的生活中基本表现情况的录入。系统平台的辅助信息模块则是由图书馆、校医院以及公寓管理中心进行登录和信息的录入管理。
高校学生信息管理系统的处理系统和数据存储部分使用的技术是数据仓库技术,数据仓库实质上是数据集合,其特点是面向主体、集成、相对稳定并且能够对历史变化进行反应,在管理决策的支持上效果显著。通过对数据仓库的选择应用,能够确保分析和查询更加的高效和便捷。此外还能够帮助信息使用者对信息进行查询,并且在此基础上做出决策,以及开展数据挖掘技术。
在信息系统的输出端,构建人机系统界面,确保友好易懂,高校的各职能部门以及学生都能够访问系统平台中的查询与打印模块,可以按照不同的学生信息,进行各种学生相关信息的查询,并且能够与打印机关联,按照需求进行打印。
基本的系统一般的组成结构是输入、处理、输出以及外部环境等,在高校学生信息管理系统平台中,内部支撑就是外部环境,其支撑力主要包括如下几种:第一是来自高校领导和教师对于信息建设重要性的认识,提高其精神层面支持;第二是保障信息系统的建设及维护所需要的各项资金,提高其资金层面支持;第三是主动开展信息系统相关人才的培养,提供人才层面支持;第四是应用先进的数据仓库以及信息技术,提高其技术层面支持;通过构建统一健全的规章管理制度,提高制度层面的支持;借助科学的方式收集整理数据信息,提高其管理方法层面支持。
3 结 语
高校学生信息管理系统作为一项工程,存在复杂的特点,而且其中存在的诸多问题,需要广大教育工作者通过持续的实践慢慢进行解决,除了单纯的提升技术之外,更多的是对管理理念进行转变,实现各个部门之间的沟通配合,才能够确保高校学生信息管理系统切实有效地发挥作用,更好的促进高校的发展。