软件工程课程设计报告网吧会员管理系统.docx
《软件工程课程设计报告网吧会员管理系统.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计报告网吧会员管理系统.docx(28页珍藏版)》请在冰点文库上搜索。
![软件工程课程设计报告网吧会员管理系统.docx](https://file1.bingdoc.com/fileroot1/2023-5/1/11606858-7f58-437c-ba36-3bdaf791b029/11606858-7f58-437c-ba36-3bdaf791b0291.gif)
软件工程课程设计报告网吧会员管理系统
网吧会员管理系统
一可行性分析
管理和决策,提高运行效率和经营效益,以计算机为代表的信息技术被广泛采用,并与管理科学、系统科学等结合起来,构建了全新的管理信息系统学科。
计算机的应用已普及到经济和社会生活的各个领域。
使原本的旧的管理方法越来越不适应现在社会的发展。
许多人还停留在以前的手工操作,这大大地阻碍了社会经济的发展。
为了适应现代社会人们高度强烈的时间观念,网吧信息管理系统软件为网吧办公带来了极大的方便。
作为网吧信息管理系统的一部分,网吧会员管理系统对会员的管理具有无可比拟的优点。
例如,检索迅速、查找方便、可靠性高、存储量大、保密性好、成本低等。
这些优点极大地提高网吧管理的效率,也是网吧的科学化、正规化管理的重要条件。
经济可行性:
由于网吧人口流动比较大,会员数量比较多,如果没有一个好的管理系统,其业务过程中产生的数据将得不到及时的存储和处理,显得比较杂乱无章,难以分析,比较和归纳,会浪费大量的人力、物力和时间。
其次,开发本系统不需要很高的成本,开发时间短,是网吧能够在短时间内就可以达到很好的管理效果。
技术可行性:
网吧会员管理系统整体简单,不需要大量的技术和专业知识。
普通程序员只要在了解网吧的工作流程的基础上就可以开发出来,唯一值得注意的地方就是系统的安全性。
出于对安全方面的考虑,本系统主要针对网吧管理员而设计。
系统流程图如图1所示:
图1系统流程图
二需求分析
1系统目标
系统应具有方便、强大的资料管理和良好的人机界面,使网吧管理员易于操作,便于浏览。
系统的健壮性、扩展性良好。
系统的安全性好,通过密码和权限的管理使用户的数据不受到侵害。
系统的动态信息交互功能强,系统根据不同的管理员的权限开放不同的处理权限。
、
系统功能介绍
本系统分为管理员和超级管理员,管理员能够对会员进行添加,删除,信息的修改,充值等操作。
超级管理员拥有管理员的一起操作,并且能够对管理员添加,删除,修改信息。
本系统的E-R图如图2所示:
图2系统E-R图
2网吧会员管理数据库设计
管理员表如表1所示:
表1管理员信息表
列名
数据类型
宽度
字段描述
Aname
varchar
20
管理员姓名,主键
Apwd
varchar
20
管理员密码
会员基本信息表如表2所示:
表2会员基本信息表
列名
数据类型
宽度
字段描述
Vid_num
varchar
18
身份证号,唯一
Vage
int
4
年龄,大于18
Vlevel
varchar
10
会员级别
Vid
varchar
30
会员号,主键,外键
Vpwd
varchar
50
会员密码
会员消费信息表如表3所示:
表3会员消费信息表
列名
数据类型
宽度
字段描述
Vid
varchar
30
会员号
Vcostph
int
4
每小时的花费
Vmoney
int
4
账户余额
三总体设计
本系统属于B/S架构,页面总体设计反应了整个系统的界面组成结构。
由于非常重视安全方面的问题,本系统主要为管理员设计,管理员其中包括超级管理员拥有对会员的添加,删除,修改等操作。
系统HIPO图如图3所示:
图3系统HIPO图
功能介绍:
本系统分为超级管理员和管理员。
管理员可以添加,修改,删除会员的信息,并且可以为会员充值,超级管理员除了拥有普通管理员的权限外还能够添加,修改,删除管理员。
四详细设计
实现思路:
本系统设置有拥有不同权限的管理员,根据登录账号的不同,可以调转到不同的页面,实现不同的功能。
其中,超级管理员和普通管理员对会员的权限是相同的,都是查看,添加,删除,修改,超级管理员还拥有对普通管理员的查看,添加,修改,删除。
1普通管理员查看会员信息模块
当管理员登录系统后,通过选择查看会员信息功能,可以查看任何会员的信息,并且可以通过搜索选择所要查看的会员的信息。
N
Y
图4普通管理员功能图
2普通管理员添加会员模块
管理员进入系统后,首先选择添加会员功能,然后输入所要添加会员的姓名,年龄,密码,充值等信息,可根据所充的值设置级别,并且只能在首次充值的时候设置级别。
图6普通管理员添加会员
3普通管理员修改员信息模块
管理员进入系统后,首先选择修改功能,然后输入要修改会员的ID,进行查找,可以修改会员的密码。
图7普通管理员修改会员信息
4普通管理员删除会员模块
管理员进入系统后,首先选择删除功能,如果向只删除固定ID的会员可以借助查找功能,还可以同时删除多个会员。
图8普通管理员删除会员
5普通管理员为会员充值模块
当会员来充值时,管理员首先选择充值功能,然后查找所要充值会员的ID,最后输入所要充的值。
图9普通管理员给会员充值
6超级管理员查看普通管理员模块
当超级管理员登录系统后,通过选择查看管理员信息功能,可以查看任何管理员的信息,并且可以通过搜索选择所要查看的管理员的信息。
N
Y
图10超级管理员查看会员信息
7超级管理员添加普通管理员模块
超级管理员进入系统后,首先选择添加管理员功能,然后输入所要添加管理员的姓名,密码等信息。
图11超级管理员添加管理员
8超级管理员修改普通管理员模块
超级管理员进入系统后,首先选择修改管理员信息功能,然后输入要修改管理员的ID,进行查找,可以修改管理员的密码。
图12超级管理员修改普通管理员模块
9超级管理员删除普通管理员模块
超级管理员进入系统后,首先选择删除功能,如果向只删除固定ID的管理员可以借助查找功能,还可以同时删除多个管理员。
图13超级管理员删除普通管理员
五编码与实现
1管理员登录模块
根据登录名称的不同分别跳转到不用的页面来进行操作。
publicpartialclass_Default:
System.Web.UI.Page
{protectedvoidButton1_Click(objectsender,EventArgse)
{SqlConnectionconn=newSqlConnection(ConfigurationSettings.AppSettings["connString"]);
conn.Open();
stringsql=@"select*fromAdministratorwhereAname='"+this.TextBoxName.Text+"'andApwd='"+this.TextBoxPwd.Text+"'";
SqlCommandcmd=newSqlCommand(sql,conn);
SqlDataReadersdr=cmd.ExecuteReader();
if(sdr.Read()==true)
{conn.Close();
Session["UserName"]=this.TextBoxName.Text;
Response.Redirect("admin/Default1.aspx");
}
elseif(this.TextBoxName.Text=="admin"&&this.TextBoxPwd.Text=="admin")
{Session["UserName"]="admin";Response.Write("window.location.href='admin/Default.aspx';");
}
else
{
Session["UserName"]=null;
Response.Write("");
}
}
}
2查看会员信息模块
publicpartialclassAddInfototables:
System.Web.UI.Page
{protectedvoidPage_Load(objectsender,EventArgse)
{SqlConnectionconn=newSqlConnection(ConfigurationSettings.AppSettings["connString"]);stringsql=@"select*fromVIPInfowhereVid_num='"+Session["values1"]+"'";
SqlCommandcmd=newSqlCommand();
cmd.Connection=conn;
cmd.CommandText=@"selectVidfromVIPInfowhereVid_num='"+Session["id"]+"'";
cmd.Parameters.AddWithValue("Vid_num",Session["id"]);
conn.Open();
if(Session["id"]==null)
{gotonext;}
else
{stringres=cmd.ExecuteScalar().ToString();
intmoney=Convert.ToInt32(Session["money"]);
if(money>0&&money<=200)
{cmd.CommandText=@"insertintoBronze(Vid,Vcostph,Vmoney)values('"+res+"','3.0','"+Session["money"]+"')";
}
elseif(money<=500)
{cmd.CommandText=@"insertintoSilver(Vid,Vcostph,Vmoney)values('"+res+"','2.0','"+Session["money"]+"')";
}
else
{cmd.CommandText=@"insertintoGolden(Vid,Vcostph,Vmoney)values('"+res+"','1.0','"+Session["money"]+"')";
}
cmd.ExecuteNonQuery();
conn.Close();
}
next:
if(!
this.IsPostBack)
{bind();}
}
publicvoidbind()
{
PagedDataSourceps=newPagedDataSource();
intcurpage=Convert.ToInt32(this.LabelPage.Text);
SqlConnectioncon=newSqlConnection(ConfigurationSettings.AppSettings["connString"]);
stringsql="select*fromVIPInfo";
DataSetds=newDataSet();
con.Open();
SqlDataAdaptersda=newSqlDataAdapter(sql,con);
sda.Fill(ds);
GridView1.DataSource=ds;
GridView1.DataBind();
this.GridView1.AllowPaging=true;
this.GridView1.PagerSettings.Visible=false;
this.GridView1.PageSize=20;
this.LabelPageRecordsNum.Text=Convert.ToString(this.GridView1.PageSize);
this.GridView1.PageIndex=curpage-1;
this.LinkButtonOne.Enabled=true;
this.LinkButtonUp.Enabled=true;
this.LinkButtonNext.Enabled=true;
this.LinkButtonBack.Enabled=true;
if(curpage==1)
{this.LinkButtonOne.Enabled=false;
this.LinkButtonUp.Enabled=false;
}
this.GridView1.DataSource=ds;
this.GridView1.DataBind();
this.LabelBackPage.Text=Convert.ToString(this.GridView1.PageCount);
intfinal=Convert.ToInt32(this.LabelBackPage.Text);
if(curpage==this.GridView1.PageCount||final==0)
{this.LinkButtonBack.Enabled=false;
this.LinkButtonNext.Enabled=false;
}
con.Close();
}
protectedvoidLinkButtonOne_Click(objectsender,EventArgse)
{this.LabelPage.Text="1";
this.bind();
}
protectedvoidLinkButtonUp_Click(objectsender,EventArgse)
{this.LabelPage.Text=Convert.ToString(Convert.ToInt32(this.LabelPage.Text)-1);
this.bind();
}
protectedvoidLinkButtonNext_Click(objectsender,EventArgse)
{this.LabelPage.Text=Convert.ToString(Convert.ToInt32(this.LabelPage.Text)+1);
this.bind();
}
protectedvoidLinkButtonBack_Click(objectsender,EventArgse)
{this.LabelPage.Text=this.LabelBackPage.Text;
this.bind();
}
protectedvoidButtonSearch_Click(objectsender,EventArgse)
{
PagedDataSourceps=newPagedDataSource();
intcurpage=Convert.ToInt32(this.LabelPage.Text);
SqlConnectioncon=newSqlConnection(ConfigurationSettings.AppSettings["connString"]);
stringsql="";
if(this.TextBoxID.Text=="")
{sql=@"select*fromVIPInfo";
}
else
{
//sql=@"select*fromUserswhereUnamelike'%"+this.TextBoxUname.Text+"%'";
sql=@"select*fromVIPInfowhereVid='"+this.TextBoxID.Text+"'";
}
DataSetds=newDataSet();
con.Open();
SqlDataAdaptersda=newSqlDataAdapter(sql,con);
sda.Fill(ds);
GridView1.DataSource=ds;
GridView1.DataBind();
this.GridView1.AllowPaging=true;
this.GridView1.PagerSettings.Visible=false;
this.GridView1.PageSize=20;
this.LabelPageRecordsNum.Text=Convert.ToString(this.GridView1.PageSize);
this.GridView1.PageIndex=curpage-1;
this.LinkButtonOne.Enabled=true;
this.LinkButtonUp.Enabled=true;
this.LinkButtonNext.Enabled=true;
this.LinkButtonBack.Enabled=true;
if(curpage==1)
{this.LinkButtonOne.Enabled=false;
this.LinkButtonUp.Enabled=false;
}
this.GridView1.DataSource=ds;
this.GridView1.DataBind();
this.LabelBackPage.Text=Convert.ToString(this.GridView1.PageCount);
intfinal=Convert.ToInt32(this.LabelBackPage.Text);
if(curpage==this.GridView1.PageCount||final==0)
{this.LinkButtonBack.Enabled=false;
this.LinkButtonNext.Enabled=false;
}
con.Close();
}
}
3修改会员信息模块
publicpartialclassVIPInfoxiugai:
System.Web.UI.Page
{protectedvoidPage_Load(objectsender,EventArgse)
{if(!
this.IsPostBack)
{stringhid=this.Request.QueryString["id"].ToString();
SqlConnectionconn=newSqlConnection(ConfigurationSettings.AppSettings["connString"]);
conn.Open();
stringsql=@"select*fromVIPInfowhereVid='"+hid+"'";
SqlCommandcmd=newSqlCommand(sql,conn);
SqlDataReadersdr=cmd.ExecuteReader();
if(sdr.Read())
{this.LabelID.Text=sdr["Vid"].ToString();
this.TextBoxPwd.Text=sdr["Vpwd"].ToString();
}
conn.Close();
}
}
protectedvoidButtonOk_Click(objectsender,EventArgse)
{
SqlConnectionconn=newSqlConnection(ConfigurationSettings.AppSettings["connString"]);
conn.Open();
stringsql=@"updateVIPInfosetVpwd='"+this.TextBoxPwd.Text+"'whereVid='"+this.LabelID.Text+"'";
SqlCommandcmd=newSqlCommand(sql,conn);
cmd.ExecuteNonQuery();
conn.Close();
Response.Write("");
Server.Transfer("VIPxianshi.aspx");
}
}
4删除会员模块
publicpartialclassVIPdelete:
System.Web.UI.Page
{publicvoidbind()
{PagedDataSourceps=newPagedDataSource();
intcurpage=Convert.ToInt32(this.LabelPage.Text);
SqlConnectioncon=newSqlConnection(ConfigurationSettings.AppSettings["connString"]);
stringsql="select*fromVIPInfo";
DataSetds=newDataSet();
con.Open();
SqlDataAdaptersda=newSqlDataAdapter(sql,con);
sda.Fill(ds);
this.GridView1.AllowPaging=true;
this.GridView1.PagerSettings.Visible=false;
this.GridView1.PageSize=20;
this.LabelPageRecordsNum.Text=Convert.ToString(this.GridView1.PageSize);
this.GridView1.PageIndex=curpage-1;
this.LinkButtonOne.Enabled=true;
this.LinkButtonUp.Enabled=true;
this.LinkButtonNext.Enabled=true;
this.LinkButtonBack.Enabled=true;
if