学生信息管理毕业设计

2023-04-01

第一篇:学生信息管理毕业设计

学生信息管理系统设计开题报告

1、开题报告的内容:

本系统是一款资源型管理软件,适用于普通高等教育学生的管理工作,具有丰富,完整,规范的内容和比较完善的功能.是一个适用于高等院校或各类专科学校学生工作管理部门的计算机辅助管理系统,它具备高校学生工作部门的学生管理的日常事务性工作及各类数据的自动化处理功能.从学生的入学档案,学籍档案,学习成绩综合测评,奖学金管理,到学生毕业分配管理的全部业务功能.该系统能够自动地收集,存储,加工处理,查询检索和统计制表,方便有效地提高学生工作办公自动化管理的水平,解决了日常繁杂的数据,文件及历史资料的统计处理的重复性劳动.使过去许多只能定性管理的项目变为定量管理,使传统的由人工事务性管理模式转化为借助现代化技术和手段实现的科学化管理模式,不仅节省人力和物力,提高办公效率,而且使管理的方式从过程管理转变为目标管理,从数量管理转变为质量管理,有助于提高学生工作管理的水平和质量.本系统将采用vb6.0+sql server XX的模式进行开发.vb6.0开发一般应用模块,供管理人员在本地机上完成对数据库的各种修改工作.并且采用了数据访问技术ado,使之能更好地访问本地和远程的数据库;在数据环境方面,允许程序员可视化地创建和操作ado连接及命令等优点,因此,采用vb6.0作为学生信息管理系统的本地开发平台.sqlserver是一个数据库管理软件,提供了强大的数据库访问功能,为数据库管理与分析带来灵活性,因此,采用sql server XX作为学生信息管理系统的后台数据管理工具.

本系统针对学生管理所涉及到的信息,数据及所需完成的各项操作,结合自身的技术水平而开发的学生管理系统(单机版).此系统将主要实现以下基本功能:学生档案管理:可以方便地对学生档案进行浏览,查询,添加,编辑,删除.以学号区别学生,并可以支持多个班级处理.(2) 学生成绩管理:可以自行设置学生所在的年级,科目,并且学生成绩与档案以学号为关键字相关联,有力的保证了数据的完整性. (3)课程管理:可以自行设置课程信息,年级课程开放等情况.(4)班级管理:通过此模块用户可以系统性的设置,修改,删除该班级的基本信息(班级名称,班级人数,班主任),班委任职情况.(5)系统管理:此模块分系统用户管理,系统注册码管理,系统日志管理,用户密码管理以及系统数据库备份和系统数据库还原的功能.对于不同的用户提供了不同的用户操作权限(6)报表功能:根据学生成绩自动生成成绩报表打印

此系统将具有:能提供的学生信息量大,用户界面友好,操作简便,快速等特点.

本页应按开题报告(实施计划)的基本内容要求填写, 填写不下可另附页.

2、开题申请理由:

21世纪全球信息电子化的潮流势不可挡,计算机渗入了社会生活中的各个领域,它的广泛应用给经济和社会生活带来深刻的变革.信息技术不仅改变了人们的工作和生活方式,也在改变教育和学习的方式.我国的教育事业蓬勃发展,升学率普遍提高,各类大专院校规模不断扩大,对于学生管理工作的高效性和规范化提出了更高的要求.作为学校管理工作的一个重要组成部分---学生信息管理,所涉及到的信息量之大,数据之繁琐,可以想像用手工对这些数据进行操作有多么的复杂与繁琐,因此自动化的学生信息管理系统应运而生.

而学生信息管理的工作量非常大,为保证学生管理工作的顺利进行,改善管理手段,有必要开发一套适合高等院校实际情况,能解决实际问题的学生管理信息系统.及时,准确的为管理人员提供学生,班级等各类信息,并提供标准化,查询,修改等管理功能.

为了能够为高校学生信息管理提供一种更加高效,实用的管理手段,为学生信息的存储,统计,分析,交流提供一种更加快捷,安全的信息平台.并且能够减少大量的人工操作,以及在人工操作中由于人为因素而引起的数据错误,保证学生信息数据的安全性和完整性,使学生管理人员能够轻松,正确无误地完成各项工作,结合自身的技术水平,特申请本课题开题.

第二篇:VB课程设计--学生信息管理系统

11111111111111111111111111111111111111111111

要………………………………………………………………………5 前

言………………………………………………………………………6 第一章 为什么要开发一个学生档案管理系统……………………………7 1.1 在教育中用计算机管理学生档案的意义.………………………7 1.2为将来学校上网做好准备……………………..…………………7 1.3 学生档案的设计分析……………………………………………7 第二章 编程环境的选择.…………………………………………………9 2.1开发工具的介绍.…………………………………………………9 2.3关系型数据库……………………………………………………11 2.4 数据库的概念……………………………………………………12 2.5新建一个数据库.…………………………………………………12 第三章 需求分析………….………………………………………………14 3.1 可行性研究………………………………………………………14 3.2 需求分析…………………………………………………………15 第四章 系统总体规划..……………………………………………………17 4.1软件模块结构设计………………………………………………17 4.2数据库设计...……………………………………………………18 第五章 系统具体实………………………………………………………19 5.1 主界面………………………………………………………………19 5.2数据库的实现…………………………………………………………21 5.3 ACCESS与VB的连接………………………………………………22 第六章 测试 …………………………………………………………………24 6.1程序运行界面 如下图………………………………………………24 6.2输入用户名和密码界面………………………………………………26

1 11111111111111111111111111111111111111111111 6.3系统所具备的功能显示界面…………………………………………26 6.4系统管理功能…………………………………………………………27 6.5班级系统………………………………………………………………30 6.6 档案管理……………………………..………………………………32 6.7课程管理………………………………………………………………33 6.8成绩管理………………………………………………………………34 结束语…………………………………………………………………………36 致

谢……………………………………………………………………….37 参考文献………………………………………………………………………38

摘 要

学生档案管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。

经过分析,我们使用 MICROSOFT公司的 VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。

关键字:控件、窗体、域。

摘要:随着中国教育事业的迅速发展,学生的数量日益增加,学生的信息管理也变得日益繁重和复杂。如果想要提高学生信息管理的效率和质量,以适应教育事业的发展,我们就必须对学校内部进行改革和加强学校管理。借助现代信息技术的管理方法,建立学生信息管理系统势在必行。本文通过对一个学生信息管理系统的开发实例,对基于Visual Basic 6.0和SQL 2000的学生信息管理系统进行了分析和研究。

文章首先分析了管理信息系统的概念和特点,介绍了开发工具Visual Basic 6.0和SQL

2 11111111111111111111111111111111111111111111 2000,然后对学生信息管理信息系统进行了需求分析、概要设计和详细设计,在概要设计中进行了数据库的设计,在详细设计中讨论了系统的实现方法和编码。之后对系统测试进行了分析和讨论,功能模块的测试中把登录服务器模块的测试和其他功能模块的测试分开进行,介绍了一种实用的测试方法。最后是介绍系统的总体测试和系统发布。 本文所论述的学生信息管理系统对实现初中、高中和大中专院校的学生信息管理的现代化、

科学化具有重要意义。

关键词:学生信息管理系统;Visual Basic 6.0;SQL 2000 ;C/S模式

Information Management system of student

Based on C/S model

Abstrac: With the quick development of Chinese education, the student’s quantity increasingly increaseses, the student’s status management also becomes increasingly heavy and complicated. If want to improve the efficiency and quality of the student’s status management and adapt the development of the education business, we must to reform the inner school and enhance the school management. So ask for the management method of the modern information technique and eatablish the student’s status management system is imperative. This text analysis and study the student’s status management information system which based on Visual Basic 6.0 and SQL 2000 across an example of student’s status management imformation system.Firstly, the article analyzed the management information system’s concept and characteristics and introduced the development tools Visual Basic 6.0 and SQL 2000 .Then it carried through the need analysis, general design and detailed design for the student’s student status information system.It designed the database in the general design and discussed the realize methord and coding of the system in the detailed design. Then it analysised and dicussed to the system test.It classified the test of registering server mold and the test of other founction mold in the function mold test and introduced a practical test method.Finally it introduced the total test and release of the system. The student’s student status management this text discussing have important meaning to realize the student’s student status manage of junior and senior high school. Keywords: Students status management system;Visual Basic 6.0;SQL 2000;C/S model

目 录 前言 1 1 系统开发环境及其工具介绍 2

3 11111111111111111111111111111111111111111111

1.1 系统简介 2 1.1.1 管理信息系统的概述 2 1.1.4 学生学籍管理信息系统概述 2 1.2 系统开发工具及开发环境概述 3 1.2.1 Visual Basic 6.0 的介绍 3 1.2.2 ADO数据访问技术 3 1.2.3 Microsoft SQL Server简介 8

2 需求分析 11 2.1 系统需求 11 2.1.1 编写目的 11 2.1.2 背景及范围 11 2.2 任务概要 11 2.2.1 目标 11 2.2.2 运行环境 11 2.2.3 条件与限制 11 3 系统总体分析与设计 12

3.1 系统分析 12 3.1.1 系统功能的分析 12 3.1.2 系统功能模块设计 12

3.2 数据库设计 13 3.2.1 数据库需求分析 13 3.2.2 数据库概念结构设计 13 3.2.3 数据库逻辑结构设计 15

4 详细设计 18 4.1 学生管理系统主窗体的创建 18 4.1.1 创建工程项目——Student_MIS 18 4.1.2 创建学生信息管理系统的主窗体 18

4.1.3 创建主窗体的菜单 20 4.1.4 创建公用模块 20 4.2 系统用户管理模块的创建 21 4.2.1 用户登录窗体的创建 21 4.2.2 添加用户窗体的创建 23 4.2.3 修改用户密码窗体的创建 24 4.3 学籍管理模块的创建 25

4 11111111111111111111111111111111111111111111 4.3.1 添加学籍信息窗体的创建 25 4.3.2 修改学籍信息窗体的创建 27 4.3.3 查询学籍信息窗体的创建 29 4.4 班级管理模块的创建 30 4.4.1 添加班级信息窗体的创建 30 4.4.2 修改班级信息窗体的创建 32 4.5 课程设置模块的创建 32 4.5.1 添加课程信息窗体的创建 32 4.5.2 修改课程信息窗体的创建 33 4.5.3 设置年级课程窗体的创建 34 4.6 成绩管理模块的创建 35 4.6.1 添加成绩信息窗体的创建 36 4.6.2 修改成绩信息窗体的创建 37 4.6.3 查询成绩信息窗体的创建 37

5 运行与测试 39 5.1 登录服务器模块测试 39 5.2 其他模块的测试 39 5.3 帮助文档的设计 39 5.4 系统测试和打包发行 40

结束语 41 参考文献 42 致谢 43 附录 44

前言

管理信息系统就是我们常说的MIS(Management Information System),在强调管理,强调信息的现代社会中它变得越来越普及。MIS是一门新的学科,它跨越了若干个领域,比如管理科学、系统科学,运筹学、统计学以及计算机科学。[1]在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统。

管理信息系统起初应用于最基础的工作,如打印报表、计算工资、人事管理等,进而发展到企业财务管理、库存管理等单项业务管理,这属于电子数据处理(EDP,Electronic Data Processing)系统。当建立了企业数据库,有了计算机网络从而达到数据共享后,从系统观点出发,实施全局规划和设计信息系统时,就达到管理信息系统的阶段。随着计算机技术的进步和人们对系统的需求进一步提高,人们更加强调管理信息系统能否支持企业高层

5 11111111111111111111111111111111111111111111 领导的决策这一功能,更侧重于企业外部信息的收集、综合数据库、模型库、方法库和其他人工智能工具能否直接面向决策者,这是决策支持系统(DSS,Decision Support System)

的任务。

我国20世纪70年代末有少数企业开始MIS的局部应用。“六五”期间,选择一些大型企业进行MIS的开发试点,其中首都钢铁公司、北京第一棉纺厂、湖北第二汽车制造厂、宁江机床厂等取得了经验。20世纪80年代中后期,在全国性的计算机应用热潮中,许多企业纷纷从财务管理、人事管理等单项应用入手,尝试建立MIS。许多企业,如北京内燃机厂、北京电视机厂、沈阳鼓风机厂、天津渤海无线电厂的MIS初具规模,建立了覆盖全厂的计算机网络。“八五”期间,企业逐步走向市场,MIS建设的目标和需求日益明确。一些企业的系统,如北京第一机床厂、山西经纬纺织机械厂、成都飞机制造公司等都达到了很高的水平,与企业中其他系统集成,形成了CIMS。目前,我国MIS已经有了相当的普及率,几乎覆盖了各个行业及各个部门。

在学校,尤其是在各大高校,对于学生的管理是相当重要,而且也是相当麻烦的,它是学校管理中最基本的一项常规性工作。而长期以来,学校管理都是依赖人工来进行的,面对如此众多的学生信息,其工作量是相当相当巨大的。这样不仅仅浪费了大量的人力物力,而且由于人工管理存在着大量的不可预知性,造成学生信息管理的一些不规范,使得信息

管理陷入“事倍功半”的地步。

开发本系统就是为了解决学校在管理中的一些不规范,使学生信息的管理向着规范化、简

单化、有效化的方向发展。[2] 根据学生信息管理系统的基本流程和高校学生信息管理的实际要求,本系统需要实现以下

功能:

(1) 学生基本信息的录入,基本信息包括学生的基本情况、所在班级、所学课程和成绩等;

(2) 要求在系统中能够对学生信息精心灵活的浏览和查询; (3) 要求在系统中能够对班级信息进行输入、查询和修改等; (4) 要求能够对学校基本课程信息录入、修改和设置等; (5) 要求能够对学生成绩信息进行输入、修改和查询等; (6) 本系统可以提供给管理员或者学生本人使用。对学生类用

6 11111111111111111111111111111111111111111111

6.3系统所具备的功能显示界面

如图

7 11111111111111111111111111111111111111111111

6.4系统管理功能

如图

8 11111111111111111111111111111111111111111111

6.5班级系统

.

6.5.1 班级添加

9 11111111111111111111111111111111111111111111

6.6 档案管理

10 11111111111111111111111111111111111111111111

6.6.1 档案添加

6.6.2 档案查询

11 11111111111111111111111111111111111111111111

6.7课程管理

6.7.1课程设置

12 11111111111111111111111111111111111111111111

6.7.2 课程添加

13 11111111111111111111111111111111111111111111

四、设计结果分析

(1)系统所具备的功能显示界面

14 11111111111111111111111111111111111111111111

15 11111111111111111111111111111111111111111111

16 11111111111111111111111111111111111111111111 (2)结果分析

1、第一步能很好的运行,初始密码就是用户名,只有密码正确才会进入系统。

2、点击在用户界面可以加入新的用户和删除以前的用户,也可以对密码进行修改。

3、在班级管理系统中各个功能都可以实现,可以显示当前系统中所有的班级信息。

4、课程设计一栏中可以添加系统中已经存储的课程和手动的输入课程,可以对课程的信息进行相应的操作。

5、成绩管理功能可以正常的运行,每一个功能都是单独的实现,不会产生混淆。

6、学籍管理是比较难的一部分,在运行了几次才让各个功能更能很好的实现,能够很好的将学生的信息存到数据库中。而且可以对其中的数据镜像相应的操作

17 11111111111111111111111111111111111111111111

五、个人小结

虽然Vb课结束了,但是自己感觉好像没有学到太多的东西,可能是上机的时间比较少吧,还有就是对待这么课的心态不同和老师要求的不严的缘故。

通过写完这个学生管理系统,感到收获很多,不动手就不知道自己的在哪里不懂,在这次作业的完成中遇到了许多自己无法调试的错误,只能请教已经学过了的同学,感觉到自己的知识的缺乏。虽然最后自己把所有的功能都按照预期的编好了,也可以很好的运行,但是其中也有许多的不足,对图像的不理解和不会很好的使用是自己的程序让人感到很呆板,这是需要改进的一大部分。

跟着老师学习了一个学期,自己感觉到学会一些简单的程序编写,至少认识了vb的作用性,这次的大作业,我只能把每一功能当做一个小的程序来编写,不会很好的联系所用的功能,在编写较长的运算时,不能够写好,只能对着书本一个的一个算法尝试,不能脱离课本,有时看着课本也不知道怎么写。

当自己写到难的时候,有点想放弃,感觉太难了,就把自己的程序给别人修改,加工。对其中的控件和文件的概念不是很熟

18 11111111111111111111111111111111111111111111 悉,还有就是数据库,以前没有接触,虽然老师在最后一节课的时候是一步一步的在课堂上讲解的,但是自己操作时,有时不知道在哪个地方编辑。

编完这个程序最大的收获就是将自己不同的和学到的知识重新的联系起来了,又重新的复习了所学的内容,对不同的算法有了新的了解。常用控件和系统对象有了初步的认识,学会利用数据库来存储信息,对上课不知道的多文档界面,在试着编写的过程中有了较大的认识。

总的来说,这一个学期并没有浪费,可以在别人的帮助下做完这个学生管理系统,感到有种成就感,虽然不是很完美,至少自己能够让这个系统完整的运行,其中不足之处,就只好留在自

19

第三篇:学生成绩管理信息系统设计分析的论文

摘要:本文详细介绍了学生成绩管理信息系统的设计思想、主要功能以及实现方法,同时对学生成绩管理信息系统的设计的总体结构进行了分析。关键词:MIS;学生成绩管理信息系统:设计

学生成绩管理走入信息化阶段是教育部门必经的阶段。因为它给学校的管理者和决策者的工作都带来了极大的便利,这种便利表现在它能够让管理者掌握足够的数据信息,同时还能快捷地进行数据的查询。总而言之,应用计算机网络技术设计出一套完整的学生成绩管理信息系统是非常重要的。

1学生成绩管理信息系统的国内外现状

现如今,学校对学生成绩信息的管理工作越来越复杂,再加上学校对学分制、选课制等进行改革,为了减轻管理者的工作压力,制作一套操作简单并且人性化的学生成绩管理信息系统已经成为首要的任务。而国外的许多学校早就已经拥有技术成熟的学生成绩管理信息系统来对学生的各种信息进行管理。我国的学校却很晚才开始走上对学生信息进行信息化管理的阶段。

2学生成绩管理信息系统的设计

2.1系统开发的几项原则

2.1.1实用性利用学生成绩管理信息系统可以直接从学生成绩管理信息系统的数据库中导入学生、教师、课程等相关数据,大大减轻了数据录入工作。

2.1.2便捷性可视化界面被融入到学生成绩管理信息系统中,方便所有的使用者都能够直观地对系统进行操作,而不需要对使用者进行专门地培训。

2.1.3可扩展性本学生成绩管理信息系统采用了模块化的设计,方便以后对其他功能进行扩展。

2.1.4安全性下面有几条安全管理措施:1)对用户进行操作权限的设定,也就是要对不同的用户进行登录、查询数据的限制。2)为了确保输入数据的真实性和可靠性,操作人员应当在操作时输入操作的日期、操作人姓名等关键信息。3)对学生成绩管理信息系统数据库进行相应的安全配置。4)对学生成绩管理信息系统数据库Sa用户设置密码。5)给每个使用学生成绩管理信息系统的用户都进行认证口令加密。6)尽量避免SQL语法的错误。

2.2数据库的设计过程

2.2.1数据库的概要设计设计数据库的过程是针对用户给定的应用环境,来构建最完美的数据库模式,以达到对数据进行科学、有效地存储的目的,满足用户对数据的各种要求。数据库的设计主要针对两个方面,一方面是数据库的行为设计,这层设计确定数据库用户的行为和动作,换句话说,就是应用程序的设计。另一方面数据库的结构设计,即根据设定的应用环境,对数据库的模式以及子模式进行设计。

2.2.2主要数据库表的设计学生信息表(学号,姓名,年龄,班级,年级,家庭住址),其中,学号可作为主键。教师信息表(教师编号,教师姓名,教师教授课程号)。课程信息表(课程号,课程名,课程学分,课程学时)。选课表(学生学号,课程号,成绩)。

2.2.3数据库冗余处理关系数据库有一大优点就是冗余低,但是如果在设计过程中遵循了过高的范式,数据存取的次数和重复度就有可能增加。在存储学生成绩表的过程中,如果只对学号进行输入,就不会产生太大的数据冗余,还能节省空间,但是在输出成绩表的时候还是要从学生基本信息表中取得对应学生的姓名。反之,如果同时输入学号和姓名,虽然会产生较大的冗余,学生成绩管理信息系统采用的是第二种方式来定义数据表,以达到加快数据查询和报表打印的速度,只是在这个过程中难以保证数据更新的一致性和完整性,此时,就可以运用数据库中的触发器或者增加数据完整性约束来解决这一问题。

2.3学生成绩管理信息系统功能设计分析

2.3.1模块需求分析学生成绩管理信息系统总共分为:学生信息管理、课程信息管理、教师信息管理、用户管理、授课管理、选课管理。1)学生信息管理的功能:对学生的学号、姓名、年龄、班级、专业、成绩等信息的增删查改。2)教师信息管理的功能:实现对教师基本信息的增删查改。3)课程信息管理的功能:对课程号、课程名称、课程学时、课程学分等信息的增删查改。4)用户管理的功能:实现对用户信息(用户名、登录密码、用户类型)的增删查改以及对用户的操作权限进行设置。5)授课管理的功能:实现对与教师授课情况有关的数据进行增删查改的功能。6)选课管理的功能:实现对所有学生所选的所有课程信息以及学生成绩信息进行增删查改的功能。

2.3.2系统具体设计设计学生成绩管理信息系统就是为了提供一个能够科学、有效地管理学生信息的平台。在这个平台中,学生只需要登录系统,就可以进行成绩查询、选择课程等操作。以下是对功能的具体分析:1)用户登录功能设计。2)系统管理员功能设计。3)学生用户功能设计。

3结语

近几年来,在学校信息化管理不断发展的过程中,学校为了适应不断发生变化的教学管理工作,学生成绩管理信息系统也应当不断更新其功能,慢慢完善。在信息技术高速发展的今天,学校更应该纳入先进的计算机网络技术,这样,不仅方便对教学数据的管理,也刺激了计算机技术更加迅速地发展。

参考文献:

[1]汤超.学生成绩管理信息系统的设计与实现[J].湖北广播电视大学学报,200x(12):151-152.

[2]李长春,陈智,宁康琪.学生成绩管理系统设计[J].数学技术与应用,201x(3):79-80.

第四篇:大学JAVA课程设计——学生信息管理系统

沈阳理工大学课程设计

沈阳理工大学课程设计

摘要

Java语言是当前最为流行的程序设计语言之一,诸多优秀的的特性使其成为被业界广泛认可和采用的工具。本设计可以帮助同学掌握和应运所学的面向对象程序设计学生学籍信息管理系统的编程内容,培养同学们建立对象模型,处理对象和对象集关系和对图形用回界面设计编程以及文件和流的编程问题的能力,训练同学为解决实际问题而创建较完整的简单面向对象和管理系统编程应运程序的独立编程能力.本设计是一个常见的学生学籍管理系统应运程序.

系统实现的功能: 界面操作实现学生学籍信息的添加、删除、查询、修改功能,在文本文件中的的信息的动态处理。

关键词:

学生学籍管理系统;图形用户界面设计;文件和流;java

I

沈阳理工大学课程设计

目 录

一、课程设计的目的与意义 .......................................................................................... 1

1.目的 .......................................................... 1 2.意义 .......................................................... 1

二、需求分析 .......................................................................................................................... 1

1. 学生学籍管理系统主界面模块 ................................ 1 2. 录入学生基本信息模块 ...................................... 1 3. 修改学生基本信息模板 ...................................... 1 3. 查询学生基本信息模板 ...................................... 1 4. 删除学生基本信息模板 ...................................... 1

三、分案设计 .......................................................................................................................... 3

1. 定义四个Panel面板 ...................................... 3

四、方案的实施 ...................................................................................................... 3

五、心得体会 ......................................................................................................... 15

六、参考文献 ......................................................................................................... 16

II

沈阳理工大学课程设计

一、课程设计的目的与意义

目的:深入理解java语言的语法规则及其优势,掌握类与方法的构造方法,掌 握基于java的各种操作的实现方法,训练对基础知识和基本方法的综合运用能力,增强对算法的理解能力,提高软件设计能力。在实践中培养独立分析问题和解决问题的作风和能力。

意义:熟练运用java语言、基本构造方法和算法的基础知识,独立编制一个具有中等难度的、解决实际应用问题的应用程序。通过题意分析、选择类结构、算法设计、编制程序、调试程序、软件测试、结果分析、撰写课程设计报告等环节完成软件设计的全过程,不断地完善程序以提高程序的性能。

二、需求分析

该学生学籍管理系统的所有功能均在一个Frame窗体中实现。 1.学生学籍管理系统主界面模块:

采用Frame窗体来设置欢迎界面包括背景图片及字幕(可以设计成滚动字幕效果),左上方的菜单条设计成下拉式。包括“录入学生基本信息”、“修改学生基本信息”、“删除学生基本信息”、“查询学生基本信息”和“退出系统”五项菜单项。 2.录入学生基本信息模块:

采用Panel面板来设置该部分内容信息并采用方位布局(边缘布局)和Box轻量级组件来设置“学号”、“姓名”、“性别”、“专业”、“年级”、“出生”,并在该面板中添加了“录入”和“重置”两个按钮进行监听,最后将该面板加入到Frame窗体中去。 3.修改学生基本信息模板:

采用Panel面板来设置该部分内容信息,同样是采用方位布局及Box组件来设置相关信息,并在学号旁设置了“开始修改”按钮。在面板南部方位添加了“确定修改”和“重置”两按钮进行监听。 4.查询学生基本信息模板:

采用Panel面板来设置该部分内容信息,并将该面板加入到主窗体中去,采用边缘布局进行方位设置,在上方加入“查询”按钮进行监听。

5.删除学生基本信息模板:

也是采用Panel面板进行设置相关内容,并用边缘布局进行布局,并在上方添加“确定”按钮,在下方添加“确定删除”按钮实现监听。

三、模块设计

定义四个Panel面板

1.定义Reg(录入学生基本信息)面板

采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box轻量级组件进行布局,在面板的Nother方位添加一个“录入学生基本信息”的标签,并更改字体,颜色等。接着用JTextField轻量级组件来设置单行文本编辑,并将其加入到用

1

沈阳理工大学课程设计

createHorizontalBox()方法创建具有一个从左到右显示其组件的Box和用createHorizontalStrut()创建一个不可见的、固定宽度的组件,使其在一个横向 box 中,通常使用此方法强行使两个组件之间具有某一空间量。然后Box与Box之间用createVerticalBox()创建一个从上到下显示其组件的 Box,并用createVerticalStrut()方法创建一个不可见的、固定高度的组件,使其在一个纵向 box 中,通常使用此方法强行使两个组件之间具有某一空间量。然后在面板的South方位设置“录入”与“重置”两按钮。最后实现与数据库的桥接,能够将从文本框获得的信息存储到数据库中去。

2.定义Search(查询学生基本信息)面板

该部分同样采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box轻量级组件进行布局,在面板的Nother方位添加一个“查询学生基本信息”的标签,并更改字体,颜色等。接着用JTextField轻量级组件来设置单行文本编辑,在学号这一文本框后再添加一个“查询”按钮。并将其加入到用createHorizontalBox()方法创建具有一个从左到右显示其组件的Box和用createHorizontalStrut()创建一个不可见的、固定宽度的组件,使其在一个横向 box 中,通常使用此方法强行使两个组件之间具有某一空间量。然后Box与Box之间用createVerticalBox()创建一个从上到下显示其组件的 Box,并用createVerticalStrut()方法创建一个不可见的、固定高度的组件,使其在一个纵向 box 中,通常使用此方法强行使两个组件之间具有某一空间量。最后实现与数据库的桥接,能够将从数据库中获取信息并显示到文本框中去。

3.定义Modify(修改学生基本信息)面板

该部分同样也是采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box轻量级组件进行布局,在面板的Nother方位添加一个“修改学生基本信息”的标签,并更改字体,颜色等。接着用JTextField轻量级组件来设置单行文本编辑,并将其加入到用createHorizontalBox()方法创建具有一个从左到右显示其组件的Box和用createHorizontalStrut()创建一个不可见的、固定宽度的组件,使其在一个横向 box 中,通常使用此方法强行使两个组件之间具有某一空间量。并在 “学号”该文本框后添加一个“开始修改”按钮用来监听。然后Box与Box之间用createVerticalBox()创建一个从上到下显示其组件的 Box,并用createVerticalStrut()方法创建一个不可见的、固定高度的组件,使其在一个纵向 box 中,通常使用此方法强行使两个组件之间具有某一空间量。最后实现与数据库的桥接,能够将从数据库中获取信息并显示到文本框中去,并将修改后的信息存储到数据库中去。

4.定义Delete(删除学生基本信息)面板

该部分还是采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box轻量级组件进行布局,在面板的Nother方位添加一个“修改学生基本信息”的标签,并更改字体,颜色等。接着用JTextField轻量级组件来设置单行文本编辑,在学号这一文本框后再添加一“确定”按钮实现监听。并将其所有文本框和标签加入到用createHorizontalBox()方法创建具有一个从左到右显示其组件的Box和用createHorizontalStrut()创建一个不可见的、固定宽度的组件,使其在一个横向 box 中,通常使用此方法强行使两个组件之间

2

沈阳理工大学课程设计

具有某一空间量。并在 “学号”该文本框后添加一个“开始修改”按钮用来监听。然后Box与Box之间用createVerticalBox()创建一个从上到下显示其组件的 Box,并用createVerticalStrut()方法创建一个不可见的、固定高度的组件,使其在一个纵向 box 中,通常使用此方法强行使两个组件之间具有某一空间量,还在本面板的South方位添加“确定删除”按钮。最后实现与数据库的桥接,能够将从数据库中获取信息并显示到文本框中去,删除后同时在数据库中也删除该信息并保存该操作。

四、方案的实施

1、学生信息管理系统的登录

学生信息管理系统可由管理员和学生两种身份的人使用。管理员和学生身份登录所能操作的功能有很大的区别。系统初始化一个系统管理员,登录名:admin 密码:admin 学生登录系统的登录名为学号,密码也为学号(如:10001),登录后可以修改密码。

登录界面

登录系统后的界面

3

沈阳理工大学课程设计

注册学生信息界面

4

沈阳理工大学课程设计

修改学生信息界面

查询学生信息界面

5

沈阳理工大学课程设计

删除学生信息界面

6

沈阳理工大学课程设计

1 程序类的设计

DeleteListener.java:删除监听 JTMouseListener.java:树状视图 LoginListener.java:登陆监听 ResetListener.java:重置监听 SaveListener.java:保存监听

SearchAllListener.java:搜索所有学生信息 SearchDListener.java:搜索一个学生信息 SearchListener.java:搜索一个学生信息 SearchRListener.java:搜索一个学生信息 SubmitListener.java:提交信息监听

2 系统的使用说明及环境配置

学生信息管理系统提供了管理员和学生这两个角色登录系统,管理员通过用户名:admin 密码:admin 登录系统后可以进行相应的操作。学生通过以自己的学号(如10001)作为用户名和密码登录系统后进行相应的学生权限范围内的操作。 数据库:Mysql 连接数据库的登录名:root 密码:zfz 代码:

DeleteListener.java:删除监听 package manager.ui.listener;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener;

import javax.swing.JButton; import javax.swing.JOptionPane;

import manager.dao.JdbcIcpCURD; import manager.ui.conponent.DeletePanel;

public class DeleteListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

JButton jb=(JButton) e.getSource();

DeletePanel dp=(DeletePanel) jb.getParent();

String xuehao=dp.xuehaoFd.getText();

String msg= "你确定要删除学号为"+xuehao+"的学生信息么?";

int i=JOptionPane.showConfirmDialog(dp,msg,"提",JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE);

if(i==0){

JdbcIcpCURD curd=new JdbcIcpCURD();

boolean b=curd.deleteByXuehao(Integer.parseInt(xuehao));

if(b){

dp.errorLb.setText("删除成功");

}

else{

dp.errorLb.setText("删除失败");

}

}

return; }

7

示信息

沈阳理工大学课程设计

} JTMouseListener.java:树状视图 package manager.ui.listener;

import java.awt.CardLayout; import java.awt.Component; import java.awt.event.MouseEvent; import java.awt.event.MouseListener;

import javax.swing.JTree; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.TreeNode; import javax.swing.tree.TreePath;

import manager.ui.conponent.MainFrame; import manager.ui.conponent.PLeft;

public class JTMouseListener implements MouseListener {

@Override public void mouseClicked(MouseEvent e) {

// TODO Auto-generated method stub JTree jt=(JTree) e.getSource(); PLeft p=(PLeft) jt.getParent(); MainFrame f=(MainFrame) p.getParent().getParent().getParent().getParent(); TreePath path = jt.getPathForLocation(e.getX(), e.getY()); if(path==null){ return; } DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent(); String s=node.toString(); CardLayout cl=f.getPright().getLayout(); if(s.equals("注册学生")){ cl.show(f.getPright(), "register"); } if(s.equals("修改学生信息")){ cl.show(f.getPright(), "modify"); } if(s.equals("查询学生信息")){ cl.show(f.getPright(), "search"); } if(s.equals("删除学生信息")){ cl.show(f.getPright(), "delete"); } if(s.equals("学生信息管理")){ cl.show(f.getPright(), "welcom"); } }

@Override public void mouseEntered(MouseEvent e) {

8

沈阳理工大学课程设计

} } @Override public void mouseExited(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mousePressed(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseReleased(MouseEvent e) { // TODO Auto-generated method stub } // TODO Auto-generated method stub LoginListener.java:登陆监听

package manager.ui.listener;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener;

import javax.swing.JButton; import javax.swing.JOptionPane;

import manager.ui.conponent.Login; import manager.ui.conponent.MainFrame;

public class LoginListener implements ActionListener {

@Override public void actionPerformed(ActionEvent e) {

JButton bt=(JButton) e.getSource();

Login frame=(Login) bt.getParent().getParent().getParent().getParent();

String username=frame.usernameTa.getText().trim();

String password=frame.passwordTa.getText().trim();

if(username!=null||password!=null){

if("admin".equals(username)&&"123".equals(password)){

new MainFrame().setVisible(true);

frame.dispose();

}

else{

frame.messageLb.setText("用户名或密码错误");

}

}

9

沈阳理工大学课程设计

else{

frame.messageLb.setText("用户名或密码错误");

} } } ResetListener.java:重置监听 package manager.ui.listener;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener;

import javax.swing.JButton;

import manager.ui.conponent.RegPanel;

public class ResetListener implements ActionListener {

@Override public void actionPerformed(ActionEvent e) { JButton jb=(JButton) e.getSource(); RegPanel jp=(RegPanel) jb.getParent(); jp.xuehaoFd.setText(""); jp.nameFd.setText(""); jp.addressFd.setText(""); } } SaveListener.java:保存监听 package manager.ui.listener;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener;

import javax.swing.JButton;

import manager.dao.JdbcIcpCURD; import manager.domain.Student; import manager.ui.conponent.ModifyPanel;

public class SaveListener implements ActionListener {

@Override public void actionPerformed(ActionEvent e) {

JButton jb=(JButton) e.getSource();

ModifyPanel mp=(ModifyPanel) jb.getParent();

String xuehao=mp.xuehaoTf.getText().trim();

String name=mp.nameTf.getText().trim();

String gender=mp.genderTf.getText().trim();

String address=mp.addressTf.getText().trim();

String oldXuehao=mp.xuehaoFd.getText().trim();

if(oldXuehao==null||xuehao.equals("")){

10

沈阳理工大学课程设计

}

} oldXuehao=xuehao; } if(xuehao==null||xuehao.equals("")){ mp.errorLb.setText("请输入修改后的学号..."); return; } if(name==null||name.equals("")){ mp.errorLb.setText("请输入修改后的姓名..."); return; } if(gender==null||gender.equals("")){ mp.errorLb.setText("请输入修改后的性别..."); return; } if(address==null||address.equals("")){ mp.errorLb.setText("请输入修改后的地址..."); return; } Student stu=new Student(); stu.setXuehao(Integer.parseInt(xuehao)); stu.setName(name); stu.setGender(gender); stu.setAddress(address); int old=Integer.parseInt(oldXuehao); JdbcIcpCURD curd=new JdbcIcpCURD(); if(curd.modify(stu, old)){ mp.errorLb.setText("修改成功..."); }

SearchAllListener.java:搜索所有学生信息 package manager.ui.listener;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Vector;

import javax.swing.JButton; import javax.swing.JTextArea;

import manager.dao.JdbcIcpCURD; import manager.domain.Student; import manager.ui.conponent.SearchPanel;

public class SearchAllListener implements ActionListener {

@Override public void actionPerformed(ActionEvent e) {

JButton jb=(JButton) e.getSource();

SearchPanel sp=(SearchPanel) jb.getParent();

11

沈阳理工大学课程设计

}

} JTextArea jt=sp.resultTa; JdbcIcpCURD curd=new JdbcIcpCURD(); Vector students=curd.getAllStudent(); StringBuilder sb=new StringBuilder(); for(Student s:students){ sb.append(" "); sb.append(s.getXuehao()); sb.append(" "); sb.append(s.getName()); sb.append(" "); sb.append(s.getGender()); sb.append(" "); sb.append(s.getAddress()); sb.append(" "); sb.append(s.getRegTime().toString()); sb.append(" "); } jt.setText(sb.toString()); SearchDListener.java:搜索一个学生信息 package manager.ui.listener;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener;

import javax.swing.JButton;

import manager.dao.JdbcIcpCURD; import manager.domain.Student; import manager.ui.conponent.DeletePanel; import manager.ui.conponent.ModifyPanel; import manager.ui.conponent.SearchPanel;

public class SearchDListener implements ActionListener {

@Override public void actionPerformed(ActionEvent e) {

JButton jb=(JButton) e.getSource();

DeletePanel dp=(DeletePanel) jb.getParent();

JdbcIcpCURD curd=new JdbcIcpCURD();

String s=dp.xuehaoFd.getText().trim();

Student stu=curd.searchByXuehao(Integer.parseInt(s));

if(stu==null){

dp.errorLb.setText("没有查询到此学生");

return;

}

dp.xuehaoTf.setText(new Integer(stu.getXuehao()).toString());

dp.nameTf.setText(stu.getName());

dp.genderTf.setText(stu.getGender());

dp.addressTf.setText(stu.getAddress());

12

沈阳理工大学课程设计

} } SearchListener.java:搜索一个学生信息 package manager.ui.listener;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener;

import javax.swing.JButton;

import manager.dao.JdbcIcpCURD; import manager.domain.Student; import manager.ui.conponent.ModifyPanel;

public class SearchListener implements ActionListener {

@Override public void actionPerformed(ActionEvent e) {

JButton jb=(JButton) e.getSource();

ModifyPanel mp=(ModifyPanel) jb.getParent();

String s=mp.xuehaoFd.getText().trim();

if(s==null||s.equals("")){

mp.errorLb.setText("请输入学号..");

return;

}

JdbcIcpCURD curd=new JdbcIcpCURD();

Student stu=curd.searchByXuehao(Integer.parseInt(s));

mp.xuehaoTf.setText(new Integer(stu.getXuehao()).toString());

mp.nameTf.setText(stu.getName());

mp.genderTf.setText(stu.getGender());

mp.addressTf.setText(stu.getAddress()); } } SearchRListener.java:搜索一个学生信息 package manager.ui.listener;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener;

import javax.swing.JButton;

import manager.dao.JdbcIcpCURD; import manager.domain.Student; import manager.ui.conponent.ModifyPanel; import manager.ui.conponent.SearchPanel;

public class SearchRListener implements ActionListener {

@Override public void actionPerformed(ActionEvent e) {

13

沈阳理工大学课程设计

}

} JButton jb=(JButton) e.getSource(); SearchPanel sp=(SearchPanel) jb.getParent(); JdbcIcpCURD curd=new JdbcIcpCURD(); String s=sp.xuehaoTf.getText().trim(); Student stu=curd.searchByXuehao(Integer.parseInt(s)); if(stu==null){ return; } StringBuilder sb=new StringBuilder(); sb.append(" "); sb.append(stu.getXuehao()); sb.append(" "); sb.append(stu.getName()); sb.append(" "); sb.append(stu.getGender()); sb.append(" "); sb.append(stu.getAddress()); sb.append(" "); sb.append(stu.getRegTime().toString()); sb.append(" "); sp.resultTa.setText(sb.toString());

SubmitListener.java:提交信息监听 package manager.ui.listener;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Date;

import javax.swing.JButton; import javax.swing.JLabel;

import manager.dao.JdbcIcpCURD; import manager.domain.Student; import manager.ui.conponent.RegPanel;

public class SubmitListener implements ActionListener {

@Override public void actionPerformed(ActionEvent e) { JButton jb=(JButton) e.getSource(); RegPanel jp=(RegPanel) jb.getParent(); String xuehao=jp.xuehaoFd.getText(); String name=jp.nameFd.getText(); String address=jp.addressFd.getText(); String gender=""; boolean b1=jp.maleRB.isSelected(); boolean b2=jp.femaleRB.isSelected();

14

沈阳理工大学课程设计

if(b1){ } JLabel errorLabel=jp.errorLabel; if(xuehao==null||xuehao.trim().equals("")){ errorLabel.setText("没有填写学号.."); return; } if(name==null||name.trim().equals("")){ errorLabel.setText("没有填写姓名.."); return; } if(address==null|address.trim().equals("")){ errorLabel.setText("没有填写地址.."); return; } if(!(b1||b2)){ errorLabel.setText("请选择性别..."); return; } if(b1){ gender="男"; } if(b2){ gender="女"; } Student stu=new Student(Integer.parseInt(xuehao),name,gender,new Date(System.currentTimeMillis()),address); JdbcIcpCURD curd=new JdbcIcpCURD(); boolean b=curd.insert(stu); if(b){ errorLabel.setText("注册成功!!"); jp.xuehaoFd.setText(""); jp.nameFd.setText(""); jp.addressFd.setText(""); } } }

五、心得体会

我们刚学习java这门课程,对专业的java编程知识并未有深入的学习和探索。但是当我们查找过一些书籍资料后,在不断努力下我们还是把课程设计题目顺利的完成了。通过此次学生学籍管理系统的设计,使我们对java编程语言有了更深层次的了解。不过在编写的过程中也存在一些问题,例如在选择适宜的方法实现修改和删除功能的时候,由于对

15

沈阳理工大学课程设计

数组的理解还不能满足当前的编程需要,并未选择更加简单的数组来处理数据,以至于当删除指定内容后在文本文件中留有空行,从而导致了在接下来的查询异常和再次修改和删除功能无法正常实现,还需人工删除掉文本文件中的空行以保证程序的正常运行。我们也可以选用其他的更加方便的处理方法使得程序更加优化和简洁。

“书山有路勤为径,学海无涯苦作舟”,我们现今所学的知识还远远不够,在今后的学习过程中我们要进一步学习java的更多的知识,此次课程设计不仅锻炼了我们独立思考和团队合作的能力,而且提高了我们动手的能力,我会继续努力学习此课程的。

六、参考文献

1 郑阿奇 编著《Java实用教程(第二版)》电子工业出版社 2 良葛格 编著《Java学习笔记》清华大学出版

16

第五篇:软件详细设计说明书 学生信息管理系统

XXXX大学

软件详细设计说明书

项目名称: 学生信息管理系统

年 级:

专 业:

班 级:

学 号:

姓 名: 指导教师:

日期: 年 月 日

目 录

1 引言 ...................................................................... 1 1.1编写目的 ............................................................. 1 1.2 项目背景 ............................................................. 1 1.3 定义 ................................................................. 1 1.4 参考资料 ............................................................. 1 2 总体设计................................................................... 1 2.1 需求概述 ............................................................. 1 2.2 软件结构 ............................................................. 1 3 程序描述................................................................... 1 3.1 下面对各模块的功能,性能,输入,输出进行具体描述 ..................... 1 3.2 算法 ................................................................. 6 3.3 程序逻辑 ............................................................. 7 3.4 接口 ................................................................. 7 3.5测试要点 ............................................................. 7

1 引言

1.1编写目的

软件详细设计说明书是对系统架构进行详细直观描述,从而完成详细设计,作为软件实现的基础。预期的读者为本项目开发人员和将来对本项目进行扩展和维护的人员。 1.2 项目背景

项目的委托单位: 主管部门:学校教务处

该软件系统与其他系统的关系:与学生管理相关联 1.3 定义

在该概要设计说明书中的专门术语有:总体设计、接口设计、数据结构设计、运行设计、出错设计,具体的概念与含义在文档后将会解释。

1.4 参考资料

《软件工程导论(第6版)》---- 张海藩,牟永敏 编著 出版社: 清华大学出版社

2 总体设计

2.1 需求概述 2.2 软件结构

1、总体结构

2、用户管理模块结构

3、学生档案管理模块结构

4、成绩管理模块结构

3 程序描述

3.1 下面对各模块的功能,性能,输入,输出进行具体描述

1、登录模块

● 功能:接受用户登录请求,验证用户输入的用户名、密码和用户类型,转到管理页面。

1 ● 性能:对用户登录请求在1-2秒钟之内做出响应。

● 输入项目:用户名:字符串型

密码:字符串型 ● 输出项目:合法:进入管理界面。

非法:重新登陆。

2、总体结构

● 功能:接收登陆模块传过来的用户名,验证用户名的类型。

● 性能:界面的状态栏显示:联系方式、登陆时间、当前操作用户名和用户类型。 ● 输入项目:用户名:字符串型。

● 输出项目:用户名:字符串型(在状态栏)

用户类型:字符串型(在状态栏)

登陆时间:字符串型(在状态栏)

3、系统管理模块

● 功能:

1、添加新的用户名、密码;

2、修改任何用户(包括学生)密码。

● 性能:

1、用户名、密码和密码确认和用户类型(单选按钮);

2、旧密码,新密码和新密码确认。

● 输入项目:

1、用户名、密码和密码确认和用户类型(单选按钮);

2、旧密码,新密码和新密码确认。

● 输出项目:

1、(对话框)添加成功,跳转到详细信息添加页面;

2、(对话框)密码修改成功,请重新登陆;跳转到登陆页面。

4、用户管理模块

● 功能:

1、向数据库中添加新用户信息;

2、用户信息的管理,包括:修改、删除、查询;

3、查询用户信息,包括:精确查询、模糊查询。 ● 性能:

1、没有添加新用户,不能添加用户信息;

其它无特殊要求。

● 输入项目:

1、用户名:字符型(新添加用户时传过来的,不能更改,本页也不能添

加)

姓名:文本型 所学专业:文本型

性别:文本型 政治面貌:文本型 学历:文本型 身份证号:字符型

职称:文本型 所在院系:文本型

民族:文本型 电子邮箱:字符型

学位:文本型 固定电话:字符型

职位:文本型 移动电话:字符型

备注:文本型 所教专业:文本型

工作时间:日期型 教师资格证书号:数值型

2、与1相同

3、精确查找 用户名:文本型

4、模糊查找

姓名:文本型 所在院系:文本型

性别:单选按钮

● 输出项目:合法:显示出用户信息管理页面 非法:重新添加、查询

5、院系管理模块

6、学生档案管理模块

● 功能:

1、向数据库中添加学生信息;

2、学生信息管理,包括:修改、删除、查询;

3、学生信息查询,包括:精确查询、模糊查询。

● 性能:无特殊要求。

● 输入项目:

1、学生档案添加

姓名:文本型 初始密码:字符型

学号:数值型(数据库自动增加) 政治面貌:文本型

3 性别:文本型 出生日期:日期型

民族:文本型 毕业院校:文本型

邮编:数值型 家庭住址:文本型

身份证号:字符型 入学时间:日期型

固定电话:字符型 移动电话:字符型

备注:文本型 所在班级:文本型

2、学生档案管理

与1相同

3、精确查找

学号:数值型

4、模糊查找

姓名:文本型 性别:单选按钮

● 输出项目:合法:显示出学生信息管理页面

非法:重新添加、查询

7、课程管理模块

● 功能:

1、向数据库中添加基本课程信息;

2、基本课程管理,包括:修改、删除、查询;

3、向数据库中添加班级选课信息;

4、班级选课管理,包括:修改、删除、查询;

5、课程查询,包括:基本课程查询(精确查询和模糊查询)、班级选课查询(精 确查询和模糊查询)。 ● 性能:无特殊要求。

● 输入项目:1.1、基本课程设置

基本课程编号ID:数值型 课程名称:文本型

任课老师ID:文本型 学分:数值型

课程类型:文本型 年级:文本型

课程学期:日期型 专业ID:数值型

院系ID:数值型 备注:文本型

1.2、基本课程管理

与1.1输入相同

2.1、班级选课设置

选课ID:数值型 课程名:文本型

班级ID:数值型 班级名:文本型

备注:文本型 任课老师ID(用户名):字符型 2.2、班级选课管理

与2.1输入相同

3.1、基本课程查询 3.1.

1、精确查找

基本课程ID:数值型

3.1.2、模糊查找

任课老师:文本型 课程名:文本型

3.2、班级选课查询 3.2.

1、精确查找

基本课程ID:数值型

3.2.2、模糊查找

任课老师:文本型 课程名:文本型

● 输出项目:合法:显示出基本课程管理或班级选课管理界面 非法:重新添加、查询

8、成绩管理模块

● 功能:

1、向数据库中添加课程成绩信息;

2、课程成绩管理,包括:修改、删除、查询;

3、课程查询,包括:精确查询(按学号查找和按课程号查找)和模糊查询(按

姓名查找和按课程名查找)。

● 性能: 无特殊要求。 ● 输入项目:

1、学生成绩添加

学号:数值型 课程ID:数值型

分数:数值型 课程类型:文本型

考试时间:日期型

2、学生成绩管理

与1相同

3、学生成绩查询

3.1、精确查找

按学号查找 学号:数值型 按课程号查找 课程号ID:数值型

3.2、模糊查找

按姓名查询 姓名:文本型 性别:单选按钮选择

按课程名查询 课程名:文本型

● 输出项目:合法:显示出课程成绩管理界面

非法:重新添加、查询 3.2 算法

登录模块:表示层接收数据传到业务逻辑层,业务逻辑层与数据库中的数据做比较。 总体结构

系统管理模块:

1、表示层接收数据传到业务逻辑层,业务逻辑层将数据存入数据库中;

2、表示层接收数据传到业务逻辑层,业务逻辑层将数据判断后存入数 据库中。

用户管理模块:

1、表示层接收数据传到业务逻辑层,业务逻辑层将数据存入数据库中;

2、表示层接收数据传到业务逻辑层,业务逻辑层将数据的用户名与数

据库中的比较后进行管理操作;

3、表示层接收数据传到业务逻辑层,业务逻辑层按要去进行数据查询。

院系管理模块

学生档案管理模块:

1、表示层接收数据传到业务逻辑层,业务逻辑层将数据存入数据

库中;

2、表示层接收数据传到业务逻辑层,业务逻辑层将数据的学号与

数据库中的比较后进行管理操作;

3、表示层接收数据传到业务逻辑层,业务逻辑层按要去进行数据

查询。

6

课程管理模块:

1、表示层接收数据传到业务逻辑层,业务逻辑层将数据存入数据库中;

2、表示层接收数据传到业务逻辑层,业务逻辑层将数据的课程ID与数

据库中的比较后进行管理操作;

3、表示层接收数据传到业务逻辑层,业务逻辑层按要去进行数据查询。

成绩管理模块:

1、表示层接收数据传到业务逻辑层,业务逻辑层将数据存入数据库中;

2、表示层接收数据传到业务逻辑层,业务逻辑层将数据的学号与数据 库中的比较后进行管理操作;

3、表示层接收数据传到业务逻辑层,业务逻辑层按要去进行数据查询。 3.3 程序逻辑

登录模块

总体结构

系统管理模块 用户管理模块 院系管理模块

学生档案管理模块 课程管理模块

成绩管理模块 3.4 接口

● 存储分配

● 限制条件

1、软件资源:Window xp操作系统或更高以上操作系统, VS.net编程软件和SQL数据开发维护软件。

2、硬件资源:具有VS.net应用软件计算机三到五台,具有SQL应用软件运行服务器一台。 3.5测试要点

测试工件为四个阶段:单元测试、组装测试、确认测试、系统测试。

7 单元测试:采用白盒法和黑盒法相结合的方法,对于逻辑结构复杂的模块采用白盒法,对于以输入、输出为主的模块采用黑盒法测试,以提高测试的效率。

组装测试:自底向上的增式测试。

确认测试:由用户参与按需求规格说明书验收。 系统测试:采用人工测试方法。

(1) 系统环境模块测试。为了检测系统环境模块,数据连接是否正确,数据能否正确,并进行仔细核对。

(2)基本信息模块测试。因为基本信息模块是本系统的一个重要模块,本模块能否正确运行关系到系统设计成败的关键,所以有必要专门对这个之模块进行严格的测试,以弥补设计过程中的不足,及早发现和修改问题。

(3) 查询模块测试。因为所有的数据库管理软件设计的目的之一都是为了人们提供快捷方便的数据查询功能,查询设计的是否合理和正确是系统的又一关键之所在。

8

上一篇:叙事抒情散文阅读训练下一篇:学生学习目标管理策略