表3-7 考试题表 Table 3-7 exams table
系统名称 小型外语网络考试系统 表 名 考试试卷表 字段标识 数据类型 位数 属性 描述 备注 ID Varchar 255 NOT NULL 考试试卷编号 主键 Varchar TITLE 255 Default NULL 考试试卷名称 Varchar TEACHER-ID 255 Default NULL 出题教师编号 Bigint EXAM-TIME 20 Default NULL 考试时间 表3-8 选择题表
Table 3-8 Multiple Choice List
系统名称 小型外语网络考试系统 表 名 选择题表 字段标识 数据类型 位数 属性 描述 备注 ID Varchar 255 NOT NULL 选择题编号 主键 Varchar PAPER-ID 255 Default NULL 考试试卷编号 Varchar TITLE 255 Default NULL 选择题名称 Varchar ANSWER 255 Default NULL 答案 表3-9 选择题待选项目表
Table 3-9 multiple-choice list of items to be selected
系统名称 小型外语网络考试系统 表 名 选择题待选项目表 字段标识 数据类型 位数 属性 描述 备注 ID Varchar 255 NOT NULL 待选项编号 主键 Varchar CONTENT 255 Default NULL 选择题目 Varchar ITEM 255 Default NULL 选项 Varchar QUESTION-ID 255 Default NULL 问题编号 12
表3-10 判断题表
Table 3-10 determine the table title
系统名称 小型外语网络考试系统 表 名 判断题表 字段标识 数据类型 位数 属性 描述 255 NOT NULL 判断题编号 ID Varchar Varchar Default 255 考试试卷编号 PAPER-ID NULL Varchar Default 255 判断题名称 TITLE NULL Varchar Default 255 答案 ANSWER NULL 备注 主键 本章确定了系统的物理结构,在软件开发的早期对软件结构进行优化。对开发系统所涉及到的技术进行详细的分析和描述。
13
4系统实现
详细设计与实现阶段的根本目标是确定应该怎样具体地实现所要求的系统以及写出具实际的程序代码。本系统的详细设计主要是体现在各个用例的功能的设计与实现。
详细设计与实现阶段的根本目标是确定应该怎样具体地实现所要求的系统以及写出具实际的程序代码。本系统的详细设计主要是体现在各个用例的功能的设计与实现。
4.1功能设计与实现
小型外语网络考试系统分成管理员、教师、班级、学生、试卷等模块。
4.2页面结构设计
使用JSP+formbean+xml结构进行设计,这一设计的特点为框架成熟、适用面广。并可根据不同需求进行页面的数据验证。
页面部分分为不同范围: (1)管理员页面
管理员页面可以进行教师、班级、学生以及个人密码等操作。 (2)教师页面:
教师页面可以进行试卷管理以及个人密码等操作。 (3)学生页面:
学生页面可以进行在线答题以及个人密码等操作。 下图4-1是设计JSP系统下的结构状况。
Index.jsp 首页 login.jsp 登录页面 Admin.jsp 管理员页面 Teacher.jsp 教师页面 Student.jsp 学生页面
图4-1 Jsp系统页面图 Figure 4-1 Jsp page map system
14
4.3用户登录
用户登录页面是系统的入口点,不同用户登陆后会进入不同的操作页面。 下面为用户登录功能实现代码:
/**
}
* 用户登录功能
*/
public ActionForward logon(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
// 得到用户提交的参数
UserForm user = (UserForm) form; // 检索用户信息
UserDAO dao = DAOFactory.getDao(UserDAO.class); User u = dao.getUserByName(user.getName());
if (u != null && u.getPassword().equals(user.getPassword())) { }
// 登录成功,保存用户信息到Session中
HttpSession session = request.getSession();
session.setAttribute(StrutsConstants.SESSION_USER, u); System.out.println(\:
System.out.println(\跳转类型:\return mapping.findForward(u.getUserType());
\
// 登录失败,设置提示信息,返回登录页面 addMessage(request, \return mapping.getInputForward();
修改密码为各用户的通用功能,进入各自功能页面可以对自己的密码进行修改。
修改密码功能时序图如下4-2
15
用户登录修改密码1 : 验证()2 : 请求()3 : 验证失败()4 : 修改成功()
图4-2 修改密码功能时序图
Figure 4-2 Change Password function timing diagram
4.4管理员功能
管理员页面可以进行大部分功能操作。如:教师、班级、学生等相关功能操作,教师用户进入到相关的教师管理模块,学生用户进入到相关的学生用户模块,都需要帐号和密码才能参加考试,在此系统中,这些都需要管理员为他们进行分配,在得到相对应的帐号和密码之后才可登陆小型外语网络考试系统进行操作。
管理员增加教师功能时序图如下4-3
管理员教师增加1 : 请求()2 : 填写信息()3 : 保存()
图4-3 增加教师功能时序图
Figure 4-3 Functional timing diagram of additional teachers
管理员主页面可进行管理员用户密码修改工作,可以进行教师用户增加,教师列表,
16