┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
课程设计纸
班级的成绩添加记录,如没有此班级的记录则不用继承任何数据此学生的总成绩和平均成绩就是此条记录的总成绩和平均成绩。
共 39 页 第 5 页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
课程设计纸
4. 概念结构设计
学生成绩管理系统的设计,主要解决的是对系统中的学生的基本信息,学生成绩的基本信息,以及班级成绩管理工作。首先,需要定义各个所需要的数据对象,然后在这些对象上进行操作;其次,实现功能模块时,采用先模块化,后集成化,即对系统各个功能模块分别独立设计和调试,在创建系统主登录界面时再将各个功能模块通过主菜单对各个模块的调用集成到一起,最后进行系统整体设计调试。在数据存储和操作方面,采用文件的读写导出数据库,并在读出数据之后放入链表进行操作;并在数据更新之后将数据存到数据库中,这样可以减少对磁盘的直接操作次数,从而提高系统设计的效率。
4.1 概念模型(系统E-R图) (1)局部E-R图
① 学生实体E-R图,如图4.1所示:
图4.1 学生实体图
院系 入学年月 出生年月 民族 学生 籍贯 学号 姓名 班级 性别 ② 登录用户(此实体图包括教务处、老师和学生)实体E-R图,如图4.2所
示:
用户名 密码 权限
教务处 图4.2 登录用户实体图
③ 学生成绩实体,如图4.3所示:
共 39 页 第 6 页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
课程设计纸
学号 姓名 班级 院系 平均成绩 日期 软件工程 操作系统 总成绩 学生成绩 英语 Java 图4.3 学生成绩实体图
④ 班级实体E-R图,如图4.4所示:
总成绩 班级 图4.4 班级实体图
日期 班级号 记录号 总成绩 (2)整体E-R图,如图4.5所示: 登录用户 1 1 增删改查 n 学生 1 查询 增改查 n 1 学生成绩 n 添加 班级成绩 1 图4.5 整体E-R图
这些类之间对于同一个学生来说,重复定义的数据是相同的,在功能调用时采用数据耦合,降低系统中的耦合度。
4.2 类设计和数据存储 (1)类设计
共 39 页 第 7 页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
课程设计纸
①用户类:首先定义一个用户类Logininfo,拥有私有属性用户名和密码,实现用户的登陆,将数据存入数据库。
②学生信息类:里面是一个学生信息类,包含学生姓名、学号、性别和籍贯等一些基本信息。
③学生成绩类:主要记录学生成绩信息。
④班级成绩类:用来记录随学生成绩修改添加而随之添加的班级成绩记录,并自动把班级成绩累加计算。
⑤数据库连接类:主要实现与数据库的连接,实现数据的操作。 ⑥dao包:主要是包含用户信息以、学生信息和学生成绩信息的增删改查的操作方法的一些类。
⑦view包:此包中主要实现用户界面,各种GUI设计 ⑧主类:是程序的入口,程序从此类开始执行。
类中数据不可被其他类访问的数据权限设为private,符合信息隐藏原理,能更好的实现模块独立化。
(2)数据存储
①数据存储主要是通过用MySQL数据库来实现的,将数据库中的信息借助 List这个接口,通过接口回调得到一个list对象,将从文件中读取到的所有对象都放到list对象中,然后通过对list进行遍历,实现增删改查操作。
②学生成绩也可以导出到文本文档中保存,使用BufferedWriter类把list中的内容写到文本文档中,使用File类实现文件的创建和选择。
4.3 功能模块设计 (1)登陆管理模块
实现用户的登录,如图4.6所示:
图4.6 用户登录模块
共 39 页 第 8 页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
课程设计纸
(2)学生信息管理模块
实现对学生信息增加、删除、修改、查找功能。如图4.7所示:
图4.7 学生信息管理模块
(3)学生成绩管理模块
用户可以实现对学生成绩的查询、添加和修改,其操作如下图4.8所示:
图4.8 学生成绩管理模块
共 39 页 第 9 页
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库学生成绩管理系统Java课程设计(2)在线全文阅读。
相关推荐: