在线投票系统需求规格说明书

计算机科学与技术学院

.net开发课程设计分析

题目:在线投票系统

学生姓名:

学生姓名:

学生姓名:

学生姓名:

学生姓名:

学生姓名:

专业班级 10计算机科学与技术本4

指导教师:

完成时间: 2013年6月21日

摘要

随着INTERNET的发展,世界网民的数量急剧增加,社会的信息化强度增强,企业竞争之激烈,故对市场信息的掌握范围不仅仅是周边的一些信息,而应把范围扩展到全国,甚至全世界,INTERNET恰恰是实现这目标的有利工具。对于新产品,新观点的调查范围应该更广泛,消息应该及时反馈给企业单位,故一个网上在线投票系统应允而生,它正好充分满足客户的需求,信息反馈的范围扩大,人力资源的节省,从而使得企业在竞争激烈的市场中拥有更强大的资本。开发此投票系统是为了更好的把市场的信息更准确更快速的反馈给客户,使信息的来源更广泛,从而提高信息的准确性。运用此系统可以降低企业为市场调查而消耗的人力和物力,利用节省的资源提高产品的质量,增强竞争力。

也正是由于以上原因,网络上各式各样的投票系统层出不穷。本次课程设计的目的,就是来制作一个在线投票系统,该系统可以实现对投票数量进行累加、查询、统计票数等操作。

在线投票系统主要用来统计网站用户对某个主题或热门话题的意见。决策者通过这些统计数据做出相应的决策。在线投票系统是一般网站必备的程序之一。我们设计的投票系统主要是大学生问卷调查。

关键字:Microsoft Visual Studio 2010 C# 调查问卷

目录

目录 (2)

第1章绪论 (3)

1.1课题背景及意义 (3)

1.2现状 (3)

1.3系统环境及技术使用 (3)

第2章需求分析 (4)

2.1可行性分析 (4)

2.1.1技术可行性分析 (4)

2.1.2经济可行性分析 (4)

2.1.3法律可行性分析 (4)

2.1.4操作可行性分析 (5)

2.2问题分析 (5)

2.3分析模型 (5)

第3章总体设计 (6)

3.1总体设计方案 (6)

3.2系统功能模块图 (8)

3.2.1用户投票模块 (8)

3.2.2管理员登陆模块 (9)

3.2.3管理员添加投票项目模块 (9)

3.2.4 管理员删除投票项目模块 (10)

3.3系统协作图 (11)

3.3.1用户投票模块 (11)

3.3.2用户添加投票项目模块 (11)

3.3.3管理员登录模块 (12)

3.3.4管理员添加投票项目模块 (12)

3.3.5管理员删除投票项目模块 (13)

3.4数据库总体设计 (14)

第4章详细设计与实现 (15)

4.1模块设计 (16)

4.1.1 登录模块 (16)

4.1.2管理员模块 (17)

4.1.3 普通用户模块 (17)

4.1.4投票结果模块 (18)

参考文献 (20)

致谢 (20)

第1章绪论

1.1 课题背景及意义

在积极建立科学管理机制的今天,仅仅靠原始的手工管理或简单的单机管理,管理部门面对大量的信息,无法有效率地将其中的重要部分提取出来,并做出相应的判断和处理。投票管理者的决策只能依据手工表数据,在浪费大量人力、物力的同时无法做到实时监控,难以保证数据的准确性和及时性。因此,先进的管理思想就成为了一个可望而不可及的目标。投票非常急需一套既有先进管理思想的系统,作为实现目标和提高现有投票管理水平的一种重要手段。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,在先进的计算机技术基础上,建立一个智能化的投票系统已经切实可行。

1.2 现状

随着科学技术的不断提高,计算机科学日渐成熟,互联网技术的不断发展和普及,众多高校,科研机构及个人从理论与实践两个方面进行了大量的研究与开发工作,涌现出了很多在线投票系统,对学院、企业的管理起到了很好的作用。总之投票系统概括起来就是要通过科学的管理手段和专业化管理技术来实现统一。因此,建立在线投票系统是非常有意义的。

1.3系统环境及技术使用

在该投票系统中,我们使用https://www.360docs.net/doc/461552716.html,和SQL Server 2005相结合的综合开发环境,采用SQL Server数据绑定作为投票系统与后台数据库的连接。投票系统开发平台是Windows XP。开发工具选择的是Microsoft Visual Studio 2010。

本投票系统分为两个模块,管理员模块和学生模块。管理员登陆到管理模块需要完成的功能是管理员身份验证,只有登陆的管理员才能对问卷进行管理,修改密码。学生模块需要实现的功能是身份验证,登陆正确以后可以参与投票,修改密码。

第2章需求分析

2.1可行性分析

通过在线投票系统,使管理人员能够根据投票状况,列出投票项目,在较短时间内、以较少精力获得一个比较实用的数据,从而使投票工作系统化、规范化、自动化,提高办公效率。

2.1.1 技术可行性

本系统可用普通PC,windows XP系统,对硬件无很大要求。基本技术需求如下:

(1)操作系统:Windows XP及以上服务器版本;

(2)数据库管理系统:SQL Server 2005;

(3)编程工具:编程语言选用C#。

C#是一种最新的面向对象语言,它具有更高的效率和安全性,同时消除大量的程序错误,C#的现代化设计能够消除许多C++的编程错误。例如:(1)C#中环境能够自动生成变量

(2)变量的类型是安全的

(3)资源回收减轻了内存

2.1.2 经济可行性

现在的https://www.360docs.net/doc/461552716.html,的开发工具都可以在互联网上免费下载,并且技术上也不存在什么难题,利用现有的开发工具,就可以对本系统进行开发。系统本身简单适用,解决了传统线下调查产生的一系列问题,毫无疑问的在经济上是可行的。

2.1.3 法律可行性

通过本系统进行的调查问卷,我们会对用户资料进行严格的保密,绝不外泄,同时作为一个社会调查,基本不存在大的法律问题。

2.1.4 操作可行性

本系统的对软件配置,硬件配置,网络配置等要求都不高,使用起来方便简单,无需对计算机人员进行专业培训,只要接触过计算机的人都可以操作

2.2问题分析

本在线投票系统具有的主要特色:

其一,方便的操作。原有的手工投票管理基本上是人工操作,效率低下,缺乏方便性,在线投票管理系统运用计算机和其他附加设备,不再需要手工操作,基本上是全自动化,能够节省人力、最大限度地利用各种宝贵的资源,大大的提高了效率。

其二,友好的界面。友好的用户界面会给人一种亲切的感觉,在使用起来不会觉得沉闷,效率自然也会提高了。

其三,强大的功能

2.3分析模型

本系统各个模块所对应的需求如下:

(1)投票首页模块:该模块面向对象为所有访问页面用户,其中包括:管理员和用户

(2)投票实现模块:此模块供用户对投票项目进行投票所用。不同的用户具有不同的功能,管理员对问卷内容具有增删改的功能,普通用户只能在线进行问卷调查

(3)投票结果模块此模块供用户查看该项目已有的投票情况。投票结果显示页面会显示相应投票选项的得票率和该项目总的得票数。

(4)管理员登录模块该模块用于管理员登录。登录验证后,管理员才可以对投票信息进行维护。如增删投票项目等。

(5)投票管理模块此模块为管理员操作的模块。管理员登入系统后,可对本系统的所以投票项目进行相应的管理,如:添加投票项目,删除投票项目等。

第3章总体设计

3.1总体设计

该系统主要由以下几个模块组成:登录模块,管理员模块,普通用户模块,统计模块

图3-1投票系统结构图

该部分将对系统进行总体设计,包括系统逻辑图,功能模块的概要设计,交互界面设计等内容,采用软件工程设计思想,为详细设计打好基础。

3.2 系统功能模块图

本系统按照功能逻辑分为五个板块:投票首页模块,投票实现模块,投票结果模块,管理员登录模块,投票项目管理模块。具体功能时序图如下:各系统功能模块的设计如下:

3.2.1用户投票模块

3.2.2管理员登录模块

3.2.3管理员添加投票项目模块

3.2.4管理员删除投票项目模块

3.3 系统协作图3.3.1用户投票模块

3.3.2用户添加投票项目模块

3.3.3管理员登录模块

3.3.4管理员添加投票项目模块

3.3.5管理员删除投票项目模块

3.4 数据库总体设计

将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。它是整个数据库设计的关键。

概念结构的主要特点:

◆能真实、充分的反映现实世界。

◆易于理解。

◆易于更改。

◆易于向关系、网状、层次等各种数据模型转换

系统E—R图如下:

图3-4 系统E-R图

数据表:

People表

Admi表

问卷调查表

问卷答案表

问卷详细表

问卷题目表

第4章详细设计与实现4.1模块设计

4.1.1登录模块

不同的身份进行不同的登录,分为管理员登陆和普通用户的登陆

图4-1 用户登录界面

SqlConnection conn = ClassDB.creatconn();

SqlCommand com = new SqlCommand(selstr, conn);

conn.Open();

SqlDataReader dr = com.ExecuteReader();

bool yes = false;

if (dr.Read())

{

yes = true;

Session["userid"] = dr.GetString(0);

Session["pwd"] = dr.GetString(1);

}

dr.Close();

conn.Close();

return yes;

4.1.2 管理员模块

管理员对问卷进行操作,可以添加、编辑、删除项目

图4-2 管理员界面

部分代码:

protected void Page_Load(object sender, EventArgs e)

{

if (Session["userid"] == null)

{ hint.Show(Page, "请?登ì?录?参?与??调ì??查¨|!ê?");

Response.Redirect("login.aspx");

}

R1.DataSource = toL("select * from 问¨o卷¨a题?a目?表à¨a where TitleID=(select TitleID from 问¨o卷¨a项?目?表à¨a where Status=1)");

R1.DataBind();

}

4.1.3 普通用户模块

选中当前投票主题的一个选项,提交信息后,进入投票实现模块,该模块将会修改投票结果记录,并将结果进行显示。

图4-3 普通用户界面

部分代码:

HiddenField hf1 = (HiddenField)e.Item.FindControl("hf1");

HiddenField hf2 = (HiddenField)e.Item.FindControl("hf2");

if (hf1.Value.Trim() == "单죤选?")

{

DataTable dt = toL("select * from 答案表¨a where ItemID='"+ hf2.Value.Trim() + "'");

RadioButtonList rb1 = new RadioButtonList();

rb1.ID = "rad";

rb1.DataTextField = "AnswerItem";

rb1.DataValueField = "AnswerID";

rb1.RepeatDirection = RepeatDirection.Horizontal;

rb1.RepeatColumns = 3;

rb1.DataSource = dt;

rb1.DataBind();

e.Item.Controls.Add(rb1);

}

4.1.4 投票结果统计模块

程序功能:该页面显示投票结束后被投票项目的投票结果,该模块以数字的形

式显示各选项的投票率,并且显示当前时间、投票截止时间和投票总数等信息。

图4-4 统计界面

部分代码:

string selstr = "SELECT 答案表.AnswerItem, COUNT(distinct QuestionID) AS 选择次数 " + "FROM 答案表 left JOIN 问卷详细表 ON 答案表.AnswerID = 问卷详细表.AnswerID left JOIN 问卷题目表 ON 答案表.ItemID = 问卷题目表.ItemID " + "where TitleID="+titleID+

" GROUP BY 答案表.AnswerItem";

SqlConnection conn = ClassDB.creatconn();

SqlDataAdapter da = new SqlDataAdapter(selstr, conn);

DataTable dt = new DataTable();

DataColumn dc = new DataColumn();

dc.ColumnName = "编号";

dc.AutoIncrement = true;

dc.AutoIncrementSeed = 1;

dc.AutoIncrementStep = 1;

dt.Columns.Add(dc);

da.Fill(dt);

dg2.DataSource = dt;

dg2.DataBind();

相关文档
最新文档