学生管理系统个人任务实施细节.docx
《学生管理系统个人任务实施细节.docx》由会员分享,可在线阅读,更多相关《学生管理系统个人任务实施细节.docx(13页珍藏版)》请在冰豆网上搜索。
学生管理系统个人任务实施细节
《Java程序设计基础》存档资料之四
《学生选修课程系统》
个人任务实施细节
Spring
张莎莎
软件08403班
长春大学软件学院
二¡¡九年十月
1需求分析
1.1系统简介
该产品为学生选修课程系统(StudentdentElectiveCourse)简称SEC,是一种倡导学校以学生为中心的管理思想和方法。
该系统可以分为三个层次:
面向学生前台应用的管理标准;综合应用数据库和数据仓库技术、图形用户界面,以SEC管理思想为灵魂的软件系统;实现学生老师及信息技术于一体的管理系统。
通过使用SEC可以帮助各高校快速实现选课系统的信息化管理,使学生更方便地选课,实现全校学生选课在线。
1.2系统中角色
表1系统角色及功能
角色
功能
管理员
对系统进行更新与维护
教师
管理课程的基本信息、查找最新的学生选课情况。
学生
进行选课,退课,查询自己的选课情况。
1.3系统功能性需求
(1)整体业务流程图
图1学生选修课程系统流程图
(2)整体业务流程描述
教师登录后,进行对课程的增加操作,然后就形成一个课程表,当学生进行选课时,先登录然后根据教师所增加的课程选择自己感兴趣的课程,选择完后,可以进行查询选课的结果这一操作。
当学生选完课后,教师就可以查看学生的最新的选课情况,还可以对课程进行删除、修改、查询操作。
表2系统功能
功能类别
子功能
用户管理
学生的用户名和密码的管理
教师的用户名和密码的管理
课程管理
课程的增加
课程的删除
课程的修改
课程的查找
学生选课、退课
学生选课
学生退课
查询模块
学生查询自己的选课结果
教师查询最新的选课结果
表3课程管理功能输入输出约束
名称、标识符
课程管理
功能描述
1.增加一个课程信息
2.删除一个课程信息
3.修改一个课程信息
4.查找一个课程信息
输入及约束
1.增加一门课程信息的输入及约束:
课程编号(course_id)字符串,长度60,直接输入,必须填写
课程名称(corese_name)字符串,长度40,直接输入,必须填写
授课老师姓名(teacher)字符串,长度40,直接输入,必须填写
学分(point)整形,直接输入,必须填写
授课地点(address)字符串,长度40,直接输入,必须填写
限选人数(limites)整形,直接输入,必须填写
2.删除一门课程信息的输入及约束:
若当前用户是教师,只输入所要删除的课程的课程编号,约束如1中的课程编号的约束
3.修改一门课程信息的输入及约束:
若当前用户是教师,表单中显示的各个字段的约束如1
4.查询一门课程信息的输入及约束:
只要输入所哟啊查询的课程的课程编号,约束如1中的课程编号的约束
输出
1.增加课程信息
成功:
返回列表页面,并给出成功提示信息
失败:
停留在新建页面,并给出失败提示信息
2.修改课程信息
同1
3.删除课程信息
成功或失败:
返回列表页面,并给出相关提示信息
4.查看课程信息
返回符合条件的记录列表
2数据库设计
2.1数据库环境说明
数据库的环境为SQLsever2000,然后在创建数据库和该系统中所用到的表。
2.2数据库的命名规则
(1)数据库涉及字符规则:
采用26个英文字母(区分大小写)和0-9这十个自然数,
上下划线_组成,共63个字符。
不能出现其他字符(注释除外)。
(2)数据库表命名规则:
字段由前缀和实际名字组成。
实际名字中首单词一个系统尽量采
取同一单词。
前缀:
使用小写字母tb,表示表。
(3)字段命名规则:
数字、字符、日期/时间、lob(大对象)、杂项,字段由表的简称、下划
线,实际名字加后缀组成。
后缀:
使用小写字母,代表该字段的属性。
(4)sql语句命名规则:
所有sql关键词全部大写,比如Select,Update,FROM,ORDER,BY等。
字段由前缀和实际名字组成,中间用下划线连接。
2.3物理设计
图2系统ER图
2.4逻辑设计
根据ER图转换成关系模式,有以下三个表:
课程信息表(课程编号,课程名称,授课老师姓名,学分,授课地点,限选人数),其中课程编号为主码。
用户表(用户名,登录密码,角色),其中用户名为主码。
其中用户名为主码。
选课表(学生用户名,课程编号),其中学生用户名和课程编号为主码。
2.5表汇总
表名
功能说明
USER(用户表)
存放各个用户的信息
COURSE(课程信息表)
存放课程的基本信息
ELECTIVE(选课表)
存放选课的基本信息
2.5.1USER(用户表)
表名
USER
列名
注释
数据类型(精度范围)
空/非空
约束条件
username
用户登录用户名
Varchar(20)
F
主键
password
用户登录密码
Varchar(20)
F
role
0:
学生1:
教师
Char
(1)
F
2.5.2COURSE(课程信息表)
表名
COURSE
列名
注释
数据类型(精度范围)
空/非空
约束条件
course_id
课程编号
Char(60)
F
主键
course_name
课程名称
Varchar(40)
F
teacher
授课老师姓名
Varchar(40)
F
point
学分
Int(4)
F
address
授课地点
Varchar(40)
F
limited
限选人数
Int(4)
F
2.6创建数据库及表
在数据库stu下创建USER表,COURSE表,ELECTIVE表,sql语句如下所示:
CREATETABLEUSER(
Usernamevarchar(20)PRIMARYKEY,
Passwordvarchar(20)NOTNULL,
Rolechar
(1)NOTNULL
)
CREATETABLECOURSE(
course_idchar(60)PRIMARYKEY,
course_namevarchar(40)NOTNULL,
teachervarchar(40)NOTNULL,
pointint(4)NOTNULL,
addressvarchar(40)NOTNULL,
limitedint(4)NOTNULL
)
CREATETABLEELECTIVE(
Usernamevarchar(20)PRIMARYKEY,
course_idchar(60)PRIMARYKEY
FOREIGNKEY(username)REFERENCESUSER(username),
FOREIGNKEY(course_id)REFERENCESCOURSE(course)
)
2.7数据库连接
Java数据库互连(JDBC,JavaDatabaseConnectivity)API是SunMicrosystems提供的JavaAPI的一部分,它定义了一组API对象以及与数据库进行交互的方法。
为了快速高效地访问数据库中的数据,Java应用程序使用了JDBC。
虽然Java在其java.io包中提供了丰富的类和接口,但主要的缺陷是,通过这些类和接口访问的数据是以流的形式表示的。
因此,对于访问存储在外部数据提供的程序中的数据的所有Java应用程序而言,JDBC是必需的。
在本项目中我们使用的是JDBC-ODBC桥驱动程序,这种驱动程序是Sun公司提供的作为JDBC一部分驱动程序,用以从JDBC访问ODBC数据源。
它的特点是易于Windows操作系统下的数据库操作,可移植性强。
在本项目中我们使用的是JDBC-ODBC桥驱动程序,这种驱动程序是Sun公司提供的作为JDBC一部分驱动程序,用以从JDBC访问ODBC数据源。
它的特点是易于Windows操作系统下的数据库操作,可移植性强。
数据库的连接是通过JDBC中以下几个核心类来完成的。
1.DriverManager类
DriverManager类是JDBC的管理层,用于注册并跟踪可用的驱动程序,同时在数据库和相应的驱动程序之间建立连接。
2.Connection类
3.Statement类
Statement对象是由Connection类的creatStatment()方法创建的,用于将SQL语句送到数据库中。
4.ResultSet类
ResultSet类提供对数据结果集的访问机制。
结果集是一个二维表结构。
例如:
Connectionconn;
Statementsql=null;
ResultSetresultset;
try{
Class.forName("");
}catch(ClassNotFoundExceptione1){
"系统找不到对应的驱动程序");
e1.printStackTrace();}
try{
conn=DriverManager.getConnection("jdbc:
odbc:
statist");sql=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
}catch(Exceptione2)
{
"连接时出现异常,系统已将连接强行关闭");
System.exit
(1);
e2.printStackTrace();
}
returnsql;
}
3界面设计与模块实现
3.1界面关系图
图3界面关系图
3.2主界面
图4系统主界面视图
3.2.1课程管理子页面
图5添加课程界面
图5页面中对象的功能和操作方式:
(1)表单页面中的按钮,标签,文本框都是从swing组件中选择的。
(2)在页面中,有关于一些实体的固定的属性,都是从COURSE表中选择出来,进行选择填写
(3)图示中的“添加按钮”,点击以后用来往数据库中输入所添加的课程信息。
添加成功如下图所示:
图6添加课程成功
图6修改课程界面
图6页面中对象的功能和操作方式:
图示中的“修改按钮”,点击以后用来把修改后的课程信息输入到数据库COURSE表中。
修改成功如下图所示:
图7修改课程成功
图7查询课程界面
图7页面中对象的功能和操作方式:
图示中的“查询按钮”,当查询的时候,输入课程编号,如果该课程在数据库COURSE表中存在,则从该表中提出该课程的一些基本信息然后显示出来,就如图7所示。
图8删除课程界面
图8页面中对象的功能和操作方式:
图书中的“删除按钮”,当删除的时候,输入课程编号,如果该课程在数据库COURSE表中存在,则从该表中删除该课程的一些基本信息。
删除成功如下图所示:
图9删除课程成功
4系统测试与调试
在系统测试与调试中遇到了许多问题,简单如下几个:
(1)在与数据库连接时sql语句中的插入语句时后面的数值有些是字符串的时候忘了加‘’号,系统就提示有错误,然后就把‘’号加上。
(2)语句错误[Microsoft][ODBCSQLServerDriver][SQLServer]在关键字'user'附近有语法错误