
摘 要
网络的兴起带动了很多的行业。在学生生活中,有着各种各样的竞赛活动,在平时,小一些的竞赛都是通过人工来完成的,但是一些作品竞赛这种活动往往需要各个方面的力量去参与才能完成。计算机竞赛系统从实际使用中主要是要解决一些比较静态化的比赛项目,不需要在现场就能进行的比赛项目。
本题目就是从实际出发,研究一个作品竞赛从选手参赛到评委裁定的整个流程,并利用信息化工具进行归纳总结,利用软件工程的思想抽象出功能,利用开发工具开发代码实现这一个流程。
本论文就毕业设计的内容,系统地阐述了整个作品竞赛系统的功能及实现。实现了从选手注册,作品提交和查询,到评委打分,评委管理,管理员系统。基本上实现了一个计算机作品竞赛的功能流程,能够实现选手与评委在网上的交互。本系统界面简单直观,易于操作和使用,交互性强,完全基于Internet网络。
经过对几种开发语言的选择,我们最终选择了ASP.NET语言作为网站的开发语言,以SQL Server作为后台的数据库,用VS2010制作网页后台程序,使得整个系统能够在Windows系统上进行运行。开发方法使用了迭代法,即在一个初始模型上不断修改和改进,最终形成满意的可行系统[19,20]。
关键词: SQL Server 计算机作品竞赛 B/S结构 ASP.NET
Competition Management System Of Computer
Application Based On Web
ABSTRACT
The development of the network changes human’s life. There is a variety of competitions in the student's daily-life, small game can be done by manual work, but some activities about the contest often require the help to participate in the competition. The computer game system from the actual use is mainly to solve some comparative static game project, contestant no need to participate in the competition.
From a practical point of view , this topic is having a research of a contest from the players to the entire process of judges ruled and summarized the information tool , using the software engineering considering Abstract function, realize that a process using the developed code.
Considering the content of the graduation design, this paper elaborated systematically the contest system's function and realizes. Implement of the player registration, submission and query, to the judges scoring, the management and system administrator. Basically realized the function flow of a computer works competition, athletes and judges interaction to be implemented in the internet. This system simple and intuitive interface, easy operation and use, interactive, network based entirely on the Internet.
After several programming language choice, we choose the asp.net language as a web site development language, using SQL Server as the background database, using VS2010 to do the production webpage background program, make the whole system can run in Windows system. Development method using iterative method, which is in an initial model of continuous changes and improvements, eventually forming the satisfied feasible system[19,20].
Key Words: SQL Server Computer Application Competition B/S Structure ASP.NET
第一章 绪论
1.1选题背景
竞赛成绩一方面反映了参赛选手(或者作品)的水平,另一方面也要考虑到其他选手的成绩,同时还必须兼顾其他评委的分数。传统竞赛通常采用多名专家评委同时对选手现场打分的方式。这种方式当然能够反映参赛选手的水平,但不利于考虑前后选手的水平,也不便于兼顾其他评委。借助于Web浏览器实现竞赛过程的管理是一种很方便的形式,它属于B/S模式。由于系统采用后期录入成绩的方式,因此有效避免了现场打分的种种不足[1...9]。
1.2课题研究的意义
在学校以及社会上举行的各种活动中,举办方一直需要大量的人力和物力来进行安排,而计算机在各个行业的快速发展,也对活动的举办产生了影响。如果将计算机技术引入到活动中,那么就可以使得人力和物力的开销大大减少。
用B/S结构的软件可以使得竞赛活动变得更加透明化,简洁化,对于选手来说计算机竞赛系统可以节省选手的时间,只要一台计算机就可以轻松上传自己的作品,也能很方便的看到其他选手的作品,评委可以下载和浏览选手的作品,并且根据作品的情况,给出成绩,这样就可以使得整个报名,提交作品,评价作品的过程变得更加快捷和方便,从系统的各个权限角色来说,足不出户就能实现这个竞赛过程,所以从社会意义上来说可以节省大量的社会资源给客户提供了更多的选择,还有更好的便利性。因此,从各个方面来说,这样一个系统可以使得各个方面都得到益处,也能使得赛事走上正规化[10]。
1.3系统设计思想
网站系统的开发是一个动态过程,即开发随着环境和用户观念的变化不断完善,反之,技术的发展又可能促进用户观念的改进。本系统以Internet为访问平台,系统的各个角色用户都可以使用浏览器登录系统进行操作。本系统分为5个角色权限,分别是游客、选手、管理员、评委和评委组长。管理员负责对整个系统的选手和评委进行管理,选手在前台注册登录后可以完成上传作品和查看成绩的任务,评委在后台可以对前台会员提交的作品进行打分,而评委组长是对评委的打分进行微调也能给选手打分。
整个系统的运转都是在计算机和数据库中发生,能及时的保存数据,并且传递信息,整个系统的使用者都能很快的了解到自己需要了解的情况。
实用性:系统以用户需求为目标,以方便用户为原则。根据用户实际的需求情况,从用户角度出发尽可能的方便用户使用,满足基本的用户需要,成为公司管理的基础平台。
先进性:本设计将充分应用现有成熟的计算机技术、网络技术、软件开发技术。以ASP.NET为主要开发环境,其优秀的编码和强大的编译器是此系统的强力支柱。
高可靠性:一个实用的系统同时必须是可靠的,本设计通过合理而先进的网络设计以及软、硬件的优化选型,可保证系统数据传输的正确性。
高安全性:在设计中,将充分利用网络软、硬件提供的各种安全施,既可以保证用户共享资源,同时也可保证关键数据的安全性。
可扩展性及灵活性:系统的设计以方便未来业务的扩展和系统扩充为目标,系统要求能够方便的升级,充分保护系统的投资。
智能性:系统在设计时,充分考虑系统运行的智能性,由于本系统是采用了ASP.NET网络编程,自然的继承了ASP.NET的跨平台性,可以在任意一个操作系统下稳定的运行。
系统开发的工作流程是完全在软件工程的基本原理和软件工程方法学基础上进行开发。
第二章 系统分析
2.1可行性分析
2.1.1系统性能分析
1.易用性要求
系统采用目前普遍使用的网页显示模式,整个系统为彩色界面,力求界面的美观,简洁明了,富于人性化目标。系统界面尽量符合用户实际操作的要求,它是能否吸引用户的重要方面。数据输入可直接在数据输入框输入。系统把一些比较固定的常用信息供用户在输入时选择,方便输入和加快了速度。
2.系统安全性
系统涉及到数据信息,安全性比较重要,系统应有密码设置,防止网站数据信息丢失。
2.1.2经济上的可行性
计算机作品竞赛系统给人们带来了方便,成为一种全新的商务模式。因此,不用出门选手就可以将自己的作品上传到系统中,评委也可以在网上通过竞赛系统点评作品给出成绩等等,节约了大量的人力财力,因此构建一个计算机作品竞赛系统在经济上是完全可行的。就本系统而言,随着大学里各种社团的兴起,竞赛活动也随之多了起来,一种中型的竞赛活动,从选手报名到比赛名次的排出,都要需要安排大量的人力。另一方面,随着宽带网络进入校园和无线移动网络的发展,为竞赛活动信息化提供了有利的条件。而一个计算机作品竞赛系统可以为学生提供软件条件,这样学生便可以足不出户的报名参赛了。管理方只需要很少的人手就能将竞赛中的各项事宜安排好,节省了大量的人力物力。通过以上的分析,开发计算机作品竞赛系统是经济上完全可行的[11]。
2.1.3技术上的可行性
为实现系统目标,需要技术保证。信息系统的开发所需要的技术主要有计算机硬件,软件技术,系统开发人员水平,用户管理与使用的能力等。本人经过大学的学习,对网站设计的理论还算熟悉,掌握了ASP.NET,WEB,网络数据库等技术,而且有一定的网站设计功底,有能力开发实现本系统。本系统能保证在当前环境下正常运行,网站管理人员对网站的更新维护具备足够的管理能力。而且具有完善的后台管理功能,管理者可以直接在后台进行文件,信息及图片的上传,方便了管理。因此,该系统在操作方面也是可行的。综上所述,从各方面来看,我们在现行条件下可以设计出较合适的平台系统,完成各项需求。鉴于以上的分析,系统开发在技术上是完全可行的。[17,18]。
2.2系统功能需求分析
通过前期的调查分析及研究,对本系统来说,主要实现的系统功能有以下一些方面。
(1)选手注册
(2)选手登录
(3)上传作品
(4)评委打分
(5)评委管理
(6)选手管理
(7)修改密码
除了这些功能以外,在设计时也对一些细节做了优化与调整,使系统更具有完整性与实用性[12]。
系统功能模块结构图如图2.1所示。
图2.1系统功能模块结构图
2.3业务流程分析
数据流程分析也就是业务流程分析,其描述的是用户业务处理过程。为了更进一步了解用户对待开发的软件系统的功能要求,通常从数据流动和处理的角度对业务流程进行抽象,得到系统的数据流图。数据流图是结构化系统分析的主要工具。数据流程图是一种比较规范、被广泛使用分析工具,它可以比较直观、准确描述系统业务流程。业务流程图不是对系统原有业务流程的快照,应该是对原有系统的业务流程进行重新思考、设计、再造的结果。根据上述系统应该具备的功能和工作流程的分析,可以绘制出表示系统管理工作的整个业务过程的业务流程图,能更清晰的认识所要开发的系统的工作流程。下面给出本系统的相关的注册流程图如图2.2。
图2.2注册流程图
竞赛流程是根据实际生活中的比赛流程来进行模拟化的,首先选手要参加比赛必须先要注册成为会员,然后才能上报自己的作品,然后会员可以对自己的作品进行管理,包括增加,删除,修改等操作。另外管理员在后台可以管理评委,评委在前台进行登录后可以对会员的作品进行点评打分,这样,就能对作品形成一个总的分数排名。管理员在后台可以对作品,选手进行管理[13] 。
2.4数据流程分析
数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。现有的数据流程分析多是通过分层的数据流程图(data flow diagram,简称DFD)来实现的。其具体的做法是:按业务流程图理出的业务流程顺序,将相应调查过程中所掌握的数据处理过程,绘制成一套完整的数据流程。本系统的数据流程是:首先选手在网站上注册一个账号,然后选手登陆系统,添加作品;管理员登录系统后台,在后台进行权限管理添加评委和评委组长,并给评委组长和作品分组,删除一些不合格的选手和作品,并发布一些通知,删除那些错误和过时的通知;评委登录系统,查看选手作品,并给选手作品打分;评委组长登录系统,查看选手作品并给选手作品打分,然后微调已有成绩的作品的分数;最后管理员汇总所有参赛选手的成绩并给出排名。
第三章 系统总体设计
3.1系统B/S结构
计算机应用竞赛管理系统是基于浏览器/服务器(B/S)技术的管理系统,解决传统的客户端/服务器模型结构存在的客户端(C/S)维护烦琐的问题,维护相对简单,具有良好的系统扩展性,方便管理。本系统所面向的对象是广大的互连网用户。因此,将要采用比较流行的B/S三层结构如图3.1。
图3.1 B/S三层结构图
B/S体系结构与C/S体系结构相比不仅具有其全部的优点,而且又有C/S体系结构所不具备的独特优势:
(1)开放的标准:B/S所采用的标准都是开放的、非专用的,是经过标准化组织所确定而非单一厂商所制定,保证了其应用的通用性和跨平台性。
(2)较低的开发和维护成本:B/S的应用只需在客户端安装通用的浏览器即可,维护和升级工作都在服务器端进行,不需对客户端进行任何改变,故而大大降低了开发和维护的成本。
(3)用户使用简单,界面友好:B/S用户的界面都在统一的浏览器上,浏览器易于使用、界面友好,又因为它不再负责数据的存取和复杂数据计算等任务,只需要进行显示,因而大大降低了对客户端的要求。
从以上的分析与比较可以看出,B/S模式具有C/S模式无法替代的优越性:它简化了系统的开发和维护,并且特别适用于网上信息发布。因此,我开发的课程在线浏览系统采用了基于B/S模式的体系结构[14]。
3.2开发软件
3.2.1 ASP.NET技术
ASP.NET 是建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的 Web 应用程序。与以前的 Web 开发模型相比,ASP.NET 提供了数个重要的优点:
增强的性能 ASP.NET 是在服务器上运行的编译好的公共语言运行库代码。与被解释的前辈不同,ASP.NET 可利用早期绑定、实时编译、本机优化。这相当于在编写代码行之前便显著提高了性能。
世界级的工具支持 ASP.NET Framework 补充了 Visual Studio 集成开发环境中的大量工具箱和设计器。WYSIWYG 编辑、拖放服务器控件和自动部署只是这个强大的工具所提供功能中的少数几种。
威力和灵活性 由于 ASP.NET 基于公共语言运行库,因此 Web 应用程序开发人员可以利用整个平台的威力和灵活性。.NET Framework 类库、消息处理和数据访问解决方案都可从 Web 无缝访问。ASP.NET 也与语言无关,所以可以选择最适合应用程序的语言,或跨多种语言分割应用程序。另外,公共语言运行库的交互性保证在迁移到 ASP.NET 时保留基于 COM 的开发中的现有投资。
简易性 ASP.NET 使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署和站点配置。例如,ASP.NET 页框架使您可以生成将应用程序逻辑与表示代码清楚分开的用户界面,和在类似 Visual Basic 的简单窗体处理模型中处理事件。另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了开发。
可管理性 ASP.NET 采用基于文本的分层配置系统,简化了将设置应用于服务器环境和 Web 应用程序。由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置。此“零本地管理”哲学也扩展到了 ASP.NET Framework 应用程序的部署。只需将必要的文件复制到服务器,即可将 ASP.NET Framework 应用程序部署到服务器。
可缩放性和可用性 ASP.NET 在设计时考虑了可缩放性,增加了专门用于在聚集环境和多处理器环境中提高性能的功能。另外,进程受到 ASP.NET 运行库的密切监视和管理,以便当进程行为不正常(泄漏、死锁)时,可就地创建新进程,以帮助保持应用程序始终可用于处理请求[15]。
自定义性和扩展性 ASP.NET 随附了一个设计周到的结构,它使开发人员可以在适当的级别“插入”代码。实际上,可以用自己编写的自定义组件扩展或替换 ASP.NET 运行库的任何子组件。实现自定义身份验证或状态服务一直没有变得更容易。
安全性 借助内置的 Windows 身份验证和基于每个应用程序的配置,可以保证应用程序是安全的。
3.2.2 Internet服务管理器
本系统运用了ASP技术,而IIS是Windows XP中的Internet服务管理器。通过安装和配置IIS后就可以运行ASP程序。Internet Information Server(IIS)内置在Windows XP操作系统中的网络文件和应用程序服务器中。ASP程序通过服务器解释后才可以在浏览器中运行,所以在Windows XP系统中必须安装IIS服务。IIS默认情况下安装在Windows XP中。IIS可以帮助Web管理员创建Web的应用程序。IIS集成安装向导、Web发布工具、集成的安全性和身份验证程序,以及对其他Web的应用程序的支持。它是微软公司主推的服务器,最新的版本是IIS 6.0,IIS与Windows NT Server完全集成在一起,因而用户能够利用Windows NT Server和NTFS(NT File System,NT的文件系统)内置的安全特性,建立强大,灵活而安全的Internet站点。
IIS支持HTTP(Hypertext Transfer Protocol,超文本传输协议)、FTP(File Transfer Protocol,文件传输协议)以及SMTP协议,通过使用CGI和ISAPI,IIS可以得到高度的扩展。它支持与语言无关的脚本编写和组件,通过IIS,开发人员就可以开发新一代动态的,富有魅力的Web站点。IIS不需要开发人员学习新的脚本语言或者编译应用程序,IIS完全支持VB Script,Java Script开发软件以及Java,同时也支持CGI以及ISAPI扩展和过滤器。
IIS支持服务器应用的Microsoft BackOffice系列,Microsoft BackOffice系列包括以下内容:
Microsoft Exchange Server 客户/服务器通讯和群组软件;
Microsoft Proxy Server 代理服务器;
用于连接IBM企业网络的Microsoft SNA Server;
用于集中管理分布式系统的Microsoft Systems Management Server;
Microsoft Commercial Internet System(MCIS)。
IIS的设计目的是建立一套集成的服务器服务,用以支持HTTP,FTP和SMTP,能够提供快速且集成了现有产品,同时可扩展的Internet服务器。 IIS相应性极高,同时系统资源的消耗也是最少,IIS的安装,管理和配置都相当简单,这是因为IIS与Windows NT Server网络操作系统紧密的集成在一起,另外,IIS还使用与Windows NT Server相同的SAM(Security Accounts Manager,安全性账号管理器),对于管理员来说,IIS使用诸如Performance Monitor和SNMP(Simple Network Management Protocol,简单网络管理协议)之类的NT已有管理工具。
IIS支持ISAPI,使用ISAPI可以扩展服务器功能,而使用ISAPI过滤器可以预先处理和事后处理储存在IIS上的数据。用于32位Windows应用程序的Internet扩展可以把FTP,SMTP和HTTP协议置于容易使用且任务集中的界面中,这些界面将Internet应用程序的使用大大简化,IIS也支持MIME(Multipurpose Internet Mail Extensions,多用于Internet邮件扩展),可以为Internet应用程序的访问提供一个简单的注册项。
3.2.3 SQL Server2008
SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。在现今数据的世界里,公司要获得成功和不断发展,他们需要定位主要的数据趋势的愿景。微软的这个数据平台是希望帮助公司满足这些数据爆炸和下一代数据驱动应用程序的需求。微软将继续投入和发展以下的关键领域来支持他们的数据平台愿景:关键任务企业数据平台、动态开发、关系数据和商业智能,对于开发者来说,具有以下几个新特性:
SQL Server 2008对SQL Server的服务生命周期提供了显著的改进,它重新设计了安装、建立和配置架构。这些改进将计算机上的各个安装与SQL Server 软件的配置分离开来,这使得公司和软件合作伙伴可以提供推荐的安装配置。 SQL Server提供了集成的开发环境和更高级的数据提取,使开发人员可以创建下一代数据应用程序,同时简化了对数据的访问。
ADO.NET实体框架 在数据库开发人员中的一个趋势是定义高级的业务对象,或实体,然后他们可以将它们匹配到数据库中的表和字段,开发人员使用高级实体例如“客户”或“订单”来显示背后的数据。ADO.NET 实体框架使开发人员可以以这样的实体来设计关系数据。在这一提取级别的设计是非常高效的,并使开发人员可以充分利用实体关系建模。
语言级集成查询能力 微软的语言级集成查询能力(LINQ)使开发人员可以通过使用管理程序语言例如C#或Visual Basic.NET,而不是SQL语句来对数据进行查询。LINQ 使可以用.NET 框架语言编写的无缝和强大的面向集合的查询运行于ADO.NET(LINQ到SQL),ADO.NET 数据集(LINQ到数据集),ADO.NET 实体框架(LINQ到实体),和到实体数据服务匹配供应商。SQL Server 2008提供了一个新的LINQ到SQL供应商,使得开发人员可以直接将LINQ用于SQL Server 2008的表和字段。
CLR集成和ADO.NET对象服务 的对象服务层使得可以进行具体化检索、改变跟踪、和实现作为公共语言运行时(CLR)的数据的可持续性。开发人员使用ADO.NET 实体框架可以通过使用由ADO.NET 管理的CLR对象对数据库进行编程。SQL Server 2008提供了提高性能和简化开发过程的更有效的和最佳的支持[14]。
Service Broker可扩展性 。
SQL Server 2008继续加强了Service Broker 的能力。
SQL Server 2008通过几个关键的改进增强了Transact-SQL编程人员的开发体验。
SQL Server 2008出现在微软数据平台是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察和信息给所有用户的成本。
3.2.4 VS2010
Visual Studio是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。Visual Studio 2010同时带来了 NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview--CTP),并且支持开发面向Windows XP的应用程序。除了Microsoft SQL Server,它还支持 IBM DB2和Oracle数据库[15]。
3.3系统运行环境配置
客户机/服务器:采用Pentium II 或以上级别PC机,至少80M硬盘,512M内存,支持VGA或分辨率更高的显示。
客户机/服务器操作系统:Window XP。
数据库:SQLServer2008。
网络:以太网组成的局域网,可设多台客户机。
网站结构分为两个部分:管理员管理模块、客户管理模块[16]。
3.4系统的主要结构模块设计
3.4.1 系统的整体结构设计
整个系统包括主系统界面模块、选手结构模块、评为结构模块、评委组长结构模块、管理员结构模块。主界面模块主要提供各角色登录、选手注册,游客查看公开信息的功能。选手结构模块包括修改密码、上传作品、管理作品、查看成绩、查看内部通知。评委结构模块评委可以查看选手的作品,给作品打分。评委组长模块结构模块评委组长可以查看选手作品,给选手作品打分,微调选手作品的成绩。管理员结构模块管理员可以添加评委和评委组长管理评委和评委组长,给评委组长分组,管理选手,管理通知,管理选作品包括汇总选手成绩和给作品分组。
3.4.2 系统的主界面模块设计
打开网站进入系统主界面,可以看到系统主界面模块的功能是选手的注册及登录,评委和评委组长的登录,管理员的后台登录,还有查看公开消息的功能。选手的注册,点击注册进入选手注册界面,然后输入自己的作品名,写上自己作品的具体描述,再选择自己的作品点击上传,提示上传成功,点确定,自己的作品就上传成功了。各个角色的登录,点击下拉菜单选中自己的身份,然后输入正确的登录信息,进行登录。
3.4.3 选手结构模块设计
通过主界面,选手可以注册登录,然后进入选手功能模块,选手在这个界面的功能包括:修改密码,添加作品,作品管理,查看成绩,查看内部消息。修改密码:点击修改密码,选手进入修改密码界面,然后输入旧密码,在输入新密码,再确认一遍,然后确定,就可以看到修改成功的对话框。添加作品:选手点击添加作品进入添加作品界面,然后选手输入自己的作品名,作品地址,填写自己作品的具体描述,再选中自己的作品点击上传,会看到上传成功的对话框,再点确定自己的作品就添加成功了。管理作品:点击管理作品,选手进入自己的作品管理界面,点击自己的作品名可以查看自己的作品,点击编辑可以修改自己的作品,点击删除选手可以删除自己的作品。查看内部消息:点击内部通知,选手可以查看学校或老师发布的一些通知。
3.4.4 评委结构模块设计
通过主界面,评委可以登录进入评委功能模块,评委在这个界面的功能是查看并点评选手的作品并给出成绩。评委点击点评作品可以看到选手的作品名,点击作品名可以查看选手作品的具体情况,点击编辑进入打分界面,然后评委输入分数再点确定,一个评委对一个选手的作品就打分成功了。
3.4.5评委组长结构模块设计
通过主界面评委组长可以登录进入评委组长功能模块,评委组长在这个界面功能是查看并点评选手的作品并给出成绩,并且能微调已有成绩的选手作品的成绩。打分功能:点击点评作品可以看到选手作品的作品名,点击作品名评委组长可以查看选手的作品的具体情况,点击编辑进入打分界面,评委组长输入分数再点确定,评委组长对一个选手的作品的打分就完成了。微调功能:评委组长点击微调可以看到选手的作品名以及目前的分数,点击作品名可以查看选手作品的具体情况,点击编辑进入微调界面,然后评委组长输入微调后的分数,再点确定评委组长对一个选手的作品的成绩的微调就完成了。
3.4.6管理员结构模块设计
通过主界面的后台登录,管理员可以进入管理员功能模块,管理员在这个界面的功能包括:添加并管理评委及评委组长包括给评委组长分组,管理选手,管理选手的作品包括最总选手作品的成绩及排名和给作品分组,发布并管理系统消息。权限管理:管理员点击权限管理,进入添加评委和评委组长的界面,然后选择身份输入账号、密码、电话、研究方向,最后确定,添加评委或评委组长成功,再点击权限管理的子菜单权限管理进入权限管理界面,在这里管理员可以删除评委或评委组长,可以查看评委组长的分组还可以修改分组。通知管理:点击通知管理,再点击添加通知,进入添加通知的界面,管理员输入通知的标题、内容及日期,最后确定,一个通知就添加成功了;点击通知菜单的子菜单进入通知管理界面,点击删除可以删除通知,点击编辑可以修改通知。作品管理:点击成绩汇总可以查看作品的成绩及排名;点击作品分组可以查看作品的分组情况,点击删除可以删除这个作品,点击修改分组可惜修改作品的分组。
第四章 系统详细设计与实现
4.1系统数据库设计
4.1.1数据库概念结构设计
根据上面的系统功能需求分析、业务流程分析和数据流程分析,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。
下面是系统数据库主要的的实体E-R图。
管理员实体E-R图如图4.1所示。
图4.1管理员实体E-R图
选手实体E-R图如图4.2所示。
图4.2选手实体E-R图
作品实体E-R图如图4.3所示。
图4.3作品实体E-R图
4.1.2数据库逻辑结构设计
数据库设计的好坏直接影响整个系统,如果数据库设计不好,不仅仅很多的业务处理起来相当的复杂和烦琐,而且在编写系统代码的时候也会遇到很多问题。所以,一个合理的数据库是必须的、是必要的。本系统的数据库结构在设计的时候注意到了规范命名和建立索引的必要性如下表所示。
1.管理员信息表(adminuser)用来存放管理员的基本信息,如表4.1所示。
表4.1管理员的基本信息表
| 字段名称 | 字段说明 | 数据类型 | 是否主键 | 是否允许空 |
| Admin_id | ID | Int | true | false |
| adminuser | 管理员帐号 | Varchar(100) | false | true |
| password | 密码 | Varchar(100) | false | false |
表4.2选手注册信息表
| 字段名称 | 字段说明 | 数据类型 | 是否主键 | 是否允许空 |
| hy_id | ID | Int | true | false |
| username | 管理员帐号 | Varchar(100) | false | true |
| password | 密码 | Varchar(100) | false | true |
| Varchar(100) | false | true | ||
| name | 姓名 | Varchar(100) | false | true |
| sex | 性别 | Varchar(100) | false | true |
| tel | 电话 | Varchar(100) | false | true |
| addr | 地址 | Varchar(100) | false | true |
3.选手上传的作品信息表如表4.3所示。
表4.3选手作品信息表
| 字段名称 | 字段说明 | 数据类型 | 是否主键 | 是否允许空 |
| zp_id | ID | true | true | false |
| author | 作者 | Varchar(100) | false | true |
| username | 选手 | Varchar(100) | false | true |
| title | 作品名称 | Varchar(100) | false | true |
| pic | 文件地址 | Varchar(100) | false | true |
| ms | 描述 | text(16) | false | true |
| fs | 分数 | Int(4) | false | true |
4.选手、评委、评委组长登录表如表4.4所示。
表4.4登录表
| 字段名称 | 字段说明 | 数据类型 | 是否主键 | 是否允许空 |
| gl_id | ID | Int | true | false |
| zh | 账号 | Varchar(100) | false | true |
| mima | 密码 | Varchar(100) | false | true |
| qx | 身份 | Varchar(100) | false | true |
4.2.1 注册模块
启动浏览器,连接本系统网址,点击运行,首先看到的是整个系统的主界面,在主页头部上显示的一些信息或欢迎词,使用本系统必须要注册才要以使用其完全功能,其中系统的注册界面如图4.1.1所示。
图4.1.1选手注册界面图
图4.1.2注册流程图
4.2.2 选手、评委、评委组长登录模块
在下拉菜单中选中自己的角色然后输入正确的账号密码进行登录,如图4.2.1所示。
图4.2.1各个角色登录图
图4.2.2各个角色登录图
4.2.3选手功能模块
选手注册成功之后回到主界面就可通过登陆模块进行登陆,选手登录成功后可以看到选手有修改密码、添加作品、管理作品、成绩查看和查看内部通知的功能。选手功能模块界面图如图4.3.1所示。
图4.3.1选手功能模块界面图
1.修改密码
选手点击修改密码进入修改密码界面,然后输入旧密码,再输入新密码,在确认一遍新密码然后点确定完成修改密码,如图4.3.2。
图4.3.2修改密码图
2.添加作品
选手点击添加作品,进入添加作品界面,然后输入作品名,作品地址,然后根据作品地址选中作品,点击确定上传,再王作品描述里添加作品的详细描述,点击确定,会出现上传成功的画面,选手可以在下面的管理作品里查看自己的作品如图4.3.3所示。
图4.3.3上传作品图
3.管理作品
选手点击作品管理可以查看自己已添加的作品,点击作品名可以查看自己作品的具体内容,觉得不满意也可以点编辑修改它或删除它如图4.3.4所示。
图4.3.4管理作品图
4.成绩查看
选手点击成绩查看可以查看自己已经被打分的作品的成绩如图4.3.5所示。
图4.3.5成绩查看图
5.内部通知
点击内部通知可以查看学校或老师发布的一些通知如图4.3.6所示。
图4.3.6查看内部通知图
4.2.4 评委功能模块
评委登陆后,可以点击点评作品,看到选手作品名列表,点击其中一个作品名就可以查看该作品的具体内容,然后返回前一个界面给出评分,评委功能模块界面图如图4.4.1所示。
图4.4.1评为功能模块图
图4.4.2评委打分界面图
图4.4.3评委查看作品图
图4.4.4评委打分图
图4.4.5评委打分流程图
4.2.5评委组长功能模块
评委组长登录成功后进入评委组长功能模块,可以看到评委组长有点评作品和微调作品成绩的功能,点击点评作品,进入评委组长查看选手作品并给选手作品打分的界面,点击作品名可以查看作品,点击编辑可以给作品打分,打完分以后点击微调作品,可以微调选手作品成绩,评委组长功能模块界面图如图4.5.1所示。
图4.5.1评委组长功能模块界面图
图4.5.2评委组长打分界面图
图4.5.3评委组长产查看作品图
图4.5.4评委组长打分图
图4.5.5评委组长微调作品成绩界面图
图4.5.6评委组长打分图
4.2.6管理员登陆模块
该页是一个登录页面,主要是提供管理员登录用,界面有账号和密码的输入框,管理员在输入正确的账号和密码后就可以登录到系统中去,管理员界面如图4.6.1。
图4.6.1管理员登陆界面
图4.6.2 管理员登陆流程图
4.2.6 后台管理模块
当后台管理员身份验证代码成功后,进入后台界面后可以添加评委和评委组长并对他们进行管理还可以对评委组长进行分组,点击选手管理可以对选手进行管理,点击通知管理可以对通知进行添加、删除和修改操作,点击作品管理可以查看成绩汇总,点击作品管理的子菜单作品分组可以查看作品分组、修改作品分组还可以删除作品。后台界面如图4.7.1所示。
图4.7.1后台界面图
图4.7.2添加权限图
图4.7.3评委组长分组图
图4.7.4选手管理图
图4.7.5添加通知图
图4.7.6通知管理图
图4.7.7选手成绩汇总及排名图
图4.7.8作品分组图
第五章 系统测试
5.1系统测试的概述及方法
5.1.1 系统测试的概述
系统测试是为了保证系统最终能够安全稳定运行,以最少的时间和人力发现潜在的各种缺陷和错误。应根据开发各阶段的需求、设计等文档或程序的内部结构精心设计测试用例,并利用这些实例来运行程序,以便发现错误。测试是为了证明程序有错,而不能保证程序没有错。
程序测软件危机曾经是软件界甚至整个计算机界最热门的话题。为了解决这场危机,软件从业人员、专家和学者做出了大量的努力。现在人们已经逐步认识到所谓的软件危机实际上仅是一种状况,那就是软件中有错误,正是这些错误导致了软件开发在成本、进度和质量上的失控。有错是软件的属性,而且是无法改变的,因为软件是由人来完成的,所有由人做的工作都不会是完美无缺的。问题在于我们如何去避免错误的产生和消除已经产生的错误,使程序中的错误密度达到尽可能低的程度[20]。
5.1.2 系统测试的方法
程序测试的主要方法分为两大类:白盒测试和黑盒测试。
白盒测试:一种是以程序的内部逻辑结构为依据而设计测试用例的方法,因而又称结构测试或玻璃盒测试,将软件看成一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否相符。白盒测试就是要选取足够的测试用例,对源代码实行比较充分的覆盖,以便尽可能多地发现程序中的错误。主要有两种方法:一种称为逻辑覆盖法,另一种称为路径覆盖法[17]。
黑盒测试:也称功能测试,数据驱动测试等,它将待测对象堪称是一个黑盒子,在完全不考虑程序的内部结构和特性的情况下,只依据规格说明书检查程序的功能是否能正常使用。
黑盒测试主要是根据输入条件和输出条件的确定测试数据,来检查程序是否能产生正确的输出[18]。
5.2 系统部分模块测试
5.2.1主界面功能模块测试
测试用例目的:测试网站端系统的主界面。
测试用例执行步骤:启动网站,进入系统主界面。
预期结果: 从界面中,我们可以通过不同的按钮进入各功能模块,包括选手注册,选手登录进入选手功能模块,评委登录进入评委功能模块,评委组长登录进入评委组长模块,管理员登录进入管理员功能模块,此外游客不注册登录就可以看到一些公开的信息。
实际结果: 符合预期。如图5.1所示。
图5.1主界面
5.2.2选手注册功能模块测试
测试用例目的:测试选手的注册功能。
测试用例执行步骤:点击注册,进入选手注册界面,输入注册信息,然后提交。
预期结果:选手注册成功。
实际结果:符合预期。如图5.2.1所示。
图5.2.1选手注册图
图5.2.2选手注册成功图
5.2.3各个角色登录功能模块测试
测试用例目的:测试各个角色的登录功能。
测试用例执行步骤:启动网站,进入系统主界面,点击那个下拉菜单选中各个角色,输入正确的登录信息进行登录。
预期结果:各角色登录成功。
实际结果:符合预期。如图5.3.1所示。
图5.3.1选手登录图
图5.3.2选手登陆成功图
图5.3.3评委登录图
图5.3.4评委成功登录图
图5.3.5评委登录图
图5.3.6评委组长成功登录图
5.2.4选手功能模块测试
测试用例目的:测试网站端系统的选手功能模块。
测试用例执行步骤:启动网站,进入系统主界面,下拉菜单,选中选手那个选项,然后输入正确的账号密码,进入选手功能模块。
预期结果:从界面中,选手可以修改密码,可以往系统中添加作品,可以管理已添加的作品,还可以查看成绩,查看内部通知。
实际结果: 符合预期。如图5.4.1所示。
图5.4.1选手功能模块界面图
图5.4.2修改密码图
图5.4.3密码修改成功图
图5.4.4添加作品图
图5.4.5作品添加成功图
图5.4.6管理作品图
图5.4.7删除作品成功图
图5.4.8修改作品成功图
图5.4.9查看成绩图
图5.4.10查看通知图
5.2.5评委功能模块测试
测试用例目的:测试网站端系统的评委功能模块。
测试用例执行步骤:启动网站,进入系统主界面,下拉菜单,选中评委那个选项,然后输入正确的账号密码,进入评委功能模块。
预期结果:从界面中,评委可以查看选手的作品并给选手的作品打分。
实际结果: 符合预期。如图5.5.1所示。
图5.5.1评委功能模块图
图5.5.2评委打分界面图
图5.5.3作品查看成功图
图5.5.4评委打分图
图5.5.5打分成功图
5.2.6评委组长功能模块
测试用例目的:测试网站端系统的评委组长功能模块。
测试用例执行步骤:启动网站,进入系统主界面,下拉菜单,选中评委组长那个选项,然后输入正确的账号密码,进入评委组长功能模块。
预期结果:从界面中,评委组长可以查看选手的作品并给选手的作品打分及微调。
实际结果:符合预期。如图5.6.1所示。
图5.6.1评委组长功能模块界面图
图5.6.2评委打分界面图
图5.6.3查看作品成功图
图5.6.4评委组长打分图
图5.6.5评委组长打分成功图
图5.6.6微调界面图
图5.6.7微调作品成绩图
图5.6.8微调成功图
5.2.7管理员功能模块测试
测试用例目的:测试网站端系统的管理员功能模块。
测试用例执行步骤:启动网站,进入系统主界面,选中后台登录那个选项,然后输入正确的账号密码,进入管理员功能模块。
预期结果: 从界面中,管理员有添加权限、查看和修改评委组长分组删除评委组长和评委、管理选手、添加通知和管理通知、汇总作品成绩及排名、查看和修改作品分组、删除作品。
实际结果:符合预期。如图5.7.1所示。
图5.7.1管理员登陆成功界面
图5.7.2添加权限图
图5.7.3添加权限成功图
图5.7.4评委组长分组图
图5.7.5选手管理图
图5.7.6删除选手成功图
图5.7.7添加通知图
图5.7.8添加通知成功图
图5.7.9通知管理图
图5.7.10作品成绩汇总及排名图
图5.7.11作品分组图
5.7.12作品分组修改成功图
5.7.13删除作品成功图
5.3系统维护
对于一个网站来说,网站的更新与管理是极其重要的。一个再好的网站如果不进行更新与管理将出现许多这样或那样的问题,例如超链接断裂,网站内容跟不上步伐等。所以网站的更新与管理是极其必要的。
5.3.1 网站的更新
如果想使本地端的网站与远程端的网站同步更新,使用Site/Synchronize(同步)命令可以更新远程网站的文件。同步更新网站前,Front page会自动检测上传到远程服务器的文件,同时也会确认哪个文件要同步更新。
5.3.2 超链接的处理
超链接是连接网页与网页之间的桥梁,若浏览者单击超链接后,却出现“找不到网页”之类的信息,则超链接发生断裂。浏览者们是不会愿意访问一个经常出现这种情况的网站的,要随时注意这方面的问题。
5.3.3 浏览器兼容性
由于IE和搜狗两大浏览器对HTML及CSS等语法的支持度是不同的。它们拥有各自的语法,如果在网页中应用了某浏览器的专有语法或较新的HTML,在其他浏览器中浏览时,可能会导致显示错误。作为一个网站,其目的是让大多数人能正常浏览,即无论浏览者使用什么类型,什么版本的浏览器,在浏览网站时都不会出现不认得某项语法的现象。所以要对其进行测试。
第六章 结论
6.1系统的特点
计算机应用竞赛管理系统,采用ASP.NET+SQLSERVER的模式来订制的一个小型平台。本系统从功能上来说,比较完备。系统以Web界面与用户交互,为用户提供信息并接受其操作,同时通过数据库管理系统来存储信息数据。系统实现了根据用户的需求及程序的应用与维护的易用性,将各个部分置于不同的模块当中,方便了程序的扩展与维护,同时建立了程序功能复用的基础。
6.2系统的不足和改进
本系统基本上满足了计算机作品竞赛管理方面的需要。在界面上力求做到简洁,在操作方面上尽量避免由于用户操作不当带来系统的出错现象。但由于时间仓促,本系统还存在不足有待改进。界面不够美观,需要进一步修饰和美化;对数据库操作的性能有待进一步优化,虽然本系统优化了不少,但要达到理想状态还有一段距离,如部分功能程序代码过长,如果后台数据库过大将会影响运行速度;部分数据库表的设计存在一定的冗余,有待进一步优化。根据系统的不足,继续改进和完善本系统。简化程序代码,可使不同界面之间能共享一些方法、函数和变量,这样就会提高系统的运行速度;使用数据库连接池技术提高数据库操作的性能;数据库的关系模式可以进一步规范化,减少冗余现象。
6.3设计收获与心得
毕业设计是体现我们对所学知识的领悟和应用,是对我们大学四年所学理论知识的巩固和提高。设计本系统的过程不仅是对我学过的知识的一次回顾,更是在对我处理问题、解决实际问题能力的培养和锻炼。通过本次毕业设计使我对系统开发有了深入的了解,我的编程能力也有了较大的提高。我在设计过程中也遇到了很多困难,但是通过指导老师和同学的帮助以及自己的努力,最终还是顺利地完成了毕业设计。
虽然,毕业设计只有短暂的几个月,但却使我充分认识到自身还存在很多不足的地方,还需要不断的努力实践来充实自己、完善自己,只有这样才能学无止境,以求得更大的发展。
参考文献
[1]傅清祥,王晓东.算法与数据结构. 北京:电子工业出版社,1998
[2]张海藩.软件工程导论.北京:清华大学出版社,2006
[3]张景峰.ASP程序设计.北京:高等教育出版社 ,2006
[4]杨建军.ASP.NET 3.5动态网站开发实用教程.北京:清华大学出版社,2006
[5]洪石丹.ASP.NET范例开发大全.北京:清华大学出版社,2010
[6]高宏,李俊民.ASP.NET典型模块与项目实战大全 .北京:清华大学出版社,2012
[7]滕佳东.管理信息系统.东北财经大学出版社,2008
[8]龙虹.管理信息系统.北京:北京理工大学出版社,2007
[9]倪庆萍.现代管理信息系统.北京:北京交通大学出版社,2006
[10]郝杰忠.管理信息系统的开发与应用.北京:机械工业出版社,2006
[11]李兴华.Java开发实战经典.北京:清华大学出版社,2008
[12]黄志兴.巧学活用HTML4.北京:电子工业出版社,2004
[13] Hans Bergs.数据库系统概念.北京:中国电力出版社,2004
[14]邹竹彪.JSP宝典.北京:清华大学出版社,2007
[15]杜秀川.JSP 网络编程.北京:电子工业出版社,2006
[16]刘晓华.JSP应用开发详解.北京:电子工业出版社,2007
[17]周峰.SQL结构化查询语言速学宝典.北京:中国铁道出版社 ,2010
[18]Chris Leiter.SQLSERVER2008 DBA入门经典.北京:清华大学出版社, 2010
[19] 高晗.数据库系统导论.北京:清华大学出版社, 2008
[20]王海亮.精通Oracle 10g SQL和PL/SQL.北京:电子工业出版社, 2007
致谢
大学生活在这个时候即将划上一个句号。但是对于我的人生道路来说,这仅仅是一个逗号,我将面对的是又一次征程的开始。在此毕业设计期间,我首先要感谢我的指导老师——彭旭东老师的帮助和支持,老师扎实的理论知识和认真负责的工作态度都使我受益匪浅,特别是在论文指导方面给予了我很大帮助,使我顺利地完成了毕业论文。同时我也要感谢我的同学,通过大学四年的相处,彼此都互相关心和帮助,每当我遇到困难和挫折的时候,他们都积极的鼓励我,帮助我。最后还要感谢在这大学四年中所有教过我的老师们,是你们使我获得了知识的扩充,掌握了各种技术的理论基础。这都为我最后进行毕业设计提供了强大的理论支持。
