学生在线考试-系统计划项目设计文档资料.doc





《学生在线考试-系统计划项目设计文档资料.doc》由会员分享,可在线阅读,更多相关《学生在线考试-系统计划项目设计文档资料.doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、#+四川交通职业技术学院信息工程系项目设计文档题 目:学生在线考试系统班 级 软件13-1 学 号 20131645、20132907、20132185、20132266 姓 名 姜维川、郑雨云、侯鉴航、邓凯 任课教师 吉朝明 二O一五 年 6 月目录1 需求描述32 系统功能描述32.1 系统功能图32.2 系统主流程图33 数据库设计54 界面原型设计55 类设计66 关键代码88 项目总结249程序错误报告2510参考文献25学生在线考试系统文档1 需求描述该系统主要是由前台学生端和后台教师端两部分组成。前台学生端即是学生通过在线考试后得到分数,后台教师端即是对试卷和学生的信息进行管理。
2、2 系统功能描述2.1 系统功能图系统功能图如图1所示。图1 系统功能图2.2 系统主流程图系统主流程图如图2所示。图2 系统主流程图3 数据库设计本系统选择Mysql数据库,建立名为testsystem.mdb的数据库,涉及到主要的数据库表设计如表1-表2-表3所示。表1 test字段名字段类型可否为空说明idINT(10)Not null主键testidINT(10)Not nullsidINT(10)NULLcontenttextNot nullgradeINT(10)Not nullansweridINT(10)Not null表2 answer字段名字段类型可否为空说明idINT(1
3、0)Not null主键tidINT(10)Not nullcontenttextNot null表3 student字段名字段类型可否为空说明idINT(10)Not null主键uidINT(10)Not nullnamevarchar(30)Not nullprofessionalIdINT(10)Not nulldepartmentINT(10)Not nullxhINT(10)Not nullsexvarchar(30)Not nulltikeIdINT(10)Not nullageINT(10)Not null4 界面原型设计1. 前台首页2. 后台首页5 类设计本系统设计了act
4、ion、Aspect、dao、filter、model、service六个类,具体说明及相关类代码如下:(1) action类action+TestAction( )+userAction( )(2) Aspect类Aspect+LogAspect( )(3)dao类dao+AnswerDao( )+DepartMentDao( )+GradeDao( )+ProfessionalDao( )+SubjectDao( )+TestDao( )+UserDao( )(4)filter类filter+MyFilter( )(5) model类model+Answer( )+Department(
5、)+Grade( )+GradeJSon( )+Loganderror( )+Professional( )+Student( )+StudentJson( )+Subject( )+Test( )+Users( )(6) service类Service+AnswerManage( )+DepartmentManage( )+Factory( )+GradeManage( )+ProfessionalManage( )+SubjectManage( )+TestManage( )+UserManagerImp( )6 关键代码(1)获取及更新题目答案package com.test.dao;i
6、mport java.util.List;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.hibernate.service.ServiceRegistry;import org.hibernate.service.ServiceRegistryBuilder;import com.test.mo
7、del.Answer;import com.test.model.Department;public class AnswerDaoImp implements AnswerDaoprivate SessionFactory sessionFactory;private Session sess;private Transaction transaction;private void createsession()sess=sessionFactory.openSession();transaction=sess.beginTransaction();private void destory(
8、)mit();sess.close();sessionFactory.close();public AnswerDaoImp() Configuration configuration=new Configuration();configuration.configure();ServiceRegistry serviceRegistry=new ServiceRegistryBuilder().applySettings(configuration.getProperties().buildServiceRegistry();SessionFactory sessionFactory=con
9、figuration.buildSessionFactory(serviceRegistry);/为当前的sessionFactory赋值this.sessionFactory=sessionFactory;Overridepublic List getanswers() Session session=sessionFactory.openSession();Query query=session.createQuery(from Answer);List answers=query.list();session.close();return answers;Overridepublic L
10、ist getAnswersBytid(int tid) Session session=sessionFactory.openSession();Query query=session.createQuery(from Answer where test.id=+tid);List answers=query.list();session.close();return answers;Overridepublic Answer getAnswerById(int id) Session session=sessionFactory.openSession();Query query=sess
11、ion.createQuery(from Answer d where d.id=+id);List answers=query.list();if(answers.size()0)session.close();return answers.get(0);return null;Overridepublic boolean saveanswer(Answer answer) try createsession();sess.save(answer);mit();destory();return true; catch (Exception e) / TODO: handle exceptio
12、nreturn false;Overridepublic boolean updateanswer(Answer answer) try createsession();sess.update(answer);destory();return true; catch (Exception e) / TODO: handle exceptionreturn false;Overridepublic boolean deleteanswer(Answer answer) createsession();String sql=delete from Answer where id=+answer.g
13、etId();Query query=sess.createQuery(sql);if(query.executeUpdate()!=0)destory();return true;return false;(2)测试package com.test.dao;import java.util.ArrayList;import java.util.HashSet;import java.util.List;import java.util.Set;import net.sf.json.JSONArray;import net.sf.json.JSONObject;import org.aspec
14、tj.weaver.ast.And;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.hibernate.service.ServiceRegistry;import org.hibernate.service.ServiceRegistryBuilder;import com.test.model
15、.Answer;import com.test.model.Subject;import com.test.model.Test;import com.test.service.Factory;public class TestDaoImp implements TestDaoprivate SessionFactory sessionFactory;private Session sess;private Transaction transaction;private void createsession()sess=sessionFactory.openSession();transact
16、ion=sess.beginTransaction();private void destory()mit();sess.close();sessionFactory.close();public TestDaoImp() Configuration configuration=new Configuration();configuration.configure();ServiceRegistry serviceRegistry=new ServiceRegistryBuilder().applySettings(configuration.getProperties().buildServ
17、iceRegistry();SessionFactory sessionFactory=configuration.buildSessionFactory(serviceRegistry);/为当前的sessionFactory赋值this.sessionFactory=sessionFactory;Overridepublic List getTestBySid(int sid) Session session=sessionFactory.openSession();Query query;if(sid=-1)query=session.createQuery(from Test);els
18、e query=session.createQuery(from Test where subject.id=+sid);List tests=query.list();session.close();return tests;Overridepublic JSONArray getTestBySidJson(int sid)Session session=sessionFactory.openSession();Query query;if(sid=-1)query=session.createQuery(from Test);else query=session.createQuery(f
19、rom Test where subject.id=+sid);List tests=query.list();JSONObject jsonObject;List alltest=new ArrayList();for (Test test : tests) Set answers = new HashSet();/List listanswers=Factory.getAnswerManage().getAnswersBytid(test.getId();Set currentanswer=test.getAnswers();for (Answer answer : currentansw
20、er) answer.setTest(null);answers.add(answer);test.setAnswers(answers);test.setSubject(null);alltest.add(test);JSONArray jsonArray=new JSONArray().fromObject(tests);session.close();return jsonArray;Overridepublic List getTest() / TODO Auto-generated method stubreturn null;Overridepublic boolean saveT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 在线 考试 系统 计划 规划 项目 设计 文档 资料

限制150内