




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件系统课程设计开发日志 学 院:软件学院 专业班级:软件 14 班 学 号:2013005522 姓 名:杨松涛 指导教师:呼克佑,马建芬 时 间:2016.1.11-22第一天(1月11日):第一天我们小组首先对课题进行了选择,经过讨论之后,我们决定挑战自己,选择了难度最高的田径运动会管理系统,这个系统要求比较高,主要功能是完成对一次田径运动会的管理,包括报名、成绩处理、查询名次和打印各种表单的功能。之后我们一起进行了需求分析、可行性分析。在需求分析阶段,田径运动会提供的功能如下:1报名表录入 运动会管理人员在运动会开始前录入运动会报名表,供运动会管理人员使用在赛前制作秩序册,安排比赛时间。报名人员也可以通过查询看自己是否报名成功。2自动分组分道系统根据报名项目和人员数量,自动对人员进行分组,然后对面一组人员进行分道,节省运动会管理人员的时间,并保证公平。3输出运动员姓名号码对照表系统给每个运动员分配号码后,输出姓名号码对照表,管理人员根据姓名号码对照表制作号码牌,发给各班运动员,运动员比赛时根据自己号码上场比赛。4输出项目分组表系统分组后根据分组情况对应相应项目,自动输出项目分组表。5实现成绩智能化管理在比赛结束之后运动会管理人员录入比赛成绩,系统通过已经录入的成绩对成绩进行排序,并且根据运动员名字找到他所属团体,根据名次决定他的得分,加入团体的总成绩。6统计破纪录人数根据过去成绩统计破纪录的人数7查询成绩运动员通过自己的单位、姓名、号码等查询成绩,看成绩录入是否正确。8打印各种检录表、成绩单及团体总分表、奖牌榜、决赛成绩总表、破纪录情况表。可行性分析:1.1编写目的我希望在windows平台上实现田径运动会管理系统,使管理便捷有效,提高决策效率。可以改变运动会管理单纯靠人工管理浪费人力物力财力的现象,方便运动会的管理。1.2 背景 运动会是所有高校、许多机构都需要举办的项目。特别是高校,运动会管理需要一套稳定、高效的管理办法。就我校情况看来,目前我校的运动会管理还处于较原始的人工阶段,缺少一套实用可靠的管理系统软件。因此,本项目拟开发一个运动会管理系统。2现行实验室设备管理调查2.1 定位2.1.1现行运动会分析现在的运动会组织几乎完全依靠人力,从分组分道,成绩排名到破纪录人数统计都依靠人力完成,浪费大量人力物力,所以需要一个田径运动会管理系统。2.1.2 面向人群调查适合: 运动会组织相关人员2.2 现行运动会管理存在问题 就我校情况看来,目前我校的运动会管理还处于较原始的手工阶段,缺少一套实用可靠的管理系统软件。人工管理既浪费人力物力财力,又容易导致各种错误的发生。3设备管理概述3.1 目标我们希望实现主要在原来的手工系统之上创建,利用计算机实现:(1)赛前准备:田径运动会规则设置,报名表录入,自动分组分道,输出运动员姓名号码对照表,输出项目分组表。(2)比赛管理:实现智能化成绩处理,包括成绩录入、名次判定、运动队成绩统计、团体总分统计等。(3)查询:破纪录人次统计,按单位、姓名、号码等查询成绩。(4)打印:各种检录表、成绩单及团体总分表、奖牌榜、决赛成绩总表、破纪录情况表。4可行性综合评述4.1 经济可行性经济可行性主要依据是成本/效益分析,该系统的目标是以最低的成本,在最短的期限内开发出运动会管理系统,系统能减少很多不必要的资源,不用象以前那样用冗余的纸张式的管理。大大节省了学校人力物力浪费。并且还提高了运动会管理的精确度。人员只需5名组员课余时间工作,电费不计。近乎无成本。4.2 技术可行性方便校领导查询运动会的情况,节省时间,可以提高系统的工作效率和准确率。为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在查询运动会信息时发挥高效、便捷的作用,把系统管理员从繁重的工作中解脱出来!该实验室设备管理信息系统是分别以jsp ,javabean,servlet,为后台核心应用、以服务为目的信息平台,对资源进行科学的加工整序和管理维护,为实验室设备信息提供管理。4.3 法律可行性本软件属项目组开发,符合法律的各项规定4.4 使用可行性软件针对普通的运动会安排,对使用人员没有特殊限制,管理人员均可使用。界面友好,操作简单,能够保证大多数管理员使用该系统的要求。第二天(1月12日):第二天我们进行了概要设计,下面是概要设计的结果:1用例图用例文档描述编号:1 用例名称:破纪录人数 主执行者:运动会管理人员 前置条件:查询记录成绩 后置条件:统计本次比赛的成绩编号:2 用例名称:成绩 主执行者:运动员前置条件:参加比赛 后置条件:裁判记录 编号:3 用例名称:打印 前置条件:各种表录入 后置条件:运动员需要编号:4 用例名称:成绩录入 主执行者:管理人员 前置条件:得到比赛成绩 后置条件:提交成绩信息编号:5 用例名称:名次判定 主执行者:管理人员 前置条件:输入成绩 后置条件:系统处理编号:6 用例名称:名次判定 主执行者:管理人员 前置条件:输入成绩 后置条件:系统处理编号:6 用例名称:自动分组分道,输出运动员姓名号码对照表,输出项目分组表 主执行者:管理人员 前置条件:录入报名表 后置条件:系统处理2类图3顺序图4活动图第三天(1月13日):第三天我们进行了详细设计。分别设计自己的模块下面是我设计的模块:Sport/src/dao/sportdaopackage cn.sport.dao;import java.sql.SQLException;import java.util.List;import mons.dbutils.QueryRunner;import mons.dbutils.handlers.BeanHandler;import mons.dbutils.handlers.BeanListHandler;import cn.itcast.jdbc.TxQueryRunner;import cn.sport.domain.Binformation;import cn.sport.domain.Grades;import cn.sport.domain.Rank;import cn.sport.domain.Teamgrades;public class SportDao private QueryRunner qr = new TxQueryRunner();/添加报名表public void addapplication(Binformation bi)try String sql = INSERT INTO binformation VALUES(?,?,?,?,?,?,?);Object pramas = bi.getAppid(),bi.getPlayername(),bi.getPlayernumber(),bi.getTranches(),bi.getTrack(),bi.getItemname(),bi.getInstitute();qr.update(sql, pramas); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();/录入成绩public void addgrades(Grades g) try String sql = INSERT INTO grades VALUES(?,?,?,?,?);String sql2 = INSERT INTO rank (rid,playernumber,grade,itemname,institute) VALUES (?,?,?,?,?);Object pramas = g.getGradeid(),g.getPlayernumber(),g.getGrade(),g.getItemname(),g.getInstitute();qr.update(sql, pramas);qr.update(sql2, pramas); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();/查询团体总分public List findall()try String sql = SELECT institute,SUM(score) AS totalgrade FROM rank GROUP BY institute ORDER BY totalgrade DESC;return qr.query(sql, new BeanListHandler(Teamgrades.class); catch (SQLException e) throw new RuntimeException(e);/查询排名/多条件查询public List querygrade(Grades criteria) try String sql = SELECT playernumber,grade,itemname,institute FROM grades WHERE playernumber = ? AND itemname= ?;Object pramas = criteria.getPlayernumber(),criteria.getItemname();return qr.query(sql, new BeanListHandler(Grades.class),pramas); catch (SQLException e) throw new RuntimeException(e);public List queryitem(Rank criteria) try String sql = SELECT itemname,playernumber,grade,institute FROM grades WHERE itemname = ? ORDER BY grade ASC;Object pramas = criteria.getItemname();return qr.query(sql, new BeanListHandler(Rank.class),pramas); catch (SQLException e) throw new RuntimeException(e);public List load(String playernumber,String itemname) try String sql = select * from rank where playernumber = ? and itemname = ?;Object pramas = playernumber,itemname;return qr.query(sql, new BeanListHandler(Rank.class),pramas); catch (SQLException e) throw new RuntimeException(e);public void edit(Rank rank) try String sql = UPDATE rank SET ranking = ?,score = ? WHERE playernumber = ? ;Object pramas = rank.getRanking(),rank.getScore(),rank.getPlayernumber();qr.update(sql,pramas);catch (SQLException e) e.printStackTrace();public List edititem(Rank criteria) try String sql = SELECT itemname,playernumber,grade,institute,ranking FROM rank WHERE itemname = ? ORDER BY grade ASC;Object pramas = criteria.getItemname();return qr.query(sql, new BeanListHandler(Rank.class),pramas); catch (SQLException e) throw new RuntimeException(e);Sport/src/dao/userdaopackage cn.sport.dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import cn.itcast.jdbc.JdbcUtils;import cn.itcast.utils.CommonUtils;import cn.sport.domain.User;public class UserDao public User findByUsername(String username) throws SQLExceptionConnection con = JdbcUtils.getConnection();String sql = SELECT * FROM user WHERE username=?;PreparedStatement pstmt = con.prepareStatement(sql);pstmt.setString(1, username);ResultSet rs = pstmt.executeQuery();if(rs = null) return null;if(rs.next()User user = new User();user.setPassword(rs.getString(password);user.setUsername(rs.getString(username);user.setPower(rs.getString(power);return user;elsereturn null;public void add(User form) throws SQLExceptionConnection con = JdbcUtils.getConnection();String sql = INSERT INTO user VALUES(?,?,?,?);PreparedStatement pstmt = con.prepareStatement(sql);pstmt.setString(1, null);pstmt.setString(2, form.getUsername();pstmt.setString(3, form.getPassword();pstmt.setString(4, form.getPower();pstmt.executeUpdate();Sport/src/domain/bininformationpackage cn.sport.domain;public class Binformation private String appid;private String playername;private int playernumber;private int tranches;private int track;private String itemname;private String institute;public String getAppid() return appid;public void setAppid(String string) this.appid = string;public String getPlayername() return playername;public void setPlayername(String playername) this.playername = playername;public int getPlayernumber() return playernumber;public void setPlayernumber(int playernumber) this.playernumber = playernumber;public int getTranches() tranches=1+(int)(Math.random()*3);return tranches;public void setTranches(int tranches) this.tranches = tranches;public int getTrack() track=1+(int)(Math.random()*8);return track;public void setTrack(int track) this.track = track;public String getItemname() return itemname;public void setItemname(String itemname) this.itemname = itemname;public String getInstitute() return institute;public void setInstitute(String institute) this.institute = institute;Overridepublic String toString() return Binformation appid= + appid + , playername= + playername+ , playernumber= + playernumber + , tranches= + tranches+ , track= + track + , itemname= + itemname+ , insititute= + institute + ;Sport/src/domain/gradespackage cn.sport.domain;public class Grades private String gradeid;private int playernumber;private Double grade;private String itemname;private String institute;public String getGradeid() return gradeid;public void setGradeid(String gradeid) this.gradeid = gradeid;public int getPlayernumber() return playernumber;public void setPlayernumber(int playernumber) this.playernumber = playernumber;public Double getGrade() return grade;public void setGrade(Double grade) this.grade = grade;public String getItemname() return itemname;public void setItemname(String itemname) this.itemname = itemname;public String getInstitute() return institute;public void setInstitute(String institute) this.institute = institute;Overridepublic String toString() return Grade gradeid= + gradeid + , playernumber= + playernumber+ , grade= + grade + , itemname= + itemname+ , institute= + institute + ;Sport/src/domain/rankpackage cn.sport.domain;public class Rank private String rid;private int playernumber;private String itemname;private double grade;private int ranking;private int score;private String institute;public String getRid() return rid;public void setRid(String rid) this.rid = rid;public String getInstitute() return institute;public void setInstitute(String institute) this.institute = institute;public int getPlayernumber() return playernumber;public void setPlayernumber(int playlernumber) this.playernumber = playlernumber;public String getItemname() return itemname;public void setItemname(String itemname) this.itemname = itemname;public int getRanking() return ranking;public void setRanking(int ranking) this.ranking = ranking;public int getScore() return score;public void setScore(int score) this.score = score;public double getGrade() return grade;public void setGrade(double grade) this.grade = grade;Overridepublic String toString() return Rank rid= + rid + , playlernumber= + playernumber+ , itemname= + itemname + , grade= + grade + , ranking=+ ranking + , score= + score + , institute= + institute+ ;Sport/src/domain/teamgradespackage cn.sport.domain;public class Teamgrades private String groupid;private String institute;private int totalgrade;public String getGroupid() return groupid;public void setGroupid(String groupid) this.groupid = groupid;public String getInstitute() return institute;public void setInstitute(String institute) this.institute = institute;public int getTotalgrade() return totalgrade;public void setTotalgrade(int totalgrade) this.totalgrade = totalgrade;Overridepublic String toString() return Teamgrades groupid= + groupid + , institute= + institute+ , totalgrade= + totalgrade + ;Sport/src/domain/userpublic class User private String username;private String password;private String power;public String getPower() return power;public void setPower(String power) this.power = power;public String getUsername() return username;public void setUsername(String username) this.username = username;public String getPassword() return password;public void setPassword(String password) this.password = password;Overridepublic String toString() return User username= + username + , password= + password+ , power= + power + ;Sport/src/service/sportservicepublic List findall()return sportDao.findall();public List querygrade(Grades criteria) return sportDao.querygrade(criteria);public List queryitem(Rank criteria) return sportDao.queryitem(criteria);public List load(String playernumber, String itemname) return sportDao.load(playernumber, itemname);public void edit(Rank rank) sportDao.edit(rank);public List edititem(Rank criteria) return sportDao.edititem(criteria);Sport/src/service/userservicepackage cn.sport.service;import java.sql.SQLException;import cn.sport.dao.UserDao;import cn.sport.domain.User;/user的业务逻辑层public class UserService private UserDao userDao = new UserDao();public void regist(User user) throws Exception, SQLException User _user = userDao.findByUsername(user.getUsername();if(_user != null) throw new Exception(用户名 + user.getUsername() + ,已被注册!);userDao.add(user);public User login(User form) throws Exception User user = userDao.findByUsername(form.getUsername();if(user = null) throw new Exception(用户名不存在!);if(form.getPassword() = user.getPassword() throw new Exception(密码不正确);return user; Sport/src/webservelet/loginserveletpackage cn.sport.web.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import ernal.ws.policy.privateutil.ServiceConfigurationError;import cn.itcast.utils.CommonUtils;import cn.sport.domain.User;import cn.sport.service.UserService;public class LoginServlet extends HttpServlet public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.setCharacterEncoding(utf-8);response.setContentType(text/html;charset=utf-8);/依赖UserServiceUserService userService = new UserService();User form = CommonUtils.toBean(request.getParameterMap(), User.class);tryUser user = userService.login(form);request.getSession().setAttribute(SessionUser,user);response.sendRedirect(request.getContextPath() + /index.jsp);catch(Exception e)request.setAttribute(msg, e.getMessage();request.setAttribute(user,form);request.getRequestDispatcher(/user/login.jsp).forward(request, response);Sport/src/webservelet/registserveletpackage cn.sport.web.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import ernal.ws.policy.privateutil.ServiceConfigurationError;import cn.itcast.utils.CommonUtils;import cn.sport.domain.User;import cn.sport.service.UserService;public class LoginServlet extends HttpServlet public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.setCharacterEncoding(utf-8);response.setContentType(text/html;charset=utf-8);/依赖UserServiceUserService userService = new UserService();User form = CommonUtils.toBean(request.getParameterMap(), User.class);tryUser user = userService.login(form);request.getSession().setAttribute(SessionUser,user);response.sendRedirect(request.getContextPath() + /index.jsp);catch(Exception e)request.setAttribute(msg, e.getMessage();request.setAttribute(user,form);request.getRequestDispatcher(/user/login.jsp).forward(request, response);Sport/src/webservelet/sportserveletpackage cn.sport.web.servlet;import java.io.IOException;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import cn.itcast.servlet.BaseServlet;import cn.itcast.utils.CommonUtils;import cn.sport.domain.Binformation;import cn.sport.domain.Grades;import cn.sport.domain.Rank;import cn.sport.service.SportService;/* * author Administrator * */public class SportServlet extends BaseServlet private SportService sportService = new SportService();public String addapplication(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException /* * 1. 封装表单数据到Binformation对象 * 2. 补全:使用uuid * 3. 使用service方法完成添加工作 * 4. 向request域中保存成功信息 * 5. 转发到msg.jsp */Binformation bi = CommonUtils.toBean(request.getParameterMap(), Binformation.class);bi.setAppid(CommonUtils.uuid();sportService.addapplication(bi);request.setAttribute(msg, 操作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广西防城港市防城区政务服务监督管理办公室公开招聘1人模拟试卷及一套参考答案详解
- 2025黑龙江富裕县富裕镇人民政府招聘公益性岗位人员10人考前自测高频考点模拟试题及一套参考答案详解
- 2025湖北十堰市郧阳区聘请政务服务志愿监督员10人模拟试卷及答案详解(考点梳理)
- 2025辽宁盘锦市盘山县坝墙子镇幼儿园园长招聘1人考前自测高频考点模拟试题及答案详解(新)
- 2025湖南新宁县事业单位和县属国有企业人才引进降低开考比例岗位模拟试卷带答案详解
- 2025年金湖县事业单位公开招聘人员96人考前自测高频考点模拟试题及答案详解(各地真题)
- 2025年中共溧阳市委党校长期招聘教师2人(江苏常州市)考前自测高频考点模拟试题完整参考答案详解
- 2025广东依顿电子科技股份有限公司招聘成本会计岗等人员模拟试卷及答案详解(网校专用)
- 2025辽宁沈阳盛京资产管理集团有限公司所属子公司沈阳国际陆港集团有限责任公司拟聘用人员模拟试卷附答案详解(完整版)
- 2025年春季中国邮政储蓄银行黑龙江省分行校园招聘模拟试卷及答案详解1套
- 集体荣誉-主题班会课件
- 养老现状课件
- 【某酚醛污水处理厂的经济评估计算过程案例2100字】
- 当代科技伦理与自然辩证法课程的融合与教学创新探索
- 公司年度财务预算
- 2025年高考语文考前关注:作文审题立意技巧
- 氯气的性质课件高一上学期化学人教版
- 水利工程监理部主要工作制度(依据2014版监理规范编写)
- 2024年酒吧演艺公司与艺人合同
- 血浆灌流联合其他治疗方法治疗肿瘤的研究进展
- 述情障碍的社会根源
评论
0/150
提交评论