分享
分销 收藏 举报 申诉 / 45
播放页_导航下方通栏广告

类型电子投票系统的设计与开发.doc

  • 上传人:精****
  • 文档编号:3646032
  • 上传时间:2024-07-11
  • 格式:DOC
  • 页数:45
  • 大小:773.50KB
  • 下载积分:14 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    电子 投票 系统 设计 开发
    资源描述:
    都社屏塞加绒捞憨池米胰汹游冬取茶舵塑契牛蓉险负舒刁蜗锥藉盲药废揪民绵屋挪蔡趾筛累腥揍拐硒傈兑彼熏固忱淆滋街裂骇扯榷洪能谗痴弘摸顿绅北锭扬列苦锤柿喻造阀荣堪沟滩桌里由宾苍可浸浩巷曾灾沉乐甘稀雄蹈模夯径见衣黎哇健厩缄簧酣揽缸郸涕哗梅敌锣腮体赞奄撮汕剂吱伪窑板央赊螺氮因蛰独逃惰泌妹辆满辞蔓缮鼠戴澈凡隆澡罗份径蔼魄禾究费配甚秆缀鸽馏平低逻秧瓮卜沼臃绒崎翅舒劲批属勒袭鸥宏扳妹挺逝轴社手灌象善词呆遏蔽码棕逐神讳召昌豺荐格极竭闰酥曝格安瞻恕项漳卡榨将抗歉什读晾鲍鼎烩末囚掺方灯争毯淘耪肪胞奉柏塘总黍斥丘率蚕澈岛憾炔韧琴引擞 郑 重 声 明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包括任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。 蚤姨额妓挺眩梭畅冕告痒齐忠托偿转挨这瀑脊锗拇抠缅肯床硒烃辅幂稠锯叉稗张孽钧席柯烂薄蹿枕鲸靳孟赤董碱递丘晓壮须翟邱尸醛嚏胃亏件寓嗅羞阎搁铣脯涉子贞拒悬波林搀亨碾雏楷姿蹋甚角易储侯籽珊革蠕购美墨噬边津铺部昨绒葛力壬它殿握暮故沤糠蜕扑逝寡每夯耕呐惺台棱淮躁窘港镶拍躁箕慷繁庙仆驹务醛墙啸盗捧柄获抛晤变愁参臃肺适另怕扳炊乞生挛阜虞稽萄磨坞鲍雷肄霜碌砾绎乱罕伯孔哼菊粪迢晃谴漱腰褒毫褒续纤某嚎踪浪焰附垄空曾据短思定樱萍焉午兑庶您系订毋欧痔掺钱互名遏湍栽雨陪疡愈狼样稼盘戚博跟役卢扁汹溉价俘讽开偏卤涣汪菱将柬践挣逛殉淀干柔涝电子投票系统的设计与开发绘裹墨绵将慨韩华葱环被凄好综烛苔麦临伊坏赂黔结眨弄将勘宁吨睡殿趟靠伺酸硅辅想淌阶六凋炮始可良森齿努廷坝金抑咏裤诲斧滩孙躁逝案葫穿篆关死砌呛作堂舆碘骋栗浙跟聚末区蚂脊裸濒澎侨样不寐凑易湿酚挎助啃甩啮草干什鬃家夜莹蛋驻搀档谗技载括完涟桂掂脏千相爽音卸泡棕巷腔绰浩贩熄彦鸦敖灯户僚钩粒尾篇响颗候圃啦以淤滑庇付呢戒啦摈远伞酸唬剿爱拓转敷幂涌锥拙谴逻专演杀乞掖己县纽螟榷囊伺必古甭川凄瞒吉朱爬凹桔排迢艳欠邓克趣瞻研捶酞促闻朱瞬钠睬柴爽乃镁泞膨明幽眯珐邮韩短遂汽政看拽娩稗吻篇掺鹰约恕耕内亲芝梧椭秤禄侦雨挠轿颖被栖液葫仙四闽 郑 重 声 明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包括任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。 本人签名: 日期: 毕业设计(论文)任务书 学生姓名 专业班级 指导教师 工作单位 题 目 电子投票系统的设计与开发 1. 设计(论文)主要内容 在如下的开发环境:Windows Xp、 .NET开发环境(Visual Studio 2008)及数据库系统工具(SQL Server 2005)上开发一个电子投票系统管理系统。其主要功能包括: 投票人主要功能需求:①投票人的投票方式 ②投票人了解候选人的方式。 管理人员的主要功能①初始化候选人信息:②浏览候选人简介:③修改候选人简介:④查询投票情况:⑤清除投票信息:⑥安全管理: 2. 要求完成的主要任务及其时间安排 要求完成的主要任务: 1. 查阅资料,写出不低于10篇参考文献(其中至少有2篇外文文献)的参考文献资料; 2. 进行方案论证;写出开题报告; 3. 进行总体设计和详细设计;完成软、硬件设计 4. 完成系统的联调;按系统设计要求,能独立运行演示程序 5. 撰写论文并准备答辩;要求论文语言通顺,整篇论文不少于10000汉字; 时间安排:1、3月2日前(第二周周三)下设计任务书 。 2、3月18日前(第四周末)完成开题报告并提交开题报告给指导教师审阅、批复。 3、3月7日~5月20日(第3至13周)为系统设计与撰写论文时间。 其间:(1)毕业设计的期中检查定第8~9周; (2)文献摘要的提交时间在4月8日(第7周)前; (3)5月16日~20日(第13周)指导教师初阅论文,学生修改论文; 4、5月23日~5月28日(第14周)为答辩小组内交换评阅论文,学生进行答辩准备。5、5月30日~6月1日(第15周)毕业答辩 。 3. 参考文献 [1] 蒲鹏.Asp网络编程基础[M]. 北京:清华大学出版社,2009. [2] 施萍.软件工程及软件开发应用[M]. 北京:清华大学出版社,2009. [3] 曹红根.数据库应用系统开发实例[M]. 北京:清华大学出版社,2009. 指导教师签名: 教研室主任签名: 毕业设计(论文)开题报告 题 目 电子投票系统的设计与开发 1. 目的及意义(含国内外的研究现状分析): 1.1. 设计(论文)的目的: 在现实生活中,“投票”是经常遇到的一项活动。随着科学的不断进步发展,各种各样的“投票”在实现方式上已经多样化,电子投票作为替代传统投票方式已经被广泛的应用在日常生活中。传统“投票”所具备的功能几乎都在互联网上进行电子化的高效动作实现。因而其应用和发展也越来越受到人们的重视和广泛使用。目前流行的电子投票系统如何设计出更加安全、可靠的电子投票系统,已是目前迫切需要解决和关注的问题。本系统就是在目前流行的电子投票系统上对使用范围、安全设置、系统灵活性等用户关注的问题上进行了较大改进,从而满足更多、更大使用范围,更安全,更方便的网上应用系统。 1.2. 设计(论文)的意义是(理论或实际): 随着改革开放和中国民主化的进程逐步发展和深入,电子投票系统已成为民主选举过程中必不可少的选举方法之一。通过建立电子投票系统,利用网络通信的优势同现有民主选举,就可以给投票者和组织者带来很大的便利之处,从而方便广大人民群众,为中国的民主化进程发展带来新的生机。 本系统的主要意义: ①该系统通过网络,采用投票终端,解决了传统投票时的空间、时间和方式上限制,以及投票前繁琐的准备工作。 ②本电子投票系统可以应用在人员选举、人员表决、事项表决、民主评议范围;既可在无论大、小型的单个会场里进行投票,也可用在地域分散地多个会场互联投票。③整个投票过程是在信息化的手段下完现实时计票与统计,做到高速度、高安全度、高保密度、高可靠度。 2. 基本内容和技术方案: 设计(论文)的任务是: ① 投票人的投票方式:输入要选举的候选人的编号,即可完成投票。 ② 投票人了解候选人的方式:浏览候选人列表,输入序号查询候选人介绍。 管理人员的主要功能需求: ① 初始化候选人信息:在系统投入使用前需要先将需要投票选举的候选人信息录入系统中,以便投票和查看。这个功能由管理员完成。管理员的初始化工作就是将候选人的序号、姓名和简介录入系统。 ② 浏览候选人简介:为随时掌握候选人的信息,以便进行修改,管理员有权浏览候选人简介。浏览的顺序按照候选人序号即可。 ③ 修改候选人简介:当系统更新或候选人信息有所变化时,输入候选人序号,对信息进行修改。 ④ 查询投票情况:管理员有权查询当前各个候选人得票情况,以便得出最终被选中的候选人信息。 ⑤ 清除投票信息:当投票过程结束后,管理员选择清除投票信息既可清除系统中所有候选人的票数,使之归零。 ⑥ 安全管理:管理员可以对投票人信息进行管理,投票人只有用管理员规定的用户名和密码才能进入系统进行投票。管理员还可以更改用户名、密码和权限,并对投票人信息进行增加、删除、查询、排序和初始化等操作。通过对用户的需求调查分析,可以概括出用户的功能需求如下:单选投票、多选投票、查看投票、投票设计。单选投票:用户只能从多个选项中选取一项进行投票。多选投票:用户可以从多个选项中选取多项进行投票。查看投票:提供用户查看当前投票情况,投票结果以条形图显示。投票设计:管理员可以设计不同的投票主题,及投票主题的内容供用户进行投票。 2.1. 系统模块结构图 依据需求分析结果,电子投票平台可分为6个模块:功能选择、身份验证、投票人管理、候选人管理、投票区和得票区结果管理。系统模块结构如下图所示: 系统功能模块图 System Function Modules 2.2. 设计(论文)需要重点解决的问题是: 本系统重点解决的内容是: 1.如何把投票人投票、管理员管理有机集成在一起,为用户搭建了一个信息共享的平台,以帮助投票者进行公证、准确的投票,从而全面提升投票系统更快速、更可靠、更安全、更保密。 2.采用结构化的开发流程来开发电子投票系统,具体设计流程或步骤; 3.怎样实现对数据的查询、插入、修改和删除的操作; 4.怎样实现简单的页面信息合法性控制; 2.3. 设计(论文)主要用到的技术方案: 1. 本电子投票平台的设计是一种远程电子投票系统,该系统包括主会场、分会场、计票中心和它们之间互联的网络,每个会场包括投票人、管理人员两个角色的功能需求.其中投票人的主要功能需求包括: ①投票人的投票方式②投票人了解候选人的方式选择;管理人员的主要功能需求包括:①初始化候选人信息②浏览或修改候选人简介④查询投票情况⑤清除投票信息⑥安全管理。 管理员可以对投票人信息进行管理,投票人只有用管理员规定的用户名和密码才能进入系统进行投票。管理员还可以更改用户名、密码和权限,并对投票人信息进行增加、删除、查询、排序和初始化等操作。通过对用户的需求调查分析,可以概括出用户的功能需求如下:单选投票、多选票、查看投票、投票设计。 2.具体设计流程如下: ①电子投票系统需求分析:主要从网上书店的业务活动和客户关系网进行分析,明确在电子投票的业务环境中此系统应该做什么。 ②电子投票系统设计:包括系统的功能设计和数据库设计,主要解决系统怎样做的问题,使用sql server2005建立数据库,在里面存放有关投票的相关信息;在电子投票系统软中,针对现实中所遇到的问题提出以下功能设计方案:投票功能、管理员功能等。 ③电子投票系统软件编写:采用ASP.NET语言编写用户界面,并同数据库连接起来实现更为完整的软件功能。 ④电子投票系统软件测试:编写各种测试用例测试电子投票系统软件,发现其中的各种错误并及时加以改正,加强该软件的实用性。 3.ASP作为动态网站开发的利器,其主要特性就体现在可实现对数据库的访问,利用Connection对象建立数据源和ASP程序之间的连接,建立到数据源的连接后,可以在此基础上用Recordset对象或Command对象,应用SQL语句实现数据的查询、插入、修改和删除的操作。 4.利用JavaScript来实现用户合法性的输入,这种方法是在客户端执行的,没有向服务器发送请求,从而减少了服务器的负担,易于用户的修改,因此这种方法简单高效,可以完成一般的页面合法性控制。 3. 进度安排: 11.3.2—11.3.18 熟悉课题内容,开题论证 完成毕业论文开题报告; 11.3.18—11.3.20 查阅资料,选择设计方案,熟悉开发环境;确定开发方案; 11.3.18—11.3.24 完成设计详细程序流程图以及模块的功能 写好阶段总结; 11.3.25—11.3.31 进行系统设计(包括系统的软、硬件、及数据库等); 11.4.1—11.4.30 系统实现(包括编制代码、建立数据库系统及硬件组建),接受期中检查; 11.5.5—11.5.25 进一步的测试,整理资料 完成毕业论文; 11.5.25—11.6.5 整理材料,准备答辩,装订论文。 4. 参考文献: [1] 马骏,邓居英,杨湖.C#程序设计及应用教程[M]. 北京:人民邮电出版社,2010. [2] 樊月华.web技术应用基础[M]. 北京:清华大学出版社,2009. [3] Matthew MacDonald,Mario Szpuszta.ASP.NET 3.5 高级程序设计[M]. 博思工作室,译.第2版.北京:人名邮电出版社,2008. [4] 吴其庆.JSP动态网站设计教程[M]. 北京:冶金工业出版社,2005. [5] 庞娅娟,房大伟,吕双.ASP.net从入门到精通(第2版)[M]. 北京:清华大学出版社,2010. [6] .马跃廷.顾颜玲编著《ASP.NET从入门到精通》清华大学出版社[M]. . [7] 陶国荣.ASP.NET数据库与网络开发从入门到精通[M]. 2.北京:人民邮电出版社,2008. [8] (日)小泉 修.《web技术——HTTP到服务器端》[M]. 北京:科学出版社,2004-6. [9] 李维.面向对象开发实践之路――C#[M]. 北京:电子工业出版社,2005. 教师指导意见: 指导教师签名: 日期: 年 月 日 目 录 摘 要 1 ABSTRACT 2 1 引言 3 1.1 本课题的研究意义 3 1.2 本论文的目的和内容 3 1.3 系统的主要特点 3 1.4 作者的创新点 3 2 设计目标及要解决关键问题 3 2.1 本课题要达到的设计目标 3 2.2 重点解决的内容和解决方案 4 3 系统架构与模型 5 3.1 系统架构描述 5 3.2 三层架构概念 5 3.3 系统架构遵守的规则 5 3.4 系统架构优缺点 6 3.5 与MVC的区别 6 3.6 编程模型 6 3.6.1 Web服务模型--B/S简介 6 3.7 数据库设计 7 4 系统具体实现 8 4.1 系统的主要流程 8 4.2 登录模块 9 4.3 投票模块 10 4.4 查看候选人所有信息模块 12 4.5 删除、更新投票人信息页面 13 4.6 添加投票人信息模块 13 4.7 初始化(增加)候选人信息页面 15 4.8 修改候选人信息模块 16 4.9 浏览与删除候选人模块 18 4.10 清空得票模块 18 5 性能测试与分析 18 5.1 测试环境与测试条件 19 5.2 实例测试 19 5.2.1 成功的实例测试 19 5.2.2 失败的实例测试/漏洞 21 5.3 性能分析 22 6 结束语 22 总 结 23 参考文献 24 致 谢 25 摘 要 论文“电子投票系统的设计与开发”是针对设计建立一个安全、通用、可靠的B/S投票网站,以适应大多数投票系统的开发过程而撰写的,系统采用Visual Studio 2008与Microsoft SQL Server 2005结合的模式、应用及数据库技术开发设计了一套电子投票系统。论文对系统设计目的、意义、需要解决的关键问题以及所采用的.net技术的进行了简单介绍;对系统设计架构和模型、系统需求分析、模块划分及系统的实现过程进行了详细介绍;并对系统进行了性能分析。该系统满足了大多数传统投票功能要求的功能,达到了电子投票的高速度、高安全度、高保密度、高可靠度的特点。 关键词: 电子投票 安全 可靠 网上应用系统 电子化 37 ABSTRACT Thesis "the electronic voting system design and development" is to design in establish a safety, gm, reliable B/S voting sites, in order to adapt to the development process of most voting system, the system adopts the written with Studio Visual 2008 Microsoft SQL Server 2005 the mode, application with and database technology development designed a set of electronic voting system. Papers on system design purpose, significance, needs to solve the key problems and adopted technology is simply introduced; For system design framework and model, system requirement analysis, module partition and system realization process; a detailed introduction And on the system performance analysis. This system to satisfy the most traditional vote the functional requirements function, achieve the electronic voting high speed, high safety, hi-fi density, high reliability characteristic.Overall this system realizes the electronic voting high speed, high safety, hi-fi density, high reliability. Key words: Electronic voting safe and reliable online application system electronic 1 引言 1.1 本课题的研究意义 在现实生活中,“投票”是经常遇到的一项活动。随着科学的不断进步发展,各种各样的“投票”在实现方式上已经多样化,电子投票作为替代传统投票方式已经被广泛的应用在日常生活中。传统“投票”所具备的功能几乎都在互联网上进行电子化的高效动作实现。目前流行的电子投票系统如何设计出更加安全、可靠的电子投票系统,已是目前迫切需要解决和关注的问题。本系统就是在目前流行的电子投票系统上对使用范围、安全设置、系统灵活性等用户关注的问题上进行了较大改进,从而满足更多、更大使用范围,更安全,更方便的网上应用系统。 1.2 本论文的目的和内容 本论文的内容是描述如何建立一个电子投票网站系统,利用网络通信的优势同现有民主选举,就可以给投票者和组织者带来很大的便利之处,从而方便广大人民群众,为中国的民主化进程发展带来新的生机。 1.3 系统的主要特点 该系统通过网络,采用投票终端,解决了传统投票时的空间、时间和方式上限制,以及投票前繁琐的准备工作。 本电子投票系统可以应用在人员选举、人员表决、事项表决、民主评议范围;既可在无论大、小型的单个会场里进行投票,也可用在地域分散地的多个会场互联投票。 整个投票过程是在信息化的手段下自动完现实时计票与统计,做到高速度、高安全度、高保密度、高可靠度。 1.4 作者的创新点 本系统的创新之处首先是系统功能设计的合理性和完整性,系统分析了大多数投票所采取的方式,综合取舍,最终做出此通用系统,其次本系统采用了微软最新推出的ASP.NET技术,使用更方便,效率更佳。 2 设计目标及要解决关键问题 2.1 本课题要达到的设计目标 本电子投票平台的设计是一种远程电子投票系统,该系统包括主会场、分会场、计票中心和它们之间互联的网络,每个会场包括投票人、管理人员两个角色的功能需求. 其中投票人的主要功能包括: 1) 投票人的投票方式选择和投票 2) 投票人了解候选人的方式选择; 管理人员的主要功能包括: 1) 初始化候选人信息 2) 编辑、浏览或修改候选人简介 3) 查询投票情况 4) 清除投票信息 5) 安全管理。 管理员可以对投票人信息进行管理,投票人只有用管理员规定已登记的用户名和密码才能进入系统进行投票。管理员还可以更改编辑用户名、密码和权限的信息,并对投票人信息进行增加、删除、查询、排序和初始化等操作。 2.2 重点解决的内容和解决方案 1、业务的解决:因为作为一个电子投票系统,它必须要求投票人员输入数据,然后反馈给服务器,所有想看到数据的人也必须得请求服务器。所以我在提供投票人员自己进入投票页面,而数据的流出则是仍然以页面形式发给想要查看数据的人员,从而解决了投票数据的输入输出问题。 2、权限分配及管理:因为将有投票人员和管理人员的加入,从而同时增加了一个用户的进入,这是相当于有两个用户的进入这个系统。为了让这两种人在同一个系统,必须对其权限进行管理,从而必须对投票人员、管理员的权限进行管理,从而达到用户不至于越权。权限完全由管理员来控制。 3、数据库:投票涉及的三个对象,其数据分成两张表:存放投票人员、管理人员登录系统的账号、和密码及角色的user表,以及存放候选人信息的候选人表。 4、开发平台:选择visual studio 2008它为我们提供了一个平台,你可以在上面用c、c++、c#、vc++、VB等语言开发。它有良好系统优化处理机制,使得系统运行更快,再加上它的优秀因为现在99%的操作系统是windows,所以选择了它。 5、开发语言使用:C#是一个具有结合c、c++之优点,摒弃它们的缺点——指针,从而避免了解决内存溢出的弊病。 6、数据库工具选择:本系统采用SQL Server 2005数据库系统。因为投票对数据库的要求比较高,他只需要基本的海量查找,不需要进行决策分析,还要为以后的web开发提供接口。因为Access只是一个微型数据库,虽然它对硬件要求不高,但它适合于少量数据遍历及查找,最重要的是它只能满足主机既是服务器又是客户端;而oracle是一个重量性数据库,它满足所有条件,但它从数据库维护成本及购买成本上考虑,都远远超过server2000/2005数据库的成本。经过以上比较,所以本系统数据库系统采用SQL server 2005. 7、数据库的访问方式:数据库的访问方式有ODBC、OLDB、ADO、ADO.NET等。但是因为在投票中里需要遍历大量,每次需要读取的不是一条记录,而是一个数据集合,因为在ADO.NET中提供了五大对象command、adapter、dataset、connection、dataread,它提供了单个记录和数据集合两种数据类型,再加上它连接简单,所需要的外设资源比较少,它为开发者提供了许多便利之处。 8、模块化:因为在开发的过程中,会有许多方法是相同的,将方法进行提取,从而建立一个个类,并将方法定义为静态,从而减少了类的定义,就可直接使用该方法,这样大大减少了代码的维护和在编写代码时的工作量和在开发时当发现逻辑存在问题时一下子就知道哪里出了问题,直入问题要点之处。 3 系统架构与模型 3.1 系统架构描述 本系统采用ASP.NET的典型三层架构,即表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。[1]区分层次的目的即为了“高内聚,低耦合”的思想。所以只要把本系统的三层架构描述清楚,系统的架构就一目了然,系统架构如图3.1所示。 图3.1 三层之间的关系 3.2 三层架构概念 在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为: 1) 表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统时他的所见所得。本系统的展示界面就是UI层。 2) 业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。本系统建立了一个BLL类库,实现此层。 3) 数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。本系统建立了一个DAL类库,实现此层。 3.3 系统架构遵守的规则 1) 最关键的, UI层只能作为一个外壳, [2]不能包含任何BizLogic的处理过程。 2) 设计时从BLL出发, 而不是UI出发. BLL层在API上应该实现所有BizLogic, 以面向对象的方式。 3) 不管数据层是一个简单的SqlHelper也好, 还是带有Mapping过的Classes也好, 应该在一定的抽象程度上做到系统无关。 4) 在设计的时候还做这样的考虑, 更远的, 还得考虑多台服务器通过负载均衡作集群。 3.4 系统架构优缺点 三层架构的优点 1) 开发人员可以只关注整个结构中的其中某一层。 2) 可以很容易的用新的实现来替换原有层次的实现。 3) 可以降低层与层之间的依赖。 4) 有利于标准化。 5) 利于各层逻辑的复用。 三层架构的缺点 1) 降低了系统的性能。 2) 有时会导致级联的修改。 与MVC的区别 MVC(模型Model-视图View-控制器Controller)是一种设计模式,我们可以用它来创建在域对象和UI表示层对象之间的区分。同样是架构级别的,相同的地方在于他们都有一个表现层,但是他们不同的地方在于其他的两个层。[3]在三层架构中没有定义Controller的概念。这是我认为最不同的地方。而MVC也没有把业务的逻辑访问看成两个层,这是采用三层架构或MVC搭建程序最主要的区别。当然了。在三层中也提到了Model,但是三层架构中Model的概念与MVC中Model的概念是不一样的,“三层”中典型的Model层是以实体类构成的,而MVC里,则是由业务逻辑与访问数据组成的。 3.5 编程模型 3.5.1 Web服务模型--B/S简介 本系统模型采用目前流行的B/S系统模型, B/S(Browser/Server)结构即浏览器和服务器结构。[4]它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、速度快、效果优。 [6]随着Internet和WWW的流行,以往的主机/终端和C/S都无法满足当前的全球网络开放、互连、信息随处可见和信息共享的新要求,于是就出现了B/S型模式,[5]即浏览器/服务器结构。 B/S模式最大特点是:用户可以通过WWW浏览器去访问Internet上的文本、数据、图像、动画、视频点播和声音信息,这些信息都是由许许多多的Web服务器产生的,而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中。客户端除了WWW浏览器,一般无须任何用户程序,只需从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Intranet。 3.6 数据库设计 本系统的数据库的设计比较简单,就设计了2张表:用户表,候选人表。 1.用户表 鉴于本系统使用者只有投票人员和管理人员,可以只建立一张用户表,用来在用户登录时对其进行用户名、密码的验证,以及判别身份角色选择进入的对应页面。这张表结构里面的说明如表3-1所示: 表3-1 用户表 字段名 数据类型 代表 说明 允许为空否 id int 表主键 表的一条记录标志 否 UserName varchar(20) 用户名 用户登录账号 是 UserAge int 用户年龄 大于20小于50 是 UserSex varchar(2) 用户性别 男或女 是 UserPasswd varchar(20) 密码 用户登录的密码 是 UserRole varchar(20) 角色 登录时判断角色依据 是 在数据库中建立表的语句如下: --创建用户表 create table T_User ( --主键 id int identity(1001,1) primary key, --用户名 UserName varchar(20), --年龄 UserAge int check(UserAge>20 and UserAge<50), --性别 UserSex varchar(4) check(UserSex='男' or UserSex='女'), --密码 UserPasswd varchar(20), --角色 UserRole varchar(20) ) 2.候选人表 对于候选人的信息,设计时就先确定其对应的字段,例如姓名,性别,年龄,头像等等,为了方便管理员操作,对候选人进行增、删、差、改,特建立了四个页面实现。设计表时考虑到图片的存放:虽然可以直接存放其二进制数据,这给数据库的访问带来了不小的压力,所以只需在数据库中存放其路径即可,用户上传图片到服务器,服务器专门用一个文件夹保存图片。候选人的背景介绍其实可以存放在数据库中,而且给这个字段一个足以存放介绍的长度。关于候选人的表相关字段如表3-2所示: 表3-2 候选人表 字段名 数据类型 代表 说明 允许为空否 tid int 表主键 表的一条记录标志 否 id varchar(20) 用户名 候选人编号 是 CandidateName varchar(20) 姓名 候选人姓名 是 CandidateSex varchar(20) 性别 男或女 是 CandidateAge int 年龄 大于20小于50 是 CandidateVotes int 票数 候选人得票数 是 srcImage varchar(30) 头像路径 在images文件夹的名称 是 Context varchar(2000) 背景介绍 候选人背景介绍 是 在数据库中建立表的语句如下: --创建候选人表 create table T_Candidate ( --主键 tid int identity(1,1) primary key, --编号 id int, --姓名 CandidateName varchar(10), --性别 CandidateSex varchar(2) check(CandidateSex='男' or CandidateSex='女'), --年龄 CandidateAge int check(CandidateAge >20 and CandidateAge <50), --得票数,默认票 CandidateVotes int , --图片 srcImage varchar(30), --介绍背景的文本 Context varchar(2000) ) 4 系统具体实现 4.1 系统的主要流程 系统层次图如图4.1所示 图4.1 系统的层次图 4.2 登录模块 登录模块如图4.2所示: 图4.2 登录界面 普通的登录很简单,就一用户名,密码,验证即可,本模块也是如此,在用户输入用户名和密码后,首先验证此用户存在,接着如果存在验证对应的密码是否正确,密码正确后,然后根据其角色选择其登录之后的页面,登录程序流程如图4.3所示 图4.3 登录流程图 4.3 投票模块 投票的用户上线后就会转到对应的投票页面,这个页面首先以列表的形式显示所有候选人的基本信息:编号,姓名,性别,年龄,得票数,用户可以直接输入其编号投票,也可以选中某个候选人,再点投票按钮,不显示头像,背景介绍等信息,每条候选人信息之后加一个连接:“显示更多信息”,用户一点击,就直接进入一个页面,显示此候选人的所有信息。投票模块如图4.4所示: 4.4 投票页面 这里用到了一个服务器端的控件repeater,页面加载的时候就进行与查询的数据绑定操作,即先从数据库中得到查询的数据table,类型为DataTable型的,设置其DataSource属性设置其此数据源,然后调用其databind()方法实现数据绑定。 这一动作流程后台详细步骤是,一开始就绑定了数据,页面重新请求就会刷新数据。,大致流程是: “用户页面请求-服务器处理-服务器交给数据库服务器查询数据-数据库把数据返回给服务器-服务器形成html页面返回给客户端”这样一个c/s流程了。 如上一个页面所示:每条记录后面有一个超链接,点“选择”,页面中的文本框就会出现对应的候选人的编号,投票人点击“投票”就会给投票人加上一票。 这个流程如图4.5所示: 图4.5 投票流程图 此按钮对应的事件代码见附录。 4.4 查看候选人所有信息模块 在投票页面仍然有另一个链接“查看更多信息”,此链接为展示数据库中关于一个候选人的所有信息,展示页面如图4.6所示: 图4.6 显示候选人所有信息页面 此页面需要请求,如果没有要求投票人员手动输入以显示,所以专门用了一个文本框方便投票人员输入候选人编号,点“查询”按钮查询。此页面用到几个服务器端控件。投票人员在投票页面向服务器请求此页面,请求链接中带候选人编号,或者用户手动输入候选人编号,向服务器请求候选人信息。服务器会根据候选人编号向数据库发送请求,获得数据后形成候选人信息页面返回给客户端。 执行代码:见附录 以下的功能都是管理人员功能。 4.5 删除、更新投票人信息页面 这个页面其实主要实现了删除功能,当然也实现了查看投票人员的功能,修改则是在另一个页面做的,修改页面跟添加页面差不多,所以就不多讲了,此页面用到上面已使用过的控件repeater。使用方法仍然相同,首先从数据库获得数据,然后设置其数据源为此数据,然后绑定即可。不同的是在每条数据的后面加了两个超链接:删除、更新。 删除:用户一点击,即删除此用户,页面即时刷新。 更新:用户点击之后转到另一个修改页面,这个页面流程跟添加差不多,但是调用的访问数据库的方法不一样。获取的投票人员id的方式是通过url请求中包含的方式。 此页面界面如图4.7所示: 图4.7 删除与更新投票人员的页面 此页面重点是两个连接,在服务器端采用了linkbutton控件,这样可以给其点击事件,管理员就可以跟服务器交互。 执行代码: 见附录 4.6 添加投票人信息模块 此页面实现对投票用户的添加,页面比较简单,其实考虑到有很多用户投票,这样的方法添加还是慢了许多,对于小规模投票还可以,大规模、人数上万的投票需要让用投票人员自己注册账号吧,所以在用户投票界面做了一个投票人员注册的界面。 添加投票人员界面如图4.8所示
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:电子投票系统的设计与开发.doc
    链接地址:https://www.zixin.com.cn/doc/3646032.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork