2.2 应解决的问题
2.2.1合理的设计数据库
尽量合理地减少数据库数据的冗余,使重复的数据保持在最小限度,这样将不必要的多占用存储空间,减少产生混乱影响的危险,还能提高计算机的运行速度。
作为学生成绩管理系统,必须能解决以下方面的问题:能录入信息。所需录入的表有①学生成绩信息表;②学生基本信息表;③授课计划表;
2.2.2设计出友好的界面
界面的友好与否是用户评价一个软件优劣的重要方面。因为该系统涉及到学生成绩的真实性,所以该系统要具有一定的保密性和权限控制,首先应设计一个用户的登陆窗口界面,要求只能由特定的人员对该系统进行操作。
此外还应设计登陆后系统的主窗口,要求能够显示学生成绩的基本信息,可以实现数据的录入,更新,删除、查询、统计等功能。
另外窗口界面要多用按钮,少用菜单,窗口的各个控键布局要合理,美观。要充分的利用java.awt和java.swing提供的强大的功能,多用窗口和控件,充分体现窗口的多元化格局。
2.2.3实现的基本功能
该系统要求除了能实现信息的录入,删除,插入,更新,数据导出excel文件等基本功能之外,还要求能够根据用户的需要进行操作。例如要查询学生成绩,
要求可以按照专业、班级等多种方式查询。这些功能基本上能满足用户操作的需要,这样用户操作起来就更简单方便。部分文本框使用了下拉式,使用户可以不用花费大量的时间去输入信息。
2.3 系统调查
调查内容包括学生,课程,以及成绩存储的格式信息,用户对系统的基本功能要求。
2.3.1 统计数据源
由于本系统主要是进行学生成绩管理,因此涉及到的信息包括学生信息,授课计划,学生成绩信息,数据源也主要是这些。
2.3.2功能调查
此系统能及时完成数据的添加、删除、修改、查询、统计等功能,必须还具有打印报表功能。查询结果显示主要是数据窗口显示。
2.3.3查询结果输出形式
查询结果数据形式包括:屏幕显示和保存为excel格式文件输出。
2.4 调查结果
2.4.1 功能需求
1)完成学生成绩和授课计划的管理,具有查阅、添加、删除、修改、统计等基本功能。
2)完成按照指定条件查询。
3)完成所需报表的打印。 4)非管理员不能使用本系统。
2.4.2 数据字典
1) 学生基本情况表(学号,姓名,性别,院系,专业,班级,电话,入学
时间,籍贯,备注)
2) 课程信息(课程号,课程名,任课老师,学分,平时分比例,课程类型,开课时间)
3) 成绩信息(学号,课程号,平时成绩,卷面成绩,总成绩)
第三章 系统总体设计
3.1 表结构设计
3.1.1 表的选取
根据该系统的要求以及可能将来和其它学生 信息管理系统结合,本系统需要有一个管理学生的基本信息的表;作为成绩管理系统,要有成绩表;需要包括课程的信息表,这就要建立一个课程表。以这三个表作为基础,输出不同的结果表示形式。
3.1.2 表的规范化
表的规范化是一系列能够应用到数据库结构上的测试,通过这些测试可以消除数据的冗余程度,使数据库结构处于一种优化形式,测试方法有:对于每一行和列的交叉点,是否仅有一个值;是否所以非主码列依赖全部主码;表中是否有依赖其它非主码列的非主码列。 3.1.2.1 表命名规范
1. 数据库表命名以 {前缀}_{主题域}_{实体名}_{后缀} 组成,其中前缀第
一个字母T表示为表。
2. 数据库表名应尽量采用有意义的英文,在确实没有对应的英语单词的情况下也可以采用汉语拼音。
3. 表名只能由字母组成,单词字母采用大写。 4. 单词可以采用在数据字典中定义的缩写。
5. 数据库表名不能超过26个英文字符。 6. 表名单词间用下划线分割。 7. 后缀不是必须的。 3.1.2.2 表字段命名
1. 数据库字段名不能超过20个英文字符;
2. 数据库字段名应尽量采用英文,在没有对应的英语单词的情况下也可以采用汉语拼音;
3. 字段名由字母和数字构成,但数字只能出现在字段名的最后部分; 4. 单词的所有字母均采用大写;单词可以采用在数据字典中的缩写; 5. 字段名单词间用下划线分割。
6. 字段名中不应该包含“本表名称”中单词,如TM_PLANT中编号字段命名为NO,而不应是PLANT_NO
3.1.3 表的具体设计
根据实现学生成绩管理所涉及的数据,设计的表的结构如下:(注:带有‘P’标记的列为主码列) 3.1.3.1 约束命名规则:
1. 主键以\表名称\方式命名
2. 外键引用以主键以\表名称\命名,其中x为多个外键时按顺序编号 3. 唯一键以主键以\表名称\命名,其中x为多个外键时按顺序编号 4. 索引以\为前缀命名