1、1JAVA EE 架构程序设计-作业题 目: 基于 SSH 的课程成绩管理系统学生姓名: 吕泽坤 学 号: 201429621 系统需求的分析开发在线成绩管理系统,满足对课程,班级,学生的信息增删改查,在进行课程成绩录入,查看学生成绩信息,课程成绩信息,满足用户使用。21.1 需求分析系统模块分如下:1.1.1 课程需求分析对课程信息的添加修改删除查询,操作。1.1.2 学生需求分析对于学生信息的添加修改删除查询,便于管理学生。1.13 班级需求分析对于班级信息的添加添加修改删除查询,操作。1.14 成绩录入对于学生课程成绩的录入,不同课程的录入1.15 成绩查询产看全部成绩,查看学生个人出成
2、绩,查看课程成绩(最高最低分,平均成绩)1.2 任务概述 1.2.1 目标 本系统是为了更好管理学生课程成绩管理而设计的。由于学校的学生和课程繁多,包含的信息量大且复杂,有必要建立一个学生成绩管理系统,使成绩管理管理工作规范化,系统化,程序化,提高信息处理的速度和准确。 1.2.2 运行环境 服务器配置包括硬件配置和软件配置,它们各自都有详细的要求,下面将分别进行介绍. (1)硬件配置安装本软件之前,需要确保计算机具有如下配置,这也是最低硬件要求: 酷睿 i5 或更高的微处理器(或与之相当的处理器) 使用 2G 内存(2)软件配置 安装本软件之前,需要确保计算机已安装:Micorsoft Wi
3、n8 的操作系统1.3 系统完整性、安全性 1.3.1 对服务的要求 为保证该系统平稳、安全地运行,系统为用户提供的服务要有以下限制: 管理员登录后及可以进行所有信息的处理,学生不可登陆。31.3.2 对性能的要求此系统的数据输入大多数为字符串类型,也有表示成绩的浮点数,精度为 6。响应时间:对于管理人员输入的用户信息应该在人们所能接受的等待时间来确定,通常为 1-2 秒。 更新处理时间要求 :用户输入数据后,对于该操作人员输入的数据处理时间应该是毫秒级的。数据的转换和传输也应该在人们的接受的等待时间内。 灵活行:(1) 在操作方式上若发生变化,如无法使用浏览器进入系统,那么,可以使用命令方式
4、进入如:可以通过编写 java 程序与数据库联接,实现登录。 (2) 因为本系统开发是使用 jsp 实现,这种开发技术具有 java 一样的很好的系统移植性。 (3) 对于数据精度方面,应在数据库中加以限制;实现实体完整性,用户自定义完整性约束。 (4) 在设计界面结构和数据结构是应留有对以后扩充系统功能的余地,如可以在每个数据字段上设计多个自定义字段。2 系统设计2.1 系统概要设计在需求明确、准备开始编码之前,要做概要设计。概要设计的主要任务是把需求分析得到的 DFD转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块
5、间的接口及人机界面等。数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。概要设计有多种方法。在早期有模块化方法、功能分解方法;在 60 年代后期提出了面向数据流和面向数据结构的设计方法;近年来又提出面向对象的设计方法等。本系统采用模块化软件设计,自顶向下逐层把软件系统划分成若干模块。每个模块完成一个特定的功能,最后将所有模块按照某种方法组合成一个整体,达到整个播放器所要求的功能。2.2 系统功能设计及描述本课程成绩系统不仅要实现常见的成绩管理功能,而且还要有友好的用户界面。其最终设计目标是:多用户可以同时对系统进行操作、实现学生选课及对个人信息的修改,实现老师可以查看学生选
6、课情况及对个人信息的修改,实现管理员对学生信息修改及对课程的管理、运行平台要求不高、界面美观舒适、操作简单、易维护、高稳定性、 ,能满足用户的常见需求。主要划分为以下四个功能模块,每个功能模块的作用描述如下: 学生能够信息管理:管理个人的信息,如:修改本人的密码,姓名等等 课程管理:主要用来管理选课情况。管理员登录系统后可以处理课程信息 班级管理:管理员可以对班级进行管理确定班级的数量。 成绩管理:管理员可以对成绩进行管理,可以成绩添加,查看。其具体功能模块如图 2-1 所示:图 2-1 学生选课系统功能模块图43.系统运行界面3.1 登录界面关键代码:用户 管理系统 v1.0function
7、 reload() document.getElementById(“code“).setAttribute(“src“,“code.jsp?a=“+new Date().getTime(); function regist() window.top.location = “regist.jsp“; 6用户名:口 令:73.2 主页8关键代码:function _set(sp_id)var x=document.getElementsByTagName(span);for (var i=0;i9a .categoryitems span width: 160px;10班级管理查看班级添加班级1
8、1课程管理查看课程添加课程12学生管理查看学生信息13添加学生信息添加成绩管理查看成绩管理143.3 查看班级点击查看班级15关键代码:Insert title here0“班级信息管理编号班级名称16操作修改删除没有查询到任何记录3.4 添加班级信息17关键代码:18“My JSP AddClass.jsp starting page添加班级 编号:班级:193.5 修改班级信息关键代码:20function validate()var id = document.getElementById(“id“).value;var name = document.getElementById(“u
9、serName“).value;if(name.length=0)document.getElementById(“error“).innerHTML=“用户名不能为空“;return false;return true;修改用户21编号:班级名称:223.7 删除班级关键代码:package com;import java.util.List;import org.apache.struts2.ServletActionContext;import com.bean.Class;import com.dao.ClassDAO;import com.dao.impl.ClassDAOImpl;
10、import com.opensymphony.xwork2.ActionSupport;import com.service2.ActionManager;23public class ClassAction extends ActionSupport private ClassDAO classdao = new ClassDAOImpl();private ActionManager dao;private int id;/ Integer id;private String className;public int getId() return id;public void setId
11、(int id) this.id = id;public String getClassName() return className;public void setClassName(String className) this.className = className;public ActionManager getDao() return dao;public void setDao(ActionManager dao) this.dao = dao;24public ClassDAO getClassdao() return classdao;public void setClass
12、dao(ClassDAO classdao) this.classdao = classdao;/添加班级public String addclass() throws Exception Class user=new Class();/user.setId(id);user.setId(id);user.setClassName(className);if (dao.addClass(user)System.out.print(id+className+“添加班级成功“);return “SUCCESS“;elsereturn “ERROR“;/return “SUCCESS“;/列出所有班
13、级信息public String list() throws Exception List allUserList=dao.queryAllClass();25ServletActionContext.getRequest().setAttribute(“allUserList“, allUserList);/杩斿洖璇锋眰 allUserList 缁橪 istAllUser.jspreturn “SUCCESS“;/*修改信息:先编辑一个班级信息,在修改班级信息*/编辑一个public String preupdate() throws Exception Class user=dao.que
14、ryUserByID(id);ServletActionContext.getRequest().setAttribute(“user“,user);/传值到 jsp 界面return “SUCCESS“;/所有班级信息的修改public String update() throws Exception Class user=new Class();user.setId(id);user.setClassName(className);if(dao.updateClass(user)26return “SUCCESS“;elsereturn “ERROR“;/删除班级public String
15、 d() throws ExceptionSystem.out.println(“开始删除“);Class user=dao.queryUserByID(id);user.setId(id);ServletActionContext.getRequest().setAttribute(“user“,user);System.out.println(user+“班级“);if(dao.deleteClass(user)return “SUCCESS“;elsereturn “ERROR“; /return className;3.8 查看课程信息27关键代码:Insert title here0
16、“课程信息管理编号课程名称课程性质28课程学分操作(分) 修改删除没有查询到任何记录293.9 修改班级信息关键代码:function validate()var psw = document.getElementById(“password“).value;var name = document.getElementById(“name“).value;var id = document.getElementById(“classid“).value;var telephone=document.getElementById(“telephone“).value;if(id.length=0
17、)document.getElementById(“error“).innerHTML=“编号不能为空“;return false;30if(psw.length=0)document.getElementById(“error“).innerHTML=“课程名不能为空“;return false;if(name.length=0)document.getElementById(“error“).innerHTML=“姓名不能为空“;return false;if(telephone.length=0)document.getElementById(“error“).innerHTML=“手机号不能为空“;return false;return true;修改学生信息