资源描述
滁州学院数学系
课程设计汇报
设计名称: 学校教室管理系统
小组组员: 方涛,张晓东,耿强,杨凤武
专业班级: 级信息和计算科学1,2班
指导老师: 袁万莲 _
设计时间: /第二学期 ____
指导老师评语:
指导组老师判定:
署名:
指导组老师判定:
署名:
成绩:
指导老师署名:
年 月 日
一.课程设计目标
数据库课程设计是为数据库原理及应用课程而独立开设实践性课程,对于巩固数据库知识,加强学生实际动手能力和提升学生综合素质十分必需。经过本试验达成以下目标:
(1) 培养学生含有C/S和B/S模式数据库应用软件系统设计和开发能力。
(2) 熟练掌握一个数据库系统(如Access )使用。
(3) 熟练掌握一个数据库应用软件开发工具(如Java 、ASP、VB)使用。
(4) 经过设计实际数据库系统应用课题,深入熟悉数据库管理系统操作技术,提升动手能力,提升分析问题和处理问题能力。
二.课程设计任务和要求:
1、任务:
学校教室管理系统主菜单模块
问题描述:
设计一个学校教室管理系统基础框架,从整体上体会软件开发过程,关键对查找模块进行具体设计。
2、设计要求:
1)老师基础信息,关键包含老师编号,老师姓名,性别,所属院系,职称,任课情况等
2)学生基础信息,关键包含学号,姓名,院系号,省份证号等
3)教室信息,关键包含,楼层,教学楼编号等
4)教学楼信息,关键包含教学楼名称,教学楼编号等
5)老师查询,对相关院系老师个人信息,开课信息查询
6)对教室查询,查询教室实用信息,如有什么课或活动,方便同学们愈加好地了解教室使用
7)课程查询,查询课程具体信息,如同一课程能够有哪些老师开课,方便愈加好了解任一课程信息
三.课程设计说明书
1实体图及E-R图
(1)教室实体图
2 逻辑设计:
1)
表2-1 buiding信息表
表中列名
数据类型
可否为空
说明
编号
文本
not null(主键)
种类编号
名称
文本
null
种类名称
……
3、关系图
图3-1数据库存表关系图
4 物理设计
数据库物理设计阶段任务是依据具体计算机系统(DBMS和硬件等)特点,为给定数据库模型确定合理存放结构和存取方法。所谓“合理”关键有两个含义:一个是要使设计出物理数据库占用较少存放空间,另一个对数据库操作含有尽可能高速度。
将日志文件和数据库对象(表、索引等)分别放在不一样磁盘能够改善系统性能。所以系统将日志文件和数据文件存放在不一样磁盘上。
5 创建表
利用企业管理器创建表
6 系统实现
(1) 系统功效模块图:
系统功效模块图图
图10-1系统功效模块图
系统功效以下:
① 登录子系统:
能够实现教室管理员和学生管理员登录管理
②查询子系统:
关键用于老师信息查询,其中直接查询包含按老师编号直接查询,按姓名查询,按性别查询,按编号查询。多条件查询能够按管理员要求选择所需要信息。
(2) 登录模块实现
登录模块运行界面图XX
图学校教室管理系统登录界面图
②在输入正确用户信息条件下能够得到图主菜单所表示界面
学校教室管理系统主界面
下面给出该模块代码:
查找代码以下:
package no1;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.sql.*;
import javax.swing.*;
import javax.swing.border.Border;
public class TeacherQuery extends JPanel implements ItemListener,ActionListener{
JCheckBox[] checkbox=new JCheckBox[7];
JButton button=new JButton("查询");
JTextArea sqlCommand=new JTextArea(4,23);
String name="";
String names[];
int count;
JTable table;
Teacher t;
TeacherQuery(Teacher t){
setLayout(new GridLayout(0,1));
MyPanel panel1=new MyPanel("f:\\access\\img3.jpg");
MyPanel panel2=new MyPanel("f:\\access\\img1.jpg");
Border etched=BorderFactory.createEtchedBorder();
Border border1=BorderFactory.createTitledBorder(etched,"选择输出字段");
Border border2=BorderFactory.createTitledBorder(etched,"where命令");
panel1.setBorder(border1);
panel2.setBorder(border2);
this.t=t;
String[] labels={"编号","姓名","性别","院系","身份证","职称","课程"};
for(int i=0;i<7;i++){
checkbox[i]=new JCheckBox(labels[i]);
panel1.add(checkbox[i]);
checkbox[i].addItemListener(this);
}
panel2.add(sqlCommand);
panel2.add(button);
add(panel1);
add(new JScrollPane(panel2));
button.addActionListener(this);
}
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
JCheckBox check=(JCheckBox)(e.getItemSelectable());
check.setEnabled(false);
name=name+","+check.getLabel();
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==button){
// TODO Auto-generated method stub
Connection con;
Statement sql;
ResultSet rs;
StringTokenizer fenxi=new StringTokenizer(name,", ");
names=new String[fenxi.countTokens()];
while(fenxi.hasMoreTokens()){
names[count]=fenxi.nextToken();
count++;
}
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException e1){
sqlCommand.setText("Error:"+e1);
}
try{
con=DriverManager.getConnection("jdbc:odbc:scms","fangtao","fangtao");
sql=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
System.out.println(name+" "+name.substring(1,name.length()));
rs=sql.executeQuery("select "+name.substring(1,name.length())+" from teacher "+sqlCommand.getText());
rs.last();
String[][] data=new String[rs.getRow()][count];
rs.beforeFirst();
int i=0;
while(rs.next()){
for(int j=0;j<count;j++){
data[i][j]=rs.getString(j+1);
}
i++;
}
table=new JTable(data,names);
table.setBackground(Color.pink);
table.setGridColor(Color.blue);
t.panel2.removeAll();
t.panel2.add(new JScrollPane(table));
con.close();
count=0;
t.repaint();
}catch(SQLException e2){
sqlCommand.setText("Error:"+e2);
}
}
}
}
5课程设计心得体会
在此次课程设计软件开发过程中,我全方面实践一个面向数据库应用系统开发过程,学习了很多相关知识。这么项目对我学过数据结构,程序设计,数据库,软件工程等课程是一个综合性很高实践。………………………………………..
在本系统设计过程和课程设计汇报编写过程中,老师和同学全部给了我很多无私帮助,尤其是我指导老师刘新民老师给我系统设计提出了很多宝贵修改意见,在这里,我向这些无私帮助我人表示衷心感谢。
以往学习java时候全部是根据书上例题做,了解每个空间,不能做到对控件熟练利用
假如想为了自己空间友好显示,必需寻求除了书上提供有限方法,比如控件其它结构方法
重写控件方法,如重写paintComponent()来改变控件图片等,说明对控件使用还是比较陌生
这些内容在书上是没有提供,必需从网上搜索,体验到自己知识不足,很多知识全部在书本外面
要想学好知识必需广泛涉猎,此次设计,要做到多个框架之间建立联络,以前极少做这么训练
感觉到设计一个良好框架,做到框架之间,清楚关系,更有利于做设计,自己在框架设计方面还是
很微弱。以后会自己独立做部分小课程设计,毕竟计算机以实践为基础。
很辛劳,很愉快。
展开阅读全文