当前位置:文档之家› 《软件工程》学生选课系统

《软件工程》学生选课系统

《软件工程》学生选课系统
《软件工程》学生选课系统

网上选课系统课程设计手册

团队:非你莫属

学校:武汉轻工大学

队长:刘一飞

时间:2014.11

目录

1. 项目概述 (3)

1.1开发背景 (3)

1.2 开发目的 (3)

1.3 开发运行境 (3)

1.4 系统功能 (3)

2.需求分析 (3)

2.1 系统需求 (3)

2.2 功能需求 (3)

2.3 业务流图 (3)

3.总体设计 (4)

3.1 基本设计概念和处理流程 (4)

3.2 系统层次模图 (4)

3.3系统层次模块图 (4)

3.4模块设计 (5)

4.数据库计 (5)

4.1 数据库的逻辑设计 (5)

4.2数据库的配置 (6)

5. 详细设计 (8)

5.1 学生登录模块的设计与实现 (8)

5.2 学生注册模块的设计与实现 (9)

5.3 学生查询模块的设计与实现 (9)

5.4 学生选课模块的设计与实现 (10)

6 测试及提交 (10)

1.项目概述

1.1 开发背景

Internet的飞速发展深刻地影响了人们的日常生活和商业运作方式。人们打开网页浏览当天的新闻,发电子邮件给远方的朋友,使用搜索引擎查找资料,进入网上商城购买商品——这一切都是在使用Internet。社会的方方面面渗透着互连网的应用,使得一向烦琐的手工程序变得方便,快捷,而学校网上选课系统正是基于这一思想而发展起来的。

1.2 开发目的

传统的手工选课不仅复杂,也牵涉了很多的人力,对管理也造成了诸多不变,而借助网上选课系统,学生在规定选课时间段内,可以不受地点和时间的限制完成选修课的申请,而学校也可以方便地对系统进行管理和控制,提高工作效率。

1.3 开发运行环境:

开发工具:java语言

开发环境:JDK

1.4 系统功能:

(1) 登录、注册功能.

(2) 选课功能

(3) 查询功能

2.需求分析

2.1 系统需求

用户的需求具体体现在各种学习成绩的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构及数据处理的流程,组成一份详尽数据字典,为后面的具体设计打下基础。

2.2 功能需求

通过系统功能分析,针对一般的网上选课系统,总结出如下的需求信息:

(1) 学生的需求:网上选课、选课情况查询;

(2) 本系统主要实现学生信息管理和选课查询。

学生信息包括学号、姓名、班级;

课程信息包括课程名;

2.3 业务流程图

3.总体设计

3.1 基本设计概念和处理流程

互联网技术的飞速发展,Java等设计工具的方便实用,以及数据库技术的发展给本系统的设计和实现提供了技术上的支持。

系统基本的流程是:用户登录->主界面->选择各项子系统。

3.2 系统层次模块图

3.3系统层次模块图

3.4模块设计

(1) 用户注册模块:填写用户名、密码、确认密码

(2) 用户登录模块:填写已注册的用户名称,填写正确的密码,进入主控制页面。

(3) 用户选课模块:。

(4) 用户查询模块:可以进行查看所选课程的操作。

4.数据库设计

4.1 数据库的逻辑设计

我们选用了Microsoft Access 2000。

数据通信接口采用ODBC。ODBC是微软开发的一套读取数据库的解决方案,它的目的是将所有对数据库的底层操作全部隐藏在ODBC的驱动程序内核里。对于程序员来说,只要构建了一个指向数据库的连接,就可以采用统一的应用程序编程接口实现对数据库的读写。目前ODBC驱动已经提供了对大多数常见类型数据库的支持,包括dBase,Informix,Access,SQL Server和Oracle等。也包括了对其它类型的数据库的支持,如文本,Excel电子表格等的支持。

根据系统功能设计的要求以及功能模块的划分,对于系统信息数据库,可以列出以下数据项和数据结构:

1. 名称:用户信息表

2.名称:课程信息表

4.2数据库的配置

一个真正的、完整的站点是离不开数据库的。ODBC为应用程序提供了一种标准方法来操作相关的数据库:管理器根据数据源提供的数据库的位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。

按如下步骤可以建立一个新的系统数据源。

首先,在控制面板中双击ODBC图标,打开“ODBC数据源管理器”对话框,选择“系统DSN”选项卡,单击“添加”按钮。如下图所示。

在“创建新数据源”对话框中,选择“Driver do Microsoft Access(*.mdb)”作为数据库驱动程序并单击“完成”按钮。如下图所示。

在“ODBC Microsoft Access安装”对话框中,数据源名称填写为“student”,这是程序中将要引用的。单击“选择…”按钮,从弹出的文件窗口中选择student.mdb文件所在的位置。如下图所示。

然后单击“确定”按钮,这样就完成了Access数据库的ODBC数据源设置。

以上步骤,通过ODBC管理器注册了一个名字为student的数据源,并且指定了数据库的驱动程序。

5. 详细设计

5.1 学生登录模块的设计与实现

5.1.1. 登录模块

功能:本模块主要用于对用户身份进行鉴别。用户通过表单提供用户名和密码信息,系统根据用户提供的登录信息对用户进行身份查询鉴别。如果身份合法,则将用户导向系统的选课页面。

输入:用户名、密码

处理:

(1) 输入用户的登录信息:在页面提供的表单出输入用户的用户名和密码信息,点击“登录”按钮提交表单信息到身份验证页面。或点击“重置”按钮,重新输入。

(2) 用户身份进行验证:连接数据库,打开用户数据表login,检验用户登录信息。以输入数据“用户名”为查询条件创建数据集查看输入用户名是否存在。如果存在,继续检验输入的密码是否正确。密码和用户名都正确,则进入选课页面;如果用户名不存在或密码不正确,则给出登录失败的提示框。

输出:学生选课页面

5.1.2.学生登录页面图如下图所示:

5.2 学生注册模块的设计与实现

5.3 学生查询模块的设计与实现

5.4 学生选课模块的设计与实现

6 测试及提交

7 项目小组成员及详细分工

8 附:模块源代码

(1)登录模块

import java.awt.*;

import java.awt.event.*;

import javax.swing.JOptionPane;

import java.sql.*;

public class Login extends Frame implements ActionListener{ Frame f,f1;

Button b1;

Button b2;

Button b3;

TextField t1;

TextField t2;

Label l1;

Label l2;

Connection con;

Statement sql; //声明Statement对象ResultSet rs;

public Login(){

f=new Frame("学生选课系统");

Toolkit tool=f.getToolkit();

Dimension dim=tool.getScreenSize();

f.setBounds(0,0,dim.width,dim.height);

Panel p=new Panel();

f.add(p);

l1=new Label("用户名");

l2=new Label("密码");

t1=new TextField(20);

t2=new TextField(20);

b1=new Button("登陆");

b2=new Button("取消");

b3=new Button("注册");

p.add(l1);

p.add(t1);

p.add(l2);

p.add(t2);

p.add(b1);

p.add(b2);

p.add(b3);

b1.addActionListener(this);

b2.addActionListener(this);

b3.addActionListener(this);

f.setVisible(true);

t2.setEchoChar('*');

f.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

}

);

}

public void actionPerformed(ActionEvent e){

if(e.getSource()==b1){

if(t1.getText().equals("")||t2.getText().equals("")){

JOptionPane.showMessageDialog(null,"输入不能为空!");

}

else{

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

} catch(ClassNotFoundException a){

System.out.println(""+a);

}

try{

con=DriverManager.getConnection("jdbc:odbc:sun","","");

sql=con.createStatement();

rs=sql.executeQuery("Select * FROM login"); //查询数据库

boolean check = false;

while(rs.next()){

String UserName=rs.getString(1); //获得数据库第二列

String Password=rs.getString(2); //获得数据库第三列

if(t1.getText().equals(UserName) &&

t2.getText().equals(Password)){ //判断语句

check = true;

JOptionPane.showMessageDialog(null,"登陆成功!");

f.dispose();

new WindowBox("选课窗口");

t1.setText("");

t2.setText("");

break;

}

}

if(check == false){

JOptionPane.showMessageDialog(null,"登陆失败,请重新输入!");

}

con.close();

} catch(SQLException el){}

}

}

if(e.getSource()==b2){

t1.setText("");

t2.setText("");

}

if(e.getSource()==b3){

f.dispose();

new Regist("学生选课系统注册界面");

}

}

public void windowClosing(WindowEvent e){

System.exit(0);

}

public static void main(String[] args) {

new Login();

}

}

(2)注册模块

import java.awt.*;

import java.awt.event.*;

import javax.swing.JOptionPane;

import java.sql.*;

class Regist extends Frame implements ActionListener{

Label lb1, lb2, lb3;

TextField tf1, tf2, tf3;

Button bt1, bt2, bt3;

Regist(String s){

super(s);

setLayout(null);

setBounds(0,0,900,900);

setVisible(true);

setResizable(false);

lb1 = new Label("用户名");

lb1.setBounds(150,100,50,20);

lb2 = new Label("密码");

lb2.setBounds(150,200,50,20);

lb3 = new Label("确认");

lb3.setBounds(150,300,50,20);

tf1 = new TextField();

tf1.setBounds(200,98,200,20);

tf2 = new TextField();

tf2.setBounds(200,198,200,20);

tf2.setEchoChar('*');

tf3 = new TextField();

tf3.setBounds(200,298,200,20);

tf3.setEchoChar('*');

bt1 = new Button("注册");

bt1.setBounds(200,400,100,40);

bt2 = new Button("返回");

bt2.setBounds(350,400,100,40);

bt3 = new Button("退出");

bt3.setBounds(435,400,100,40);

add(lb1);

add(lb2);

add(lb3);

add(tf1);

add(tf2);

add(tf3);

add(bt1);

add(bt2);

add(bt3);

tf3.addActionListener(this);

bt1.addActionListener(this);

bt2.addActionListener(this);

bt3.addActionListener(this);

addWindowListener(new java.awt.event.WindowAdapter(){

public void windowClosing(java.awt.event.WindowEvent e)

{

System.exit(0);

}

}

);

}

public void actionPerformed(ActionEvent e){

if(e.getSource()== bt1 || e.getSource()== tf1 || e.getSource()== tf2 ||

e.getSource()== tf3){

if(tf1.getText().equals("")|| tf2.getText().equals("") ||

tf3.getText().equals("")){

JOptionPane.showMessageDialog(this,"请输入用户名和密码","提示",JOptionPane.ERROR_MESSAGE); //判断文本内容语句

}

else{

if(tf2.getText().equals(tf3.getText())){

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection con;

Statement sq;

ResultSet r;

String u, p;

con =

DriverManager.getConnection("jdbc:odbc:sun",null,null);

sq=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.C ONCUR_UPDATABLE);

r = sq.executeQuery("SELECT * FROM login");

while(r.next()){

u =r.getString(1);

if(tf1.getText().equals(u)){

JOptionPane.showMessageDialog(this,"用户已存在","错误",JOptionPane.ERROR_MESSAGE);

con.close();

break; //判断用户是否存在

}

else if(r.isLast()){ //判断是否已经读完整个表

u = tf1.getText();

p = tf2.getText();

sq.executeUpdate("INSERT INTO

login(UserName,Password) V ALUES("+"'"+u+"'"+","+"'"+p+"'"+")"); //写入用户信息

JOptionPane.showMessageDialog(this,"注册成功","提示",https://www.doczj.com/doc/277527138.html,RMATION_MESSAGE);

con.close();

dispose();

new Login();

break;

}

}

tf1.setText(null);

tf2.setText(null);

tf3.setText(null);

}

catch(SQLException b){

JOptionPane.showMessageDialog(this,b,"错误

",JOptionPane.ERROR_MESSAGE);

}

catch(ClassNotFoundException a){

JOptionPane.showMessageDialog(this,a,"错误

",JOptionPane.ERROR_MESSAGE);

}

}

else{

JOptionPane.showMessageDialog(this,"两次密码不一致","提示",JOptionPane.ERROR_MESSAGE);

tf2.setText(null);

tf3.setText(null);

}

}

}

else if(e.getSource()== bt3){

System.exit(0);

}

else if(e.getSource()== bt2){

dispose();

new Login();

}

}

}

public class xuhanting1

{

public static void main(String args[])

{

new Regist("学生选课系统注册界面");

}

}

(3)选课模块

import java.awt.*;

import java.awt.event.*;

import java.sql.*;

class WindowBox extends Frame implements ActionListener,ItemListener {

Checkbox box1,box2,box3,box4,box5,box6;

Label l1;

Label l2;

TextField t1;

Label l3;

TextField t2;

TextArea t = new TextArea();

Button b1,b2;

WindowBox(String s)

{

super(s);

setLayout(new FlowLayout());

l2=new Label("学号");

t1=new TextField(10);

l3=new Label("姓名");

t2=new TextField(10);

b1=new Button("确定");

b2=new Button("重置");

l1=new Label("所选课程");

box1=new Checkbox("离散数学",false);

box2=new Checkbox("汇编语言",false);

box3=new Checkbox("java语言设计",false);

box4=new Checkbox("软件工程",false);

box5=new Checkbox("操作系统",false);

box6=new Checkbox("马克思政治学",false);

box1.addItemListener(this);

box2.addItemListener(this);

box3.addItemListener(this);

box4.addItemListener(this);

box5.addItemListener(this);

box6.addItemListener(this);

add(l2);

add(t1);

add(l3);

add(t2);

add(b1);

add(b2);

add(l1);

add(box1);

add(box2);

add(box3);

add(box4);

add(box5);

add(box6);

add(t);

b1.addActionListener(this);

b2.addActionListener(this);

setSize(500,500);

setVisible(true);

addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{System.exit(0);}

}

);

validate();}

public void itemStateChanged(ItemEvent e)

{

Checkbox box=(Checkbox)e.getSource();

if(box.getState())

{

int n=t.getCaretPosition();

t.insert(box.getLabel(),n);}

else

{t.setText("");}

}

public void actionPerformed(ActionEvent a)

{

if(a.getSource()==b1)

{

Connection con;

Statement sql;

ResultSet rs;

String number1,name1,lesson1, recode,insertStr;

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch(ClassNotFoundException g){

System.out.println(""+g);

}

try{

con=DriverManager.getConnection("jdbc:odbc:sun","","");

sql=con.createStatement();

number1=t1.getText();

name1=t2.getText();

lesson1=t.getText();

recode="("+"'"+number1+"'"+","+"'"+name1+"'"+","+"'"+lesson1+"'"+")";

insertStr="INSERT INTO kechengbiao values"+recode;

sql.executeUpdate(insertStr);

con.close();

dispose();

RuanJian rj=new RuanJian("查询窗口");

}

catch(SQLException h)

{System.out.println(h);}

}

else if(a.getSource()==b2)

{

t1.setText("");

t2.setText("");

t.setText("");

}

}

}

public class xuhanting3

{public static void main(String args[])

{new WindowBox("选课窗口");}

}

(4)查询模块

import java.awt.*;

import java.awt.event.*;

import java.sql.*;

import javax.swing.JOptionPane;

class RuanJian extends Frame implements ActionListener { Label lab1;

TextField text1;

Button b1,b2;

TextArea t=new TextArea();

RuanJian(String s)

{

setTitle(s);

setLayout(null);

lab1=new Label("请输入学号");

text1=new TextField(10);

b1=new Button("确定");

b1.addActionListener(this);

b2=new Button("重置");

b2.addActionListener(this);

lab1.setBounds(120,100,100,30);

text1.setBounds(250,100,200,30);

b1.setBounds(220,180,50,30);

b2.setBounds(320,180,50,30);

t.setBounds(100,250,380,300);

add(lab1);

add(text1);

add(b1);

add(b2);

add(t);

setBounds(100,100,600,600);

setVisible(true);

addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

}

);

validate();

}

public void actionPerformed(ActionEvent m)

{

if(m.getSource()==b1)

{ String s;

s=text1.getText();

int r=1;

Connection con;//java.sql包中Connection 连接

Statement sql;//向数据库发送sql语句

ResultSet rs;//处理查询结果

try{

Class .forName("sun.jdbc.odbc.JdbcOdbcDriver");//建立jdbc与odbc连接

}

catch(ClassNotFoundException e)

{

System.out.println(""+e);

}

try{

con=DriverManager.getConnection("jdbc:odbc:sun","","");

sql=con.createStatement();

rs=sql.executeQuery("select * from kechengbiao");

while(rs.next())

{ String number=rs.getString(1);

String name=rs.getString(2);

String lesson=rs.getString(3);

if(s.equals(number))

{

t.append("学号:"+number+"\n");

t.append("姓名:"+name+"\n");

t.append("课程:"+lesson+"\n");

r=0;

break;

}

}

if(s.equals(""))

{JOptionPane.showMessageDialog(this,"请输入学号","警告对话框",JOptionPane.WARNING_MESSAGE);

}

else if(r==1)

{JOptionPane.showMessageDialog(this,"学号输入错误","警告对话框",JOptionPane.WARNING_MESSAGE);

// break;

}

学生选课数据库SQL语句练习题(详细分解答案)

学生选课数据库SQL语句练习题(详细分解答案)

一、设有一数据库,包括四个表:学生表(Student)、课程表 (Course)、成绩表(Score)以及教师信息表(Teacher)。 四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示。用SQL语句创建四个表并完成相关题目。 表1-1数据库的表结构 表(一)Student 含义 属性名数据类型可否为 空 Sno Char(3) 否学号(主键) Sname Char(8) 否学生姓名 Ssex Char(2) 否学生性别 Sbirthday datetime 可学生出生年 月 Class Char(5) 可学生所在班 级 表(二)Course 含义 属性名数据类型可否为 空 Cno Char(5) 否课程号(主 键) Cname Varchar(10) 否课程名称 Tno Char(3) 否教师编号(外 键) 表(三)Score 含义 属性名数据类型可否为 空 Sno Char(3) 否学号(外键) Cno Char(5) 否课程号(外 键) Degree Decimal(4,1) 可成绩

主码:Sno+ Cno 表(四)Teacher 含义 属性名数据类型可否为 空 Tno Char(3) 否教师编号(主 键)Tname Char(4) 否教师姓名Tsex Char(2) 否教师性别Tbirthday datetime 可教师出生年 月 Prof Char(6) 可职称Depart Varchar(10) 否教师所在部 门 表1-2数据库中的数据 表(一)Student Sno Sname Ssex Sbirthday class 108 曾华男1977-09-01 95033 105 匡明男1975-10-02 95031 107 王丽女1976-01-23 95033 101 李军男1976-02-20 95033 109 王芳女1975-02-10 95031 103 陆君男1974-06-03 95031 表(二)Course Cno Cname Tno 3-105 计算机导论825 3-245 操作系统804 6-166 数字电路856

管理信息系统实验报告-选课系统

管理信息系统 课题名称:学生选课管理信息系统 一、项目概述 1.项目名称:学生选课管理信息系统 2.系统设计背景: 随着信息技术的日益发展和计算机网络的普遍应用,学校的学生人数不断增加,原有的学生信息管理的手工管理模式已无法更上时代的需要。随着社会的发 展,培养计划也在不断地修改。学分制的实行给学生以更大的选择空间,但也增 加了日常教务的管理工作量。因此,利用现代计算机和数据库开发技术,在网络 环境下建立学生信息系统对于减轻学生信息管理人员的劳动强度、提高工作质量 和效率、方便管理人员对信息的查询、提高信息资源的利用率和管理水平都具有 重要意义。 学生选课信息管理系统是一个一体化集成系统,进行信息管理是从总体出发,全面考虑,保证各种职能部门共享数据,减少数据的冗余度,保证数据的兼容性和 一致性。严格地说只有信息的集中统一,信息才是资源。数据的一体化并不限制 个别功能子系统保存自己的专用数据,但为保证一体化,首先要有一个全局的系统 计划,每一个小系统的实现均要在这个总体计划的指导下进行;其次是通过标准、 大纲和手续达到系统一体化。 3.现状分析: 随着近年来的不断扩招,学生数量持续增加,相应的工作量也随之增加,开发与之适应的管理系统有必要性和可行性:方便学生查询,有利工作人员操作,更展示了高校的风貌。因此学生教学管理信息系统应运而生了。 学生教学管理信息系统包含选课子系统,网上报名子系统,个人信息子系统,修改口令子系统,教师评估子系统,查询成绩子系统。这些包涵了学生从入学到毕业的全部过程,牵涉到各系部,学生办,财务处等校内其他职能部门。 很多学校的学生选课信息管理还处在起步阶段,并不是很完善。通过关于选课问题的调查统计数据显示,同学们对网上选课系统有诸多不满意。其中,问题主要集中在

数据库设计学生选课系统

《数据库原理与应用》实验指导与报告 2010 / 2011 学年第 2 学期 姓名:季亚 学号: 班级: 09数媒(1)班 指导教师:周蓓 计算机科学与工程学院 2011

目录 实验八数据库设计.................................................... 一、概要设计 1.1目的和意义 1.2内容和要求 二、需求分析 2.1背景 2.2概要分析 2.3开发技术 2.4系统主要功能 三、E-R图 3.1 概念设计................................................. 3.2 E-R图................................................... 四、逻辑结构 4.1逻辑转换 4.2细化表结构 五、数据库实施 5.1创建表 5.2创建必要视图 5.3创建必要触发器 5.4创建必要存储过程 六、总结 参考文献.........................................................

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

学生选课系统

管理信息系统课程设计报告 学生选课系统 班级: 学号: 姓名: 指导教师: 2014年12月20日

目录第一章:现行系统概述 第二章:系统分析 2.1需求分析 2.2可行性研究 2.3信息系统规划 2.4系统的开发方法的选择 2.5组织结构与功能分析 2.6业务流程分析 2.7数据与数据流程分析 2.8功能/数据分析 2.9新系统逻辑方案的建立 第三章系统设计 3.1系统总体结构设计 3.2数据结构与数据库设计 3.3代码设计 3.4输入/输出设计 3.5模块功能与处理过程设计 第四章系统实施 4.1系统实施 4.2系统运行调试

第五章:结束语(结论、建议、收获、体会及小组中每个成员的工作内容) 参考文献

第一章现行系统概述 本科生选课系统是个很庞大的信息系统。目前随着学校人数和课程的激增,对教务处而言,管理和维护选课系统关系到自身的效率,选课系统的繁杂,在一定程度上会相对的增加教务处的管理负担。对学生而言,在选课阶段必须面对大量课程进行仔细筛选,而所有课程聚在一起,学生无法快速定位自己想选以及在规定时间内被要求选的课程类别。 这些问题的出现表明我们的选课系统仍然存在着问题,也需要对其进行改造,由此提高学生选课效率,为学生的学习带来更大的便利。学生选课系统作为一种现代化的教学技术,越来越受到人们重视,是一个学校不可或缺的部分。学生选课系统就是为了管理好选课信息而设计的。学生选课系统将是选课管理工作规范化,系统化,程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够准确,及时,有效的查询和修改学生选课情况。

第二章系统分析 2.1需求分析 学生可以选修规定范围内的课程,查看已修学分总数,还可以修改个人信息。教师可以根据统计的人数挑选一定数量的学生,也可以直接在网上公布成绩,让学生直接在网上查询成绩。管理员可以指定每门课程的任课教师,修改课程信息,增加、修改、删除学生信息。分析一:系统应该满足以下几个方面需求: (1)某些选修课程因为前序课程或者教学管理资源的限制,要求系统能对课程选修人数、选修学生年级、专业等进行限制。 (2)选课过程需具有时效性,系统要能在短时间内响应大量学生的查询和选课要求,並及时处理。 (3)教务部门能及时掌握课程选修情况,系统界面直观,操作简单,学生不需经任何培训即可操作。 (4)系统要提供数据输出接口以供教务员作后期处理及保存。包括作为以后查询和评估使用的资料。 分析二:系统要实现的功能分为二大模块: 管理员模块: (1)负责统一管理,包括课程的查询、添加、修改和删除; (2)限制选修条件的管理,包括条件的添加、修改和删除; (3)统一管理用户,包括管理员和学生用户的管理; (4)系统公告的管理; (5)数据的管理和数据导出;

高校学生选课系统数据库设计

数据库原理课程设计 ——高校学生选课系统 速提升。 本文是在对各大高校全校公开课学生选课情况进行实地调查后, 进行详细分析讨论后撰写的学生选课管理系统数据库设计报告。全文

从最初的系统规划,到需求分析、概念设计、逻辑设计、物理设计。 每一阶段都进行了详细的分析。接下来的实现、运行与维护阶段,还 进行了对本系统的测试,最后是本次项目开发的心得和体会以及本文 的参考文献。 本系统是采用 MVC 模式(jsp+javabean+servlet)进行的 J2EE 企业级开发,主要功能是对学生选课及相关信息进行管理。较行业同类 产品而言,本系统人机界面设计更加合理、人性化,用户操作简单方便。数据库的安全性更高,对用户访问权限进行了严格控制。数据存 取速度更快,使用年限更长。可以很好的满足高校公开课学生选课的 要求,极大的提高了学校的工作效率。 关键字:高校学生选课系统;Mysql;JSP 第一章系统开发可行性分析 分析系统的可行性,说明该软件开发项目的实现在技术上、经济上和操作上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。 1.1技术可行性 技术可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满

足开发者的需要等。本课题是以jsp平台和Myeclipse作为开发工具,运用java 等语言进行开发,所使用的数据库是Mysql,数据库小巧、速度快,而且功能也十分完善,非常适合软件的开发。而且,平台降低开发和管理他们的数据基础设施的时间和成本,使得系统可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。综上所述,本系统所使用的技术完全可以满足该系统的开发。 1.2经济可行性 本课题开发所涉及的操作平台、开发工具基本上都是实验室机房已具备的软件,都是免费使用的,而且如今的市场情况是:其他都在涨价,就电子类产品在降价。而且我们可以免费参阅图书馆的书籍、期刊,免费下载相关文献资料,所以在经济上不存在很大的负担。 1.3操作可行性 由于本系统是以数据、图表作为人机交互载体的,在整个系统的使用过程中,需要用户输入相关信息,根据相应提示进行选择即可,操作简单,人机交互界面友好,系统具有较强的亲和性和易用性,用户只需要阅读用户手册,或者观看别人演示,即可熟练掌握本系统的使用。因此从操作可行性方面来说,本系统也是完全可行的。 第二章需求分析 2.1引言 为了规范、有条理的进行本系统的设计以及合理的满足使用者的需求,为使后续的开发维护工作变得可靠而轻松,编写本系统需求分析说明书,旨在开发过程中进行参考,使系统在需求的范围之内进行开发,避免重复劳动,加快开发进度以及提高开发效率,同时也是为以后系统维护服务提供指南。

选课管理系统要点

数学与计算机学院 课程设计说明书 课 程 名 称: JAVA 数据库网络综合课程设计 课 程 代 码: 题 目: 选修课程管理系统 年级/专业/班: 2012 级计科 3 班 学 生 姓 名: 徐茂淋 学 号: 312012********* 开 始 时 间: 2014 完 成 时 间: 2014 年 12 年 12 月 2 月 28 日 日 课程设计成绩: 学习态度 及平时成 绩(20) 技术水平 与实际能 力(20) 完成 情况 (20) 创新(5) 说明书(计算书、图 纸、 分析报告)撰写 质量 (35) 总 分 (100)

指导教师签名:年月 日 数学与计算机学院 课程设计任务书 ( 2014/ 2015学年第1学期) 专年业: 级: 计算机科学与技术 2012 课程名称: 课程代码: JAVA 数据库网络综合课程设计

一、设计题目 选修管理系统 二、主要内容 调查学校教务处,设计用于管理全校学生选修课活动的系统。主要功能有: 1.全校选修计划课程管理; 2.全校选修开课课程管理; 3.全校学生选课管理; 4.全校选修课成绩管理; 5.打印报表; 6.系统维护,如数据安全管理(含备份与恢复)、操作员管理、权限设置等; 要求: 1.设计学生选课录入界面及学生选课查询界面; 2.设计课程输入界面和学生选课表及课程选修情况查询界面; 3.根据学生库和课程库,输出学生课程表(选课冲突时按学号分配课程); 三、具体要求 1.对系统作需求分析和数据库逻辑结构设计。 2.设计出ER模型,并完整标明每个实体型的相关属性,推荐使用Erwin实现。 3.利用前台开发工具,完成对每个实体型中实体数据的查询和编辑操作,并 提供相应的界面。

学生选课管理系统

学生选课管理系统 SANY GROUP system office room 【SANYUA16H-SANYHUASANYUA8Q8-

#include #include #include #include #include //定义学生对象类型 typedef struct node { char Sno[10]; //学号 char Sname[10]; //姓名 char Ssex[3]; //性别 char Sage[3]; //年龄 char Sdept[4]; //所在系 struct node *next; }Student; //定义课程对象类型 typedef struct node2 { char Cno[10]; //课程号 char Cname[10]; //课程名 char Cpno[5]; //先行课 char Ccredit[3]; //学分 struct node2 *next; }Course; //定义选课对象类型 typedef struct node3 { char Sno[10]; char Cno[10]; int Grade; struct node3 *next; }SC; //初始化学生信息表

void InitlistA(Student *stu) { stu->next=NULL; } //初始化课程信息表 void InitlistB(Course *C) { C->next=NULL; } //初始化选课信息表 void InitlistC(SC *S) { S->next=NULL; } //求选课表的深度 int Getlength(SC *S) { int i=0; SC *p; p=S->next; while(p!=NULL) { p=p->next; i ; } return(i); } //用户输入数据建立学生信息表(尾插法) void CreatelistA(Student *stu) { Student *s,*r; int m,i;

学生选课管理系统需求规格说明书

学生选课系统需求规格说明书

目录 0. 文档介绍 (4) 0.1文档目的 (4) 0.2文档范围 (4) 0.3读者对象 (4) 0.4参考文档 (4) 1.产品介绍 (5) 2.产品面向的用户群体 (6) 3. 产品应当遵循的标准或规范 (7) 4.产品范围 (7) 5. 产品中的角色 (7) 6. 产品的功能性需求 (8) 6.0功能性需求分类 (8) 6.1后台管理功能需求 (8) 6.1.1管理员信息管理 (8) 6.1.2教师信息管理 (10) 6.1.3学生信息管理 (11) 6.1.4课程信息管理 (12) 6.1.5排课管理 (13) 6.1.6教室信息管理 (14) 6.2前台管理功能需求 (15) 6.2.1学生选课 (15) 6.2.2撰写教师反馈 (16) 6.2.3个人信息管理 (17) 6.2.4用户登录 (19) 7. 产品的非功能性需求 (20) 7.1用户界面需求 (20) 7.2软硬件环境需求 (20) 7.3产品质量需求 (20) 7.4其他需求 (21) 附录A:需求建模与分析报告 (22) A.1学生选课系统业务流程图 (22) A.1.1系统总体业务流程分析 (22) A.1.2学生管理业务流程图分析 (23)

A.1.3教师管理业务流程图分析 (24) A.1.4选课/退课子系统业务流程图分析 (25) A.1.5教师反馈子系统业务流程图分析 (26) A.1.6管理员管理业务流程图分析 (26) A.1.7管理员排课业务流程图: (27) A.1.8管理员退课业务流程图: (28) A.2学生选课管理系统数据流程图 (29) A.2.1顶层数据流程图 (30) A.2.2 O层数据流程图 (30) A.2.3后台管理数据流程图 (31) A2.4 前台管理数据流程图 (36) 附录B:需求确认....................................................................................... 错误!未定义书签。

数据库学生选课系统完整版

数据库学生选课系统 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

数据库设计——学生选课系统 设计内容: 我们组设计的是学生选课管理系统,选课管理系统是学校教务系统中很庞大、很复杂的一个数据库系统,在这里我们将其简化,只选取了部分比较直观的关系模式。我们设计的系统涉及院系信息、学生信息、教师信息、课程信息、选课信息、还有成绩管理及查询。 设计目标: 所实现的功能有:能记录院系、学生、教师以及课程的基本情况,能记录学生所选的课程以及相应的成绩和授课教师。每个学生和老师都只能被一个院系管理,为了简化每个教师最多教授一门课程,每个学生可选多门课程或者不选,每个学生选修的每门课程有一个成绩记载,每个教师教授最多一门课程,学生在系统中可以有查询成绩的权限,管理员有修改成绩的权限。 需求分析 :需求背景 随着信息时代科技不断提高,学校规模不断扩大,教学质量不断提高,大学期间有许多公共选修课,以往的选修课方法是课堂报名或者纸上填写方式报名,这种方法虽然直接,但是造成选课的盲目性,而且学生选过课程后不好在更改查看,一方面浪费大量的人力,物力资源,另一方面浪费时间以及在认为统计过程中不可避免的出现差错的情况。这给广大的老师和学生带来诸多的不便,管理起来也相当困难。使用网上选课系统可以提前进行网上选课,并且选课以后学生还可以在查看和更改,随意选择各个老师的课程,老师管理起来也比较方便。鉴于它的重要性,这就迫切需要研制开发一款功能强大,操作简单,具有人性化的网上选课系统。 :选课分析 根据分析,本系统的实体有学生、教师、课程和选课信息。 描述学生的属性有:学号、院系、姓名、性别、出生日期、入学时间、专业、班级。 描述教师的属性有:教师编号、姓名、性别、职称、专业。 描述课程的属性有:课程编豪、课程名称、授课老师、课程类型、上课时间、上课地点、学时、学分。

学生选课管理系统(数据库课程设计)

数据库系统原理及其应用教程 课程设计报告 设计题目选修课程管理系统的设计与实现 指导教师

摘要 随着计算机技术的日新月异,极大的推动的各个行业的信息化进程。各大高校也急需进行信息化改革,以促进教学质量和工作效率快速提升。 本文是在对各大高校全校公开课学生选课情况进行实地调查后,进行详细分析讨论后撰写的学生选课管理系统数据库设计报告。全文从最初的系统规划,到需求分析、概念设计、逻辑设计、物理设计。每一阶段都进行了详细的分析。接下来的实现、运行与维护阶段,还

进行了对本系统的测试,最后是本次项目开发的心得和体会以及本文的参考文献。 本系统主要功能是对学生选课及相关信息进行管理。较行业同类产品而言,本系统人机界面设计更加合理、人性化,用户操作简单方便。数据库的安全性更高,对用户访问权限进行了严格控制。数据存取速度更快,使用年限更长。可以很好的满足高校公开课学生选课的要求,极大的提高了学校的工作效率。 关键字:学生选课管理系统;分析;设计 目录 一、概述 (4) 1.1 设计背景 (34) 1.2 设计目的 (36) 1.3 设计内容 (39) 二、需求分析 (19) 2.1 功能分析 (7) 2.2 工作流图 (6) 2.3 数据流图 (7)

2.4 数据字典 (16) 三、概念模型设计 (18) 3.1 实体之间的联系 (18) 3.2 E-R图 (19) 四、逻辑设计 (26) 4.1 概念模型向关系模型的转换 (26) 4.2 概念模型的优化 (27) 五、源代码及查询截图 (29) 5.1 数据库的存储结构 (29) 5.2 实现 (32) 5.3 人机界面设计 (34) 5.4 系统测试 (36) 5.5 运行维护 (39) 六、总结 (40) 参考文献 (41) 一、概述 1.1设计背景 可行性研究的目的是用最小的代价在尽可能的短的时间内确定数据库系统是否可能开发、是否值得开发、是否可以开发(在该报告中主要是考查《学生选课管理系统》是否可能开发、是否值得开发、是否可以开发)。其实质是在较高层次上以较抽象方式进行的、简化的压缩的需求分析和概要设计过程。

学生选课管理系统 概要设计

软件工程实验报告 班级:学号:姓名: 实验二:概要设计和详细设计 学生选课管理系统设计说明书 一、实验内容 1.引言 1.1编写目的 设计说明书的书写,主要是明确系统的功能和算法,把总任务分解成多个基本的、具体的任务。将系统分成若干个模块,确定各个功能模块的具体用途总体设计是系统开发过程中关键的一步。系统的质量及一些整体特性基本上是由这一步决定的。系统越大,总体设计的影响越大。项目开发的专业人员需要了解系统的总体概要设计,并以次为行动指南,开展下一个阶段的具体工作。 读者对象:项目分析和开发人员。 1.2项目背景 学校是一个与学生信息安全密切的重要机构,在高度信息化的今天,学生对学校管理的要求也越来越高。为了方便学生查询自己的选课信息,也为了学校更好的了解学生选课信息,学校需要一个学生选课信息管理系统。 系统的名称为:学生选课管理系统。 项目的开发提出者:学校。 软件的用户为:学校的学生、教师和管理员。 1.3 定义 本学生选课管理系统在开发时注意到使用专业术语会对今后的系统使用者造成不便,故所有相关词汇使用了简洁并通俗易懂的词汇,系统使用者不会出现对此系统词汇看不懂的问题,故而在此对系统及文件使用词汇不做定义。 2.任务概述 2.1目标 明确学生选课管理系统各个模块的需求和功能。 2.2运行环境 操作系统:windows2000以上版本。 2.3需求概述

学生选课管理系统的主要功能主要功能是实现对学生信息和教师信息的管理,以及学生成绩的管理。因此,该系统需要具备的具体功能如下: 学生页面操作:包括个人信息,密码修改,查询成绩,选课,退选五个功能; 教师页面操作:包括个人信息,密码修改,修改其所授科目的学生成绩; 管理员页面操作:包含学生信息管理(增加、修改、删除、查询); 教师信息管理(增加、修改、删除、查询); 课程信息管理(增加、修改、删除、查询); 成绩管理(查询、录入、修改); 3.总体设计 3.1处理流程 系统基本流程: 学生用户登录——>主界面——>选择各项子系统 教师用户登录——>主界面——>选择各项子系统 管理员登录——>主界面——>选择各项子系统 3.2总体结构和模块外部结构 本选课系统主要是由学生管理、教师管理和管理员管理三个部分构成。其中学生管理是学生对个人信息的一些查询、选课以及退课,并不能对一些信息进行修改。而管理员管理是管理员对学校一些信息的查询和修改。可从下面的系统结构图中看到。 (图一:总体模块) 学生选课管理系统 管理员管 理 学生管理 教 师 管 理

学生选课管理系统(详细设计说明书)

1引言 (2) 1.1编写目的 (2) 1.2背景 (2) 1.3定义 (2) 1.4参考资料 (2) 2程序系统的结构 (3) 3程序1(标识符)设计说明 (7) 3.1程序描述 (7) 3.2功能 (8) 3.3性能 (8) 3.4输人项 (8) 3.5输出项 (9) 3.6算法 (9) 3.7流程逻辑 (9) 3.8接口 (10) 3.9存储分配 (11) 3.10注释设计 (11) 3.11限制条件 (11) 3.12测试计划 (11) 3.13尚未解决的问题 (11) 4程序2(标识符)设计说明....................................................................... 错误!未定义书签。

详细设计说明书 1引言 1.1编写目的 该详细设计说明书的目的在于根据需求说明书与概要设计说明书提出该系统的详细设计,即系统的详细架构,主要包括系统的模块划分、程序系统的结构、各个模块的流程以及各层次中每个程序的设计考虑。 1.2背景 软件系统名称:学生选课系统 软件实现计算机:方正科技 与其他系统和机构的相互管理:暂无。 1.3定义 图1 程序数据字典定义 1.4参考资料 1.《软件工程导论》(张海藩编著清华大学出版社2007年5月) 2.《数据库系统概论(第四版)》(王珊编著高等教育出版社2007年11月)

3.《Visualbasic程序设计》(吴定雪主编科学出版社) 2程序系统的结构 2.1 、管理员模块程序设计说明 ①人员管理:管理员在登录之后可以对系统内的人员(包括学生、教师等)进行管理, 包括对人员的信息进行查询、修改和删除等操作。 ②课程管理:管理员在后台添加、编辑课程的基本信息(包括授课教师、开课时间设定), 同时可以编辑系统开放选课的时间,在适当时间开启和关闭选课系统。 ③系统信息管理:管理员可对系统的基本信息进行编辑,对系统公告进行更改或者系统 标题、系统相关链接等。 ④系统权限管理:对不同的用户要分配不同的权限,管理员可设定不同人员对不同模块 的访问权限,允许或者拒绝不同用户对模块的增删查改操作。 图2.1管理员模块图 2.2、教师模块程序设计说明 (1)基本信息管理:此模块主要实现两个分支功能: ①个人信息修改和密码修改。在教师用户登录状态下,实现这些功能,通过对自己 的注册信息的修改满足用户的个性需求,能将注册信息及时反映个人状态,另外,密码修改则是很多网站都应具备的基本功能,能有效保护用户身份和网络安全。 ②其它基功能如学生查询,教师查询和留言查询,这三个功能都是在教师在线状态

学生选课管理系统

软件项目管理 学生选课管理系统 项目名称: 组长 组员 提交时间: 2015年6月15日

学生选课管理系统 项目任务书 一、目的、要求 通过软件开发的实践训练,进一步掌握软件项目管理的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。 具体如下: 1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象 的系统分析与设计,软件项目管理,编码和测试方面的知识; 2.熟悉自动化的软件开发工具Rational Rose 2003,并将其运用于软件 开发的全过程; 3.进一步加强和提高软件工程文档的编写能力; 4.培养协作能力和团队精神。 二、主要内容 1.课题题目:学生选课系统,本系统要实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩; 管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课 程等。 2.运用面向对象技术、UML及可视化的建模工具完成系统的需求分析与设计。 3.使用Rational Rose作为需求分析与设计的建模工具,包括静态建模和

动态建模,并利用对象模型自动生成数据模型,自动建立数据库。 4.采用分层模式的应用设计模式进行系统的设计实现。 5.系统要实现四个模块功能:教师模块、学生模块、管理员模块和公用模块。 6.初步建立系统原型,实现关键的功能,并对系统进行测试。 三、任务分配

学生选课管理系统 任务分解书(WBS)一.学生选课管理系统任务分解 1.1.1 项目规划 1.1.2 计划评审 1.2 需求开发 1.2.1 用户界面设计 1.2.2 用户需求评审 1.2.3 修改需求、修改用户界面 1.2.4 需求规格说明书 1.2.5 编写需求获取方法 1.2.6 编写需求跟踪矩阵 1.3 设计 1.3.1 概要设计 1.3.2 详细设计

学生选课数据库SQL语句练习题(详细分解答案)

一、设有一数据库,包括四个表:学生表(Student)、课程表 (Course)、成绩表(Score)以及教师信息表(Teacher)。 四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示。用SQL语句创建四个表并完成相关题目。 表1-1数据库的表结构 表(一)Student 含义 属性名数据类型可否为 空 Sno Char(3)否学号(主 键) Sname Char(8)否学生姓名 Ssex Char(2)否学生性别 Sbirthday datetime可学生出生年 月 Class Char(5)可学生所在班 级 表(二)Course 含义 属性名数据类型可否为 空 Cno Char(5)否课程号(主 键) Cname Varchar(10)否课程名称 Tno Char(3)否教师编号 (外键) 表(三)Score 含义 属性名数据类型可否为 空 Sno Char(3)否学号(外 键) Cno Char(5)否课程号(外 键)

Degree Decimal(4,1)可成绩 主码:Sno+ Cno 表(四)Teacher 含义 属性名数据类型可否为 空 Tno Char(3)否教师编号 (主键)Tname Char(4)否教师姓名Tsex Char(2)否教师性别Tbirthday datetime可教师出生年 月 Prof Char(6)可职称Depart Varchar(10)否教师所在部 门 表1-2数据库中的数据 表(一)Student Sno Sname Ssex Sbirthday class 95033 108曾华男1977-09- 01 105匡明男1975-10- 95031 02 95033 107王丽女1976-01- 23 95033 101李军男1976-02- 20 109王芳女1975-02- 95031 10 95031 103陆君男1974-06- 03 表(二)Course

学生选课系统

摘要: 本系统实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。系统利用.Net平台技术进行开发,实现学生选课的动态管理,使得对信息的管理更加及时、高效,提高了效率。同时还对系统的开发原理、功能特点和设计方案进行了介绍。 关键词:学生选课数据库管理 https://www.doczj.com/doc/277527138.html, 一、课程设计的目的与要求 通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。 具体如下: 1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编 码和测试方面的知识; 2.熟悉自动化的软件开发工具Rational Rose 2003,并将其运用于软件开发的全过程; 3.进一步加强和提高软件工程文档的编写能力; 4.培养协作能力和团队精神。 二、设计正文 1.概述 1.1课题题目:学生选课系统 1.2系统的主要目标: 本系统目标是实现选课系统所需的各种基本功能,包括学生选课、退课功能和教师查看选修课程、提交课程成绩功能以及管理员添加学生、维护学生信息、成绩管理、添加教师、维护教师信息、维护选修课程,还有公用的修改密码等功能。 1.3 系统的开发环境及运行环境: 操作系统:Windows XP Pro SP2 建模工具:Rational Rose 2003 数据库系统:SQL Server2000 开发工具:Visual Studio 2005 Web服务器:IIS+https://www.doczj.com/doc/277527138.html, 2.0平台 2.系统需求分析 学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色。 (1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等; (2)教师用户主要需求功能是查看自己所教授的课程、课程有哪些学生选修、以及利用本系统提交学生的成绩; (3)管理员用户的功能需求较为复杂,包括对学生信息、教师信息、课程信息进行管理。在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。 在教师管理子模块中,实现对教师信息的添加、修改、删除、查询等操作。在课程管理子模块中,实现对课程信息的添加,添加时为其分配任课教师、上课时间和地点,实现对课程的修改、删除、查看

学生选课管理系统源代码

#include #include #include struct course { int num; char name[20]; char kind[20]; int ttime,mark,term; }c; struct student { int snum; int cnum; char cnam[20]; char snam[20]; }s[500]; int count;//全局变量 int main()//主函数 { int n; int menu(); int f1(); int luru(); int liulan(); int chaxun(); int xuanke(); int tongji(); printf("\n ********************** ***********************"); printf("\n\n ********** 欢迎进入学生选课系统!**********"); menu(); printf("\n"); printf(" ******************* the end *********************\n"); printf("\n ********************** ***********************"); printf("\n\n 请先选择1 进行课程信息录入:"); scanf("%d",&n);//防止错误,请重新输入 for(;n>5||n<0;) { printf("\n 输入错误!请重新输入!\n "); scanf("%d",&n); } while(n>0&&n<6) {

数据库学生选课系统分析与设计

北京理工大学珠海学院 课程设计任务书 2011 ~2012 学年第 1 学期 学生姓名: xxx 专业班级: 09信息管理与信息系统 指导教师: xxx 工作部门:商学院 一、课程设计题目 学生选课系统的数据库设计 选课系统的设计 1)统计出至少有三名学生选修的课程的平均分,统计项包含课程编号和平均分2)在选课数据库中,统计出选修课程超过或等于2门以上的学生信息 3)统计出平均分在90分以上的学生的信息,并将结果按平均分降序排列 ●为每个实体表和关系表创建合适的索引(聚簇索引、复合索引)、主码、外码; ●创建学院类别取值范围为商学院、外国语学院、计算机学院、信息科技学院, 并与相应的列绑定; ●通过触发器定义选课的成绩不能从选课中修改,修改专业的同时修改班级人 数,在学生表中删除学生的同时,删除选课表中的信息; ●创建视图studentview(学生信息表),sc_view(学生成绩表),cs_view(学 生课程表); ●存储过程exec Pro_基本信息功能的验证,存储过程exec Pro_班级信息的验证: (查询不同“班级编号”的所有学生信息) ●事务的创建(同时更新“姓名”和“所属班级”列信息,否则数据保持不变) I

摘要 随着社会的发展,学生的人数和课程的种类急速增加,传统的选课管理模式已经无法满足当前的实际需求,为此,我们开发了学生选课管理系统。 本人结合学生选课管理的实际需要,完成了对学生选课管理系统的需求分析、功能模块划分、数据库模式分析等,并由此设计了后台数据库以及前台应用程序。 文中首先对课题背景,数据库基础理论和SQL语言进行了简单的讨论;接着,学生选课管理系统进行了详细分析,划分了具体的功能模块;最后,给出了学生选课系统应用程序的设计过程,以及每个功能模块的核心代码。 系统可以实现学生选课的一些重要功能,如:课程的添加、删除,信息查询、选课、生成课表,以及学生选课管理人员、用户个人信息的维护等。 关键词管理系统;数据库;SQL Server 2000 II

学生选课系统详细设计说明书

学生选课系统详细设计说明书 一、编写目的 该详细设计说明书的目的在于根据需求说明书与概要设计说明书提出该系统的详细设计,即系统的详细架构,主要包括系统的模块划分、程序系统的结构、各个模块的流程以及各层次中每个程序的设计考虑。 二、背景 软件系统名称:学生选课系统 软件实现计算机:LENOVO 三、管理员模块程序设计说明 ①人员管理:管理员在登录之后可以对系统内的人员(包括学生、教师等)进行管理,包 括对人员的信息进行查询、修改和删除等操作。 ②课程管理:管理员在后台添加、编辑课程的基本信息(包括授课教师、开课时间设定), 同时可以编辑系统开放选课的时间,在适当时间开启和关闭选课系统。 ③系统信息管理:管理员可对系统的基本信息进行编辑,对系统公告进行更改或者系统标 题、系统相关链接等。 ④系统权限管理:对不同的用户要分配不同的权限,管理员可设定不同人员对不同模块的 访问权限,允许或者拒绝不同用户对模块的增删查改操作。 四、教师模块程序设计说明 (1)基本信息管理:此模块主要实现两个分支功能: ①个人信息修改和密码修改。在教师用户登录状态下,实现这些功能,通过对自己的注 册信息的修改满足用户的个性需求,能将注册信息及时反映个人状态,另外,密码修改则是很多网站都应具备的基本功能,能有效保护用户身份和网络安全。 ②其它基功能如学生查询,教师查询和留言查询,这三个功能都是在教师在线状态下实 现的。学生查询对于教师来说非常实用,如果教师想要某个学生的基本信息,只要登录查询就可以找到目标学生,此模块目的在于让老师更方便的掌握学生的基本信息以备不时之需,用以师生交流上非常方便;教师查询对于同事间的交流和联系会显得很重要,这个分支模块主要在于促进同事之间的了解和及时沟通,以便得到共同关心的话题并进行探讨;而留言查询,此模块是则实现师生,同事以及个体之间的交流实现了一个更好的交流平台。 (2)资料管理: 随着教师办公信息化的发展,教师对网络的以来与日俱增,自己的授课计划以及出行安排都会及时更新在自己的平台上,这种平台包括个人博客,此模块的涉及就在于想把学校的办公平台向个人博客过渡,让老师的工作伴随自己的个性体现。 (3)成绩录入: 对于在本教师选课范围内的学生,教师可以查看学生的基本信息,并对学生成绩进行登记和更改。

学生选课信息管理系统考查课考察方案

学生选课信息管理系统 一、系统可行性分析 在系统开发过程中进行可行性分析,对于保证资源的合理使用,避免浪费和一些不必要的失败,都是十分重要的。 1. 目标和方案的可行性:如果采用人工操作的方式,不仅操作不方便,耗费人力,而且还容易出现错误。所以当前迫切需要一个计算机化的管理信息系统。开发这个系统,能更好地满足学校要求,使学校的各种信息管理实现无纸化,高效化。 2. 技术方面的可行性:本系统是用access结合Sql Server数据库来开发的一个信息管理软件。Access在数据库方面的特长显得尤为突出:适用于多种数据库结构,结合客户端的html能够创建出完美漂亮且高效的软件系统。 3. 管理方面的可行性:作为学校教务信息管理系统之一的选课系统,对它的管理也是很方便的,只需要先将系统配置运行起来,然后分配好系统的三个主要角色,就可以投入实际的院校中进行使用。 根据以上几方面的可行性分析,可以得出结论:开发该学生选课管理系统是可以进行的。 二、系统需求分析 本程序的设计任务就是制作一个可以用于学生选课管理的系统,主要可以进行对本系统、数据的管理、数据查询、常务操作、常用工具、数据库管理和帮助等功能。具体来说就是可以通过管理功能对本系统用户进行用户添加删除以及密码修改和权限的管理;还可以通过数据管理功能对教师、学生、系部、课程、成绩、教室等信息进行添加、修改和删除等具体的操作;再者,可以通过数据查询功能对教师、学生、系部、课程、成绩、教室等信息的查询;同时本程序还引入常用工具功能,可以在本程序中使用计算器、Word、记事本、Excel、SQL Server和Web等常用工具;最后本程序还加入了数据库的备份、数据库的还原、数据库的压缩、数据的导入和数据的导出等功能方便于数据的整理的存储。 教师在本系统的功能: (1)教师信息管理,包括教师个人的基本情况和任课情况; (2)根据学校教务处所排课进行班级数及人数的统计,然后根据统计结果进行项目及班数的设定查询学生选课情况、自己任课情况、获取自己所担任课程分班表; (3)录入及修改成绩学生信息管理, 学生在本系统的功能: (1)查询本人信息、 (2)教师任课信息、选课、选课信息查询、 (3)成绩查询。 本程序所能达到的功能是:用户的添加删除,数据的添加修改删除,数据的查询,常用工具的使用,数据库的维护等功能。 三、数据库详细设计

相关主题
文本预览
相关文档 最新文档