数据库货品管理系统课设报告.docx

上传人:b****7 文档编号:11193997 上传时间:2023-02-25 格式:DOCX 页数:35 大小:561.31KB
下载 相关 举报
数据库货品管理系统课设报告.docx_第1页
第1页 / 共35页
数据库货品管理系统课设报告.docx_第2页
第2页 / 共35页
数据库货品管理系统课设报告.docx_第3页
第3页 / 共35页
数据库货品管理系统课设报告.docx_第4页
第4页 / 共35页
数据库货品管理系统课设报告.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

数据库货品管理系统课设报告.docx

《数据库货品管理系统课设报告.docx》由会员分享,可在线阅读,更多相关《数据库货品管理系统课设报告.docx(35页珍藏版)》请在冰豆网上搜索。

数据库货品管理系统课设报告.docx

数据库货品管理系统课设报告

 

数据库实验报告

 

教学部

专业

班级

学号

姓名

任课教师

 

沈阳航空航天大学北方科技学院

2014年4月

货品管理系统

目录

货品管理系统II

目录II

1开发要求1

2需求分析1

2.1功能需求1

2.2数据需求1

2.3数据流图2

2.4E-R图3

2.4.1实体图3

2.4.2E-R图6

3总体设计7

3.1功能模块设计7

3.2系统设计方案7

3.3数据库设计8

3.3.1数据库表设计8

4详细设计10

4.1数据库连接10

5调试与测试11

5.1调试11

5.2测试11

6结论12

附录1—用户手册1

附录2—源程序6

摘要

随着我国经济的飞速发展,各种类型规模的公司企业迅速崛起,许多从事生产和经营管理的企业都有自己生产和销售的产品,而这些产品都需要储存在仓库中,对于每个企业来说,随着企业规模的不断扩大,产品数量的急剧增加,所生产产品的种类也会不断地更新与发展,有关产品的各种信息量也会成倍增长。

面对庞大的产品信息量,如何有效地管理库存产品,对这些企业来说是非常重要的,库存管理的重点是销售信息能否及时反馈,从而确保企业运行效益。

而库存管理又涉及入库、出库的产品、操作人员及客户等方方面面的因素,如何管理这些信息数据,是一项复杂的系统工程,充分考验着仓库管理员的工作能力,工作量的繁重是可想而知的,所以这就需要由库存管理系统来提高库存管理工作的效率,这对信息的规范管理、科学统计和快速查询,减少管理方面的工作量,同时对于调动广大员工的工作积极性,提高企业的生产效率,都具有十分重要的现实意义。

   经对于本系统的研究分析,前台选择使用C#,后台数据库用Oracle,开发出以C/S结构的货品管理系统。

1开发要求

本系统主要为管理提供方便快捷的服务,能够实现货品信息的录入、查询、更改,功能。

本系统所要具体实现如下功能:

货品信息的查询,删除,更改,添加。

2需求分析

2.1功能需求

现某公司需要管理其各种信息,希望实现仓库管理的信息化,通过建立一个货品管理系统来管理仓库。

该系统完成的功能主要如下:

能够实现对货品信息的各种查询,包括逐个浏览,以及对货品信息的增加、删除和编辑操作。

2.2数据需求

本系统数据的需求用Oracle来完成的,经过对公司仓库系统的分析后,系统所涉及到的数据包括:

货品号,货品名称,入库时间,货品类型,入库总量,仓库编号,出库时间,供应商编号,收购单价等。

2.3数据流图:

如图1

图1管理员-供应商数据流图

图2管理员-客户数据流图

图3总数据流图

2.4E-R图

对于货品管理系统的分析,设计规划出的实体有:

客户,管理员,供应商,货品,货品类型,入库,出库等。

各个实体具体的描述和实体之间关系如下介绍。

2.4.1实体图

 

(1)客户实体

包含字段:

客户编号,客户姓名,身份证号,联系方式。

(如图4)

 

图4客户实体

(2)管理员实体

包含字段:

职工号,职工姓名,性别,身份证号,职务。

(如图5)

图5管理员实体

(3)供应商实体

包含字段:

供应商编号,供应商名称,供应商地址,货物,联系方式。

(如图6)

图6供应商实体

 

(4)货品实体

包含字段:

货物编号,货物名称,货物类型。

(如图7)

图7货品实体

(5)货品类型实体

包含字段:

类型编号,类型名称,类型描述(如图8)

图8货品类型实体

(6)入库记录实体

包含字段:

货品编号,供应商编号,货品名称,货品类型,入库量,入库时间,收购单价。

(如图9)

 

图9入库记录实体

(7)出库记录实体

包含字段:

货品编号,供应商编号,货品名称,货品类型,入库量,入库时间,售出单价。

(如图10)

图10出库记录实体

2.4.2E-R图

通过对各个实体之间的联系进行分析,得出系统的E-R图,如图11所示。

 

图11E-R图

3总体设计

3.1功能模块设计

经过对于本系统的分析主要划分为4个功能模块,分别执行要求中的各个功能。

数据管理中实现对客户管理的查询,删除,增加,更改。

功能模块图如图12所示。

图12功能模块

3.2系统设计方案

系统中不仅可以进行相应的货品查询,而且可以进行其他实体的显示,增加,删除,修改的功能。

3.3数据库设计

3.3.1数据库表设计

对本系统研究后,数据库管理系统采用Oracle实现。

在银行管理器中创建银行数据库,根据上面的关系模式,系统建7个表。

各个表结构如下。

客户表如表1所示。

表1客户表

字段名称

字段类型

字段长度

字段说明

备注

knum

Varchar

50

客户编号

主键

kname

Varchar

50

客户姓名

kID

Varchar

50

身份证号

kel

Varchar

50

联系方式

kno

Varchar

50

职工号

管理员表如表2所示。

表2管理员表

字段名称

字段类型

字段长度

字段说明

备注

ynum

Varchar

50

职工编号

主键

yname

Varchar

50

职工姓名

ysex

Varchar

50

性别

yID

Varchar

50

身份证号

yzw

Varchar

50

职务

供应商表如表3所示

表3供应商表

字段名称

字段类型

字段长度

字段说明

备注

zcount

Varchar

50

编号

主键

znum

Varchar

50

姓名

znum1

Varchar

50

地址

zye

Varchar

50

货物

zky

Varchar

50

电话

货品表如表4所示

表4货品表

字段名称

字段类型

字段长度

字段说明

备注

scount

Varchar

50

货品编号

主键

stime

Varchar

50

货品名称

scount

Varchar

50

入库时间

squ

Varchar

50

出库时间

货品类型表如表5所示

表5货品类型表

字段名称

字段类型

字段长度

字段说明

备注

lnum

Varchar

50

类型编号

主键

lkind

Varchar

50

类型名称

squ

Varchar

50

类型描述

入库记录表如表6所示

表6入库记录表

字段名称

字段类型

字段长度

字段说明

备注

bnum

Varchar

50

货物编号

主键

bkind

Varchar

50

供应商编号

Bming

Varchar

50

货品名称

Blei

Varchar

50

货品类型

Rukuliang

Varchar

50

入库量

Shijian

Varchar

50

入库时间

jiage

Varchar

50

收购价格

 

出库记录表如表7所示

表7出库记录表

字段名称

字段类型

字段长度

字段说明

备注

cno

Varchar

50

货物编号

主键

cnum

Varchar

50

客户编号

ccount

Varchar

50

货品名称

cline

Varchar

50

货品类型

create

Varchar

50

出库量

shijian

Varchar

50

出库时间

jiage

Varchar

50

售出价格

4详细设计

4.1数据库连接

为了建立与数据库的连接,需要使用ADO控件和ADO的对象模型。

图13,14,15,16是功能流程图。

图13修改模块图14删除模块

图15显示数据模块图16添加模块

 

5调试与测试

5.1调试

编好程序后,用各种手段进行查错和排错的过程。

作为程序的正确性不仅仅表现在正常功能的完成上,更重要的是对意外情况的正确处理。

注意,调试的指导思想是尽量证明该程序是有错的,而不是证明它是正确的。

如何能在浩如烟海的程序元素中找到有错误的那个元素,这是调试过程中关键的技术问题。

调试过程主要是运行编制好的程序,然后遇到错误后根据系统的提示,找到相关的问题所在。

本系统调试过程中遇到问题、原因和解决方法如下面介绍。

(1)数据库连接错误

错误原因:

正确输入用户名密码时显示theaccountislocked。

解决方法:

在SQLPlus界面中输入alteruserscottaccountunlock。

(2)弹出框错误

错误原因:

定义类型出错。

解决方法:

更改定义类型。

5.2测试

软件测试是程序的一种执行过程,目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。

它是软件生命周期中一项非常重要且非常复杂的工作,对软件可靠性保证具有极其重要的意义。

在目前形式化方法和程序正确性证明技术还无望成为实用性方法的情况下,软件测试在将来相当一段时间内仍然是软件可靠性保证的有效方法。

软件工程的总目标是充分利用有限的人力和物力资源,高效率、高质量地完成软件开发项目。

不足的测试势必使软件带着一些未揭露的隐藏错误投入运行,这将意味着更大的危险让用户承担。

过度测试则会浪费许多宝贵的资源。

到测试后期,即使找到了错误,然而付出了过高的代价。

(1)添加测试

输入数据1:

06,货品A,1234,5678。

运行结果:

添加成功。

06,货品A,1234,5678。

(2)修改测试

输入数据1:

01,货品B,111111,222222。

运行结果:

01,货品B,111111,222222。

输入数据2:

09,货品B,111111,222222。

运行结果:

输入错误。

(4)删除测试

输入数据1:

货品编号05。

运行结果:

删除成功。

输入数据2:

客户编号00。

运行结果:

输入错误。

(5)查询测试

输入数据1:

货品编号:

01

运行结果:

显示除05货品以外的相关信息。

输入数据2:

货品编号:

飞机

运行结果:

没有该货品号码的信息。

测试结论:

各功能模块都有相应的显示,程序开发成功。

6结论

经过两个一个多星期的努力,完成了本次课程设计。

设计时,严格按照软件工程的思想,从需求分析、可行性分析、总体设计、最后到详细设计。

在设计过程中,我们遇到了很多技术上的问题,平时在学习过程中,即使上机实验也都是些小的、较为简单的程序设计,都称不上为系统,因此,在开发系统的过程中碰到了很多棘手的问题,经过慢慢尝试,多多练习,一点点改进,终于实现所有设计的功能模块。

本次课程设计过程中,我们查阅了很多的资料,所以又进一步掌握更多的专业知识,技能水平也有很大的提高,总之,要勤于动手动脑,多想多试才有创新,才有进步,才有收获。

附录1—用户手册

首页显示主页面如图17

 

图17显示主界面

显示数据库信息如图18

 

图18显示数据库信息

 

修改数据库信息如图19

 

图19修改数据库信息

显示修改后的数据库信息如图20

 

图20修改后数据库信息

 

删除数据库信息如图21

 

图21删除数据库信息

显示删除后的数据库信息如图22

 

图22删除后的数据库信息

 

添加数据库信息如图23

 

图23添加数据库信息

显示添加后的数据库信息如图24

 

图24添加后数据库显示信息

 

查找数据库信息如图25

图25查找数据库信息

显示查找后的数据库信息如图26

 

图26查找后的数据库信息

 

附录2—源程序

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Threading.Tasks;

usingSystem.Windows.Forms;

usingOracle.DataAccess.Client;

namespace银行管理系统

{

publicpartialclassForm1:

Form

{

publicForm1()

{

InitializeComponent();

yl.ConnectionString="DATASOURCE=;PERSISTSECURITYINFO=True;USERID=SYSTEM;PASSWORD=system";

}

privatevoiddataGridView1_CellContentClick(objectsender,DataGridViewCellEventArgse)

{

}

privatevoid显示_Click(objectsender,EventArgse)

{

try

{

yl.Open();

stringsqlStr="SELECTKNOAS客户号,KNAMEAS客户姓名,KIDAS身份证号,KTELAS电话FROMYINHANG";

using(OracleCommandcmd=newOracleCommand(sqlStr,yl))//命令对象

{

using(OracleDataReaderodr=cmd.ExecuteReader())

{

if(odr.Read())

{

OracleDataAdapteroda=newOracleDataAdapter(sqlStr,yl);

DataSetds=newDataSet();

oda.Fill(ds);

dataGridView1.DataSource=ds.Tables[0];

}

else

{

MessageBox.Show("数据表为空");

}

}

}

/*

*try

*{

*OracleCommandcmd=newOracleCommand(sqlStr,conn)

*}

*catch(OracleExceptionex)

*{

*MessageBox.Show("错误:

"+ex.Message);

*}

*finally

*{

*conn.Close();

*}

*/

}

catch(OracleExceptionex)

{

MessageBox.Show("错误:

"+ex.Message);

}

finally

{

yl.Close();

}

}

privatevoid添加_Click(objectsender,EventArgse)

{

AddFormaf=newAddForm();//表名+变量名=new+表名

af.ShowDialog();//变量名.ShowDialog()

显示_Click(null,null);//显示函数(null,null)

}

privatevoid删除_Click(objectsender,EventArgse)

{

DelFormdf=newDelForm();//表名+变量名=new+表名

df.ShowDialog();//变量名.ShowDialog()

显示_Click(null,null);//显示函数(null,null)

}

privatevoid修改_Click(objectsender,EventArgse)

{

Xiugaicf=newXiugai();

cf.ShowDialog();

显示_Click(null,null);//显示函数(null,null)

}

privatevoid查找_Click(objectsender,EventArgse)

{

chazhaocf=newchazhao();

cf.ShowDialog();

显示_Click(null,null);//显示函数(null,null)

}

privateOracleConnectionyl=newOracleConnection();

}

}

添加模块

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Threading.Tasks;

usingSystem.Windows.Forms;

usingOracle.DataAccess.Client;

namespace银行管理系统

{

publicpartialclassAddForm:

Form

{

publicAddForm()

{

InitializeComponent();

yl.ConnectionString="DATASOURCE=;PERSISTSECURITYINFO=True;USERID=SYSTEM;PASSWORD=system";

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

try

{

yl.Open();

stringsqlStr="INSERTINTOYINHANGVALUES('"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"','"+textBox4.Text+"')";

using(OracleCommandcmd=newOracleCommand(sqlStr,yl))

{

intre=cmd.ExecuteNonQuery();

if(re!

=0)

{

MessageBox.Show("插入成功");

Close();

}

else

{

MessageBox.Show("插入失败");

}

 

}

}

catch(OracleExceptionex)

{

MessageBox.Show("错误:

"+ex.Message);

}

finally

{

yl.Close();

}

}

privateOracleConnectionyl=newOracleConnection();

privatevoidbutton2_Click(objectsender,EventArgse)

{

Close();

}

}

}

删除模块

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Threading.Tasks;

usingSystem.Windows.Forms;

usingOracle.DataAccess.Client;

namespace银行管理系统

{

publicpartialclassDelForm:

Form

{

publicDelForm()

{

InitializeComponent();

yl.ConnectionString="DATASOURCE=;PERSISTSECURITYINFO=True;USERID=SYSTEM;PASSWORD=system";

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

Close();

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

try

{

yl.Open();

stringstr="DELETEFROMYINHANGWHEREKNO=:

kno";

using(OracleCommandcmd=newOracleCommand(str,yl))

{

OracleParameterkno=newOracleParameter(":

nso",textBox1.Text);

cmd.Parameters.Add(kno);

intresult=cmd.ExecuteNonQuery();

if(result!

=0)

{

MessageBox.Show("删除成功!

");

}

else

{

MessageBox.Show("没有此学生!

");

}

}

}

catch(OracleExceptionex)

{

MessageBox.Show("错误:

"+ex.Message);

}

finally

{

yl.Close();

}

}

privateOracleConnectionyl=newOracleConnection();

publicOracleParameterkno{get;set;}

}

}

修改模块

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Threading.Tasks;

usingSystem.Windows.Forms;

usingOracle.DataAccess.Client;

namespace银行管理

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 天文地理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1