音像出租管理系统.docx
- 文档编号:25360582
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:24
- 大小:488.95KB
音像出租管理系统.docx
《音像出租管理系统.docx》由会员分享,可在线阅读,更多相关《音像出租管理系统.docx(24页珍藏版)》请在冰豆网上搜索。
音像出租管理系统
第一部份系统需求分析
2.1系统需求分析
音像出租管理系统用于提高音像出租各个环节的效率,因此对雇员信息,顾客信息,音像信息,出租信息,库存信息,采购信息等信息进行控制与优化,减少手工输入和相应库存环节的计算过程,界面应尽量做到友好,使操作员易学易懂,另外,还应提供系统维护功能的设定和权限的设置以及保障系统的安全性。
第二部份功能需求分析
1.功能需求分析的描述
通过对音像出租店实地调研,可以得到音像出租店的整个业务包括:
雇员管理、会员(顾客)信息管理、音像制品采购、音像制品出租、音像制品报废等。
因此,根据实际业务需求把系统分为雇员管理、顾客管理、音像制品信息管理、出租管理、报废管理、租金管理等子系统。
为满足以上要求,音像出租系统具有如下功能:
(1)雇员管理子系统要实现雇员的录入,修改,删除,查询等功能
(2)顾客管理子系统要实现顾客和会员信息的获取,删除,修改,查询等功能
(3)采购子系统要实现音像制品的购入,入库功能
(4)音像制品管理子系统要实现音像信息的录入,修改和查询功能
(5)出租管理子系统要实现音像制品的出租,收回,顾客信息录入功能
(6)报废子系统要实现音像制品的报废和出库功能
(7)租金管理子系统要实现音像制品的出租规则
2.2系统功能模块图
第三部份系统设计
3.1数据概念设计
1.数据实体属性图
2.系统E-R图
3.2数据库逻辑结构(关系模式)设计
按照E-R图到逻辑关系模式的转换规则,可的得到系统如下8个关系。
(1)雇员信息(雇员序号、姓名、年龄、性别、身份证号、联系电话、城市、地址、职务、工资、参加工作时间、口令、权限);
(2)顾客信息(客户号、顾客姓名、身份证号、联系电话、联系地址、加入时间、类别);
(3)音像制品信息(序号、片名、主演、导演、制片、制片厂、简介、日期、类别);
(4)库存信息(片子序号、数量、级别);
(5)采购信息(序号、片子序号、数量、单价、购买日期、供应商、雇员号);
(6)出租信息(序号、片子序号、顾客序号、租片日期、还片日期、租金、数量、折扣、雇员号);
(7)租金信息(片子级别、租金、押金、超期租金、租期);
(8)报废信息(序号、片子序号、数量、日期、雇员号)
3.3数据库物理结构设计
本系统数据库表的物理结构设计通过创建表的SQL命令及数据库关系图来呈现的,是在MicrosoftSQLServer2000中创建的表,利用SQLServer2000的导出SQL脚本,显示了数据库创建的代码。
1.创建数据库表的SQL命令
GREATEDATABASE音像出租系统--创建数据库
--以下为创建各表的SQL上命令
CREATETABLE[dbo].[Customer](
[CustomerID][int]NOTNULL,
[Name][nvarchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,
[ID][nvarchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,
[Phone][nvarchar](20)COLLATEChinese_PRC_CI_ASNULL,
[Address][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,
[JoinDate][nvarchar](8)COLLATEChinese_PRC_CI_ASNULL,
[Sort][nvarchar](20)COLLATEChinese_PRC_CI_ASNOTNULL
)ON[PRIMARY]
GO
CREATETABLE[dbo].[Discard](
[DiscardID][int]NOTNULL,
[FilmID][int]NOTNULL,
[Amount][int]NOTNULL,
[DisDate][datetime]NOTNULL,
[EmployeeID][smallint]NOTNULL
)ON[PRIMARY]
GO
CREATETABLE[dbo].[Employee](
[EmployeeID][smallint]NOTNULL,
[Name][nvarchar](4)COLLATEChinese_PRC_CI_ASNOTNULL,
[Age][smallint]NOTNULL,
[Sex][nvarchar](4)COLLATEChinese_PRC_CI_ASNOTNULL,
[ID][nvarchar](20)COLLATEChinese_PRC_CI_ASNULL,
[Phone][nvarchar](20)COLLATEChinese_PRC_CI_ASNULL,
[City][nvarchar](20)COLLATEChinese_PRC_CI_ASNULL,
[Address][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,
[Title][nvarchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[Salary][int]NOTNULL,
[HireDate][datetime]NOTNULL,
[PassWord][nvarchar](8)COLLATEChinese_PRC_CI_ASNOTNULL,
[Power][smallint]NOTNULL
)ON[PRIMARY]
GO
CREATETABLE[dbo].[Film](
[FilmID][int]NOTNULL,
[FilmName][nvarchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,
[Actor][nvarchar](20)COLLATEChinese_PRC_CI_ASNULL,
[Director][nvarchar](20)COLLATEChinese_PRC_CI_ASNULL,
[Publisher][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,
[Studio][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,
[Content][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,
[PubDate][datetime]NULL,
[Sort][nvarchar](20)COLLATEChinese_PRC_CI_ASNOTNULL
)ON[PRIMARY]
GO
CREATETABLE[dbo].[Hire](
[HireID][int]NOTNULL,
[FilmID][int]NOTNULL,
[CustomerID][int]NOTNULL,
[HireDate][datetime]NOTNULL,
[DueDate][datetime]NOTNULL,
[Rent][int]NOTNULL,
[Amount][int]NOTNULL,
[Discount][int]NOTNULL,
[EmployeeID][smallint]NOTNULL
)ON[PRIMARY]
GO
CREATETABLE[dbo].[Purchase](
[PurchaseID][int]NOTNULL,
[FilmID][int]NOTNULL,
[Amount][int]NOTNULL,
[UnitPrice][int]NOTNULL,
[PurchaseDate][datetime]NOTNULL,
[Supplier][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,
[EmployeeID][smallint]NOTNULL
)ON[PRIMARY]
GO
CREATETABLE[dbo].[Rent](
[Grade][smallint]NOTNULL,
[Rent][int]NOTNULL,
[Deposit][int]NOTNULL,
[DateRent][int]NOTNULL,
[Lease][datetime]NOTNULL
)ON[PRIMARY]
GO
CREATETABLE[dbo].[Stock](
[FilmID][int]NOTNULL,
[Amount][int]NOTNULL,
[Grade][smallint]NOTNULL
)ON[PRIMARY]
GO
2.数据库关系图
第四部份系统功能的实现
4.1数据库连接通用模块
数据库的连接和公用的函数如下:
数据库连接:
//连接字段
stringstrConnection="userid=student;password=student;";
strConnection+="initialcatalog=音像出租系统;Server=LocalHost;";
//数据连接
SqlConnectionobjConnection=newSqlConnection(strConnection);
SqlCommandmyCommand=newSqlCommand(str,objConnection);
objConnection.Open();
customerSet1.Clear();
SqlDataAdapterdAp=newSqlDataAdapter(myCommand);
//查询结果放入记录集customerSet1中
dAp.Fill(customerSet1,"Customer");
//执行更新,删除,插入等数据库操作函数
privatevoidExecuteSQL(stringSQL)
{
stringstrConnection="userid=student;password=student;";
strConnection+="initialcatalog=音像出租系统;Server=LocalHost;";
myCon.ConnectionString=strConnection;
try
{
myCon.Open();
myCom.CommandText=SQL;
myCom.CommandType=CommandType.Text;
myCom.Connection=myCon;
myCom.ExecuteNonQuery();
}
catch(SqlExceptionoe)
{
MessageBox.Show(oe.Message,"Error");
}
finally
{
if(myCon.State==ConnectionState.Open)
{
myCon.Close();
}
}
}
4.2部分功能界面的实现
以下只给出各功能块主要函数的代码,
1.系统登陆模块
privatevoidbutton1_Click(objectsender,EventArgse)
{
Form2load_wait=newForm2();
load_wait.Pname=textBox1.Text;
load_wait.Pwrd=textBox2.Text;
if(textBox1.Text==""||textBox2.Text=="")
{
MessageBox.Show("请输入用户序号和口令,然后登录");
return;
}
if(load_wait.ShowDialog()==DialogResult.OK)
{
MessageBox.Show("登陆成功");
access_s=true;
power=load_wait.power;
load_Name=load_wait.load_Name;
this.Close();
}
}
privatevoid退出ToolStripMenuItem_Click(objectsender,EventArgse)
{
this.DialogResult=DialogResult.Cancel;
this.Close();
}
privatevoidtimer1_Tick(objectsender,EventArgse)
{
progressBar1.PerformStep();
label2.Text=Convert.ToString(i--);
stringSQL="selectPower,NamefromEmployeewhereEmployeeID=";
SQL+=Pname+"andPassWord='"+Pwrd.Trim()+"'";
stringstrConnection="userid=student;password=student;";
strConnection+="initialcatalog=音像出租系统;Server=LocalHost;";
SqlConnectionobjConnection=newSqlConnection(strConnection);
SqlCommandmyCommand=newSqlCommand(SQL,objConnection);
objConnection.Open();
SqlDataReaderrd=myCommand.ExecuteReader();
if(rd.HasRows)
{
rd.Read();
power=Convert.ToInt32(rd[0]);
load_Name=Convert.ToString(rd[1]);
if(i==5)
{
this.DialogResult=DialogResult.OK;
}
}
if(i==0&&rd.HasRows!
=true)
{
MessageBox.Show("没有这个用户或密码不正确,请重新登录!
");
this.DialogResult=DialogResult.No;
}
}
运行界面
2.主界面模块
//根据权限值显示可操作的功能项
privatevoidForm4_Load(objectsender,EventArgse)
{
ToolStripMenuItem_help.Enabled=true;
toolStripStatusLabel_load.Text=load_Name;
switch(power)
{
case1:
ToolStripMenuItem_ry.Enabled=true;
ToolStripMenuItem_yx.Enabled=true;
ToolStripMenuItem_xt.Enabled=true;
break;
case2:
ToolStripMenuItem_ry.Enabled=false;
ToolStripMenuItem_yx.Enabled=true;
ToolStripMenuItem_xt.Enabled=false;
break;
default:
MessageBox.Show("您没有使用本系统的权限,请联系管理员");
break;
}
}
//在状态栏上显示当前时间
privatevoidtimer1_Tick(objectsender,EventArgse)
{
DateTimeahu=DateTime.Now;
stringtime=ahu.ToLongDateString();
time+=""+ahu.Hour.ToString()+"时"+ahu.Minute.ToString()+"时"+ahu.Second.ToString()+"秒";
toolStripStatusLabel_time.Text=time;
}
运行界面
3.音像制品管理模块
1.采购管理
privatevoidbutto_submit_Click(objectsender,EventArgse)
{
StringinsStr="INSERTINTOPurchase(PurchaseID,FilmID,Amount,UnitPrice,PurchaseDate,Supplier,EmployeeID)insStr+="values("+(Navigator.Count+1).ToString()+","+textBox2.Text+","+textBox3.Text;
insStr+=","+textBox4.Text+",'"+textBox5.Text+"','"+textBox6.Text;
insStr+="',"+textBox7.Text+")";
stringupStr="UPDATEStockSetAmount=Amount+"+textBox3.Text;
upStr+="WHEREFilmID="+textBox2.Text;
Stringtip="\n序号:
"+textBox1.Text+"\n片子序号:
"+textBox2.Text+"\n数量:
"+textBox3.Text+"\n单价:
"+textBox4.Text;
tip+="\n购买日期:
"+textBox5.Text+"\n供应商:
"+textBox6.Text;
if(MessageBox.Show(tip,"采购信息",MessageBoxButtons.OKCancel)==DialogResult.Cancel)
{
return;
}
else
{
ExecuteSQL(upStr);
ExecuteSQL(insStr);
}
}
运行界面:
2.音像信息管理模块
privatevoidFilm_Load(objectsender,EventArgse)
{
stringstrConnection="userid=student;password=student;";
strConnection+="initialcatalog=音像出租系统;Server=LocalHost;";
myCon.ConnectionString=strConnection;
try
{
myCon.Open();
myCom.CommandType=CommandType.Text;
myCom.Connection=myCon;
myCom.CommandText="Select*FromFilm";
myDS.Clear();
myAD.SelectCommand=myCom;
myAD.Fill(myDS,"Film");
bindingSource1.DataSource=myDS;
bindingSource1.DataMember="Film";
bindingSource1.ResetBindings(true);
dataGridView1.DataSource=bindingSource1;
}
catch(SqlExceptionoe)
{
MessageBox.Show(oe.Message,"Error");
}
finally
{
if(myCon.State==ConnectionState.Open)
{
myCon.Close();
}
}
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
StringinsStr="INSERTINTOFilm(FilmID,FilmName,Actor,Director,Publisher,Studio,Content,PubDate,Sort";
insStr+=")values("+(bindingSource1.Count+1).ToString()+",'"+textBox2.Text;
insStr+="','"+textBox3.Text+"','"+textBox4.Text+"','"+textBox5.Text;
insStr+="','"+textBox6.Text+"','"+textBox7.Text+"','"+textBox8.Text;
insStr+="','"+textBox9.Text+"')";
if(MessageBox.Show("确实要添加吗?
","确认",MessageBoxButtons.OKCancel)==DialogResult.Cancel)
{
return;
}
else
{
ExecuteSQL(insStr);
}
}
运行界面:
3.音像信息管理模块
实现方法和上面类似这里就不给出代码了
运行结果:
4.报废信息模块
2.人员管理
1.雇员管理
2.顾客信息管理
3.系统维护
4.帮助
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 音像 出租 管理 系统