赞
踩
目录
1、项目概述 3
1.1 项目的目的和意义 3
1.2 现状分析 3
2、主要业务流程分析 3
3、需求分析 3
4、系统功能设计 3
5、系统UI设计 3
6、系统数据库设计 3
7、系统体系结构设计 4
8、统一接口设计 4
9、其它需要说明的设计要点 4
10、详细设计与成果 4
11、项目体会 4
2、主要业务流程分析
成绩管理系统可以输入课程和成绩数据,并可以完成添加、修改、删除等查询,并根据各种条件基本满足师生的需要。成绩管理系统主要包括学生的基本信息、年龄、电话等方面的信息,内容比较简单。成绩管理系统主要用于学生成绩信息的输入,具有课程注册、成绩查询、学生信息注册等功能。一般来说,它具有编辑、查询、学生成绩管理等功能。
学生端登陆该系统后,进入个人信息页面可以查看自己的个人信息,进入课程管理页面可以对已选课程的课程成绩查询,显示其学号、科目名称和成绩,进入课程论坛页面可以进入现有话题查看和跟帖,也可以创建新的讨论话题。
教师端登录系统后可以进入个人信息页面可以查看自己的个人信息,还可以先选择已开放课程,之后进行成绩录入、成绩修改、成绩查询、成绩分析、删除课程的操作,也可以增加新开放的课程。成绩录入先选择需要录入的人数,再添加其学号与成绩。成绩修改先输入需要修改的成绩的学生学号进行查询,然后输入其姓名,科目,任课教师,成绩,然后提交修改。成绩查询可查询已选此门课程的学生的学号、姓名和成绩。成绩分析可以选择分数比例分析图查看饼状统计图,或者选择分段人数分析图查看条状统计图。删除课程就会删除此门开放课程。本文转载自http://www.biyezuopin.vip/onews.asp?id=15280
3、需求分析
功能需求:
(1)成绩管理系统可以提供一个完善的登陆界面,使学生或教师都可以通过此窗口登陆。
(2)成绩管理系统可以提供完善的学生信息和课程信息管理界面,学生或管理员可以查看和管理学生信息与课程信息。
(3)成绩管理系统可以提供完善的课程信息管理界面,教师或管理员可以查看和管理课程信息,进行成绩录入、成绩修改、成绩查询、成绩分析。
(4)成绩管理系统有一个后端管理页面,可以作为管理员登陆查看与修改学生信息,教师信息,课程信息和论坛信息。
非功能需求:
(1)登陆时采用的用户名 和密码都采用MD5算法保护,再存入数据库存储。
(2)该系统能够在android4.0.13以上版本的安卓系统上正常运行。
package org.shop.controller; import java.io.IOException; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.shop.pojo.Student; import org.shop.pojo.Teacher; import org.shop.service.StudentService; import org.shop.service.TeacherService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import net.sf.json.JSONObject; import tool.Md5; @Controller public class LoginController { @Autowired private StudentService ss; @Autowired private TeacherService ts; //Android @RequestMapping(value="login") public void doLogin(HttpServletRequest request,HttpServletResponse response) { response.setContentType("text/html;charset=utf-8"); try { request.setCharacterEncoding("utf-8"); } catch (UnsupportedEncodingException e2) { // TODO Auto-generated catch block e2.printStackTrace(); } response.setCharacterEncoding("utf-8"); String id = request.getParameter("id"); String password = request.getParameter("password"); //System.out.println(id+" "+password); long num = Long.parseLong(id); long stuMin = 1000000000L; long stuMax = 9999999999L; //老师的登录 if(num>=10000000&&num<=99999999) { //System.out.println("进入老师"); List<Teacher> teachers = new ArrayList<>(); try{ teachers = ts.queryById(id); }catch(Exception e) { e.printStackTrace(); } boolean flag = false; if(teachers.isEmpty()) { flag =false; // System.out.println("没有查到数据"); } else{ Teacher teacher = teachers.get(0); // System.out.println(teacher.toString()); if(teacher.getPassword().equals(password)) { flag = true; } } JSONObject object = new JSONObject(); if(flag) { object.put("status",true); object.put("msg","login success"); }else{ object.put("status",false); object.put("msg","login fail!"); } try{ PrintWriter write = response.getWriter(); write.print(object); }catch(IOException e){ e.printStackTrace(); } return ; } //学生的登录 else if(num>=stuMin&&num<stuMax) { JSONObject object = new JSONObject(); Student student = ss.queryById(id); String passwordMd = Md5.md5(password); boolean flag = false; if(student==null) { flag=false; } else{ if(student.getPassword().equals(passwordMd)) { flag = true; } } if(flag) { object.put("status",true); object.put("msg","login success"); }else{ object.put("status",false); object.put("msg","login fail!"); } try{ PrintWriter write = response.getWriter(); write.print(object); }catch(IOException e){ e.printStackTrace(); } return ; } else{ JSONObject object = new JSONObject(); object.put("status",false); object.put("msg","no such id"); try{ PrintWriter write = response.getWriter(); write.print(object); }catch(IOException e){ e.printStackTrace(); } return ; } } @RequestMapping(value="modifyPassword") public void modifyPassword(HttpServletRequest request,HttpServletResponse response) { response.setContentType("text/html;charset=utf-8"); try { request.setCharacterEncoding("utf-8"); } catch (UnsupportedEncodingException e2) { // TODO Auto-generated catch block e2.printStackTrace(); } response.setCharacterEncoding("utf-8"); String id = request.getParameter("id"); String password = request.getParameter("password"); long num = Long.parseLong(id); long stuMin = 1000000000L; long stuMax = 9999999999L; //老师的登录 if(num>=10000000&&num<=99999999) { System.out.println("进入老师"); List<Teacher> teachers = ts.queryById(id); JSONObject object = new JSONObject(); if(teachers.isEmpty()) { object.put("status", false); object.put("msg", "No such teacher of this id!"); } else if(teachers.size()>=2){ object.put("status", false); object.put("msg", "Too many teachers of the same id!"); } else{ Teacher teacher = teachers.get(0); System.out.println("pw"+password); ts.modifyTeacher(id, password, teacher.getName(), teacher.getPhonenum()); object.put("status", true); object.put("msg", "The teacher's password is modified successfully!"); } PrintWriter writer; try { writer = response.getWriter(); writer.print(object); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return ; } //学生的登录 else if(num>=stuMin&&num<stuMax) { System.out.println("进入学生"); Student student = ss.queryById(id); String passwordMd = Md5.md5(password); JSONObject object = new JSONObject(); if(student==null) { object.put("status", false); object.put("msg", "No such student of this id!"); } else { ss.modifyStudent(id, passwordMd, student.getName(), student.getYear(), student.getPhonenum()); object.put("status", true); object.put("msg", "The student's password is modified successfully!"); } PrintWriter writer; try { writer = response.getWriter(); writer.print(object); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return ; } //学号或职工号不符合规定 else{ JSONObject object = new JSONObject(); object.put("status", false); object.put("msg", "The id is illegal!"); PrintWriter writer; try { writer = response.getWriter(); writer.print(object); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } @RequestMapping(value="signup") public void signup(HttpServletRequest request,HttpServletResponse response) { response.setContentType("text/html;charset=utf-8"); try { request.setCharacterEncoding("utf-8"); } catch (UnsupportedEncodingException e2) { // TODO Auto-generated catch block e2.printStackTrace(); } response.setCharacterEncoding("utf-8"); String id = request.getParameter("id"); String password =request.getParameter("password"); String year = request.getParameter("year"); String phone = request.getParameter("phone"); String nameStr = request.getParameter("name"); Student student = ss.queryById(id); if(student!=null) { JSONObject object = new JSONObject(); object.put("status", false); object.put("msg", "The student of this id has already existed!"); PrintWriter writer; try { writer = response.getWriter(); writer.print(object); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return ; } else{ String name = nameStr; try { name = new String(nameStr.getBytes("iso-8859-1"),"utf-8"); } catch (UnsupportedEncodingException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } ss.addStudent(id, password, name, Integer.parseInt(year), phone); JSONObject object = new JSONObject(); object.put("status", true); object.put("msg", "successful!"); PrintWriter writer; try { writer = response.getWriter(); writer.print(object); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return ; } } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。