c课程设计报告棋牌室管理系统.doc
《c课程设计报告棋牌室管理系统.doc》由会员分享,可在线阅读,更多相关《c课程设计报告棋牌室管理系统.doc(17页珍藏版)》请在冰点文库上搜索。
![c课程设计报告棋牌室管理系统.doc](https://file1.bingdoc.com/fileroot1/2023-4/29/d6e47df4-1a24-476d-abf8-4bc38aa6c148/d6e47df4-1a24-476d-abf8-4bc38aa6c1481.gif)
《C#程序设计》课程设计
学院:
工学院
专业:
软件工程
班级:
1401
姓名:
兰欣
学号:
2014011029
指导教师:
姚斌盛可军
2016年07月01日
工学院课程设计评审表
学生姓名
兰欣
专业
软件工程
年级
2014
学号
2014011029
设计题目
棋牌室管理系统
评价内容
评价指标
评分
权值
评定
成绩
业务水平
综合运用所学相关知识,完成WinForm窗体设计以及系统数据库部分的开发。
所做项目必须使用数据库知识相关。
1、根据指导老师要求,制作需求分析。
2、编制概要设计:
确定项目开发、运行控制等。
3、程序功能完整、运行可靠。
4、程序代码精简、有良好的编程风格、程序兼容性强。
5、程序易用性强。
40
课程设计报告(设计说明书)质量
综述简练完整;结论严谨合理;实验正确,分析处理科学;文字通顺,技术用语准确,符号统一,编号齐全,书写工整规范,图表完备、整洁、正确;论文结果有应用价值;工作中有创新意识;对前人工作有改进或突破,或有独特见解。
20
工作量、
工作态度
按期完成规定的任务,工作量饱满,难度较大;工作努力,遵守纪律;工作作风严谨务实。
20
答辩
能运用所学知识和技能去发现与解决实际问题;综述简练完整,有见解;立论正确,论述充分,结论严谨合理。
20
合计
100
指导教师评语
《C#程序设计》课程设计任务书
设计题目:
棋牌室管理系统
指导
老师
姚斌
盛可军
参加
学生
李钊张晓丹于晓杰兰欣张帅伟胡强
设计
目的
综合运用所学的C#基础知识,使用C#窗体及相关控件,开发一个基于SQLSERVER数据库的多窗体《棋牌室管理系统》应用软件,要求以VS2012为开发工具,完成桌面级的应用开发。
重在掌握管理软件的开发流程和设计方法。
设计
内容
按软件工程的基本要求,完成系统的设计与开发:
1.根据设计任务书的要求,完成系统的需求分析。
2.实现功能汇总分析。
3.流程梳理及结构调整。
4.数据库搭建,做到数据持久化。
5.友好的用户界面,做到使用方便快捷。
6.综合测试系统各项功能,根据测试结果对系统进行完善。
设计
要求
1、正确理解系统设计要求及实现目标(10分)
2、设计方案完整,具有可行性、创新性(20分)
3、设计结果与需求相符(能运行,不报错误)(30分)
4、态度认真、学习刻苦、遵守纪律(10分)
5、设计报告的规范化、参考文献充分(不少于3篇)(10分)
6、答辩(20分)
目录
摘要…………………………………………........……………………………….………..…І
1前言……………………………………………………………………….…………..……1
2问题定义………………………………………………………………….…………..……1
3可行性分析………………………………………………………………………………...1
3.1经济可行性……………………………………………………………..…………1
3.2技术可行性…………………….…………………………………………..……...1
4需求分析…………………………………………………………………………………...1
4.1性能需求……………………………………………………………………..……1
4.2功能需求……………………..…………………..……………………..…………2
5总体设计…….………………………………………………………...…………………...2
5.1E-R图………………………………………………………………...……………2
5.2流程…………………………………………..………………..………..…………3
5.3功能模块图…………………………………..………………..………..…………3
6详细设计…………………………………………………………………………………...4
6.1数据库设计…………………………………………..…………………...….……4
7编码与实现……………………………………………………………………………...…5
7.1数据库连接……………………………………………..……………..…..………5
7.2主界面…………………………………………………..……………..……..……7
8课程设计总结……………………………………………………………………………..7
参考文献………………………………………………………………………......................9
附录……………………………………………………………………………….............…10
摘要
随着高新技术的快速发展,社会生活发生了巨大的变化。
《棋牌室管理系统》现在是越来越受欢迎的一款软件,作为一款娱乐软件,它给人们的生活方式带来了很大的变化,与人们的生活有着密不可分的关系,现在的棋牌室管理系统有了更加人性化、更友好的操作界面,也具有了更快的响应速度,及时更新系统,使得人们的操作方式更加快捷。
此系统用户可通过密码登陆,登陆后可实现房间管理、商品管理、用户管理、会员管理以及消费记录管理,管理包括对数据的增加、修改以及查询等功能。
本文主要介绍了棋牌室管理系统的设计思想,主要包括模块设计、数据库设计以及编码实现等。
棋牌室管理系统
1前言
《棋牌室管理系统》是一款专业的棋牌室计费管理系统,为用户提供更加方便的服务,让大家在休闲之余可以更加方便的进行娱乐活动。
2问题定义
《棋牌室管理系统》是一款专业的棋牌室计费管理系统,为用户提供更加方便的服务,让大家在休闲之余可以更加方便的进行娱乐活动。
用户可通过密码登陆,登陆后可实现房间管理、商品管理、用户管理、会员管理以及消费记录管理,管理包括对数据的增加、修改以及查询等功能。
3可行性分析
3.1经济可行性
随着高新技术的快速发展,社会生活发生了巨大的变化。
《棋牌室管理系统》现在是越来越受欢迎的一款软件,作为一款娱乐软件,它给人们的生活方式带来了很大的变化,与人们的生活有着密不可分的关系,现在的棋牌馆管理系统有了更加人性化、更友好的操作界面,也具有了更快的响应速度,及时更新系统,使得人们的操作方式更加快捷。
此系统开发成本低,而未来收益高。
3.2技术可行性
通过老师指导,综合运用所学的C#语法,WinForm控件布局等知识,使用VS2012开发工具以及SQLSERVER2008数据库完成桌面级的应用开发。
4需求分析
4.1性能需求
操作系统:
Windows98 以上/ME/2000/XP 等
数据库:
SQL Server 2008
4.2功能需求
4.2.1界面功能
用户可通过密码登陆,登陆后可实现房间管理、商品管理、用户管理、会员管理以及消费记录管理,管理包括对数据的增加、修改以及查询等功能。
4.2.2结算功能
消费结算包括房间计时费用与商品费用两部分,可通过计时与计算器实现。
4.2.3信息需求
(1)房间信息包括房间序号、房间名称、房间等级、金额(小时)、状态。
(2)商品信息包括商品编号、商品名称、单价、库存。
(3)会员信息包括会员卡号、姓名、性别、电话、等级、充值金额、余额、积分。
(4)用户信息包括用户编号、用户名、密码、权限。
5总体设计
5.1E-R图
消费
权限
编号
姓名
密码
充值金额
积分
余额
卡号
姓名
等级
电话
性别
库存
单价
名称
编号
会员
管理
商品
用户
管理
M N
M N M N
管理
N N
使用
M
状态
序号
房间
M
名称
等级
金额
图5.1E-R图
5.2流程
图5.2流程图
5.3功能模块图
棋牌室管理系统
退出系统
房间管理
消费记录
用户管理
会员管理
商品管理
会员修改
用户修改
查询记录
房间新增
房间修改
商品新增
商品修改
会员新增
用户新增
图5.3功能模块图
6详细设计
6.1数据库设计
表6.1.1房间信息表
字段名称
数据类型
长度
说明
room_no
nvarchar(50)
50
主键字段,NOTNULL
room_name
nvarchar(50)
50
NOTNULL
room_lev
price
nvarchar(50)
nchar(10)
50
10
NOTNULL
NOTNULL
表6.1.2商品表
字段名称
数据类型
长度
说明
goods_no
nvarchar(50)
50
主键字段,NOTNULL
goods_name
nvarchar(50)
50
NOTNULL
price
stock
float
float
表6.1.3会员信息表
字段名称
数据类型
长度
说明
vip_no
nvarchar(50)
50
主键字段,NOTNULL
name
nchar(10)
10
NOTNULL
sex
phone
nchar(10)
nchar(10)
10
10
NOTNULL
NOTNULL
lev
nchar(10)
10
NOTNULL
rcg_money
float
NOTNULL
balance
float
NOTNULL
point
Int
NOTNULL
表6.1.4用户信息表
字段名称
数据类型
长度
说明
user_no
navchar(50)
50
主键字段,NOTNULL
name
Navchar(50)
50
NOTNULL
pwd
power
navchar(50)
nchar(10)
50
10
NOTNULL
NOTNULL
表6.1.5消费记录表
字段名称
数据类型
长度
说明
Id
nvarchar(50)
50
主键字段,NOTNULL
ser_no
nvarchar(50)
50
主键字段,NOTNULL
part
user_no
nchar(10)
nvarchar(50)
10
50
NOTNULL
NOTNULL
vip_no
nvarchar(50)
10
NOTNULL
room_no
nvarchar(50)
50
goods_no
nvarchar(50)
50
qty
int
start_time
datetime
end_time
datetime
times
float
NOTNULL
total
float
NOTNULL
7编码与实现
7.1数据库连接
namespaceroomProj
{
classDBHelper
{
publicstaticstringserver;
publicstaticstringpwd;
//连接SqlServer数据库的静态方法
publicstaticSqlConnectiongetSqlConnection()
{
//解决方案根目录
stringpath=Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName);
//IO流读取配置文件
if(server==null)
{
StreamReadersr=null;
try
{
sr=newStreamReader(path+"/config.ini");
server=sr.ReadLine().Split(newchar[]{'='})[1];
pwd=sr.ReadLine().Split(newchar[]{'='})[1].Trim();
}
catch(Exceptione)
{
MessageBox.Show("读取配置文件失败");
returnnull;
}
finally
{
sr.Close();
}
}
//根据配置文件的信息连接数据库
try
{
SqlConnectioncon=newSqlConnection("server="+server+";uid=sa;pwd="+pwd+";database=qipai");
con.Open();
if(con==null)
{
MessageBox.Show("数据库连接失败");
}
returncon;
}
catch(Exceptione)
{
MessageBox.Show("数据库连接异常:
"+e.Message);
}
returnnull;
}
}
}
7.2主界面
图7.2.1主界面
8结论
经过这次课程设计,我虽然熟悉了系统设计的整个步骤,但也发现了自己很多的不足。
这次把这个小型的棋牌室管理系统做下来之后,发现对于数据库与C#我们还有很多需要学习的,很多地方都还需要去翻书查资料,所以还有更多的知识需要我去掌握,而这个系统也有很多功能需要完善。
通过这次课程设计,我不仅清楚地知道了自己在数据库原理知识和编程语言方面的不足,还认识到了在合作过程中,个人的力量总是不足的,需要大家一起协作。
我真切地体验了软件项目管理技能和方法,熟悉了软件工具与环境,把课堂学习的理论知识很好的在实践中运用了起来。
在开发过程中,我增强了自学的能力和开发软件的能力。
对一些软件开发模式有了更加深刻的认识,对应用软件的熟练程度有所提高,已经能运用这项开发过程,学会了如何开发一个综合系统。
在今后的学习生活中,我们需要更用心去学习C#语言以及相关的知识。
最后,还要特别感谢在此次课程设计中给我讲解知识的老师和帮助我解决调试错误的同学!
参考文献
[1]宋颜浩,费文华.《asp+sqlserver网络应用系统开发与实例》[M],第一版.中国水利水电出版社,2004.04
[2]明月创作室.VisualC#编程精彩百例[M].北京:
人民邮电出版社,2001.
[3]宋伟,吴建国等编著.中文MicrosoftVisualStudio20056.0编程基础[M].北京:
清华大学出版社,2005
附录
关键代码
namespaceroomProj
{
publicpartialclassMainForm:
Form
{
publicMainForm()
{
InitializeComponent();
this.WindowState=System.Windows.Forms.FormWindowState.Maximized;
}
//画面加载事件
privatevoidMainForm_Load(objectsender,EventArgse)
{
this.treeView1.ExpandAll();
//初始化选项卡
this.init();
}
//初始化数据
publicvoidinit(){
//加载选项卡第一页的数据
this.allSelect(0);
//加载房间计时的数据给下拉列表
SqlConnectioncon=DBHelper.getSqlConnection();
SqlDataAdaptersa=null;
DataSetds=newDataSet();
stringsql="selectroom_no+':
'+room_nameroom_desc,room_nofromroomwherestate='N'";
sa=newSqlDataAdapter(sql,con);
ds=newDataSet();
sa.Fill(ds);
boBox3.DataSource=ds.Tables[0];
boBox3.DisplayMember="room_desc";
boBox3.ValueMember="room_no";
//加载商品列表
sql="selectgoods_no商品编号,goods_name商品名称,price单价,stock库存量fromgoods";
sa=newSqlDataAdapter(sql,con);
ds=newDataSet();
sa.Fill(ds);
this.goods_list_dataGridView.DataSource=ds.Tables[0];
//加载房间计时列表信息
sql="selectid序号,room_no房间,start_time开始时间fromcost_historywherepart='M'androom_noin(selectroom_nofromroomwherestate='Y')andtotal=0";
sa=newSqlDataAdapter(sql,con);
ds=newDataSet();
sa.Fill(ds);
this.cost_dataGridView.DataSource=ds.Tables[0];
con.Close();
}
privatevoidtabControl1_Selected(objectsender,TabControlEventArgse)
{
//调用查询方法
this.allSelect(e.TabPageIndex);
}
//选项卡所有画面查询
publicvoidallSelect(inttabIndex)
{
SqlConnectioncon=DBHelper.getSqlConnection();
SqlDataAdaptersa=null;
DataSetds=null;
stringsql="";
switch(tabIndex)
{
case0:
//房间表查询
sql="selectroom_no房间编号,room_name房间名称,room_lev房间类型,price价格,state状态fromroom";
sa=newSqlDataAdapter(sql,con);
ds=newDataSet();
sa.Fill(ds);
this.room_dataGridView.Da