文档详情

电子投票系统课程设计报告 [文档在线提供].doc

发布:2018-03-29约4.42万字共42页下载文档
文本预览下载声明
课程设计的内容 编程建立一个小型电子投票系统 二、课程设计的要求与数据 1.开发环境:Wintc 2.需求分析: 电子投票平台作为一个用来进行投票统计的应用软件 还可以对用户信息进行增加、删除、修改和查询操作—普通投票者,该类用户需要用管理员分配的用户名和密码正确登录系统,可以查询候选人介绍、投票等。投票是只需做到输入自己想要投票的候选人编号即可完成投票。 3.功能需求描述 电子投票是用来投票统计的系统软件,用浏览和查询的方式了解个候选人的介绍信息,根据候选人的介绍信息决定将选票投向哪位候选人。 ① 投票人的投票方式:输入要选举的候选人的编号,即可完成投票②投票人了解候选人的方式:浏览候选人列表,输入序号查询候选人介绍。 管理人员①初始化候选人信息:在系统投入使用前需要先将需要投票选举的候选人信息录入系统中,以便投票和查看。管理员的初始化工作就是将候选人的序号、姓名和简介录入系统。 ②浏览候选人简介:为随时掌握候选人的信息,进行修改,管理员浏览候选人简介。 ③修改候选人简介:当候选人信息有所变化时,输入候选人序号,对信息进行修改。 ④查询投票情况:管理员有权查询当前各个候选人得票情况 ⑤清除投票信息:当投票结束后,管理员可清除系统中所有候选人的票数,使之归零。 ⑥安全管理:管理员可以对投票人信息进行管理,投票人只有用管理员规定的用户名和密码才能进入系统进行投票。管理员还可以更改用户名、密码和权限,并对投票人信息进行增加、删除、查询、排序和初始化等操作。 总体设计 在对电子投票平台进行需求分析之后,。用图表的方式给出系统总体的设计架构,绘制系统模型结构图,并且通过模块功能树图对每个模块进行总体设计。 电子投票平台是一个简易投票管理系统每个投票者对候选人投票后系统都要及进更新并统计候选人所得票数将投票的过程单独写成一个完整的函数,每次投票动作都必须调用该函数,将得票统计的文件中对应的候选人得票信息加一。 用程序设计中的选择结构,对大量数据的处理要用到循环和文件处理等基本技术区分权限投票系统的安全问题。投票者只能进行投票,使候选人票数加一,无法候选人票数进行修改。投票人可以根据候选人信息决定投票,对候选项人信息有浏览和查询的功能,但不可以修改。对系统关键信息的修改功能由管理员完成。 系统模块结构图 依据需求分析结果,电子投票平台可分为6个模块:功能选择、身份验证投票人管理候选人管理、投票区和得票区结果管理。系统模块结构如下图所示: 模块设计 功能选择模块 该模块为系统用户提供功能选择界面,管理员或投票人登录系统后都会看到对应自己权限的功能选择界面,输入自己的功能选项即可跳转到相应的功能执行函数。 身份验证模块身份验证模块的作用是为了保障系统的安全性和系统使用人员角色的区分。该模块需要从输入设备获取用户输入的用户名和密码,判断是否符合登录条件,其次要判断用户权限,从而决定其能使用的系统功能。 投票人管理模块 该模块主要实现常规的管理功能,如投票人的初始化,即创建投票人文件、投票人信息增加、删除、修改和查询等。因此该模块主要用结构体类型的数组和文件的读写来完成对大量数据的管理操作。 候选人管理模候选人管理模块和投票人管理模块类似,要对大量有一定结构的信息进行管理操作,如增、删、改和查。因此定义候选人信息结构体,用于存储候选人信息记录,并且将大量记录存储在硬盘文件中以便保存。用文件的读写函数辅助实现各项功能。 投票区模块投票区模块用于完成系统的主体功能,提示投票人输入自己想要选举的候选人序号,系统立刻将该候选人对应的票数加一,并将目前的投票状况显示给投票人。要将候选人对应的票数增加,需读取候选人信息文件,将对应的候选人票数加一后再写回文件即可。 得票结果管理模块 得票结果管理属于管理员的权限范围,该模块共有清空投票结果、得票结果按票数多少的排行浏览两大功能。能过得票结果排行浏览可得知哪位候选人选举成功。当选举结束后,可选择清空得票结果。 系统的工作流程图: 三、详细设计 根据分析与设计,采用WinTC实现各模块功能。以下是系统的详细设计过程、各源程序代码清单及说明: 功能选择 1、模块描述 功能选择模块为系统提供类似于菜单的功能,让用户输入功能选择项,并进入相应的功能执行程序。系统按权限分为管理员的功能选择和用户的选择。 2、源文件定义 admin.c 管理员主控平台 guest.c 投票者主控平台 shead.h 候选人信息头文件 3、函数声明 Admin()函数 功能:管理员功能选择界面。 输入:用户选择的功能选项 处理:根据用户选项跳转到相关功能函数 输出:相关功能函数的处理或显界界。 程序所在文件:s
显示全部
相似文档