欢迎来到天天文库
浏览记录
ID:34648347
大小:321.39 KB
页数:9页
时间:2019-03-08
《湖南科技大学online_judge系统开发》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、IT项目软件管理报告LAMP环境下OnlineJudge系统开发学号:0855010206班级:计算机002姓名:李坚时间:2011-11-29湖南科技大学OnlineJudgeIT项目管理目录一、项目定义二、可行性分析1、需求上分析2、技术上分析3、经济上分析三、功能需求分析四、模块概要设计五、详细设计分工1、前台组2、后台组3、数据库组4、判题模块组5、运维组六、设计说明Administrator湖南科技大学OnlineJudgeIT项目管理一、项目定义本网站是为了湖南科技大学ACM竞赛爱好者练习竞赛而设计开发的网站系统,提供了题目浏
2、览,在线判题,在线竞赛等功能。除了非正式的ACM程序设计学习交流,本网站还可以用作课程设计作业和举办ACM程序设计竞赛。二、可行性分析1、从需求上分析:ACM国际大学生程序设计竞赛(英文全称:ACMInternationalCollegiateProgrammingContest(ACM-ICPC或ICPC)是由美国计算机协会(ACM)主办的,一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。经过近30多年的发展,ACM国际大学生程序设计竞赛已经发展成为最具影响力的大学生计算机竞赛。与ACM息息相关的必
3、然就是OnlineJudge网上判题系统了,随着ACM的流行,各大高校都建立了自己的OnlineJudge系统以便同学们的学习交流以及各种程序设计的比赛。我们学校对ACM程序设计竞赛越来越重视,设计一个属于我们学校自己的OnlineJudge可以更好的学习交流程序设计技术。2、技术可行性分析:开发这个OnlineJudge系统需要很多方面的技术,包括网页前台htmldiv+css、后台php、数据库mysql、以及linux下的cc++和一部分网络通信。由于目前开发人员仅仅只有我一人,所以难度系数比较大,但是以上的技术我基本具备,开发出
4、来也只是时间问题。初步预计开发周期,前台5天、后台5天、数据库3天、judge模块20天、通信3天、模块衔接2天、调试试用10天,目前预算48天时间可以初步完成、由于计划的误差会有10天左右的弹性时间。Administrator湖南科技大学OnlineJudgeIT项目管理3、经济可行性分析:目前拥有良好的网速和一台自用台式电脑提供开发,时间上也足够设计开发、试用以及正式投入运行。另外在设备方面拥有一台性能稳定的服务器,由于本系统暂时定义为校内使用,所以安全性以及一些设备要求比较低,基本符合开发使用要求。三、功能需求分析本网站和其他高校O
5、nlineJudge系统类似,可以提供程序设计爱好者一个学习交流的平台。用户能在系统内查看题目和运行状态,登录后可以拥有提交代码、查看本人已经提交的代码、发表留言等功能。系统需要对用户提交的代码入库并测试运行、并将结果保存以统计数据。四、模块概要设计:功能简要说明在数据库存储用户账户信息,登录时比对,并用session用户登录登出记录用户登录情况从数据库获取题目信息并经php加工最终显示在web页题目列表查看面上,用户可以用proid查看具体题目用户在登录后可以提交某个题目的解决代码,后台将代代码提交码存入数据库并给判题模块发出信号判题模
6、块接收到后台信号之后取出代码进行编译并尝试代码编译并测试运行运行,并将运行的结构输出到数据库后台在存入代码并给出判题信号之后将判题队列里面的结果查看代码运行结果显示在状态页面用户排名系统会根据用户的做题状况以某种形式排名Administrator湖南科技大学OnlineJudgeIT项目管理系统可以将一部分题目划分成一次比赛并限定可提交时比赛功能间,同时应用更严格的排名系统本系统可提供一个类似留言板的微型论坛,可用于技术简单论坛功能交流以及这个系统本身的改进意见FAQ对系统的功能以及一些限制条件进行说明系统结构图Web前端显示Php后台控
7、制判题模块数据库题目编译模块测试运行模块代码用户图1、系统结构体系Administrator湖南科技大学OnlineJudgeIT项目管理五、详细设计分工首先假设设计是一个团队,将所有设计部分分成小组开发,这样将我在同一设计过程要处理的问题大大简化以及要面对的技术减少,有利于开发过程的计划与管理、同时消减各种不同语言代码差异造成编码困难。根据需要的技术以及系统的结构,我将系统开发组一共分成了五个小组(web前台、php后台、数据库、判题模块、运维),其中每个小组的工作以及技术比较专一,负责内容和编辑环境根据设计需要有部分差异。组与组之间的
8、交互具体设计由开发过程中视情况而定。1、Web前台组:要求:熟悉html标签、css样式表、js脚本语言。根据页面内容编写php表示页面,在不同页面尽量使用统一风格,尽量使用分离的css样式表
此文档下载收益归作者所有