java学生管理系统总结报告

java学生管理系统总结报告
java学生管理系统总结报告

成都东软信息技术职业学院期末项目报告

项目名称:学生管理系统

系别:计算机科学与技术系

年级专业:xx级软件技术

班级:x

学号:xx

学生姓名:xx

xx年 xx 月 xx 日

1.项目内容及知识应用

1.1项目完成内容

首先实现登录模块,分为教室登录和学生登录

登录界面有一个下拉条分别为学生和教师,选中哪一个就会登录到相应的界面

学生管理系统分为两大块:学生和教师两个模块

学生登录后进入学生界面,学生界面有菜单项和按钮

学生界面里面有查询自己的成绩,查询自己的详细信息,还可以修改密码,修改自己的信息,菜单项还有帮助等按钮

教师界面里面可以增加学生,显示所有学生的成绩,查找学生,查询学生的详细信息,删除学生的成绩和删除学生,还有刷新和退出等功能

教室界面当点击选中学生时在上面的标签面板会显示学生的详细信息,当查询学生的详细信息时会之间进入该学生的学生面板,教师就可以对学生的信息进行修改

刚登录教师界面时系统启用了另外一个线程,会默认加载所有的学生成绩和信息,当教师点击“显示所有成绩”时就会马上把学生成绩的面板显示在界面上,所有教师就无需等待系统加载

教师界面当老师点击刷新时,会再启动一个线程来重新把学生的信息加载到内存然后显示到界面上

教师界面的成绩表中还有总分和平均分,系统加载的时候会自动计算每一个学生的总分和平均分

教师还可以直接在成绩表中修改学生的成绩,用以来会很方便,修改成绩后要点击刷新按钮来刷新总分和平均分

教室界面还增加了班级的分类,可以查看所有的班级,也可以查看一个班级的学生信息

学生管理系统还增加了上传照片的功能,每个学生都可以上传自己的照片,老师也可以帮学生上传照片

1.2知识(点)应用以及经验总结

该学生管理系统采用了分层的思想而且参考了MVC设计模式,但是都做得不够完美。

该系统分为业务逻辑层、实体层和显示层:

?业务逻辑层(https://www.360docs.net/doc/4e17471644.html,niit.student.manage)有StudentManage、GradeManage、

PasswordNotFountException、StduentNotFountException和

GradeNotFountException。先写了一个工具类(DBConnection),负责与

数据库的连接,业务逻辑层联系数据库实体、显示层。进行综合的控制

与处理。这里自定义了几个异常类,主要是抛出无法找到相应类的异常。

这样就可以返回多个结果。

?实体层(https://www.360docs.net/doc/4e17471644.html,niit.student)有两个类Student和Grade,是根据数据库里

面的表来实现的,字段就是实体里面的属性还有所有属性的get和set方

法,也可以写几个构造方法,没有其他的方法。业务逻辑层就操作这两

个类。

?显示层(https://www.360docs.net/doc/4e17471644.html,niit.student.view)有Login、StduentGrade、Teacher、

ImagePanel、ShowImage、Uploading这六个类。主要是负责显示给客户,用于和客户交互信息。所有学生成绩用一个表来显示,Teacher类有另外

一个线程来读取所有学生的成绩,在表中教师可以直接在表中修改学生

的成绩,修改过后系统会自动修改数据库的数据,来实现动态修改。

?显示层主要是添加的内部匿名监听,由于会有重复监听所以大部分监听

都分别写了一个方法,来调用这个方法。

?每个学生都可以上传自己的照片,在有照片的情况下,老师可以看到学

生的照片这样可以让老师更快的认识每一个学生,点击学生的照片可以

放大该学生的照片,点击别的地方该放大的照片就会消失

该系统主要用到的知识有:

?流程控制

?类和对象

?类的继承

?接口和多态

?数组

?顺序表

?数据库编程

?常用的GUI组件

?JTable

?多线程

?事件处理

2.项目实现及关键代码(各个功能界面截图+代码说明,代码为关键代码并加入注释)

系统流程图

https://www.360docs.net/doc/4e17471644.html,niit.student..Stduent类

说明:此类是一个学生的模型类,提供了学生的属性和get、set方法,便于StudentManage 来操作还提供了几个构造方法。

https://www.360docs.net/doc/4e17471644.html,niit.student.Grade类

说明:此类是成绩模型类,提供了成绩的属性和get、set方法和几个构造方法,便于GradeManage来操作。

https://www.360docs.net/doc/4e17471644.html,niit.student.util.DBConnection类

说明:这个类的功能是与底层数据库创建连接给逻辑处理层,还有关闭连接的相关功能。//管理与数据库的连接

public class DBConnection {

static {

try {

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

}

public static Connection getConn() throws SQLException { Connection conn = DriverManager.getConnection(

"jdbc:sqlserver://localhost:1433;databaseName = studentManage",

"sa", "580000");

return conn;

}

//数据库关闭的方法

public static void closePstmt(PreparedStatement pstmt) { if (pstmt != null) {

try {

pstmt.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

public static ResultSet executeQuery(PreparedStatement pstmt) throws SQLException {

ResultSet rs = pstmt.executeQuery();

return rs;

}

public static void closeRs(ResultSet rs) {

if (rs != null) {

try {

rs.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

}

https://www.360docs.net/doc/4e17471644.html,niit.student.manage.StudentManage类

说明:此类是逻辑处理层里面的学生管理类,有添加学生、删除学生、修改学生信息、检查学生是否登录成功、查找学生等方法,显示层可以直接调用这些方法来实现需要的功能。其中查找方法是有方法的组合。

public class StudentManage {

// 添加学生

public static boolean add(Student s) {

Connection conn = null;

PreparedStatement pstmt = null;

boolean flag = false;

try {

conn = DBConnection.getConn();

String sql = "insert into student(studentID, studentName, password, sex, birth, phone, qq, homeAddr, entranceTime)

values(?, ?, ?, ?, ?, ?, ?, ?, ?)";

pstmt = DBConnection.getPstmt(conn, sql);

pstmt.setString(1, s.getStudentID());

pstmt.setString(2, s.getStudentName());

pstmt.setString(3, s.getPassword());

pstmt.setString(4, s.getSex());

pstmt.setDate(5, s.getBirth());

pstmt.setString(6, s.getPhone());

pstmt.setString(7, s.getQq());

pstmt.setString(8, s.getHomeAddr());

pstmt.setDate(9, s.getEntranceTime());

if (pstmt.executeUpdate() > 0) {

flag = true;

}

} catch (SQLException e) {

e.printStackTrace();

} finally {

DBConnection.closePstmt(pstmt);

DBConnection.closeConn(conn);

}

return flag;

}

// 修改学生信息

public static boolean update(Student s) {

Connection conn = null;

PreparedStatement pstmt = null;

boolean flag = false;

try {

conn = DBConnection.getConn();

String sql = "update student set studentName = ?, password = ?, sex = ?, birth = ?, phone = ?, qq = ?, homeAddr = ?, entranceTime = ? where studentID = ?";

pstmt = DBConnection.getPstmt(conn, sql);

pstmt.setString(1, s.getStudentName());

pstmt.setString(2, s.getPassword());

pstmt.setString(3, s.getSex());

pstmt.setDate(4, s.getBirth());

pstmt.setString(5, s.getPhone());

pstmt.setString(6, s.getQq());

pstmt.setString(7, s.getHomeAddr());

pstmt.setDate(8, s.getEntranceTime());

pstmt.setString(9, s.getStudentID());

if (pstmt.executeUpdate() > 0) {

flag = true;

}

} catch (SQLException e) {

e.printStackTrace();

} finally {

DBConnection.closePstmt(pstmt);

DBConnection.closeConn(conn);

}

return flag;

}

// 检查学生登录是否成功

public static Student check(String studentID, String password) throws StudentNotFoundException, PasswordNotCorrectException {

Student student = null;

Connection conn = null;

PreparedStatement pstmt = null;

ResultSet rs = null;

try {

conn = DBConnection.getConn();

String sql = "select * from student where studentID = ?";

pstmt = DBConnection.getPstmt(conn, sql);

pstmt.setString(1, studentID);

rs = DBConnection.executeQuery(pstmt);

if (!rs.next()) {

throw new StudentNotFoundException();

} else if

(!rs.getString("password").trim().equals(password)) {

// System.out.println(rs.getString("password"));

// System.out.println(password);

throw new PasswordNotCorrectException();

} else {

student = new Student(rs.getString(1), rs.getString(2),

rs.getString(3), rs.getString(4), rs.getDate(5),

rs.getString(6), rs.getString(7),

rs.getString(8),

rs.getDate(9));

}

} catch (SQLException e) {

e.printStackTrace();

} finally {

DBConnection.closeRs(rs);

DBConnection.closePstmt(pstmt);

DBConnection.closeConn(conn);

}

return student;

}

https://www.360docs.net/doc/4e17471644.html,niit.student.manage.GradeManage类

说明:此类是逻辑处理层里面的成绩管理类,有添加成绩、删除成绩、修改成绩、查找成绩等方法,显示层可以直接调用这些方法来实现需要的功能。其中查找方法是有方法的组合。

https://www.360docs.net/doc/4e17471644.html,niit.student.view.Login类

说明:此类是显示层的登录界面,此界面类似一个对话框,但是他是继承JFrame,分为两个模块:学生登录和教师登录。有一个下拉条可以选择是学生登录还是教师登录,当选择学生登录时,会登录进入学生界面,当选择教师登录时会进入教师界面。

//添加登录界面的角色选择监听

jcbPost.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

if (jcbPost.getSelectedItem().equals("学生")) {

jlLogin.setText("学生登录");

jlID.setText("学号:");

} else {

jlLogin.setText("教师登录");

jlID.setText("教师号:");

}

}

});

add(jcbPost);

//监听登录按钮

jbLogin.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

//由于一般就是一个教师修改学生信息,所以教师没有建表,所有的

教师都通过一个id号和密码登录

if (jcbPost.getSelectedItem().equals("教师")) {

if (jtfID.getText().trim().equals("jiaoshi") && String.valueOf(jpfPassword.getPassword()).trim().equals("jiaoshi")) {

setVisible(false);

new Teacher().setVisible(true);

} else {

JOptionPane.showMessageDialog(Login.this, "登录

失败!教师号:jiaoshi 密码:jiaoshi.");

}

} else {

String id = jtfID.getText().trim();

String password =

String.valueOf(jpfPassword.getPassword()).trim();

if ("".equals(id)) {

JOptionPane.showMessageDialog(Login.this, "请输入学号!");

return;

} else if ("".equals(password)) {

JOptionPane.showMessageDialog(Login.this, "请输入密码!");

return;

}

try {

//检查学生登录是否正确,会抛出下面的两种异常,返回登录的学生信息,传递给StudentGrade类

Student student = StudentManage.check(id, password);

setVisible(false);

new StudentGrade(student,

false).setVisible(true);

} catch (StudentNotFoundException e1) {

JOptionPane.showMessageDialog(Login.this, "学号不存在!");

} catch (PasswordNotCorrectException e1) {

JOptionPane.showMessageDialog(Login.this, "密码错误!");

}

}

}

});

}

https://www.360docs.net/doc/4e17471644.html,niit.student.view.StduentGrade类

说明:此类是显示层的学生成绩界面,有菜单栏、内容窗口、功能按钮,此界面的功能是查询登录学生的成绩,查询学生的个人详细信息,修改个人信息,修改密码等功能。还新创建了一个线程来读取学生的成绩和信息,此线程是一个内部类,有一个修改密码的小窗口是一个内部类继承了JDialog,修改信息的内部类小窗口继承了JDialog。学生还可以上传自己的照片,修改自己上传的照片,上传后学生就能看到自己的照片,但是学生不能修改自己的班级和入学时间,这两项老师可以修改。部分界面如下图所示:

还有一些关键代码:

// 声明一个线程来默认读取学生的成绩信息

private class LoadThread implements Runnable {

public void run() {

int records = GradeManage.findByID(grades,

student.getStudentID());

Object[] columnNames = { "课程名称", "学期", "学年", "分数"};

Object[][] rowData = new

Object[records][columnNames.length];

for (int i = 0; i < grades.size(); i++) {

Grade grade = grades.get(i);

rowData[i][0] = grade.getCourseName();

rowData[i][1] = grade.getSemester();

rowData[i][2] = grade.getSchoolYear();

rowData[i][3] = grade.getGrade();

}

table = new JTable(rowData, columnNames);

table.setRowHeight(20);

table.setFont(font);

table.setEnabled(false);

jsp = new JScrollPane(table);

}

}

这是一个内部线程类,当进入这个界面以后,这个线程就会默认启动,来读取该学生的信息

// 添加上传照片的监听

jbPhoto.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

try {

File file = upload.choose();

if (file != null)

jtfPhoto.setText(file.getPath());

} catch (FileNotFoundException e1) {

e1.printStackTrace();

} catch (IOException e1) {

e1.printStackTrace();

}

}

});

这是一个上传照片的监听,当点击这个按钮以后,会出现一个选择文件的对话框,选择自己的照片以后,就可以上传自己的照片,然后系统就会把该学生的照片存到默认的文件夹下面,

数据库存的是该学生的照片的名字,系统根据名字就可以读取到该学生的照片

https://www.360docs.net/doc/4e17471644.html,niit.student.view.ImagePanel类

说明:此类是得到一个图片的路径然后把这个图片读取出来,显示在调用这个类的组件里面,这个类继承了JPanel,可以直接添加在窗口组件上面。这个类是用来读取学生照片,照片会根据窗口的大小来方法或缩小图片,但是图片不会失真

关键代码:

protected void paintComponent(Graphics g) {

int frameWidth = this.getWidth();

int frameHeight = this.getHeight();

rateFrame = (double) frameHeight / frameWidth;

if (rateFrame < rateImage) {

height = frameHeight;

width = (int) (height / rateImage);

} else {

width = frameWidth;

height = (int) (width * rateImage);

}

// System.out.println(width + " " + height);

g.drawImage(image.getImage(), 0, 0, width, height, this);

}

这是一个画出图片的方法,组件会自动调用这个方法,然后画出来,图片的高度和宽度,是更具图片和窗口的大小共同决定的

https://www.360docs.net/doc/4e17471644.html,niit.student.view.ShowImage类

说明:这个类是显示放大过后的图片,当老师点击学生的图片的会new这个类的对象来,然后把这个图片重新显示在一个比较大的窗口里面,所以图片就会放大。

关键代码:

public class ShowImage extends JDialog {

public ShowImage(ImagePanel image) {

setSize(700, 700);

setLocation(600, 0);

add(image);

}

}

在构造方法里面得到ImagePanel然后把这个对象添加上去,就会显示出来图片

https://www.360docs.net/doc/4e17471644.html,niit.student.view.Uploading类

说明:此类是上传照片的类,进入主界面的添加学生或修改学生成绩的时候就会new这个类的对象出来,当点击上传照片后就会弹出一个选择文件的对话框出来,然后老师就可以选择学生图片,该类有两个方法分别是:choose()和upload(),第一个方法就是点击上传照片的时候调用,老师选择完成后,该照片的路径会存在这个对象里面,当点击确认按钮时就是调用upload()这个方法,然后就会把图片存到默认的位置里面。

关键代码:

// 上传文件

public boolean upload(String path) throws FileNotFoundException, IOException {

outputStream = new FileOutputStream(path);

if (inputStream == null) {

return false;

}

byte[] buf = new byte[inputStream.available()];

inputStream.read(buf);

outputStream.write(buf);

return true;

}

https://www.360docs.net/doc/4e17471644.html,niit.student.view.Teacher类

说明:此类是显示层的教师界面,有菜单栏、内容窗口、功能按钮,此界面的功能是查询所有学生的成绩,增加学生,查找学生,删除成绩,删除学生,刷新,查询学生的个人详细信息,修改个人信息,修改密码等功能。还新创建了一个线程来读取所有学生的成绩和信息,此线程是一个内部类,还有增加学生的内部类继承了JDialog。在成绩表中还实现了监听成绩被修改的匿名类,老师可以直接在成绩表中修改学生成绩,还添加了鼠标监听,当老师点击某个学生时,在上面的标签中会显示学生的详细信息,实现了模糊查找功能,只要老师输入学生姓名的关键字或学生学号的关键字就会自动查找出包含这些关键字的学生,然后显示在面板的表中。该系统还实现了班级分类,老师可以选择所以班级或着一个班级的学生,例如老师选择软件技术8班,在窗口中就会列出软件技术8班的所有的学生信息,还实现了上传照片的功能,老师可以上传学生的照片,学生也可以上传照片,但是只能上传自己的照片。老师点击学生的时候,在上面部分会显示学生的详细信息,还有该学生的照片,点击该照片可放大照片,点击别的地方该放大的照片就会消失。

部分界面如下图所示:

关键代码:

jcbClasses.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

String info = (String) jcbClasses.getSelectedItem();

if (info.equals("所有班级")) {

removeJsp();

listStudent = new ArrayList();

listStudent = students;

int records = listStudent.size();

showTable(listStudent, records);

queryGrade(e);

return;

}

removeJsp();

listStudent = new ArrayList();

for (int i = 0; i < students.size(); i++) {

if (info.equals(students.get(i).getClasses())) {

listStudent.add(students.get(i));

}

}

int records = listStudent.size();

jlCount.setText(info + "总人数: " + records);

showTable(listStudent, records);

queryGrade(e);

}

});

这是选择班级的监听,当老师选择班级时,就会调用这个方法

private void showTable(List students, int records) { Object[][] rowData = new Object[records + 1][columnNames.length]; // 最后一行用来保存平均成绩

// 遍历每一个学生得到每一个学生的成绩

for (int i = 0; i < students.size(); i++) {

// 得到所有的成绩

List grades = new ArrayList();

GradeManage.findByID(grades,

students.get(i).getStudentID());

students.get(i).setGrades(grades);

}

for (int i = 0; i < students.size(); i++) {

Student student = students.get(i);

rowData[i][0] = student.getStudentID();

rowData[i][1] = student.getStudentName();

List grades = student.getGrades();

double sum = 0.0;

for (int j = 0, k = 0; j < 7; j++) {

Grade grade = null;

if (k < grades.size())

grade = grades.get(k);

// 判断标题名等于课程名时才赋值

if (grade != null

&& columnNames[2 +

j].equals(grade.getCourseName()

.trim())) {

rowData[i][2 + j] = grade.getGrade();

sum += grade.getGrade();

k++;

}

}

rowData[i][9] = sum;

}

String[] avgs = colAvg(rowData);

rowData[records][1] = "平均成绩";

for (int i = 0; i < rowData[records].length - 2; i++) { rowData[records][i + 2] = avgs[i];

}

table = new MyTable(rowData, columnNames);

table.setRowHeight(20); // 设置行高

Font f = new Font("楷体", 0, 14);

table.setFont(f);

table.setSelectionMode(0); // 设置只允许选择一行

jsp = new JScrollPane(table);

}

这是添加表的一个方法,所有把表显示出来的组件都会调用这个方法,这个方法需要两个参数,一个是要显示的数据,还有一个是显示的这个数据的数据

jbAddStudent.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

String studentID = jtfStudentID.getText().trim();

if ("".equals(studentID)) {

JOptionPane

.showMessageDialog(AddStudent.this, "请输入学号!");

return;

} else if (studentID.length() < 6

|| studentID.length() > 12) {

JOptionPane.showMessageDialog(AddStudent.this,

"学号在6-12位之间!");

return;

}

student.setStudentID(studentID);

String name = jtfName.getText().trim();

if ("".equals(name)) {

JOptionPane

.showMessageDialog(AddStudent.this, "请输入姓名!");

return;

}

student.setStudentName(name);

String password = jtfPassword.getText().trim();

if ("".equals(password)) {

JOptionPane

.showMessageDialog(AddStudent.this, "请输入密码!");

return;

} else if (studentID.length() < 6

|| studentID.length() > 12) {

JOptionPane.showMessageDialog(AddStudent.this,

"密码在6-12位之间!");

return;

}

student.setPassword(password);

student.setSex(jrbMan.isSelected() ? "男" : "女");

String date = jtfBirth.getText().trim();

if ("".equals(date)) {

student.setBirth(null);

} else if(date.matches("\\d{4}\\-\\d{2}\\-\\d{2}")) {

student.setBirth(StudentManage.shiftDate(date));

} else {

JOptionPane.showMessageDialog(AddStudent.this,

"输入出生日期格式不正确!\n正确格式

为:2011-08-12");

return;

}

student.setPhone(jtfPhone.getText().trim());

student.setQq(jtfQQ.getText().trim());

String entranceTime =

jtfEntranceTime.getText().trim();

if ("".equals(entranceTime)) {

// student.setBirth(null);

} else if

(entranceTime.matches("\\d{4}\\-\\d{2}\\-\\d{2}")) {

student.setEntranceTime(StudentManage

.shiftDate(entranceTime));

} else {

JOptionPane.showMessageDialog(AddStudent.this,

"输入入学时间格式不正确!\n正确格式

为:2011-08-12");

return;

}

String classes = jtfClass.getText().trim();

if ("".equals(classes)) {

JOptionPane.showMessageDialog(AddStudent.this,

"学生班级不能为空!");

return;

}

student.setClasses(classes);

student.setPhoto(student.getStudentID().trim() + ".jpg");

student.setHomeAddr(jtaAddr.getText().trim());

// 上传照片

try {

upload.upload(imagePath +

student.getStudentID().trim()

+ ".jpg");

} catch (FileNotFoundException e1) {

JOptionPane.showMessageDialog(AddStudent.this,

"上传照片失败,找不到文件!");

e1.printStackTrace();

return;

} catch (IOException e1) {

JOptionPane.showMessageDialog(AddStudent.this,

"上传照片失败,上传错误!");

e1.printStackTrace();

return;

} finally {

upload.colseStream(); // 关闭文件流

}

if (StudentManage.add(student)) {

removeJsp();

GradeManage.addGrades(student.getStudentID());

thread = new Thread(new LoadThread());

thread.start();

JOptionPane.showMessageDialog(AddStudent.this,

"增加学生成功!");

setVisible(false);

queryGrade(e);

} else {

JOptionPane.showMessageDialog(AddStudent.this,

"增加学生失败!可能是内容不符合要求!");

}

}

});

这是教师界面添加学生的方法,老师还可以上传学生的照片,部分界面如下图所示:

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

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

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

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

学生信息管理系统需求分析报告模板

学生信息管理系统需求分析报告

目录 1.序言 (3) 2.项目简介 (3) 2.1.系统标识 (3) 2.2.系统功能 (3) 2.3.用户选择 (3) 2.4.系统功能 (3) 2.4.1 (4) 2.4.2 (4) 2.4.3. (4) 2.4.4. (4) 2.4.5 (4) 2.4.6 (4) 2.4.7 (4) 2.4.8 (4) 3.模块划分 (4) 3.1.登入模块 (4) 3.2.学生信息管理 (4) 3.3.课程管理 (4) 3.4.成绩管理 (4) 3.5.管理员管理 (5) 3.6.退出 (5) 4.模块图 (5) 5.流程图 (8) 6.性能要求 (8)

1.序言 随着学校的规模不断过大,学生数量急剧增加,有关学生的各种信息量也成倍增加。面对庞大的信息量需要有学生信息管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范化管理、科学性统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。 本系统主要应用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是计算学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到了学生选课、针对这些要求设计了学生信息管理系统。 2.项目简介 2.1.系统标识 系统名称:学生信息管理系统 2.2.系统功能 本系统主要功能是实现学校学生的信息管理、课程管理、成绩管理、学籍管理以及使用该系统的用户管理。 2.3.用户选择 本系统面向的用户有:学校的系统人员、管理人员、教师、学生。所以对计算机的人性化和易用性比较高,应用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是计算学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到了学生选课,做到看界面简单易懂,容易操作,提高了学校管理效率以及提升了学生信息的安全性和完整性。 2.4.系统功能 本系统主要应用于学生学籍管理、信息查询、教务信息维护和学生选课、学生奖惩安排几部分,又因为用户的不同,例如学生、教师、系统管理员的身份不

学生宿舍管理系统项目计划书

学生宿舍管理系统项目计划书 篇一:学生宿舍管理系统项目计划书 学生宿舍管理系统项目计划书 组长:张宾 成员:安长冬 刘李阳 郭振海 张远航 学校:河南商业高等专科学校 专业:软件开发和项目管理 时间:20XX年9月28日 引言 (1) 1.1编写目的 (1) 1.2开发背景 (1) 1.2.1现状分析 (1) 1.3系统特点 (1) 1.4经济可行性 (2) 2.1数据库概念设计 (3) 2.1.1系统的实现与测试 (3) 2.1.2主界面的实现与测试 (3)

2.1.3定义 (4) 2.1.4参考资料 (4) 2.2开发环境 (5) 2.3主要参加人员 (5) 2.3.1文件 (5) 2.3.2服务为用户提供培训安装,维护和运行支持,自用户安装 起为用户提供一定期限服务。 (5) 2.3.3非移交产品 (5) 3.实施计划 (6) 3.1工作任务的分解与人员分工 (6) 3.2预算 (6) 3.3进度 (6) 4.支持条件..........................................................................................6引言 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、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,

C语言学生信息管理系统报告

销售信息统计管理系统

一.任务描述 某公司有4个销售员,负责销售5种产品。每个销售员都将当日销售的每种产品各写一张便条提交给公司。每张便条内容有: 1、销售员的编号 2、销售产品的代号产品 3、产品销售量 根据需求,此系统提供以下功能: 1、以菜单界面呈现。 2、信息录入功能。 3、信息查询功能。(包括查询某销售员的各产品销售量,某种产品的销售总量,某销售员的总销售额) 4、销量排序功能。 5、生成统计报表功能。 本系统采用结构体数组以及数据文件的技术,将输入的数据用结构体数组保存,并提供文件的保存与读取。在程序中要进行统计工作,所以提供显示、排序等操作,另外应提供键盘式选择菜单实现功能选择 本程序使用C语言。 此程序在vc++6.0上调试通过。 二.功能实现设计 1.总体设计 根据上面的分析,将这个程序分为四大模块。——1.销售信息录入。2.查询信息3.文件的保存。4.文件的读取 查询系统包括1.各个销售员销售额。2.销售总额以及排序。3各产品销售总额及热度。4.总信息统计生成报表。

2.流程图 3.详细设计 ①【数据结构】typedef struct { int name; int a1; int a2; int a3; int a4;

int a5; } SYS;/*定义数组*/ ②【功能函数声明】 int menu();/*选择菜单函数声明*/ int menu_1();/*子菜单函数声明*/ int enter(SYS t[]);/*进入函数声明*/ void salor(SYS t[],int n);/*声明函数*/ int sum(SYS t[],int n,int m);/*统计函数声明*/ void list1(SYS t[],int n);/*菜单1函数声明*/ void list2(SYS t[],int n);/*菜单2函数声明*/ void list3(SYS t[],int n);/*菜单3函数声明*/ void save(SYS t[],int n);/*保存文件函数声明*/ int load(SYS t[]);/*读取函数声明*/ SYS ste[100]; int len;/*全局变量定义*/ ③【主函数】 void main() { system("cls"); for( ; ; ) { switch(menu())/*根据用户的选择判断该调用哪个功能函数*/ { case 1:len=enter(ste);break; case 2:menu_1();break;

学生管理系统项目总结

学生管理系统项目总结 作为软件工程经常出现的课题学生信息管理系统,完成这个系统后培训老师一般要我们写一份总结报告,那么这份总结报告怎么写?下面为你带来学生管理系统项目总结学生管理系统项目总结报告 在上一个星期,我们用C语言做了一个学生管理系统,分别实现了学生管理系统的添加学生信息、删除学生信息、修改学生信息、对学习信息排序、退出等几大功能。 在这次项目中,我发现自己明显认真多了,但是,在项目中也出现了很多的问题,最大的问题就是忘记了,很多以前的知识没怎么用都忘记了,等到项目经理的一点点提示才慢慢的想起,其实也蛮简单的,就是对知识的不怎么熟悉,大概的体系都是知道的。 在这次项目中,学了怎样做头文件,刚开始大家都不知道,以为头文件是个很难的东西,只有高手牛人才会做,可是当我们自己制作的时候,才发现,也不是很难得。 但是这种不难是建立在先人们把用的头文件封好了,我们再次调用,做成的头文件,也很不错了。 我们还用了点美化界面,代码是项目经理找的,虽然写不来,淡市项目老师也没强求,说我们能用就行,不要求掌握,只要拿来用就可以了。 在这个一个星期的项目中,我们回顾了很多以前的东

西,也发现了很多的问题,以前都没遇见过的,收获很大,在对不同的编译器代码是不一定可以完整的执行的,不过大概都是一样的,只有一些的小的细节。 在处理那些小的细节时,要多方面考虑,才可以减小差错。 应为没有完美的代码,所以就只有慢慢的多方面,多次认真的考虑,尽量接近完美。 在这次项目中,我还体会到了团队合作的最要性,虽然一直以来都在说团队是很最要的,在这些,我也体会到了团队的热情的,项目老师的负责,只有这样,我们才可以很好,很效率的完成任务,还把以前写的杂乱无章的代码进行了优化,看起来更直观了,也容易找出错误。 很明了。 反正在这次项目中收回时无穷的,有这很好的项目老师带,在加上对项目的热情,这次用B语言做的项目很成功。 这次我也懂得了,一定要不断地复习,人的忘记是很强大的,一部留神就会忘记很多东西,有些事该忘记的,但是有些事不该忘记的,就只有我们不断地复习,来巩固知识,这次也很有利于下面的学习, 这样才可以学到更多的知识,不能学猴子搬包谷,一定要好好的巩固。 学生管理系统项目总结报告

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

学生信息管理系统分析报告

目录 引言 (2) 一.问题定义 (2) 1.系统开发背景 (2) 2.系统开发目的 (2) 3.系统介绍 (3) 4.系统的技术要求及限定条件 (3) 二.系统可行性分析 (3) 1. 可行性研究的前提 (3) 2.技术可行性分析 (4) 3.经济可行性分析 (4) 4.操作可行性分析 (4) 5.结论 (4) 1.功能模块 (4) 2.运行需求 (5) 四.现有系统分析 (5) 1.现行系统主要业务 (5) 2.现行系统的问题 (6) 五.新系统分析 (6) 六.系统总体设计 (6) 1.系统总体设计的指导思想 (6) 2.功能分析 (6) 3.数据流图 (7) 4.新系统数据库 (10) 七.结束语 (10) 学生信息管理系统,便于用于班级信息和学生信息的修改以及查询,减少人力、物力,提高了工作效率;且能监控学生的注册情况,能做到及时的通知学生注册,促进学校财务的有效运转。通过课程管理,便于查看

学校内专业开设的课程,便于及时的调整专业设置及专业内的课程设置,以提高学校的竞争力。通过对成绩管理,便于掌握学生的学习情况,教师的授课情况,为学校的学籍管理提供依据。通过教师管理,便于查看教师的任课情况,简化的教师工作量的计算。由此,不仅提高了工作效率,而且大大的提高了其安全性。 (10) 参考文献 (11)

学生信息管理系统分析报告 引言 当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。随着计算机网络技术的不断发展,其被越来越广泛地应用于各行各业,作为教育单位的学校更不例外。学生信息管理系统更是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统能为用户提供充足的信息和快捷的查询手段。 一.问题定义 1.系统开发背景 在科学技术飞速发展的今天,计算机科学及互联网日渐成熟,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重要的作用。各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。 学校规模的不断扩大,使学生的数量急剧增加,有关学生的各种信息资料也成倍增长。办学者们所头疼的问题就是如何面对这庞大的信息量。所以我觉得有必要建立一个学生学籍管理系统,使学生学籍管理工作规范化,系统化,程序化。该系统不仅可以提高当前我国学校管理工作的效率、改进师生或同学之间的信息交流方法,同时也可以通过后台数据库系统的管理功能实现学生注册、学生成绩的查询、学生选课等基本功能。 2.系统开发目的 高效快捷的学生信息管理系统可以提高学校对信息的管理,减少人力资源的开支和浪费,从而提高学校在各方面的工作效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。由于计算机和网络的普及,若建立一个B/S结构的学生信息管理系统,学生便可以通过网络来选课并且查询自己的有关信息,使得学生信息管理工作系统化,规范化,自动化,大大提高了学校管理学生的效率。

学生管理信息系统项目管理

一,项目概述 1.1、项目建设的目的 本项目主要目的是为了将所有学生的信息集中管理,实现对于信息化学生信息管理。 1.2、开发团队 1.3、组分工 二、围管理 2.1、WBS表

1420 网络系统实施接入局域网或广域网2.2、WBS 三、时间管理 3.1、程序作业时间图 学生管理信息系统建设的作业程序及作业时间: 任务名称紧前工序任务时间(天)项目规划(A)— 4 需求获取(B)— 2 需求确认(C) A 1 项目计划评审(D)B、C 1 概要设计(E) D 3 详细设计(F) E 5 学生基本信息数据库(G) F 10 课程管理数据库(H) F 10 成绩管理数据库(I) F 10 用户管理(J) F 3 系统集成测试(K)J、H、I、J 5 系统测试(L)K 6 提交(M)L 2

3.2、学生管理信息系统建设的网络图: 3.3、学生管理信息系统建设的时差计算:

四、成本管理 4.1、成本估算 成本估算法有两种基本的成本估算法:自上而下和自下而上。自上而下法是对整个工程项目的总开发时间和总工作量做出估算,然后将它们按阶段、步骤和任务进行分配。自下而上法则正好相反,先分别估算各个任务所需要的工作量和开发时间,再相加,从而得到总的工作量和总的开发时间。学生信息管理系统成本估算(自下而上):

4.2、成本预算(基准成本) 成本预算是把估算的总成本分配到各个工作项目,建立基准成本以衡量项目执行情况。基准成本,是以时间为自变量的预算,被用于度量和监督项目执行成本。把预计成本按时间累加便为基

准成本,可用S曲线表示。 4.3、成本控制(挣值分析法) 成本控制包括寻找产生正负偏差的原因,必须和其他控制过程结合(围控制、进度控制、质量控制及其他)。挣值分析法主要衡量目标实施与目标期望之间的差异,又叫成本偏差分析法。这种法通过测量和计算已完成工作预算成本、已完成工作实际成本以及计划工作预算成本,从而得到相关计划实施的进度和成本偏差,以此达到判断项目预算和进度执行情况的目的。 五、质量管理 5.1、项目围说明:开发适合学校需求的学生管理信息系统5.2、产品说明:通过这个系统,可以做到信息的规管理、

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

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

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

学生信息管理系统项目开发总结报告

项目开发总结报告 1引言 1、1编写目的 为了总结报告在工作过程中产生的问题、获得的经验, 并且总结报告设计与制作者过程中的逻辑与想法,以便在以后的生产与学习过程中得到进一步提高。 1、2背景 说明: a.本项目名称:学生信息管理系统; b.此软件的任务提出者:小组; 开发者:全体小组成员。 1、3定义 服务器端API :服务器端设计者通过规范的API文档,提供给客户端,以方便客户端的开发,使得同时进行,提高效率,节约时间。两端通过protocol(协议类)进行通信; 用户:用户代指学生用户以及任课教师用户; 管理员:负责程序后台管理的工作人员。 1、4参考资料 《项目需求说明书》 《项目详细设计说明书》 《项目概要设计说明书》 参考资料: 《软件工程导论》 《软件文档编写》 2实际开发结果 2、1产品 产品名称:学生成绩管理系统

产品功能: 软件部分:能够管理与统计表学生成绩,支持老师输入,修改以及查询学生成绩,支持学生查询号自己的成绩与相关资料,支持管理员对学生信息的相关操作。 数据库部分:支持管理员将学生的相关信息在数据库中进行增加,删除与修改。 2、2主要功能与性能 功能: 2、2、1管理员功能 2、2、1、1学籍管理 (1)学生注册: 新学年一到,新生到学生注册出去注册,那么注册员可以接受新生的注册信息,那么信息就包括学生的基本信息以及简历: (2)学生信息查询: 用户可以根据学生的姓名、学号、班级、专业对学生的学籍信息进行查询 (3)学生毕业 可以成批地处理学生毕业,当然也可以设置学生毕业后学校对她们的资料保存期限 (4)修改学籍号 用户可以对学生的学号进行更改 (5)学籍变动 学籍变动包括学生学生换班、退学、插班、结业、休学等操作 2、1、1、2收费管理 (1)学生缴费标准 根据国家收费标准设置各个系各个专业的每年的学费、书费、住宿费等。 (2)学生缴费 该接口可实现学生的缴费操作。 (3)学生缴费查询 该接口能够以多个关键字对学生学费情况、以及各专业的收费标准进行查询。 (4)学生欠费统计 能够十分方便地统计每个班的缴费情况,以催促欠费学生尽快缴清 2、1、1、3班级管理 (1)班级添加 能够十分方便地添加班级,其中包括班级所在专业、班主任、班干部信息等。 (2)班级修改 修改班级情况,如辅导员、教室等 (3)班级拆、合 可以方便地实现班级的拆、合。 2、1、2教师功能 2、1、2、1成绩管理 (1)成绩录入

学生管理系统项目开发计划

2.1 引言 2.1.1 编写目的 2.1.2 背景 2.1.3 定义 2.1.4 参考资料 2.2 项目概述 2.2.1 工作内容 2.2.2 主要参加人员 2.2.3 产品及成果 2.2. 3.1 程序 2.2. 3.2 文件 2.2. 3.3 服务 2.2. 3.4 非移交产品 2.2.4 验收标准 2.2.5 完成项目的最迟期限 2.2.6 本计划的审查者与批准者

2.1引言 对于开发的学生信息管理系统,主要实现以下功能:对学生的学籍、基本信息、课程安排、成绩、选课、密码,进行基本的管理。包括:学生的基本信息和学科成绩的存储、输入、删除、修改、查询,以及升留级管理。老师可以录入成绩、查询学生课程信息及修改密码、编辑学生的信息。管理员:课程管理、学生机老师管理、修改密码及查询。对于不同权限的用户,对于查询的信息都可以实现打印。 2.1.1编写目的 由于现在的学校规模在逐渐的扩大,设置的专业类别、分支机构及老师、学生人数越来越多,对于过去的学生信息管理系统,不能满足当前学生信息管理的服务性能要求。本报告对于开发新的<<学生信息管理系统>>面临的问题及解决方案进行初步的设计与合理的安排,对用户需求进行了全面细致的分析,更清晰的理解学生信息管理系统业务需求,深入描述软件的功能和性能与界面,确定该软件设计的限制和定义软件的其他有效性需求,对开发计划进行了总体的规划确定开发的需求与面临困难的可行性分析。 2.1.2背景 说明:

A.软件系统的名称:学生信息管理系统 B.任务提出者:赵青 C.由于电脑及internet的迅速发展,电脑无处不在,电脑的存在各种工作效率显著提高。对于一个学校而言,开发一个好的学生信息管理系统是当前迫切的需要。因此,特开发学生信息管理系统,该系统实现了办公无纸化、网络化、信息化、现代化。 D.本系统主要是为了实现学校在线管理学习相关信息,为学校提供了更加简洁、方便、容易操作的管理平台。 E.本系统使SQL Server 2005 作为数据库存储系统,采用功能强大的 C Sharp进行开发设计。 2.1.3定义 https://www.360docs.net/doc/4e17471644.html,:是一项微软公司的技术,是一种使嵌入网页中的脚本可由特网服务器执行的服务器端脚本技术。指Active Server Pages (动态服务器页面),运行于IIS 之中的程序。 C#:(C Sharp)是微软(Microsoft)为。NET Framework量身订做的程序语言,微软公司在2000年6月发布的一种新的编程语言。C#拥有C/C++的强大功能以及Visual Basic简易使用的特性,是第一个组件导向(Component-oriented)的程序语言,和C++与Java一样亦为对象导向(object-oriented)程序语言。 SQL:(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系

(完整版)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();

学生信息管理系统需求分析报告(完整版)5

学生信息管理系统 分 析 报 告 专业:经济学 班级:0902班 姓名: 吴雪艳 学号:090430213

任务分配: 1、可行性分析 2、系统功能分析 3、数据描述 4.详细设计 一、可行性分析 1. 问题: (1)目前的课程设计管理系统由人工统计处理。 (2)站用一个办公室和2-3个职工专门用来管理课程设计选课,每天有固定工作时间8小时。 (3)每人工资在每月2000-3000元。 (4)需要选题的同学按班级的方式报上来,经核对分配后方才生效,在通知老师选题情况。双方如有问题还需在工作时间来此解决。(5)由于是人工处理且工作量大,所以效率低,出错率高,修改麻烦。 2.项目目标:学生和老师可以方便的选课,同时可以查询和修改各自的信息,以便学校管理。 3.运行环境: (1)以Windows98 以上/ME/2000/XP作为学生选课管理系统的后台操作系统。 (2)前台开发程序为JAVA,SQL Server 2000。 (3)后台数据库为Microsoft Access 2000/ SQL Server 2000。

(4)主要硬件设备:PC机一台。 4. 开发风险:浪费资金人力,会影响原有管理方式,总体风险不大。 5. 经济可行性: 成本估计:一台计算机每天电费(工作18小时以上),需要4-5名管理远和数据库维护人员每天工资(每天工作在8小时以上),人员培训费用,定期软硬件更新费用,每年总运营费用,杂项费用。 资源分析:现有计算机比较充足,相关人才在学校内就能找到,工资要求低。 6.技术可行性:我校计算机系以及其他系都有软硬件知识丰富,具有较高的文化水平和计算机操作水平,可以设计管理该系统的学生和老师,且课余时间丰富,可以学习和了解在设计和应用当中会遇到或可 能遇到的技术问题。我校许多专业都以开设类似的课程设计题目,学生和老师在技术方面已经有经验,正缺少这样的实践机会。 7.法律可行性:虽然其他学校也有类似的管理系统,但都主要在本校使用,没有涉及到盈利方面,我校设计该系统也本着让学生和老师把握一次学习实践的机会的目的,锻炼他们的开发技术和能力,不会去抄袭已经设计好的管理系统,如有借鉴的地方发布时也会说明,而且该系统是本着方便学生学习的目的,而非盈利目的,所以不会和法律相冲突。 8.总体分析:比原有方式工作效率高,成本低,出错率低,使学校实现现代化网络教学管理。 二、系统功能分析

学生信息管理系统项目开发计划书

项目开发计划 目录 1.引言 1.1编写目的 1.2背景 1.3定义 1.4参考资料 2.项目概述 2.1工作内容 2.2主要参加人员 2.3完成项目的最迟期限 3.实施总计划 3.1工作任务的分析 3.2接口人员 3.3进度 3.5关键问题 4.支持条件 4.1计算机统支持 4.2需要用户承担的工作 4.3需由外单位提供的条件 1、引言 1.1、编写目的 为了更好地完成山东理工职业学院班级信息管理系统项目,为项目的开发工作作出计划,同时确定出工程实施计划与进度,并以此作为分项详细设计与具体实施的依据,编写 本报告。 1.2、背景 待开发的软件系统为班级信息管理系统。本项目任务由山东理工职业学院信息工程系提出,09 级网络班“j小组”开发,用户为09级网络班全体同学。 1.3、定义。 项目开发计划 1.4、参考资料 暂无 2、项目概述 2.1、工作内容 主要工作内容: 1、到山东理工职业学院信息工程系、山东理工职业学院09级各班进行业务调研; 2、整理用户需求,生成用户需求分析报告; 3、对系统进行详细设计,提供详细设计方案报告; 4、进行班级信息管理系统进行编码; 5、进行内部测试; 6、进行系统应用调试; 7、进行系统后期维护。 2.2、主要参加人员

序号职务姓名 1组长张健 2副组长葛洁 3组员石运龙 4组员刘强 5组员马晓宇 6组员李泽钦 2.3.进度 序 号 步骤名称时间安排备注1系统计划、可行性研究2011.5.30-2011.5.31 2系统设计总体设计2011.6.1-2011.6.2 详细设计2011.6.3-2011.6.6 3系统编码2011.6.6-2011.6.15 系统测试调试2011.6.15-2011.6.20 4通过验收2011.6 3、实施总计划 3.1.工作任务的分析 3.2关键问题 1、全面了解山东理工职业学院信息管理的各项业务,正确划分系统边界与职能域; 2、充分了解需求,进行提炼加工,得出结论; 3、在用户需求分析基础上,进行总体规划; 4、数据采集要全面、准确; 4、支持条件 4.1、计算机系统支持 4.1.1对计算机主机及网络工作站性能的要求 (1)要求服务器硬件运行可靠,能获得最大的无故障开机时间和最佳的数据保护功能, 维护使用方便,技术性能指标高,要求工作站的系统软件丰富(包括辅助服务器管理软件)、 功能强,并支持有高效的操作系统(必需要安装微软的IIS服务器软件)、数据库管理系 统和网络软件,能支持多种使用方便的服务器编程语言和浏览器编程语言,具有功能较强 的软件环境和开发工具,并有较强的中文处理能力。 (2本系统,对客户机要求一般。只要与网络连接速度在100Mbps左右,安装有IE3.0以上版本的浏览器即可。 4.2、需由用户承担的工作

学生管理系统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 {

基于JAVA学生信息管理系统

基于J A V A学生信息管理 系统 Prepared on 22 November 2020

江西科技师范大学毕业设计(论文) 学生姓名: 题目(中文):基于Java的学生信息管理系统 (外文):Student Information Management System based on Java 院(系):数学与计算机科学学院 专业:计算机科学与技术 年级:学号: 指导教师: 时间:2016 年 4 月 2016年 4月 20日 目录

基于Java的学生信息管理系统摘要:基于Java的学生信息管理系统分为五大模块:登录管理、学生基本信息管理、成绩管理、课程管理和班级管理。本文详细介绍了前台界面的操作及后台数据库的链接,根据模块制定各个功能的所需界面的实现方法。该系统具有十分清晰友好的界面,操作界面简洁,便于使用。 关键字:学生信息管理;MYSQL;JA VA 1.引言 项目开发背景和意义 随着科学技术的快速发展和不断提高,尤其是计算机科学技术的日渐普及,其功能的强大以及运行速度已经被人们深刻地了解。近几年来高校的办学模式多元化和学校规模的扩大,为了实现对学生信息进行科学管理,因此开发一个简单快速规范的平台。学生的信息管理是教务管理的一个至关重要的部分,传统的方法不仅费人力和时间,而且效率低。如学生发生班级调动,传统的方法需要人工及时更改信息,十分复杂,使得该学生信息不能合理地配置。而使用计算机技术对学生档案信息进行管理的优点具有便于查找、检索快速、统计科学、保密性强、管理规范、节约成本等优点。 国内外的研究现状 学生信息管理工作是各大高校必不可少的管理工作之一,在学校占据重要的地位,它涉及到学生、老师和管理员等多方面。由于各大高校学生人数日益增长,因此研发出一款具有操作灵活且人性化的管理系统成为了迫切需要。 从国外看来许多高校一般是由技术强大稳定的队伍来完成该系统程序的设计与研制,或者是本校的某个院系。在西方电子管理系统的概念早已被学生引入,他们可以通过网络浏览学校的管理系统网站,以及学校的学术信息等。可以查看个人信息、考试成绩和课程,这种方式大大地减轻了人力和时间。

学生信息管理系统实验报告

(此文档为word格式,下载后您可任意编辑修改!) 面向对象程序设计大作业 ------学生信息管 理系统 学院名称信息科学与工程学院 专业班级数学大类2011级2班 学生姓名魏仿 学号 指导教师孙红梅

完成时间: 2013 年 5 月 29 日

学生信息管理系统 1、编程目的 为方便学生信息的管理,特编写这个程序方便操作学生信息管理系统。实现对学生姓名、学号、性别、成绩等信息的管理,可以实现学生的增加、删、查等多种功能的操作。 2、系统简介 本系统实现学生信息的管理,以动态链表、结构体数据类型来实现数据的存储与加工,利用链表来实现学生信息的插入、删除、查找功能。 主要分7个模块: 模块一: 结构体的定义,定义struct student{};struct date{};结构体struct student{};数据成员包括:int studentId; char name[20]; char sex[5]; struct date birthday; int score; struct student *next; 其中 struct date birthday;

又借用struct date{};结构体的成员:int year; int month; int day;以此来实现学生学号、姓名、性别、出生日期、成绩等信息的存储于处理。 模块二: ListCreate函数,函数类型为:struct student 形参:struct student *();主函数,测试数据,测试链表各节点(学生基本信息)的输出、插入、删除、查找功能。 3、编程思路 一:数据类型: 1.考虑到学生个人信息包含学号、姓名、性别、出生日期、成绩等信息。因此采用结构体类型,定义学生个人信息结构体,并定义学生学号、姓名、性别、出生日期、成绩等数据成员。 2.考虑到要实现多个学生个人信息的管理,可采用结构体数组与链表。但是由于要对多个学生信息进行信息的插入、删除、查找等操作。显然结构体数组很难实现以上操作,因此选用链表。

相关文档
最新文档