基于java的简单学生信息管理程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《基于java的简单学生信息管理程序》

一、目的:

1、复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;

2、课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力;

3、培养学生在项目开发中团队合作精神、创新意识及能力。

二、要求:

1、对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应

功能;可以加以其他功能或修饰,使程序更加完善、合理;

2、系统设计要实用,编程简练,可用,功能全面

3、说明书、流程图要清楚

4、记录设计情况(备查,也为编写设计说明书作好准备);

5、要求采用模块化程序设计方法,及锯齿型书写格式,要求上机调试通过和按设计报告格式。

6、设计上交内容:设计报告一份(按格式书写);源程序文件(刻录成光盘)。

三、课程设计内容:

1、开发背景:

◆某学校中有很多学生,为了方便管理,要求实现一个程序对该学校学生

的信息进行统一管理。

◆学生的属性及程序功能如下:

➢学生公有信息:ID、姓名、年龄。

➢学生有成绩。

➢所有信息要求保存在文件和数据库中,可以对信息进行添加、修改、查询和删除等操作。

➢在查询信息时要求由高到低排序输出(学生按成绩高低,如果相等,则按年龄由高到低排序输出。)。

2、分析开发背景:

ID、姓名和年龄为学生分有信息,而学生有成绩,因此定义一个抽象类Person(ID、姓名、年龄),学生是其子类,有成绩。

在程序中ID是自动生成,最好的方式是采用如下的编码方式:

·标记+ 时间戳+ 三位随机数

例如:2012年12月12日18:10:10:345

学生的标记为S

生成的ID号:学生→ S20121212181010345001

因为程序要求要满足对文件和数据库的操作,而对文件和数据库操作是一种标准,因此应该定义一个公共的标准————接口

查询信息的时候要求对查询出的信息进行排序操作,这一操作可以使用Comparable接口完成。

整个程序代码中牵扯到数据层的操作,而数据层就是指对真实的数据的操作,最终操作的是一个人,操作的是学生管理。

数据层操作标准定义完成之后,可以有两种选择,一种是直接使用子类实现,但是此种做法以后的修改不是很方便,另一种是使用代理设计的思路完成。因此要做一个中间层,代码关系如下:

Main→Menu → PersonOperate → DAO

因为程序要求保存在文件的数据库中,所以此处可以设计出一个工厂,通过此工厂进行DAO的操作子类实例取得。

3、分析总结:

根据上面对开发背景的分析,总结出以下模块:

●程序运行入口层模块(main):此模块主要是作为程序运行入口

点,调用主菜单模块相应的类。用到的类:Main

●主菜单层模块(menu):显示主菜单,主菜单要有全部的学生信息

管理,应该还有一个退出操作。在学生信息管理的界面中分别有

对学生信息的增加信息、列出全部信息、查询信息、删除信息、

修改信息和返回上一级的操作。用到的类:Menu

●操作层模块(operate):该模块主要是实现对学生的增加信息、

列出全部信息、查询信息、删除信息和修改信息。为了使程序有

较大的伸缩性,首先定义一个操作标准----接口,让对学生的操

作去实现该接口,然后根据需要增加相应功能。此模块的操作方

法首先调用工厂层模块中的方法取得相应实例,然后通过实例调

用数据操作层模块中相应的方法来实现相对应的功能。用到的

类:PersonOperate StudentOperate WorkerOperate

●数据操作层模块(dao):该模块主要是定义对具体数据的操作,

首先定义一个标准,在标准中有相应的对数据具体操作的方法。

让子类(实现模块中的子类)去实现这个标准,然后根据需要增

加相应的功能。此子类调用IO操作模块的保存方法将对象保存。

用到的类:PersonDAO

●文件操作层模块(io):该模块主要是将对象(学生信息)保存在

文件和数据库且能把对象(学生信息)从文件和数据库中读出来。

用到的类:FileOperate

●数据库连接模块(dbc):该模块主要是连接数据库。用到的类:

DataBaseConnection

●实现层模块(impl):该模块主要是定义子类去实现数据操作模块

(dao)中定义的标准。在这一模块中有一个子类功能是将对象(学

生信息)保存在文件(*.txt)中,有一个则是将对象(学生信

息)保存在数据库(MySQL)中。保存在文件中的子类去调用文

件操作模块(io)中的相应方法实现,保存在数据库中的子类直接通过SQL语句将对象(学生的信息)保存在数据库中。用到的类:PersonDAOImplFile PersonDAOImplJDBC

●代理操作模块(proxy):该模块主要是为了清晰开发思路,使用

了代理设计思路去开发,实现层模块(impl)不直接去操作,而是将操作交给代理层去操作。用到的类:PersonDAOProxyFile PersonDAOProxyJDBC

●工具层模块(util):该层一是实现输入数据,并对数据的合法性

进行检验,使用正则表达式检验;二是实现对学生ID号的生成。

用到的类:InputData TimeStamp

●对象层模块(vo):该模块主要是存放实实在在的对象。定义一个

抽象类,然后在定义一个子类(学生类)去继承。用到的类:Person Student Worker

●工厂层模块(factory):该模块主要是根据操作层模块传来的参

数产生实现层模块的对象,参数也传递过去,参数主要是为了在查询时能指明要查询哪种类型的对象。用到的类:DAOFactory

相关文档
最新文档