




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机工程学院Capstone project实习报告选题名称: 运动会管理系统 专业:计算机科学与技术(软件工程方向)班级: 软件1092 组员: 陈森 蔡晨 金亮 指导教师: 张永军 陈晓兵 陈剑洪 于长辉 2012年 6 月 2 日课程设计中文摘要田径运动会是学校每年都要举行的重大活动,由于该运动比赛项目多,参与人数广,数据处理量大且变化与时效性要求高,管理较为复杂,传统手工进行信息处理不但耗时费力,而且直接影响着工作质量与效率,与信息时代的管理要求极不协调,因此,研制开发具有先进性和实用性的符合高校学实际情况的运动会管理系统势在必行。校运动会管理系统实现了运动会的信息化管理,相对于普通的运动会信息记录,它是用计算机承担了信息记录的工具,能够迅速获得记录信息,大幅改善运动会管理效率。学校田径运动会管理系统是典型的信息管理系统,本系统为田径运动会运动会组织者提供方便、快捷的方法,系统的对运动会进行合理的安排与管理,实现无纸化工作。本论文首先使用了Microsoft Visual Studio 2010作为开发工具和Microsoft SQL Server 2008作为后台数据库,然后再介绍了开发背景,最后通过截图和表格来说明该系统的开发与操作。设计充分利用Microsoft Visual Studio 2010以及Microsoft SQL Server 2008数据库易于使用和快速开发的特性,提高了编程效率和可靠性。同时对系统的开发原理、系统的功能特点和设计方案进行了介绍。在对运动会管理体系进行充分分析和系统论证的基础上开发。它不但能完成运动会管理中的基本操作,而且具有程序设计合理、操作简单、运行可靠、保密性强等优点,极大地节约了人力物力,并提高了服务质量,给人们带来了极大的方便。关键词:运动会管理系统 管理者 运动员 Microsoft Visual Studio 2010 Microsoft SQL Server 2008课程设计外文摘要Title SportMeetingManagementSystem Abstract:Track and field games is the school each year to major events held, as the event, in the number of wide, data and large quantity and time change the demand is high, management is more complicated, the traditional manual for information processing demanding not only, and directly affect the work quality and efficiency, and the information age management demands highly coordinated, therefore, the development development to be advanced and practical learning with the actual situation of the sports meeting administrative system is imperative. The school sports meeting administrative system of the games in the information management, relative to the ordinary games record information, it is to use computer information records for tools, can quickly get to record information, sharply improve sports meeting administrative efficiency. The school track and field sports management system is the typical information management system, this system for track and field games organizers provide convenient and fast method, the system of reasonable arrangement of games and management, and realize the paperless work. This paper first used the Microsoft Visual Studio 2010 as development tools and Microsoft SQL Server 2008 as the backend database, and then introduces the development background, the last through the screenshots and form to indicate that the system development and operation. Design make full use of Microsoft Visual Studio 2010 and Microsoft SQL Server 2008 database easy-to-use and fast development characteristics, improve the efficiency and reliability of the programming. At the same time for system development principle, system function and characteristics and the design scheme are introduced in this paper. For games in the management system of the full analysis and system based on the test of the development. It can not only complete games in the management of basic operation, and has the program design is reasonable, the operation is simple, reliable operation, the secrecy is strong wait for an advantage, greatly saves manpower material resources, and improve the quality of service, give people to a great convenience. Keywords SportMeetingManagementSystem Manager PlayerMicrosoft Visual Studio 2010 Microsoft SQL Server 2008目录1 需求分析12 概念结构设计22.1系统整体数据流图22.2应用程序设计图22.3系统ER图42.4 ER模型向关系模式转换63 整体设计63.1数据库结构设计63.2系统界面设计74 编码实现144.1项目管理144.2 项目申请与审批164.3系统操作代码19总结23致谢24参考文献25成绩评分表261 需求分析1.1系统目标 该系统可以方便对学院运动会报名信息的管理,能帮助运动会工作人员、参赛运动会员以及学院联系人更好地利用计算机,快速方便地对运动会的报名信息进行管理和维护,从而减轻了运动会报名期间参与人员的工作负担。该系统的主要功能有:用户登陆、基本信息录入、报名信息查询、信息修改与删除、报名信息申请与审核等。1.2 系统功能需求1.2.1 功能划分本系统的用户分为系统管理员、运动员以及学院联系人。管理员:负责对系统进行维护,包括对学校各个学院以及参赛运动员的基本信息进行添加,修改,查询和删除等,同时可以制定相关比赛规则(如:修改运动员报名项目的上限),也可以对每个学院的报名信息以及每个项目的参赛信息进行查询并同时生成运动员参赛编号。运动员:通过账号和密码进行登录,可以查询运动会中各个比赛项目的参赛信息,并且对自己合适的比赛项目进行报名申请,同时可查询自己已报名项目的比赛信息和审核状态。学院联系人:用户通过系统登录,可以查询该学院运动员的项目报名情况,同时可以对该学院运动的报名申请进行审批操作。1.2.2 功能描述 基本信息管理 系统管理员可以实现对各个学院以及参赛运动员的信息进行添加和修改等操作,维护所有学院以及运动员的基本信息,查询各个学院比赛项目的报名情况以及每个项目的报名参赛情况。 项目信息管理 系统管理员可以针对该校运动会的基本情况制定相关的比赛项目,并在系统中进行发布,以供参赛运动员和学校各学院进行查询与参考,同时可以对可制定的比赛项目信息进行修改与删除操作。 修改比赛限制 系统管理员可根据比赛实际情况对运动员报名的项目数量以及每个学院的报名人数进行限制,若超出该限制运动员将不可在进行项目申请。 开放和关闭系统 系统管理员可通过修改比赛名的截止时间进行开放和关闭系统,在截止时间之前运动员以及相关学院可登陆系统进行相关操作,如若超出截止时间该系统将不再对除管理员以外的用户开放。 项目申请 运动员根据自身情况以及比赛项目的条件信息对相关项目进行申请,等待自己所在学院单位的项目审核。 项目审批 学院联系人可根据学院的项目报名情况以及相关比赛条件限制对运动员的报名信息进行审批,可予以批准或不批准。 密码修改用户需要输入原密码,并且两次输入新密码一致后,系统即用新密码代替原密码。1.3开发工具该运动会管理系统的数据库采用了Microsoft的SQL Server2008企业版,以及Visual Studio2010开发平台。2 概念结构设计2.1系统整体数据流图审批/查询申请/退选审批/报名信息表申请表/ 项目表学院/运动员/项目表学院/运动员/项目管理运动会管理系统运动员学院联系人系统管理员系统管理员学院联系人运动员图2.1系统数据流图2.2应用程序设计图 开始 用户登录 合法? 用户选择服务 选择退出? 执行服务操作退出NNYY图2.2.1系统处理流程图口令验证管理员学院联系人运动员添加信息项目信息管理报名信息管理个人信息管理退出系统查询统计项目审批个人信息管理退出系统项目报名项目信息查看报名信息查看个人信息管理退出系统图2.2.2系统功能结构2.3系统ER图系统管理员编号密码姓名图2.3.1 管理员实体图学院联系人编号姓名学院联系电话密码图2.3.2 学院联系人实体图运动员编号姓名性别学院联系电话生成号码密码图2.3.3 运动员实体图比赛项目编号名称类型比赛时间分类人数上限图2.3.4 项目实体图项目申请申请编号运动员编号项目编号申请状态申请时间图2.3.5 申请实体图运动员学院联系人管理员管理比赛项目比赛限制申请审批11mmmmnmn图2.3.6 实体关系图2.4 ER模型向关系模式转换(1) 管理员实体集转化为关系:管理员(管理员编号,管理员密码)(2) 学院联系人实体集转化为关系:学院联系人(联系人编号,姓名,所属学院,联系方式,密码)(3) 运动员实体集转化为关系:运动员(运动员编号,姓名,性别,所属学院,联系方式,密码,生成号码)(4) 项目实体集转化为关系:项目(项目编号,项目名称,项目分类,项目类型,比赛时间,人数上限)(5) 申请实体集转化为关系:申请(申请编号,运动员编号,项目编号,申请时间,申请状态)3 整体设计3.1数据库结构设计把关系模型转化为表结构:学院联系人信息表(College):包含所有联系人的信息,定义如下:域名含义数据类型例子备注CID联系人编号int1001主键CCName姓名varchar(20)人文学院CName所属学院varchar(20)杨紫CCTel联系方式varchar(30)12345CCPwd密码varchar(30)123运动员信息表(Player):包含所有运动员的信息,定义如下:域名含义数据类型例子备注PlayerID运动员编号int11主键PlayerName姓名varchar(20)汪涵PlayerSex性别varchar(10)男PlayerCollege所属学院int1003外键PlayerTel联系电话varchar(30)12345PlayerPwd密码varchar(30)123PlayerNo生成号码int2项目信息表(Event):包含所有比赛项目的信息,定义如下:域名含义数据类型例子备注EventID项目编号int101主键EventName项目名称varchar(20)100米EventSex项目分类varchar(20)男EventType项目类型varchar(20)个人EventTime比赛时间datetime2012-05-22 08:30:00LimitNum人数上限int50申请信息表(Apply):包含所有项目申请的信息,定义如下:域名含义数据类型例子备注ApplyID申请编号int1主键PlayerID运动员编号int11EventID项目编号int102State申请状态varchar(20)已批准ApplyTime申请时间datetime2012-05-31 09:16:23规则限制表(Limit):包含所有限制条件的信息,定义如下:域名含义数据类型例子备注LimitID限制编号int1主键PELimit个人限报项目数int3CPLimit学院限报人数int100EndTime报名截止日期datetime2012-06-20 12:00:003.2系统界面设计3.2.1登陆界面3.2.2添加学院信息3.2.3添加运动员信息3.2.4添加比赛信息3.2.5修改比赛信息3.2.6比赛限制管理3.2.7查看项目申报信息3.2.8查看学院申报信息3.2.9修改密码3.2.10项目申请3.2.11查看个人项目3.2.12查询统计3.2.13项目审批4 编码实现4.1项目管理数据访问层(DAL层): public class EventDAL private SqlHelper ed; public EventDAL() ed = new SqlHelper(); public Entity.Event GetEventByEventID(string EventID) string strSql = select * from Event where EventID = + EventID + ; DataSet ds = ed.ExecuteDataSet(strSql); if (ds.Tables0.Rows.Count 0) DataRow row = ds.Tables0.Rows0; return new Event(row); else return null; public void AddEvent(Event e) string Sql = string.Format(insert Event (eventid,eventname,eventsex,eventtype,eventtime,limitnum) values(0,1,2,3,4,5) , e.EventID, e.EventName, e.EventSex, e.EventType, e.EventTime, e.LimitNum); ed.ExecuteNonQuery(Sql); public DataSet ListAllEvent() string sql = Select * From Event ; return ed.ExecuteDataSet(sql); public void DeleteEvent(int id) string sql = delete from event where eventid= + id; ed.ExecuteDataSet(sql); public void UpdateEvent(Event e) string sql = string.Format(update event set eventname=0,eventsex=1,eventtype=2,eventtime=3,limitnum=4 where eventid=5, e.EventName, e.EventSex, e.EventType, e.EventTime, e.LimitNum, e.EventID); ed.ExecuteNonQuery(sql); public int PersonalLimt(int pid) string sql = select COUNT(*) from apply where playerid= + pid; return Convert.ToInt32( ed.ExecuteScalar(sql); public int CollegeLimit(int cid) string sql=select count(*) from apply a join Player p on a.playerid=p.Playerid where p.PlayerCollege= + cid; return Convert.ToInt32(ed.ExecuteScalar(sql); public int SumByEventID(int id) return Convert.ToInt32(ed.ExecuteScalar(select COUNT(*) from apply where eventid= + id); 业务逻辑层(BLL层): public class EventBLL private EventDAL edal = new EventDAL(); public Event GetEventByEventID(string EventID) return edal.GetEventByEventID(EventID); public bool CheckCunZai(string id) Event ee = edal.GetEventByEventID(id); if (ee = null) return true; else return false; public void AddNewEvent(Event e) edal.AddEvent(e); public DataSet ListAllEvent() return edal.ListAllEvent(); public void UpdateEvent(Event e) edal.UpdateEvent(e); public void DeleteEvent(int id) edal.DeleteEvent(id); public int PersonalLimt(int pid) return edal.PersonalLimt(pid); public int CollegeLimit(int cid) return edal.CollegeLimit(cid); public int Sum(int id) return edal.SumByEventID(id); 4.2 项目申请与审批数据访问层(DAL层): public class ApplyDAL SqlHelper s = new SqlHelper(); public void AddApply(Apply a) string sql = string.Format(insert apply (playerid,eventid,state,applytime) values(0,1,2,3), a.PlayerID, a.EventID, a.State, a.Time); s.ExecuteNonQuery(sql); public DataSet ListUnOkEventByClassid(string id) string sql = string.Format(select *from dbo.Apply a join Event e on a.EventID=e.eventid join dbo.Player p on p.PlayerID=a.PlayerIDwhere a.State=未批准? and p.PlayerCollege=0, id); return s.ExecuteDataSet(sql); public void UpdateState(int id, string state) string sql = string.Format(update dbo.Apply set State=0 where ApplyID=1, state, id); s.ExecuteNonQuery(sql); public DataSet ListEventByPlayerId(string id) string sql = string.Format(select EventName,EventSex,EventType,EventTime from dbo.Apply a join Event e on e.EventID=a.EventID where a.PlayerID=0 and a.State=已?批准?, id); return s.ExecuteDataSet(sql); public DataSet ListEventByClassIDOrderByPlayer(string id) string sql = string.Format(select * from dbo.Apply a join dbo.Event e on e.EventID=a.EventID join dbo.Player p on p.PlayerID=a.PlayerID where p.PlayerCollege=1001 order by p.PlayerID asc, id); return s.ExecuteDataSet(sql); public DataSet ListEventByClassidOrderByEvent(string classid) string sql = string.Format(select e.EventID,e.EventName,e.EventSex,e.EventTime,e.EventType ,COUNT(p.PlayerID)count from Apply a join Event e on e.EventID=a.EventID join Player p on p.PlayerID=a.PlayerID where a.State=已?批准? and p.PlayerCollege=0 group by e.EventID,e.EventName,e.EventSex,e.EventTime,e.EventType , classid); return s.ExecuteDataSet(sql); public DataSet ListEventSumaryToAdmin() string sql = select c.CName,e.EventName,e.EventSex,e.EventTime,e.EventType from Apply a join Event e on e.EventID=a.EventID join Player p on p.PlayerID=a.PlayerID join College c on c.CID=p.PlayerCollege where a.State=已?批准? group by c.CID,e.EventName,e.EventSex,e.EventTime,e.EventType,c.CName; return s.ExecuteDataSet(sql); public DataSet ListEventSummary() string sql = select e.EventID,e.EventName,e.EventSex,e.EventTime,e.EventType ,COUNT(p.PlayerID)count from Apply a join Event e on e.EventID=a.EventID join Player p on p.PlayerID=a.PlayerID where a.State=已?批准? group by e.EventID,e.EventName,e.EventSex,e.EventTime,e.EventType ; return s.ExecuteDataSet(sql); public DataSet ListApplyToPlayer(string id) string sql = string.Format(select * from dbo.Apply a join dbo.Event e on a.EventID=e.EventID where a.State!=不?批准? and a.PlayerID=0, id); return s.ExecuteDataSet(sql); public void Delete(int id) string sql = string.Format(delete from apply where applyid=0, id); s.ExecuteNonQuery(sql); 业务逻辑层(BLL层): public class ApplyBLL ApplyDAL aa= new ApplyDAL(); public void Add(Apply a) aa.AddApply(a); public DataSet ListUnOkEventByClassID(string id ) return aa.ListUnOkEventByClassid(id); public void UpdateState(int id, string state) aa.UpdateState(id, state); public DataSet ListEventByPlayerId(string id) return aa.ListEventByPlayerId(id); public DataSet ListEventByClassIDOrderByPlayer(string classid) return aa.ListEventByClassIDOrderByPlayer(classid); public DataSet ListEventByClassidOrderByEvent(string classid) return aa.ListEventByClassidOrderByEvent(classid); public DataSet ListEventSumaryToAdmin() return aa.ListEventSumaryToAdmin(); public DataSet ListEventSummary() return aa.ListEventSummary(); public DataSet ListApplyToPlayer(string id) return aa.ListApplyToPlayer(id); public void Delete(int id) aa.Delete(id); 4.3系统操作代码4.3.1修改项目信息: public partial class ModifyEventInfo : System.Web.UI.Page EventBLL eb = new EventBLL(); protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) Bind(); void Bind() this.GridView1.DataSource = eb.ListAllEvent(); this.GridView1.DataBind(); protected void Button1_Click(object sender, EventArgs e) Event ee = new Event(); ee.EventID = EventID.Text.Trim(); ee.EventName = EventName.Text.Trim(); if (RadioButton1.Checked = true) ee.EventSex = 男D; else ee.EventSex = 女?; ee.EventTime = Convert.ToDateTime(EventTime.Text.Trim(); ee.EventType = DropDownList1.SelectedValue; ee.LimitNum = UpNum.Text.Trim(); eb.UpdateEvent(ee); Bind(); this.Alert(修T改?成功|!?); Panel1.Visible = false; protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) int index = Convert.ToInt32(e.CommandArgument); GridViewRow row = GridView1.Rowsindex; string id = row.Cells0.Text; if (e.CommandName = ed) string name = row.Cells1.Text; string sex = row.Cells2.Text; string type = row.Cells3.Text; string time = row.Cells4.Text; string num = row.Cells5.Text; EventID.Text = id; EventName.Text = name; EventTime.Text = time.ToString(); UpNum.Text = num; DropDownList1.SelectedValue = type; if (sex = 男D) RadioButton1.Checked = true; else RadioButton2.Checked = true; Panel1.Visible = true; if (e.CommandName = de) eb.DeleteEvent(Convert.ToInt32(id); Bind(); this.Alert(删?除y成功|!?); protected void Button2_Click(object sender, EventArgs e) Panel1.Vi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论