java学生选课系统

java学生选课系统
java学生选课系统

需求分析:写一个较为严谨的学生选课系统,实现学生可以选择多门选课课程,并将有效选课结果保存到数据库。学生需要登录后,才能选课。让学生可以在选课系统通过多种方式查询到要选的课程信息。

//选课规则:1、每个学生可以选多门课程,多次选课的总学分不能超过6学分;2、不能重复选择一门课程;3、每一门课程的选课人数都有数量限制,当某门课程的选课名额满时,则应另选课程。4、凭用户名和密码登录,通过提交某一课程号来选课

//总体设计方案:建立三个类:登录类register,选课类studentChooseCourse,数据库工具类JDBCUtil;一个SQL脚本文件用于生成数据库表结构和初始记录,以搭建数据库环境。

登录类register类,负责对用户的身份进行验证;工具类JDBCUtil用于实现连接,你可调用JDBCUtil的getConnection()方法等到链接。

选课类studentChooseCourse用于,实现选课功能。其中包括几个主要方法:

1、actionPerformed(ActionEvent) 用于监听用户“查询”和“提交”操作,并负责调用各种方法对其进行处理

2、createSearchCourse()用于产生图形用户界面

3、processBeforeCommit()用于对用户的“提交”查找进行验证,剔除无效的用户操作

4、tryCommit()负责对有效的“提交”操作,进一步处理,并将有效的操作结果时时保存到数据库,并更新数据库原有信息

//本程序用到的知识点:数据库连接JDBC;SQL建表、插入输入、动态查询;图形用户界面的产生以及处理查询结果集并较好显示;程序设计基础知识。

//代码如下:

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.sql.*;

import javax.swing.*;

import javax.swing.table.DefaultTableModel;

import school.schoolPicture.JdbcUtil;

public class StudentChooseCourse extends JFrame implements ActionListener { JTextField jtfSearch = new JTextField(11);

String[] columnNames = new String[] { "课程ID", "课程名", "学时", "学分", "学期", "性质" };

DefaultTableModel dtmSearch = new DefaultTableModel(columnNames, 27); JTable jtSearch = new JTable(dtmSearch);

JScrollPane jspSearch = new JScrollPane(jtSearch);

JComboBox jcbSearch = new JComboBox();

JTextField jtfSelectedCourse = new JTextField(10);

Connection con = null;

PreparedStatement ps = null;

ResultSet rs = null;

private static String usrName;

private static String passwrd;

public StudentChooseCourse(String usrName, String passwrd) { createSearchCourse();

https://www.360docs.net/doc/1d3198305.html,rName = usrName;

this.passwrd = passwrd;

}

public String getUsrName() {

return usrName;

}

public void setUsrName(String usrName) {

https://www.360docs.net/doc/1d3198305.html,rName = usrName;

}

public String getPasswrd() {

return passwrd;

}

public void setPasswrd(String passwrd) {

this.passwrd = passwrd;

}

public void actionPerformed(ActionEvent e) {

String str = e.getActionCommand();

if ("查询".trim().equals(str)) {

int k = 1;

while (k < 10) {

for (int i = 1; i < 7; i++) {

jtSearch.setValueAt(null, k - 1, i - 1);

}

k++;

}

searchAvailableCourse();

} else if ("提交".equals(str)) {

boolean effect=processBeforeCommit();

if(effect==true){tryCommit();}

}

}

public boolean processBeforeCommit(){

int k = 1;

while (k < 10) {

for (int i = 1; i < 7; i++) {

jtSearch.setValueAt(null, k - 1, i - 1);

}

k++;

}

String userInput = jtfSelectedCourse.getText().toString().trim()

.toLowerCase();

String sql = "select cno from coursexx where cno=? ";

boolean flagCourseExist = false;

try {

ps = con.prepareStatement(sql);

ps.setString(1, userInput);

rs = ps.executeQuery();

flagCourseExist = rs.next();

} catch (Exception eC) {

eC.printStackTrace();

}

if (!flagCourseExist) {

JOptionPane.showMessageDialog(null, "该课程不存在,请重新输入"); return false;

}

PreparedStatement ps = null;

sql = "select sum(grade) "

+ "from (select x.sname , https://www.360docs.net/doc/1d3198305.html,o,k.grade grade "

+ "from coursexx k join choicesxx x "

+ "on https://www.360docs.net/doc/1d3198305.html,o=https://www.360docs.net/doc/1d3198305.html,o and x.sname=?) result";

String grade =null;

try {

ps = con.prepareStatement(sql);

ps.setString(1, usrName);

rs = ps.executeQuery();

while (rs.next()) {

grade = rs.getString(1);

if(grade==null){grade="0";}

}

} catch (Exception rrr) {

rrr.printStackTrace();

}

System.out.println("总学分:" + grade);

if (Integer.parseInt(grade) > 6) {

JOptionPane.showMessageDialog(null, "你已经选满6学分,系统将退出"); this.setVisible(false);

return false;

}

sql = "select * from choicesxx where sname=? and cno=?";

boolean flag = false;

try {

ps = con.prepareStatement(sql);

ps.setString(1, this.getUsrName());

ps.setString(2, userInput);

rs = ps.executeQuery();

flag = rs.next();

} catch (Exception eaa) {

eaa.printStackTrace();

}

if (flag) {

JOptionPane.showMessageDialog(null, "你已经选择了该课程。请另选课程"); return false;}

return true;

}

public void tryCommit() {

String userInput = jtfSelectedCourse.getText().toString().trim()

.toLowerCase();

PreparedStatement ps;

String sql = "select (Max-selectedCount) as RemainedCount "

+ "from Coursexx where cno=?";

try {

ps = con.prepareStatement(sql);

ps.setString(1, userInput);

rs = ps.executeQuery();

ResultSetMetaData meta = rs.getMetaData();

int cols = meta.getColumnCount();

int RemainedCount = -1;

while (rs.next()) {

RemainedCount = rs.getInt(1);

System.out.println("RemainedCount:" + RemainedCount);

}

if (RemainedCount > 0) {

sql = "insert into choicesxx values(?,?)";

ps = con.prepareStatement(sql);

ps.setString(1, this.getUsrName());

ps.setString(2, userInput);

ps.executeUpdate();

JOptionPane.showMessageDialog(null, "选课成功:" + this.getUsrName()

+ " 选了" + userInput + "." + "" + " 还有" + RemainedCount

+ " 人可以选该课程。");

sql = "update CourseXX set selectedCount=selectedCount+1 where cno=?";

ps = con.prepareStatement(sql);

ps.setString(1, userInput);

ps.executeUpdate();

https://www.360docs.net/doc/1d3198305.html,mit();

}

} catch (Exception es) {

es.printStackTrace();

try {

con.rollback();

} catch (Exception ey) {

ey.printStackTrace();

}

}

}

public void searchAvailableCourse() {

if (JDBCUtil.getConnection() != null) {

System.out.println(JDBCUtil.getConnection());

con = JDBCUtil.getConnection();

} else {

con = JdbcUtil.getConnection();

}

String userInput = jtfSearch.getText().toString().trim().toLowerCase();

String selectedItem = jcbSearch.getSelectedItem().toString().trim(); System.out.println("User search:" + userInput);

System.out.println("selectedItem:" + selectedItem);

String sql = null;

try {

if ("课程名".equals(selectedItem)) {

sql = "select cno,cname,hour,grade,term,isNeed from CourseXX where cname = ?";

ps = con.prepareStatement(sql);

ps.setString(1, userInput);

} else if ("课程ID".equals(selectedItem)) {

sql = "select cno,cname,hour,grade,term,isNeed from CourseXX where cno = ?";

ps = con.prepareStatement(sql);

ps.setString(1, userInput);

} else if ("学时".equals(selectedItem)) {

sql = "select cno,cname,hour,grade,term,isNeed from CourseXX where hour = ?";

ps = con.prepareStatement(sql);

ps.setInt(1, Integer.parseInt(userInput));

} else if ("学分".equals(selectedItem)) {

sql = "select cno,cname,hour,grade,term,isNeed from CourseXX where

grade = ?";

ps = con.prepareStatement(sql);

ps.setInt(1, Integer.parseInt(userInput));

} else if ("学期".equals(selectedItem)) {

sql = "select cno,cname,hour,grade,term,isNeed from CourseXX where term = ?";

ps = con.prepareStatement(sql);

ps.setString(1, userInput);

}

System.out.println(sql);

rs = ps.executeQuery();

https://www.360docs.net/doc/1d3198305.html,mit();

ResultSetMetaData meta = rs.getMetaData();

int cols = meta.getColumnCount();

String result = null;

int k = 1;

boolean flag = false;

while (rs.next()) {

for (int i = 1; i <= cols; i++) {

result = rs.getString(i);

System.out.println(result);

jtSearch.setValueAt(result, k - 1, i - 1);

}

k++;

flag = true;

}

if (flag == false) {

JOptionPane.showMessageDialog(null, "该课程不存在,请重新输入"); return;

}} catch (Exception ex) {

ex.printStackTrace();

try {

con.rollback();

} catch (Exception er) {

er.printStackTrace();

}

}

public void createSearchCourse() {

this.setLayout(new GridLayout(3, 1));

JPanel jp1 = new JPanel();

jp1.setLayout(new GridLayout(4, 1));

JPanel jp2 = new JPanel();

JPanel jp3 = new JPanel();

JPanel jp10 = new JPanel();

JPanel jp11 = new JPanel();

JPanel jp12 = new JPanel();

JPanel jp13 = new JPanel();

JLabel jlSearch = new JLabel(" 学生选课系统");

jp11.add(jlSearch);

jcbSearch.addItem(new String("课程名"));

jcbSearch.addItem(new String("课程ID"));

jcbSearch.addItem(new String("学时"));

jcbSearch.addItem(new String("学分"));

jcbSearch.addItem(new String("学期"));

jp12.add(jtfSearch);

jp12.add(jcbSearch);

JButton jbOK = new JButton("查询");

jbOK.addActionListener(this);

jbOK.setSize(90, 20);

jp13.add(jbOK);

jp1.add(jp10);

jp1.add(jp11);

jp1.add(jp12);

jp1.add(jp13);

jp2.add(jspSearch);

JLabel jlSelectedCourse = new JLabel("请输入课程ID:");

JButton jbSelectedCourse = new JButton("提交");

jbSelectedCourse.addActionListener(this);

jp3.add(jlSelectedCourse);

jp3.add(jtfSelectedCourse);

jp3.add(jbSelectedCourse);

this.add(jp1);

this.add(jp2);

this.add(jp3);

this.setVisible(true);

this.setSize(485, 600);

}

public static void main(String[] args) {

//String usrName = "xuliang";

//String passwrd = "123";

new StudentChooseCourse(usrName, passwrd);

}

}

drop table registerXu;

create table registerXu (id varchar(20),userName varchar(20),passWord varchar(20),identify varchar(20));

insert into registerXu values('s001','xuliang','123','学生');

insert into registerXu values('s002','xuliang2','1234','学生');

insert into registerXu values('j001','jack','12345','学生');

insert into registerXu values('001','user','user','学生');

insert into registerXu values('z001','zlm','corejava','老师');

String sql = "select * from registerXu "

+ "where userName=? and passWord=? and identify=?";

//table 2:Coursexx课程表

drop table Coursexx;

create table Coursexx(cno varchar(20) primary key,cname varchar(20),hour Int, grade Int,term varchar(20),isNeed varchar(20), selectedCount Int ,Max Int);

insert into Coursexx values('c001','Core Java',50,5,'201007','NoNecessary',0,50); insert into Coursexx values('c002','XML',20,2,'201008','NoNecessary',0,40);

insert into Coursexx values('c003','HIBERNATE',20,4,'201008','NoNecessary',0,30); insert into Coursexx values('c004','SQL',20,4,'201006','NoNecessary',0,5);

insert into Coursexx values('c005','JDBC',20,2,'201008','NoNecessary',0,3);

insert into Coursexx values('c006','AJAX',20,2,'201010','NoNecessary',0,1);

insert into Coursexx values('c007','JSP',100,8,'201009','NoNecessary',0,1

sql = "select cno,cname,hour,grade,term,isNeed from CourseXX where cname = ?"; //table 3:学生表--

drop table studentxx;

create table studentxx(sid varchar(20),sname varchar(20) primary key,sex varchar(20),birthday varchar(20),

className varchar(20), image varchar(20));

insert into studentxx values('s001','xuliang','male','19901124','sd1003','good');

insert into studentxx values('s002','xuliang2','male','19851124','sd0910','good');

insert into studentxx values('j001','jack','male','19881124','sd1003','good');

insert into studentxx values('001','user','male','19901124','sd1005','good');

insert into studentxx values('s003','sisi','female','19880124','sd1007','good');

insert into studentxx values('as003','crystal','female','19880124','asd1007','good'); drop table choicesxx;

create table choicesxx(

sname varchar(20) references studentxx(sname),cno varchar(20) references coursexx(cno));

package school;

import javax.swing.*;

import school.schoolPicture.JdbcUtil;

import java.sql.*;

import java.awt.*;

import java.awt.event.*;

public class Register implements ActionListener {

JFrame jf = new JFrame("学生成绩管理与选课系统");

JTextField jtfUserName = new JTextField(10);

JPasswordField jpfPassWord = new JPasswordField(10);

JComboBox identify = new JComboBox();

public Register() {

CreateRegisterGUI();

}

public void actionPerformed(ActionEvent e) {

String str = e.getActionCommand();

if (str.equalsIgnoreCase("登录")) {

processLogin();

} else if (str.equalsIgnoreCase("取消")) {

jtfUserName.setText("");

jpfPassWord.setText("");

} else if (str.equalsIgnoreCase("注册")) {

new CreateLogin();

}

}

public void processLogin() {

Connection con = null;

if (JdbcUtil.class == null) {

con = JdbcUtil.getConnection();

} else {

con = JDBCUtil.getConnection();

}

String usrName = jtfUserName.getText().trim();

String passwrd = new String(jpfPassWord.getPassword()).trim(); String ident = identify.getSelectedItem().toString().trim(); String sql = "select * from registerXu "

+ "where userName=? and passWord=? and identify=?"; System.out.println(usrName + ":" + passwrd + ":" + ident);

try {

PreparedStatement ps = con.prepareStatement(sql);

ps.setString(1, usrName);

ps.setString(2, passwrd);

ps.setString(3, ident);

ResultSet rs = ps.executeQuery();

StringBuffer sb = new StringBuffer(""); ResultSetMetaData meta = rs.getMetaData();

int cols = meta.getColumnCount();

records in database:

while (rs.next()) {

for (int i = 1; i < cols; i++) {

sb.append(meta.getColumnName(i));

sb.append(rs.getString(i));

}

}if (sb.length() < 1) {

JOptionPane.showMessageDialog(null, "用户名或密码错误");

} else if (sb.length() >= 1) {

if (ident.equals("student")) {

new StudentChooseCourse(usrName, passwrd);

jf.setVisible(false);

} else if (ident.equals("teacher")) {

new TeacherEntered();

jf.setVisible(false);

} else if (ident.equals("admin")) {

}

}

} catch (Exception er) {

er.printStackTrace();

}

}

public void CreateRegisterGUI() {jf.setLayout(new GridLayout(5, 1)); JPanel jp1 = new JPanel();

JLabel jl1 = new JLabel("学生成绩管理系统");

jp1.add(jl1);

jf.add(jp1);

JPanel jp2 = new JPanel();

JLabel jl2 = new JLabel("用户名:");

jp2.add(jl2);

jp2.add(jtfUserName);

jf.add(jp2);

JPanel jp3 = new JPanel();

JLabel passWord = new JLabel("密码:");

jp3.add(passWord);

jp3.add(jpfPassWord);

jf.add(jp3);

JPanel jp4 = new JPanel();

JLabel jl4 = new JLabel("身份:");

// identify.addItem(new String("学生"));

identify.addItem(new String("student "));

// identify.addItem(new String("老师"));

identify.addItem(new String("teacher "));

// identify.addItem(new String("管理员"));

identify.addItem(new String("admin "));

identify.addActionListener(this);

jp4.add(jl4);

jp4.add(identify);

jf.add(jp4);

JPanel jp5 = new JPanel();

JButton enter = new JButton("登录");

enter.addActionListener(this);

JButton cancel = new JButton("取消");

cancel.addActionListener(this);

JButton regist = new JButton("注册");

regist.addActionListener(this);

jp5.add(enter);

jp5.add(cancel);

jp5.add(regist);

jf.add(jp5);

jf.setSize(400, 250);

jf.setVisible(true);

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }

public static void main(String[] args) {

new Register();

}

}

import java.sql.*;

public class JDBCUtil {

public JDBCUtil() {

}

PreparedStatement ps = null;

ResultSet rs = null;

static {

String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; try {

Class.forName(driverName);

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

}

public static Connection getConnection() {

Connection connection = null;

String url = "jdbc:sqlserver://localhost:1433; DatabaseName=master"; String user = "sa";

String password = "sd100301";

// String password="Foolish004";

try {

connection = DriverManager.getConnection(url, user, password); connection.setAutoCommit(false);

System.out.println(connection);

} catch (SQLException e) {

e.printStackTrace();

}

return connection;

}

public static void main(String[] args) {

new JDBCUtil().getConnection();

}

}

学生信息管理系统(Java)+代码

学生信息管理系统设计 1、系统简介 本系统提供了学生信息管理中常见的基本功能,主要包括管理员和学生两大模块。 管理员的主要功能有对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。学生的主要功能有对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 2、功能设计 2.1 需求分析 本系统需要实现的功能: (1)、管理员对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。 (2)、学生对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 2.2 总体设计 学生信息管理系统主要包括管理员和学生两大模块。管理员模块包括:学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等。用户模块包括:学生信息查看、成绩信息查看、个人信息管理等。系统总体结构如图所示。 总体结构图 2.3 模块详细设计 1、学生信息管理模块 学生信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图所示。

学生信息管理模块结构图 2、课程信息管理模块 课程信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图所示。 课程信息管理模块结构图 3、选课信息管理模块 选课信息管理模块包括查询、显示全部等。具体的结构图如图所示。 选课信息管理模块结构图 4、成绩信息管理模块 成绩信息管理模块包括修改成绩、查询、显示全部等。具体的结构图如图所示。

成绩信息管理模块结构图 5、用户信息管理模块 用户信息管理模块包括修改、查询、显示全部等。具体的结构图如图所示。 用户信息管理模块结构图 3、数据库设计 在数据库student中共有4张数据表:s(学生信息表)、c(课程信息表)、sc(选课信息表)、unpw(用户信息表),下面定义每张表的字段名称和数据类型。

基于jsp(java)学生选课系统的设计和开发

基于jsp学生选课系统的设计 姓名 系别、专业 导师姓名、职称 完成时间

基于JSP的学生选课系统 张三 内容摘要:随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。学生选课系统作为一种现代化的教学技术,以越来越受到人民的重视,是一个学校不可缺少的部分, 学生选课系统就是为了管理好选课信息而设计的。学生选课系统的将使选课管理工作规范化,系统化,程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。 关键词:选课、课程信息发布、B/S、JSP

目录 第一章引言 第二章相关技术介绍 第一节Java技术 (2) 第二节Servlet技术 (3) 第三节Jsp技术 (4) 第四节开发软件介绍 (5) 4.1 eclipse平台 (5) 4.2 Tomcat服务器 (6) 4.3 SQL server 2000 (6) 第三章系统分析 第一节系统功能模块划分 (8) 第二节系统功能类别划分 (8) 第三节系统维护 (9) 3.1 课程基本资料维护 (9) 3.2 系部维护 (10) 3.3 管理员维护 (10) 第四节学生选课 (10) 4.1 课程预览 (10) 4.2 选课 (10) 4.3 退课 (11) 4.4 修改密码 (11) 第五节教师课程查询 (12) 5.1 查询课程情况 (12) 5.2 修改密码 (12) 第四章系统功能设计 第一节系统功能设计图 (13) 第二节数据库设计 (13) 第三节页面及功能设计 (14) 第五章总结

基于java学生信息管理系统设计与实现

基于java的学生信息管理系统设计与实现

基于java的学生信息管理系统设计与实现 摘要:利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找便、可靠性高、存储量大、保密性好。本设计就是一个为实现信息化管理而开发的信息管理系统,能够进行信息存储、查询、修改等能功。该系统由六个模块构成,包括学生管理系统的主界面模块、学生信息管理模块、课程信息管理模块、成绩信息管理模块、信息查询模块和数据库操作模块。通过这些模块的有机结合,能便的对学生信息进行综合管理,从而实现了信息化管理的目的。由于本人的能力有限,设计过程中难免有不足之处,设计中的存在问题本人将在日后进一步修改,以便让程序的设计更加完善。 关键词:oracle; 异常处理;关系模型

目录 1 引言 0 1.1背景及意义 (3) 1.2 实验技术选择 (4) 1.3 课题实现技术的简要说明 (7) 1.4可行性分析 (8) 2系统需求分析 (9) 3 学生信息管理系统设计 (10) 3.1数据模型分析与设计 (10) 3.2 结构设计与结构功能图 (13) 3.2.1 结构设计 (13) 3.2.2 功能结构图 (13) 4 系统实现 (15) 5 系统调试与测试 (20) 5.1系统功能测试 (20) 5.2系统调试常见错误 (20) 6 实验小结 (22) 参考文献 (22)

1 引言 1.1背景及意义 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的式管理文件档案、统计和查询数据,这种管理式存在着多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无法比拟的优点。例如:检索迅速、查询便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找便、可靠性高、存储量大、保密性好。要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能的信息管理系统是十分重要的。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。 本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。通过一个简化的学生信息管理系统,使学生信息管理工作系统化、规化、自动化,从而达到提高学生信息管理效率的目的。本课题就是针对便于学生信息管理的问题而设计的一个管理系统。

学生信息管理系统java课程设计(含源代码)

JAVA程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 设计时间: 评阅意见: 评定成绩:

目录 一、系统描述 (2) 1、需要实现的功能 (3) 2、设计目的 (3) 二、分析与设计 (3) 1、功能模块划分 (3) 2、数据库结构描述 (4) 3、系统详细设计文档 (6) 4、各个模块的实现方法描述 (9) 5、测试数据及期望结果 (11) 三、系统测试 (16) 四、心得体会 (23) 五、参考文献 (24) 六、附录 (24)

一、系统描述 1、需求实现的功能 、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。 、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 、查询学生基本信息的功能 可使用“姓名”对已存有的学生资料进行查询。 、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,

基于JAVA语言的学生选课管理系统的设计与实现.

基于JAVA语言的学生选课管理系统的设计与实现 开发背景 ?随着我国国民经济的飞速发展,电子计算机和通信技术的发展,人类已经逐渐地进入信息化社会。信息和材料、能源一样成为一种社会的基本生产资料,在人类的社会生产活动中发挥着重要的作用。同时人们对信息和数据的利用与处理也已进入自动化、网络化和社会化的阶段,因此,开发相关的管理信息系统已经成为各行各业的必要和必需了 开发意义 ?课题库建设是教育现代化的需要,是教考分离、最大限度提高办学效益、实行标准化考试的需要,也是课程建设的一个重要组成部分。用试题库进行考试是命题方式的重要改革,是实现由传统人工命题到采用计算机随机命题的根本性转变。现代化的考试方法、考试手段,具有无比的优越性和强大的生命力,是教育现代化不可或缺的组成部分。由于从组织出卷到试卷的印制及试卷的管理等工作非常繁琐,工作量很大,而且试卷的标准化程度、难易程度、题量大小等各方面难以控制。因此,本课题组针对试题本身内容、试题管理方面,对试题的设计和试题库的运行机制进行研究,利用计算机进行试卷的自动生成并逐步积累形成有效的试题库,这不仅克服了个人命题中容易出现的片面性、随意性,而且要保证组卷客观性和科学性,对试题和试卷的管理将变得高效而便捷,对提高工作效率,使试卷管理逐步走向正规化、自动化,并进而实现课程管理的现代化,将起到十分重要的作用。 系统功能描述 ?学生选课管理系统根据实际使用对象,共分三个角色:管理员、教师和学生。主要划分为四个功能:个人信息管理功能、试题管理功能、试卷生成功能和信息查询功能。其中的关键是试题管理功能和组卷功能的设计。 系统功能描述 ?教师和管理员用户应具有的功能: (1对教师个人的信息的管理和查询。

计算机论文基于javaweb开发的学生信息管理系统_学位论文

基于Java web开发的学生信息管理系统 摘要 随着信息技术和网络技术飞速发展,管理信息系统具有重要的现实意义。系统研究了管理信息系统(MIS)的概念、开发方法、运行模式以及体系结构,分析了传统管理信息系统存在的问题。详细介绍了ASP技术,深入探讨了基于Web的管理信息系统工作原理。 阐述了对系统有着支持性作用的科技信息数据库,并从其功能、结构、选型上进行了设计。此外还根据数据库范式理论分析了部分数据库表的结构,并给出一组实用数据库表的定义;利用数据库视图、触发器技术实现了系统中约束规则在数据层与应用层的合理划分。 关键词:管理信息系统,web技术,ASP技术,数据 With the rapid development of information technology and network technology, the management information system has important practical significance. System research the concept of management information system (MIS), development methods, operational mode and structure of system, analyzes the problems existing in the traditional management information system. ASP technology was introduced in detail, and discussed the working principle of the management information system based on Web. The database of a supporting role of science and technology information to system will be designed from its function, structure, selection . In addition, according to the theory of database model ,it analysis part of the structure of the database table and gives the definition of a set of practical database tables; The system of using database views, triggers technology achieves the constraint rules reasonable division in the data layer and application layer. Keywords: management information system, web technology, ASP technology, the database

学生选课系统毕业论文

淮海工学院东港学院 毕业设计(论文)说明书题目:学生选课系统 作者:贾娜学号:5102210107 系(院):东港学院计算机系 专业:计算机应用与维护 指导者:林毅 (姓名) (专业技术职务) 评阅者: (姓名) (专业技术职务) 2005年 6 月连云港

毕业设计(论文)中文摘要

目次 1引言(或绪论) ....................................... 错误!未定义书签。 1.1 课题研究的目的 ..................................... 错误!未定义书签。1.2 课题研究的意义 ................................... 错误!未定义书签。 1.3 课题的可行性分析 ................................... 错误!未定义书签。 1.3.1 课题调研?错误!未定义书签。 1.3.2 可行性分析 ....................................... 错误!未定义书签。 2 准备阶段 ............................................ 错误!未定义书签。 2.1 ASP基础........................................... 错误!未定义书签。2.2数据库系统设计 ................................... 错误!未定义书签。3应用系统开发工具 ................................... 错误!未定义书签。3.1对软件和硬件的要求 .............................. 错误!未定义书签。3.2 运行需求?错误!未定义书签。 3.3 其他需求 ........................................... 错误!未定义书签。 3.4 数据库应用系统开发简介7? 3.5 学生选课系统 (7) 3.6MSSQL Server 简介?错误!未定义书签。 4系统分析?错误!未定义书签。 4.1 系统简要分析 ..................................... 错误!未定义书签。4.2应用需求分析 .................................... 错误!未定义书签。4.3业务流分析 ...................................... 错误!未定义书签。4.4 数据流分析 ..................................... 错误!未定义书签。 4.5 系统数据模型设计?错误!未定义书签。 4.5.1 E-R图?错误!未定义书签。 4.5.2 数据表 ......................................... 错误!未定义书签。 5 操作方法 ............................................. 错误!未定义书签。5.1 登录 ............................................. 错误!未定义书签。5.2 课程预览?错误!未定义书签。 5.3 选课?错误!未定义书签。 5.4 退课?错误!未定义书签。 5.5 密码修改 ........................................ 错误!未定义书签。5.6管理员登录?错误!未定义书签。 5.7 退出系统 ........................................ 错误!未定义书签。 6 调和测试 ............................................ 错误!未定义书签。

学生选课系统开题报告书

学生选课系统开题报告书 目学生选课及信息管理系统的设计与实现学院物联网工程学院专业计算机科学与技术姓名学号指导教师副教授年月课题来源本课题是自拟课题.科学依据 一、本课题的目的及实际意义随着科学技术的不断提高,计算机科学日渐成熟,其强大的计算机功能已经让人们深刻认识到,计算机已经进入人类社会的各个领域并发挥着越来越重要的作用.作为计算机应用的一部份,使用计算机对选课信息进行管理,具有手工管理所无法比拟的优点.例如:查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等.这些优点能够极大地提高人事劳资管理的效率,也是学校的科学化、正规化管理与世界接轨的重要条件.因此,很有必要开发一套这样的软件.网上选课在我国起步比较晚,但发展很快.随着互联网的普及和网上选课系统的更趋向于成熟化,会有越来越多的学校和培训机构需要网上选课系统.学生选课系统是一个学校学生管理中不可缺少的一部分,对于学校的决策者和管理者来说都至关重要,所以系统应该为用户提供充分的信息管理和方便的查询手段.但一直以来,人们使用人工的方式管理文件档案,这种管理方式存在着许多缺点:效率低,保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难.使用计算机对选课信息进行管理,具有手工管理所无法比拟

的优点.这些优点能够极大地提高人事劳资管理的效率,也是学校的科学化、正规化管理与世界接轨的重要条件.通过本系统的开发及研究,可以进一步巩固在校所学各种理论知识,为今后的就业和工作打下一个良好的基础. 二、本课题的国内外的研究现状我国高校都实行了学分制,它的核心是允许学生自由选课,即把学习的自主权交给学生.在这里,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成.运用计算机辅助选课,即能实时地对大量选课数据进行检验和统计,分方便地输出选课结果,同时也避免了人工处理时容易产生的错误.在高等学校的教务管理工作中,课程表的编排是一项分复杂、棘手的工作.在排课过程中,除了满足大量的制约条件以外,还必须解决许多冲突与矛盾,例如:两位教师不能同一时间在同一班级上课、一位教师不能在同一时间上两门课等等.利用计算机辅助进行课表编排工作,既提高了排课工作的科学性,又可大大减轻管理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新台阶.研究内容通过研究和探讨,初步确定主要研究内容如下:本系统包括以下功能模块:1、管理员模块,包括学生、课程、教师、选课信息的管理.2、教师模块,包括课程、个人信息、课程信息、成绩统计等功能.3、学生模块,包括选课、查看成绩等功能.拟采取的研究方法、技术路线、实验方案及可行性分析本课题所开发的系统使用JAVA来设计开发完成,SQLServer作

Java版学生管理系统毕业设计论文

Java版学生管理系统毕业设计论文 目录 摘要 (1) 引言 (4) 第一章可行性分析 (6) 1.1 问题的定义 (6) 1.2 系统可行性分析 (7) 第二章需求分析 (7) 2.1 系统开发环境 (7) 2.1.1 Java的主要特性 (7) 2.1.2 SQL介绍 (9) 2.1.3 C/S结构介绍 (9) 2.2 系统需要解决的主要问题 (10) 2.3 系统具备的基本功能 (10) 第三章系统设计 (11) 3.1 系统目标设计 (11) 3.2 开发设计思想 (12) 3.3 系统功能分析 (12) 3.4 系统功能模块设计 (12) 第四章数据库设计 (13) 4.1 数据库需求分析 (13) 4.2 数据库概念结构设计 (14) 4.3 数据库逻辑结构设计 (14) 4.4 SQL脚本实现 (14) 第五章系统主要功能模块 (16) 5.1 登陆和主窗体界面设计 (16) 5.1.1 管理员界面主要代码 (19) 5.2 学生界面设计 (22) 5.2.1 学生界面主要代码 (24) 5.3 教师界面设计 (26)

5.3.1 教师界面主要代码 (28) 结论 (30) 参考文献 (31) 附录 (32) 谢辞 (47) 第一章可行性分析 1.1 问题的定义 学生信息的管理是学校日常工作的重要组成部分。高校招生规模逐渐扩大和认识制度的改革,在校学生人数将不断增加,而学生管理人员则相对减少。加上我国高等学校基层学生管理头绪多,容杂,管理细,要求高,传统管理办法以基本不适用新形势的要求。在校生的基本信息的管理,选课及成绩的信息的管理,学生学籍的管理,稍有不慎就会出现错误。同时学生成绩的手工登录与查询,是一项非常繁重而枯燥的劳动,每天课程的变化都需要重新规划,耗费许多人力和物力,而且会因人的情绪烦操而出现失误。因此在计算机飞速发展的今天,应用数据库技术实现学生信息的管理是可行而必要的工作,实现高校学生信息网上管理,既能够提高工作效率,又可以提高工作水平。 计算机具有速度快、精度高、能按照设计逻辑处理问题等特性,在学生信息的录入、统计中如采用一个计算机化的信息系统进行处理,就不会发生信息遗漏或者数据输入不正确的情形。 在学校长期以来,学生信息管理都是依赖人工进行的,面对如此众多的学生信息,其工作量可想而知。不仅仅浪费了大量的人力物力,而且由于人工管理存在着大量的不可控因素,造成了信息管理系的某些不规。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、性好、寿命长、成本低等。这些优点

学生网上选课系统毕业设计论文

实训报告 课题名称:学生网上选课系统

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

java学生选课系统

需求分析:写一个较为严谨的学生选课系统,实现学生可以选择多门选课课程,并将有效选课结果保存到数据库。学生需要登录后,才能选课。让学生可以在选课系统通过多种方式查询到要选的课程信息。 //选课规则:1、每个学生可以选多门课程,多次选课的总学分不能超过6学分;2、不能重复选择一门课程;3、每一门课程的选课人数都有数量限制,当某门课程的选课名额满时,则应另选课程。4、凭用户名和密码登录,通过提交某一课程号来选课 //总体设计方案:建立三个类:登录类register,选课类studentChooseCourse,数据库工具类JDBCUtil;一个SQL脚本文件用于生成数据库表结构和初始记录,以搭建数据库环境。 登录类register类,负责对用户的身份进行验证;工具类JDBCUtil用于实现连接,你可调用JDBCUtil的getConnection()方法等到链接。 选课类studentChooseCourse用于,实现选课功能。其中包括几个主要方法: 1、actionPerformed(ActionEvent) 用于监听用户“查询”和“提交”操作,并负责调用各种方法对其进行处理 2、createSearchCourse()用于产生图形用户界面 3、processBeforeCommit()用于对用户的“提交”查找进行验证,剔除无效的用户操作 4、tryCommit()负责对有效的“提交”操作,进一步处理,并将有效的操作结果时时保存到数据库,并更新数据库原有信息 //本程序用到的知识点:数据库连接JDBC;SQL建表、插入输入、动态查询;图形用户界面的产生以及处理查询结果集并较好显示;程序设计基础知识。 //代码如下: import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.*; import javax.swing.*; import javax.swing.table.DefaultTableModel; import school.schoolPicture.JdbcUtil; public class StudentChooseCourse extends JFrame implements ActionListener { JTextField jtfSearch = new JTextField(11); String[] columnNames = new String[] { "课程ID", "课程名", "学时", "学分", "学期", "性质" }; DefaultTableModel dtmSearch = new DefaultTableModel(columnNames, 27); JTable jtSearch = new JTable(dtmSearch); JScrollPane jspSearch = new JScrollPane(jtSearch); JComboBox jcbSearch = new JComboBox(); JTextField jtfSelectedCourse = new JTextField(10); Connection con = null; PreparedStatement ps = null; ResultSet rs = null; private static String usrName;

计算机毕业论文_基于JAVA的学生成绩管理系统的设计与实现

基于JA V A的学生成绩管理系统的设计与实现 THE DESIGN AND REALIZATION OF THE RESULT OF STUDENT ADMINISTRATION MANAGEMENT SYSTEM ON THE JA V A 学生姓名: 学号: 年级专业: 指导老师: 学院: 提交日期:2009年11月 目录 摘要 2 前言 4 1 需求分析 4 1.1 功能需求分析 4 1.2 性能需求分析 5 1.3 数据库需求分析――数据流图 5 1.4数据结构分析――数据流图 6 2概要结构设计 9 2.1系统功能结构设计 9 2.2 数据库概念结构设计 10 3逻辑结构设计 10 4详细设计及功能实现 11 4.1模块设计与实现 11 5总结 21 参考文献 21 致谢 21 基于Java的学生成绩管理系统的设计与实现 作者:周亚平 指导老师:陈义明 (湖南农业大学科学技术师范学院2004级计算机科学与技术专业教育班,长沙410128)摘要:随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。提高教学管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于Java与SQL server 数据库技术建立一个高校成绩管理系统该系统为管理员、学生和教师提供了查询、修改、增加记录、删除等功能,功能比较落齐全,基本上能满足学生和老师的要求。 关键词:Java;需求分析;概要设计;学生成绩管理系统; The Design And Realization Of the educational administration management system Based On JA V A Author: Zhou yapping Tutor: Chen yiming (School of Information Science technique normal school,Hunan Agricultural

(完整版)JAVA学生管理系统源代码

JA V A学生管理系统源代码 一、程序 import java.util.*; public class Test {//主程序 public static void main(String[] args){ Scanner in = new Scanner(System.in); System.out.println("------请定义学生的人数:------"); Student[] stuArr = new Student[in.nextInt()]; Admin adminStu = new Admin(); while(true){ System.out.println("-----请选择你要执行的功能-----"); System.out.println("10:添加一个学生"); System.out.println("11:查找一个学生"); System.out.println("12:根据学生编号更新学生基本信息"); System.out.println("13:根据学生编号删除学生"); System.out.println("14:根据编号输入学生各门成绩"); System.out.println("15:根据某门成绩进行排序"); System.out.println("16:根据总分进行排序"); System.out.println("99:退出系统"); String number = in.next(); if(number.equals("10")){ System.out.println("请输入学生的编号:"); int num = in.nextInt(); System.out.println("请输入学生的姓名:"); String name = in.next(); System.out.println("请输入学生的年龄:"); int age = in.nextInt(); adminStu.Create(num,name,age,stuArr);//添加学生}else if(number.equals("11")){ System.out.println("执行查找学生基本信息的操作"); System.out.println("请输入学生的编号进行查找:"); int num = in.nextInt(); adminStu.find(num,stuArr);//查找学生 }else if(number.equals("12")){ System.out.println("执行更新学员的基本信息操作"); System.out.println("请输入学生的编号:"); int num = in.nextInt(); System.out.println("请输入学生的姓名:"); String name = in.next();

学生管理系统Java

实现一个简单的学生管理系统,能支持学生数据(Student)的显示、增加、修改和删除等操作,学生信息包括学号、姓名、性别、专业等。具体要求如下: 学生数据按对象序列化写入文件 程序启动后,从文件读取学生对象存入ArrayList中; 增加学生数据时将学生对象Student存入ArrayList,按保存后再写入; 删除学生必须输入学生的学号; 修改学生必须输入学号,然后输入姓名、性别和专业进行修改; 保存时将当前ArrayList中的所有学生对象写入; 退出前也要将当前ArrayList中的所有学生对象写入; 设计一个操作菜单,包括“增加”、“修改”、“删除”、“显示”、“保存”、“退出”等6个选项。import ; import ; import ; import ; import ; import ; import ; import ; import ; class Student implements Serializable { int id; String name; String sex; String zuanYe; public Student() { id = 0; name = "wu"; sex = "男"; zuanYe = "English"; } public Student(int id, String name, String sex, String zuanYe) { = id; = name; = sex; = zuanYe; } public void output() { ("学号:" + id); (",姓名:" + name); (",性别:" + sex); (",专业:" + zuanYe); } } public class StuInfoSystem {

学生选课系统-毕业论文

本人郑重声明:本人所呈交的毕业论文(设 计),是在导师的指导下独立进行研究所取得的成果。毕业论文(设计)中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。除文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或在网上发表的论文。 特此声明。 论文作者签名: 日期:年月日

目录 摘要 (1) ABSTRACT (2) 第一章引言 (3) 1.1课题背景及意义 (3) 1.2开发工具的选用及介绍 (3) 1.3课题的可行性分析 (5) 第二章系统总体分析与设计 (6) 2.1设计构想 (6) 2.2界面规划 (7) 2.3数据流程规划 (8) 第三章数据库设计与实现 (9) 3.1数据库系统分析 (9) 3.2数据库逻辑设计 (11) 第四章登录界面详细设计 (14) 4.1界面设计 (14) 4.2管理员/教师/学生登录功能 (14) 4.3密码修改页面 (18) 第五章管理员详细设计 (22) 5.1界面设计 (22) 5.2设计方法 (22) 第六章测试及设计过程中的问题及解决 (27) 6.1数据库的连接 (27) 6.2参数的传递 (27) 6.3运行环境 (28) 第七章结论 (29) 致谢 (30) 参考文献 (31)

摘要 在没有学生选课系统之前,选课方法是随堂报名,这种方法虽然简单,但是造成选课的盲目性和教务处处理选课数据的繁重性,并且容易发生数据丢失和统计错误。为了减轻教务处工作量,以及更加合理的分配教学资源,对学生选课系统进行设计和开发。 本文主要针对学生选课系统管理员端,以及登录,注销,修改密码这些功能的设计和开发。针对管理员的功能,主要从管理员对教师,学生,院系,课程,以及管理员自身信息功能的添加,查看,修改,删除进行了设计和开发,实现了对教师,学生,院系,课程,以及管理员自身信息的管理功能。 学生选课系统的基本设计思想是使用B/S结构来开发,另外着重讨论了用https://www.360docs.net/doc/1d3198305.html,技术和SQL Server 2000来开发该系统,并给出了主要部分的实现代码及控件的使用,另外还对控件的优点进行讨论。系统在Windows XP系统和https://www.360docs.net/doc/1d3198305.html,平台下开发完成,使用C#作为开发语言。由于架构比较合理,系统有较高的安全性和较好的使用性能。其中连接数据库的字符串可随时在web.config里修改,增加了配置的灵活性,保证了数据库的安全。 关键词:学生选课,https://www.360docs.net/doc/1d3198305.html,,B/S结构,管理员端

基于JAVA的学生成绩管理系统的设计与实现精编

西安电子科技大学长安学院 课程设计报告 课程名:基于java的学生成绩查询系统的设计 专业:软件工程 学生姓名:雷乾鹏 班级号:09421 学号:09421028 指导教师:李杰

目录 一.题目分析或需求分析 (4) 二.设计方案 (6) 三.编程开发和调试过程 (14) 四.效果分析或课题小结 (16) 五.设计开发心得体会 (16) 六.参考文献 (17) 七.附件 (17)

引言 通过本课程设计,使自己更加系统地理解和掌握数据结构的基本概念;能自如地根据实际要求,设计相应的数据结构,并运用java语言和SQL语言实现所设计的算法,编写较大型的程序,分析和解决实际应用问题,进一步加深、巩固所学专业课程的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。掌握java语言或sqlserver语言独立的编写、调试应用程序和进行其它相关设计的技能。 此项目主要是考察我们对结构体、数组、文件等具体操作,以及对java语言语法的掌握,所以做成此项目要求比较高的设计要求,对整体有很熟悉的概括,同时调试过程也是很重要的,对程序界面的要求也比较高,要设计的合理同时也要美观一点,能够人性化的描述清楚你的各个功能,一目了然,对其他用户使用本程序简单易懂,这才能成本程序或本系统是成功的。 对于学生成绩管理系统,此项目每年都有学生去做,但是能够在其他项目中脱颖而出,还要有自己的设计特色,用简单的语言详细描述系统的功能,这才是关键。 这个设计能够练习我们的理解和运用结构化程序设计的思想和方法,掌握开发一个小型实用系统的基本方法,学会调试一个比较长的程序的基本方法,同时掌握书写程序设计开发文档的能力。

毕业设计_学生选课系统

课程设计 课程名称数据库系统概论题目名称学生选课系统学生学院计算机学院 专业班级 学号 学生姓名 指导教师左亚尧 2013年1 月16日

目录 一、概要设计 (1) 1.1目的与意义 (1) 1.2内容与要求 (2) 二、需求分析 (2) 2.1背景 (2) 2.2概要分析 (2) 2.3开发技术 (2) 2.4数据需求 (3) 2.5功能需求 (3) 三、概念设计 (3) 3.1E-R图 (3) 四、逻辑结构设计 (7) 4.1逻辑转换 (7) 4.2所有表结构 (7) 4.3安全性设计 (9) 五、数据库实施 (9) 5.1创建表 (9) 5.2视图 (12) 5.3测试 (12) 5.4系统的主要功能实现代码及使用说明 (14) 六、总结 (20)

一、概要设计 1.1目的与意义 随着无纸化办公的普遍实现,信息的自动处理以及网络式的信息交互方式已经被人们广泛应用。让计算机来管理学生的信息是现在各个高校都在积极进行的工作之一,也是高校教学管理工作的重要内容之一。网上选课与传统的选课方式相比更加节约资源,增加了学生选课自主权。 学生选课系统作为一种现代化的教学技术,越来越受到人们的重视,是一个学校不可或缺的部分, 学生选课系统就是为了管理好选课信息而设计的。学生选课系统的将使选课管理工作规范化、系统化、程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够准确、及时、有效的查询和修改学生选课情况。 与传统的选课方式相比,网上选课系统利用局域网为学生选课带来了极大的便捷。学生在公共机房,或者宿舍的个人电脑上便可以通过校园网络来选课。在选课期间内,学生能够使用选课系统灵活的修改自己的选课情况,大大提高了学校选课工作的效率。教务处的教师则可以通过选课系统的管理员子系统来管理学生的选课情况,使得学生选课工作达到系统化和自动化,大大提高了学校的工作效率,为广大师生及相关人员节省了极多的时间。 数据库对于一个应用系统的意义是相当重要的,一个设计良好的数据库系统一方面,能够给开发者带来便捷,更轻松的进行系统设计与编码;另一方面,对于系统的后期维护也非常重要,一个良好的数据库系统能够保证系统的可扩充性,以及系统的移植性等问题 1.2 内容和要求 本实验将设计出一个高校网上选课数据库系统,其要求简要如下: (1) 系统用户由三类组成:教师、学生和管理员。 (2)管理员负责的主要功能: ①用户管理(老师、学生及管理员的增、删、改); ②课程管理(添加、删除和修改); ③选课管理(实现选课功能开放和禁止、老师成绩输入开放和禁止)。 1

java学生管理系统实训报告

Java学生管理系统 实训报告 学号: 姓名: 班级: 指导老师:

一、项目计划 (1)项目名称:学生信息管理系统 (2)实训地点: (3)小组成员: 二、系统总体设计 (1)需求分析 学生信息管理系统,是对学生的个人信息,课程信息,成绩信息以信息化的方式进行管理,最大限度地减少各个环节可能出现的错误,有效减少因人力资源局限性导致的存储信息量大,信息存储错误,混淆等问题,合理进行信息存储,使学校能够合理录入学生的个人资料,学期成绩情况,以及课程安排,为学校师生的工作提供后方面。 通过实际调查,要求学生信息管理系统具有以下功能: 1.界面设计美观大方,方便,快捷,操作灵活。 2.实现强大的学生个人信息,课程信息,成绩信息的查询,修改, 录入,删除管理。 3.实现强大的联系人信息及其类别的查询,录入,删除管理。 4.能够在不同的的操作系统下运行,不局限于特定的平台。 5.提供数据库备份与恢复功能。 6.提供友情平台,例如:计算机,方便对成绩的操作; (2)项目计划安排 一项任务的成功完成,必须依靠合理的计划安排以及各种资源的有效利用。有计划、有步骤地进行软件开发,除了可以提高开发进度

外,更能明确项目组各成员之间的职责及任务。项目进度表要安排每个成员的任务,并要求成员每天修改自己的进度,保证项目管理人员可以随时查看整个项目的进度,以及时发现问题,调整工作策略。(3)概要设计 概要设计是根据系统分析的需求和工作环境的情况对整个软件的总体结构进行大致的设计。概要设计要坚持以下几个原则:1:细分原则2:提高代码重用性:3:从上而下层层分析4:一致性原则5:提高独立性6:模块的大小要尽量适中。由于概要设计是整个设计的重中之重,牵一发而动全身,所以要努力做一个好的概要设计,才能在今后软件开发过程中不再反复。现在软件行业流行模式化驱动设计,将一些市场上比较成功的模式拿来用在自己的设计中。 (4)详细设计 概要设计是为了明确开发人员的工作步骤和工作目标。详细设计使开发人员可以轻松地完成代码的编写,并熟悉所编写的业务流程。(5)数据表设计 根据系统所需,可以得出需要以下数据表信息: 需要管理学生信息:学生表。 需要管理教师信息:教师表。 需要管理课程信息:课程表。 需要管理选课信息:选课表。 需要管理院系信息:院系表。 需要管理管理员信息:管理员表。

相关文档
最新文档