华东交通大学
课程设计(论文)任务书
软件
学院
09 级 软件工程+会计学
专业
3
班
一、课程设计(论文)题目 基于 ASP.NET 的投票系统开发
二、课程设计(论文)工作自 2012 年 6 月 11 日起至 2008 年 6 月 17
日止。
三、课程设计(论文) 地点:
四、课程设计(论文)内容要求:
1.本课程设计的目的
科技楼 203
(1)通过课程设计把课堂上讲的内容融会贯通,利用 ASP.NET 应用软件、
C#程序、SQL 数据库等设计开发各类小型应用系统。
(2)通过课程设计掌握 ASP.NET,准确的使用其中的各项功能,使设
计的系统结构清晰、易于维护。
(3)通过课程设计掌握 ASP.NET 工具开发方法和步骤、编程流程。
2.课程设计的任务及要求
1)基本要求:
从以下题目中任选一题,并将其具体要求写出。
(1)基于 ASP.NET 选课系统开发
(2)基于 ASP.NET 新闻发布系统开发
(3)基于 ASP.NET BBS 系统开发
(4)基于 ASP.NET 博客系统开发
(5)基于 ASP.NET 网上书店系统开发
或者自己选择一个题目
2)课程设计论文编写要求
(1)要按照书稿的规格打印与写课程设计论文
(2)论文包括目录、功能描述、设计思路、具体实现、运行调试与分析讨
论、设计体会与小结、参考文献、附录(源代码)等
(3)课程设计论文装订按学校的统一要求完成
3)答辩与评分标准:
(1)考勤与学习态度:20 分;
- 1 -
(2)设计思路:20 分;
(3)代码实现:20 分;
(4)调试与分析:20 分;
(5)回答问题:10 分;
(6)论文规范性:10 分。
4)参考文献
[1] 赵晓东, ASP.NET 从入门到精通[M]. 北京:清华大学出版社,2009.
[2]《ASP.NET 高级程序设计》,(美)麦克唐纳,人民邮电出版社 出版,2009
[3] 赵喜来, SQL Server2005 从入门到精通[M]. 北京:电子工业出版社, 2007
[4] 萨师煊 王珊 .《数据库系统概论》. 高等教育出版社.2008
5)课程设计进度安排
内容
地点
科技楼 203
科技楼 203
科技楼 203
学生签名:
2012 年 6 月 20 日
需求搜集
代码设计与测试
论文的编写
天数
1 天
5 天
1 天
课程设计(论文)评审意见
(1)考勤与态度 (20 分):优( )、良( )、中( )、一般( )、差( );
(2)设计思路 (20 分):优( )、良( )、中( )、一般( )、差( );
(3)代码实现 (20 分):优( )、良( )、中( )、一般( )、差( );
(4)调试与分析 (20 分):优( )、良( )、中( )、一般( )、差( );
(5)回答问题 (10 分):优( )、良( )、中( )、一般( )、差( );
(6)论文规范性 (10 分):优( )、良( )、中( )、一般( )、差( );
评阅人:
职称: 讲师
2012 年 6 月 22 日
- 2 -
目录
一、绪论 ..................................................................................................................... 1
二、功能概况 ............................................................................................................. 1
三、设计思路 ............................................................................................................. 2
四、数据库设计......................................................................................................... 3
4.1 数据库表设计 ...............................................................................................3
4.2 创建数据库................................................................................................... 4
五、系统的具体实现................................................................................................. 5
5.1 底层数据操作的设计...................................................................................5
5.2 添加投票主题的实现...................................................................................8
5.3.编辑投票主题的实现...................................................................................9
5.4 添加投票选项的实现................................................................................. 11
5.5 投票功能的实现......................................................................................... 11
5.6 上一页与下一页的实现 .............................................................................12
5.7 查看投票结果的实现.................................................................................13
六、运行调试及结果分析.......................................................................................14
七、设计体会与小结...............................................................................................17
八、参考文献 ........................................................................................................... 17
- 3 -
一、绪论
随着 INTERNET 的发展,世界网民的数量急剧增加,社会的信息化强度
增强,企业竞争之激烈,故对市场信息的掌握范围不仅仅是周边的一些信息,
而应把范围扩展到全国,甚至全世界,INTERNET 恰恰是实现这目标的有利工
具。对于新产品,新观点的调查范围应该更广泛,消息应该及时反馈给企业单
位,故一个网上在线投票系统应允而生,它正好充分满足客户的需求,信息反
馈的范围扩大,人力资源的节省,从而使得企业在竞争激烈的市场中拥有更强
大的资本。开发此投票系统是为了更好的把市场的信息更准确更快速的反馈给
客户,使信息的来源更广泛,从而提高信息的准确性。
编写在线投票系统,最重要的就是如何从烦琐的投票结果中,能够实时性
对用户投票进行添加,对用户因为人为原因造成的误投,错投进行删除,及时
导出全部投票项目的票数,根据各个投票项目的统计票数,进行票数百分比计
算,满足用户的实时性查询。
二、功能概况
在线投票系统主要是用来统计网站用户对某个主题或热门话题的意见,决
策者通过这些统计数据作出相应的决策。本在线投票系统主要分为前台设计与
后台设计。前台设计包括用户在线投票功能和查看投票结果的功能,后台设计
主要包括投票主题的添加、投票选项的添加和编辑投票主题等功能。在线投票
系统功能如下图 1:
1
图 1 在线投票系统功能图
三、设计思路
开发环境:Window XP
开发工具:Microsoft Studio 2010
数 据 库:Sql Server 2000
在线投票系统采用 Microsoft Studio 2010 作为开发工具,后台数据库使用
Sql Server 2000,利用 ADO.NET 数据库访问技术实现对数据库的各种操作。总
体设计思路如下:
搜集需求:根据客户需求,结合不同类型、行业的客户目标群,制定不同
的设计方案。
主页设计:设计网站主页,主要是在线投票的主页设计。,
投票结果设计:设计网站的投票项目的结果,可以用两种方式来展示结果,
第一种是柱状图,第二种是饼状图。
后台投票主题设计:添加投票的主题,以适应各种用户需求。
编辑主题设计:当需要修改原有主题时,可以进行修改。
其整体设计思路如图 2:
2
图 2 投票系统的整体设计思路
四、数据库设计
4.1 数据库表设计
投 票 系 统 总 共 包 括 两 个 表 , 分 别 为 投 票 主 题 voteTitle 表 和 选 项 表
voteOption 表。其表结构如下:
表 1 投票主题 voteTitle 表
字段名称
数据类型
字段描述
id
title
varchar(100)
singleMode
是/否
3
int
主题编号,设为主键
主题名称
选择模式
colMode
是/否
图形格式
表 2 voteOption 选项表
字段名称
数据类型
字段描述
id
parentId
option
color
ballots
int
int
varchar(200)
varchar(20)
int
选项编号,设为主键
所属主题,设为外键
选项内容
表示颜色
票数
4.2 创建数据库
关键代码如下:
create database vote
use vote
create table voteTitle
(
int primary key,
id
varchar(100) ,
title
singleMode 是/否,
colMode 是/否
)
create table voteOption
(
references voteTitle(id) on delete cascade on update cascade,
int primary key,
int
varchar(200),
varchar(20),
int
id
parentId
option
color
ballots
)
4
五、系统的具体实现
根据系统的功能划分,主要有以下几个子功能:投票主题的添加、投票主
题的编辑、选项的添加、在线投票、查看投票结果等。
5.1 底层数据操作的设计
主要用于底层对数据的增、删、改、查等操作,其关键代码如下:
//执行单条插入语句,并返回 id,不需要返回 id 的用 ExceuteNonQuery 执行。
public static int ExecuteInsert(string sql, OleDbParameter[] parameters)
{
(OleDbConnection connection
//Debug.WriteLine(sql);
Using
= new OleDbConnection(connectionString))
{
OleDbCommand cmd = new OleDbCommand(sql, connection);
try{
connection.Open();
if(parameters!=null)
cmd.Parameters.AddRange(parameters);
cmd.ExecuteNonQuery();
cmd.CommandText = @"select @@identity";
int value = Int32.Parse(cmd.ExecuteScalar().ToString());
return value;
}catch (Exception e) {
throw e;
}
}
}
//执行带参数的 sql 语句,返回影响的记录数(insert,update,delete)
public static int ExecuteNonQuery(string sql, OleDbParameter[] parameters)
{
//Debug.WriteLine(sql);
Using (OleDbConnection connection
= new OleDbConnection(connectionString))
{
5