标签:driver 模式 throws 操作员 人民银行 通过 under 工程 完整性
获取项目源文件,技术交流与指导联系Q:1225467431
数据库系统:Microsoft SQL Server 2008
语言:Java
数据库连接方式:JDBC连接方式
开发工具:Eclipse
Microsoft SQL Server 2008数据库管理系统是微软公司研制开发的关系型数据库管理系统。该系统支持并扩展了SQL语言标准,可以运用标准SQL语句对数据进行操作,也可以使用功能强大的GUI工具进行灵活的数据管理。同时,系统还提供功能完善的API,可以在应用程序中调用这些API来实现与数据库系统的连接以及相关数据的操作。
Eclipse:功能强大的应用程序开发工具,主要支持基于Java语言的各种开发项目。灵活的Plun-in功能,可以根据具体需要安装各种插件。
JDBC连接方式:Java与数据库系统的一种连接方式,Java程序使用JDBC API与数据库进行通信,并用它操作数据库中的数据。JDBC API使Java程序与具体数据库系统独立开来,保证了Java程序高度的可移植性。
软件产品名为:学生信息管理系统
本系统可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。本项目针对的用户主要是我们学校的学生管理员。相应的需求有:
能够存储一定的用户信息和学生信息,并方便有效地进行相应的用户信息和学生信息的操作和管理,这主要包括:
(1)用户能够对自身信息进行修改;
(2)添加、修改用户的相关信息
(3)添加、修改、删除学生的相关信息;
(4)对学生的相关信息的查询。
能够存储一定的课程信息,并方便有效地进行相应的课程信息的操作和管理,这主要包括:
(1)添加、删除、修改课程的相关信息;
(2)对课程的相关信息的查询。
能够存储一定的院系信息,并方便有效地进行相应的院系信息的操作和管理,这主要包括:
(1)对院系的相关信息的查询;
(2)对专业的相关信息的查询。
能够存储一定的学生选课信息,并方便有效地进行相应的学生选课信息的操作和管理,这主要包括:
对学生选课的相关信息的查询。
数据存储
2.1.2.1源点及汇点词条描述
名称:用户
简要描述:用户是此软件的使用者。
有关数据流:命令、用户输入信息、系统输出信息
数目:在某一具体时刻只有一个用户
2.1.2.2. 数据流词条描述
2.1.2.2.1 数据流名:命令
说明:用户根据不同的需求,向学生信息管理系统发布不同的命令,软件系统按命令要求完成相应的功能。
数据流来源:用户
数据流去向:学生信息管理系统
2.1.2.2.2 数据流名:用户输入信息
说明:用户向系统发布命令后,需要根据系统要求提供相应的数据、命令参数等信息。
数据流来源:用户
数据流去向:学生信息管理系统
数据流组成:{a..z|A..Z|0..9|汉字|其他符号}
2.1.2.2.3 数据流名:学生信息管理系统输出信息
说明:系统在完成了用户要求的功能后,向用户输出所要查询、获取的数据,以及各种系统提示信息。
数据流来源:学生信息管理系统
数据流去向:用户
数据流组成:{a..z|A..Z|0..9|汉字|其他符号}
2.1.2.2.4 加工逻辑词条描述
加工名:学生信息管理系统
加工编号:0
简要描述:本加工是此软件的最上层加工,它代表整个软件系统所要完成的功能,即根据用户输入的不同命令及相应的数据完成不同的功能,并将结果输出给系统管理员。
输入数据流:命令、用户输入信息
输出数据流:学生信息官系统输出信息
加工逻辑:先读入用户命令,根据不同的命令将用户输入信息解释为不同形式的数据提交给相应的功能模块,完成后将结果及其它反馈信息输出给用户。
2.1.3.1. 数据流词条描述
2.1.3.1.1 数据流名:学生信息管理命令
说明:用户向系统提出的学生信息管理要求。
数据流来源:命令类型处理
数据流去向:学生信息查询、删除、增加、更改
2.1.3.1.2数据流名:课程信息管理命令
说明:用户向系统提出的课程信息管理要求。
数据流来源:命令类型处理
数据流去向:课程信息查询、删除、增加、更改
2.1.3.1.3 数据流名:院系信息管理命令
说明:用户向系统提出的院系信息管理要求。
数据流来源:命令类型处理
数据流去向:院系信息查询
2.1.3.1.4 数据流名:专业信息管理命令
说明:用户向系统提出的专业信息管理要求。
数据流来源:命令类型处理
数据流去向:专业信息查询
2.1.3.1.5 数据流名:选课信息管理命令
说明:用户向系统提出的选课信息管理要求。
数据流来源:命令类型处理
数据流去向:选课信息查询
2.1.3.1.6数据流名:系统维护命令
说明:用户向系统提出的系统维护处理要求。
数据流来源:命令类型处理
数据流去向:修改用户密码
2.1.3.2.加工逻辑词条描述
加工名:命令类型处理
加工编号:1
简要描述:本加工是系统管理员到各功能模块的输入界面。本加工解读系统管理员输入信息,按照系统预定义的有效性规则如权限设定、输入信息格式设定等先判断系统管理员输入是否有效,对无效输入给出系统提示信息;对有效输入则进行类型判断,将系统管理员输入信息发送给相应的功能模块进行处理。
输入数据流:命令、系统管理员输入信息
输出数据流:借阅管理命令、系统维护命令、图书信息变动命令、图书类别变动命令、读者信息处理命。
加工逻辑:读入系统管理员命令,根据命令类型按不同的格式读入系统管理员输入信息,形成某种数据结构的数据。按命令类型将数据发送给相应的功能模块。
2.1.4.1学生信息管理命令
2.1.4.1.1.数据流词条描述:
数据流名:学生信息处理
数据流来源:用户输入
数据流去向:学生信息表
数据流组成:学生学号
2.1.4.1.2.加工逻辑词条描述:
加工名:学生信息管理
加工编号:2.1
简要描述:本加工是学生信息管理模块与用户的接口,接收用户输入,判断并给出相应的系统提示。
输入数据流:待处理的学生学号
输出数据流:待处理的学生信息
加工逻辑:读入用户输入信息,形成某种数据结构的数据。按命令类型将数据发送给学生信息处理功能模块。
2.1.4.2课程信息管理命令
2.1.4.2.1.数据流词条描述:
数据流名:课程信息处理
数据流来源:用户输入
数据流去向:课程信息表
数据流组成:课程编号
2.1.4.2.2.加工逻辑词条描述:
加工名:课程信息管理
加工编号:3.1
简要描述:本加工是课程信息管理模块与用户的接口,接收用户输入,判断并给出相应的系统提示。
输入数据流:待处理的课程编号
输出数据流:待处理的课程信息
加工逻辑:读入用户输入信息,形成某种数据结构的数据。按命令类型将数据发送给课程信息处理功能模块。
2.1.4.3选课信息管理命令
2.1.4.3.1.数据流词条描述:
数据流名:选课信息处理
数据流来源:用户输入
数据流去向:选课信息表
数据流组成:学生学号和课程号
2.1.4.4.2.加工逻辑词条描述:
加工名:选课信息管理
加工编号:4.1
简要描述:本加工是选课信息管理模块与用户的接口,接收用户输入,判断并给出相应的系统提示。
输入数据流:待处理的学生学号
输出数据流:待处理的学生选课信息
加工逻辑:读入用户输入信息,形成某种数据结构的数据。按命令类型将数据发送给学生选课信息处理功能模块。
2.1.4.4院系信息管理命令
2.1.4.4.1.数据流词条描述:
数据流名:院系信息处理
数据流来源:用户输入
数据流去向:院系信息表
数据流组成:院系编号
2.1.4.4.2.加工逻辑词条描述:
加工名:院系信息管理
加工编号:5.1
简要描述:本加工是院系信息管理模块与用户的接口,接收用户输入,判断并给出相应的系统提示。
输入数据流:待处理的院系编号
输出数据流:待处理的院系信息
加工逻辑:读入用户输入信息,形成某种数据结构的数据。按命令类型将数据发送给院系信息处理功能模块。
2.1.4.5专业信息管理命令
2.1.4.5.1.数据流词条描述:
数据流名:院系信息处理
数据流来源:用户输入
数据流去向:专业信息表
数据流组成:专业代码
2.1.4.5.2.加工逻辑词条描述:
加工名:专业信息管理
加工编号:6.1
简要描述:本加工是专业信息管理模块与用户的接口,接收用户输入,判断并给出相应的系统提示。
输入数据流:待处理的专业代码
输出数据流:待处理的专业信息
加工逻辑:读入用户输入信息,形成某种数据结构的数据。按命令类型将数据发送给专业信息处理功能模块。
2.1.4.6修改用户密码命令
2.1.4.6.1.数据流词条描述:
数据流名:用户息处理
数据流来源:用户输入
数据流去向:用户信息表
数据流组成:用户名
2.1.4.6.2.加工逻辑词条描述:
加工名:课程信息管理
加工编号:7.1
简要描述:本加工是用户信息管理模块与用户的接口,接收用户输入,判断并给出相应的系统提示。
输入数据流:待处理的用户名
输出数据流:待处理的用户信息信息
加工逻辑:读入用户输入信息,形成某种数据结构的数据。按命令类型将数据发送给用户信息处理功能模块。
对于系统本身的维护,系统应具备一定的安全机制和信息备份机制,对用户分级管理,设置用户权限,保证系统安全性;提供数据库文件的备份功能,按用户要求备份,防止意外数据丢失影响系统工作。数据库设置主键和外键约束,保证数据库的完整性。
系统E-R如下:
用户实体E-R图:
学生实体E-R图:
课程实体E-R图:
院系实体E-R图
专业实体E-R图
选课实体E-R图
用户信息表(用户名,密码)
学生基本信息(学号,姓名,性别,出生年月,院系编号,专业代码)
课程信息(课程号,课程名,学分)
院系信息(院系编号,院系名)
院系专业信息(专业代码,专业名,院系编号)
学生选课信息(学号,课程号,分数)
说明:以上关系模式中,带“ ”的是属性是主键,带“ ”的是外键。
(1)系统设置用户登录密码
(2)主、外码完整性约束见上面的关系模式图。
D:\sqlserver2008\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA
ü 硬件环境:
硬盘: 10G 以上空闲硬盘空间
ü 软件环境:
支持中文的Windows win7。
Microsoft SQL Server 2008
此模块又分为以下几个子模块:
此模块主要用来实现增加学生信息,删除学生信息,更改学生信息,查询学生信息。用户根据学生学号,通过输入或修改相应的学生信息来更新学生信息等。
此模块主要用来实现如何更改用户密码,用户添加以及用户删除。用户根据自身需要更换自己的密码。
此模块主要用来实现增加课程信息,删除课程信息,更改课程信息,查询课程信息。用户根据课程编号,通过输入或修改相应的课程信息来更新课程信息等。
此模块主要用来查询院系信息。用户根据院系编号,通过输入相应的信息来查询院系信息等。
此模块主要用来查询专业信息。用户根据院系编号和专业代码,通过输入相应的信息来查询专业信息等。
此模块主要用来查询学生选课信息。用户根据学号和课程号,通过输入相应的信息来查询学生选课信息等。
SQL语句
CREATE DATABASE db_StudentSystem --创建SC——数据库
ON
( NAME = ‘db_StudentSystem_data‘,
FILENAME = ‘E:\sql\db_StudentSystem_data.mdf‘, --数据文件路径
SIZE = 30mb, --数据文件初始大小
MAXSIZE = 100mb, --数据文件最大大小
FILEGROWTH = 20% --文件增长
)
LOG ON
( NAME = ‘db_StudentSystem_log‘,
FILENAME = ‘E:\sql\db_StudentSystem_log.ldf‘, --日志文件路径
SIZE = 3mb, --日志文件初始大小
FILEGROWTH = 1mb --文件增长
)
创建用户表:
数据库共有6个表:,学生信息表,图书订购表,读者信息表,操作员表,图书借阅表,库存信息表,图书厂家信息表,图书限借表,读者院系表。
1.学生信息表
数据元素名 |
类型 |
备注 |
sno |
char(10) |
主键,学生学号 |
sname |
char(20) |
学生姓名 |
ssex |
chanr(10) |
学生性别 |
sbirthday |
smalldatetime |
学生生日 |
dno |
chanr(10) |
外键,院系编号 |
spno |
chanr(10) |
外键,专业代码 |
2.用户信息表
数据元素名 |
类型 |
备注 |
uname |
char(10) |
用户名 |
pword |
char(10) |
密码 |
3.课程信息表
数据元素名 |
类型 |
备注 |
cno |
char(10) |
主键,课程编号 |
cname |
char(10) |
课程名 |
credit |
tinyint |
学分 |
4.院系信息表
数据元素名 |
类型 |
备注 |
dno |
char(10) |
主键,院系编号 |
dname |
char(20) |
外键,院系名 |
5.专业信息表
数据元素名 |
类型 |
备注 |
spno |
char(10) |
主键,专业代码 |
dno |
char(10) |
外键,院系编号 |
spname |
char(20) |
专业名 |
6.学生选课表
数据元素名 |
类型 |
备注 |
sno |
Char(10) |
外键,学生学号 |
cno |
Char(10) |
外键,课程编号 |
grade |
int |
成绩 |
连接数据库部分代码:
public static boolean joinDB() throws Exception
{
boolean joinFlag;
try
{
joinFlag = true;
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
.newInstance(); // 加载数据库引擎,返回给定字符串名的类
connection = DriverManager
.getConnection(
"jdbc:sqlserver://127.0.0.1:1433;DatabaseName=db_StudentSystem",
"admin", "admin"); // 连接数据库对象
statement = connection
.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY); // 创建SQL命令对象
return joinFlag;
}
catch (SQLException sqlEx)
{
// System.out.println(sqlEx.getMessage());
// System.out.println("数据库连接错误");
joinFlag = false;
return joinFlag;
}
catch (ClassNotFoundException e)
{
// e.printStackTrace();
// System.out.println("加载引擎失败");
joinFlag = false;
return joinFlag;
}
}
系统提供了数据库备份功能和数据还原功能。
备份功能是通过执行SQL语句backup database WaterOrder to disk= 备份文件路径+文件名 实现的。
还原功能是系统先将正在使用WaterOrder数据库的程序终止,然后执行SQL语句restore database WaterOrder from disk=文件路径+文件名 实现的。
6.3.3.1增加学生信息界面
6.3.3.2删除学生信息界面
6.3.3.3查询学生信息界面
6.3.3.4更改学生信息界面
6.3.4.1增加课程信息界面
6.3.4.2删除课程信息界面
6.3.4.3查询课程信息界面
6.3.4.4修改课程信息界面
6.3.8.1增加用户信息界面
6.3.8.2删除用户信息界面
6.3.8.3更改用户密码界面
“学生信息管理系统”软件是一个规模较小、面向一般应用、操作简单的软件。程序模块调用结构简单,代码量不大,而且我们用的编程工具是Eclipse系统,可以提供强有力的调试环境。因此只需采用较简单的测试方法,就可借助调试工具发现错误,并准确定位。
在安装测试中,我们采用一次性安装测试方法。由于各项功能的操作过程都不复杂,因此对各项功能的确认测试也可用简单的测试用例来实现。
设计测试用例时,应尽量具有代表性和典型性,注意边界情况和非常规操作过程的测试。
Win7 + Microsoft SQL Server 2008
要求测试者有最基本的计算机使用经验、对Win 7等Windows环境使用的基本技能、会使用鼠标、能够录入汉字。会使用Microsoft SQL Server 及其管理工具。
一、 测试项目内容:
通过安装在不同的WINDOWS环境中,以测试系统的兼容性。
二、 测试用例
1、分别在不同的WINDOWS环境中,WINDOWS XP、WIN7安装本系统,检测安装是否能顺利完成。
2、如果没有安装错误,则开始运行。检查启动面板是否正确显示、主窗口是否正确显示。
3、待主窗口正确显示后,用鼠标和键盘依次检查所有的功能栏和记录信息窗口,看是否都能正常显示,不出现运行错误。再用鼠标和键盘在主窗口中进行一系列随机的操作,检查程序的健壮性。
4、在Windows系统中同时打开一些应用程序,如Word、Internet Explorer、Outlook、中文输入法等。在这些应用程序之间进行任务切换。检查此软件与其它软件之间是否存在冲突。
在登陆界面进行一下各种测试:
点击确定按钮以后看系统能否跳转到主界面。
7.2.3.1增加学生信息测试
打开增加学生信息对话框,在对话框中的各个编辑框输入以下不同的数据,观察系统能否给出正确反应:
添加前数据库
添加后数据库
7.2.3.2删除学生信息测试
打开删除学生信息对话框,在对话框中的各个编辑框输入数据,观察系统能否给出正确反应:
删除前数据库
删除后数据库
7.2.3.3查询学生信息测试
打开查询学生信息对话框,在对话框中的各个编辑框输入数据,观察系统能否给出正确反应:
7.2.3.4更改学生信息测试
打开更改学生信息对话框,在对话框中的各个编辑框输入数据,观察系统能否给出正确反应:
修改前数据库
修改后数据库
打开更改用户密码对话框,在对话框中的各个编辑框输入以下不同的数据,观察系统能否给出正确反应:
1、 旧密码不正确
2、新密码和确认新密码不相同
3.输入正确的原密码,新密码和确认密码相同。
修改前数据库
修改后数据库
7.2.5.1增加课程信息测试
打开增加课程信息对话框,在对话框中的各个编辑框输入以下不同的数据,观察系统能否给出正确反应:
1.对话框存在空数据
2.添加已存在的课程信息
3.添加未存在的课程信息
添加前数据库
添加后数据库
7.2.5.2删除课程信息测试
打开删除课程信息对话框,在对话框中的各个编辑框输入数据,观察系统能否给出正确反应:
删除前数据库
删除后数据库
7.2.5.3查询学生信息测试
打开查询学生信息对话框,在对话框中的各个编辑框输入数据,观察系统能否给出正确反应:
7.2.5.4更改学生信息测试
打开更改学生信息对话框,在对话框中的各个编辑框输入数据,观察系统能否给出正确反应:
修改前数据库
修改后数据库
7.2.6.1更改用户密码测试
打开更改用户密码对话框,在对话框中的各个编辑框输入以下不同的数据,观察系统能否给出正确反应:
2、 旧密码不正确
2、新密码和确认新密码不相同
3.输入正确的原密码,新密码和确认密码相同。
修改前数据库
修改后数据库
7.2.6.2添加用户测试
打开增加用户对话框,在对话框中的各个编辑框输入以下不同的数据,观察系统能否给出正确反应:
1.对话框存在空数据
2.添加已存在的学生信息
3.添加未存在的学生信息
添加前数据库
添加后数据库
7.2.6.3删除用户测试
打开删除用户信息对话框,在对话框中的各个编辑框输入数据,观察系统能否给出正确反应:
删除前数据库
删除后数据库
打开查询院系信息对话框,在对话框中的各个编辑框输入数据,观察系统能否给出正确反应:
打开查询专业信息对话框,在对话框中的各个编辑框输入数据,观察系统能否给出正确反应:
打开查询学生选课信息对话框,在对话框中的各个编辑框输入数据,观察系统能否给出正确反应:
在下图出现的登录窗口中输入用户名::罗奕斐,密码:123456;或用户名:admin,密码为:admin;或用户名:luo,密码:123456,然后点击“登陆”按键即可进入主界面窗口。
鼠标左键点击“用户管理”菜单会出现“修改密码”、“添加用户”和“删除用户”3个选项,点击会分别出现修改密码窗口、添加用户窗口以及删除用户窗口;
鼠标左键点击“学生信息管理”菜单会出现“修改学生信息”、“删除学生信息”、“查询学生信息”和“修改学生信息”4个选项,点击会分别出现修改学生信息窗口、删除学生信息窗口、查询学生信息窗口以及修改学生信息窗口;
鼠标左键点击“学生信息管理”菜单会出现“修改学生信息”、“删除学生信息”、“查询学生信息”和“修改学生信息”4个选项,点击会分别出现修改学生信息窗口、删除学生信息窗口、查询学生信息窗口以及修改学生信息窗口;
鼠标左键点击“课程信息管理”菜单会出现“修改课程信息”、“删除课程信息”、“查询课程信息”和“修改课程信息”4个选项,点击会分别出现修改课程信息窗口、删除课程信息窗口、查询课程信息窗口以及修改课程信息窗口;
点击“院系信息查询”、“院系专业信息查询”、“学生选课查询”会分别出现院系信息查询窗口、院系专业信息查询窗口以及学生选课查询窗口。
在“添加学生信息”窗口输入学生信息,点击添加,即添加学生信息成功。
在“删除学生信息”窗口输入学生信息,点击删除,即删除学生信息成功。
在“查询学生信息”窗口输入学生学号,点击查询,即查询学生信息成功。
在“修改学生信息”窗口输入学生信息,点击修改,即修改学生信息成功。
在“添加课程信息”窗口输入课程信息,点击添加,即添加课程信息成功。
在“删除课程信息”窗口输入课程信息,点击删除,即删除课程信息成功。
在“查询课程信息”窗口输入课程编号,点击查询,即查询课程信息成功。
在“修改课程信息”窗口输入课程信息,点击修改,即修改课程信息成功。
在“添加课程信息”窗口输入用户名和密码,点击添加,即添加用户成功。
在“删除用户”窗口输入用户名和密码,点击删除,即删除用户成功。
在“修改用户密码”窗口输入用户名和密码,点击修改,即修改用户密码成功。
在“查询院系信息”窗口输入院系编号,点击查询,即查询院系信息成功。
在“查询专业信息”窗口输入专业代码,点击查询,即查询专业信息成功。
在“查询学生选课信息”窗口输入学生学号,点击查询,即查询学生选课信息成功。
在设计的过程中,首先碰到的问题是数据库的配置问题。第一次使用Java + SQL Server的编译环境进行编程,因为对SQL Server的配置不熟悉,我弄了两天才连接成功。首先是启动引擎的问题,因为我从网上下载下来的sqljdbc4.jar并没有配置成功,所以一直没有启动引擎。后来我新建了一个测试类专门用来进行测试。在参考了网上很多论坛和经验之后,我的测试类启动引擎成功了,但是还是没能连接数据库。于是我再找资料,才发现电脑上的服务没有启动。最后我的测试类读取数据成功了。在这段设计开发的时间里,我对Java的界面设计越来越熟悉,也懂得了用代码连接数据库。也知道了不懂就找资料,并且在找资料的过程中学到了其他的东西。这次的数据库课程设计让我受益匪浅。
4.[北京圣思园教育]中国人民银行企培视频
标签:driver 模式 throws 操作员 人民银行 通过 under 工程 完整性
原文地址:https://www.cnblogs.com/epoch211/p/12629517.html