数据库课程设计物资计划.docx
《数据库课程设计物资计划.docx》由会员分享,可在线阅读,更多相关《数据库课程设计物资计划.docx(30页珍藏版)》请在冰豆网上搜索。
数据库课程设计物资计划
目录
第1章系统分析2
1.1开发背景2
1.1.1基本任务2
1.1.2物资计划管理环节3
1.2系统需求分析4
1.3开发环境5
第2章系统设计6
2.1系统架构6
2.2系统功能模块7
2.3系统数据库设计9
第3章系统实现12
3.1登录页面12
3.2管理员主界面13
3.3用户主界面14
3.4用户注册界面15
3.5修改密码界面16
3.6查询计划界面17
3.7修改计划界面19
3.8增加记录界面21
第4章系统测试23
4-1测试目的23
4-2功能测试23
第5章结束语25
参考文献26
第1章系统分析
1.1开发背景
物资计划管理是企事业单位物资管理部门为确保物资计划能够顺利执行和全面实现而进行的调查研究、监督检查、调节控制和考核总结等活动,也是对物资从生产到消费过程的中间环节的管理过程。
对物资的流通进行组织和管理的各种计划手段的总称。
在中国,物资计划是物资管理部门组织和管理物资的申请、平衡分配、供销和经营等各项经济活动的重要手段。
它是国民经济计划的重要组成部分,也是国民经济计划赖以实现的物质基础。
物资计划是物资工作的起点,是物资工作的一项重要内容。
物资系统的信息包括两个方面:
一方面是物资系统内部的信息,如记账凭证、统计资料,库存情况及各项经济指标的完成情况、经营管理的经验和问题等。
另一方面是物资系统外部的信息,如公司有关政策、法令,公司经济计划,上级的建议或指令,供应商的生产情况,本公司的消耗定额等。
物资管理人员根据这些原始信息进行加工处理、分类比较,才会得出物资计划的最佳方案。
1.1.1基本任务
查明物资的资源与需求,使其在数量、质量和品种规格上保持平衡;合理安排物资的使用方向,使公司经济保持协调的比例关系;有效地利用物质资源,提高物资使用的经济效益。
制定物资计划遵循的基本原则是:
要依据公司在一定时期内所确定的方针、政策和任务;要坚持计划的科学性,做到积极、准确、可靠、留有余地;要统筹兼顾,全面安排,保证重点,照顾一般。
物资计划的主要内容是:
①物资申请计划。
需用单位向企业物资管理部门提报所需物资的要货计划。
它是企业组织生产和建设的前提,也是物资管理部门制定物资平衡分配计划的依据。
②物资平衡分配计划。
对物资资源与物资需要进行综合平衡,按照物资的使用方向进行合理分配的计划。
它是制定物资供应计划的依据,也是实现物资申请计划的保证。
③物资供应计划。
物资平衡分配计划的执行计划。
它的执行过程,亦即供需双方通过各种订货方式衔接产需和签订购销合同的过程。
④物资流转计划。
它是物资供销企业全部经营业务活动的主导计划,是以价值量和使用价值量两种指标反映和指导物资供销企业购进、销售、调运和储存等经营业务的计划,是制定其他经营业务计划(包括运输、财务、劳动工资、基本建设等)的基础。
1.1.2物资计划管理环节
物资计划的编制是企业物资管理的首要环节。
物资计划是企业进行订货采购工作和组织企业内部物资供应工作的依据。
目前,综合物资、生产、财务等各部门的信息进行物资计划编制,由物资部门监督计划落实的物资计划管理模式已经被越来越多的企业所采用。
物资管理结构图
在计划经济时期,物资计划的编制主要是以国家下达的产量为依据,物资的采购、使用和储备都是以满足产量为标准。
今天,瞬息万变的市场对企业物资计划的编制提出了更高的要求,综合企业内部各部门的信息进行物资计划编制,可以使计划更精准、更科学、更具可操作性。
在计划制订之初,物资部门组织人员对物资市场进行调研,深入了解物资行情,掌握第一手的价格资讯;生产部门则根据生产能力、预期产量、用户需求、发展储备等因素,估算所需物资的数量、种类,提报物资需求清单;财务部门则负责提供流动资金的详细信息,以资金净流量约束物资计划的规模。
企业在通过计算机系统综合处理各部门所提供信息的基础上,统筹安排企业的物资采购、使用、储藏等行为,编制科学、合理的物资计划。
而且,计划制订之后,由物资部门担负计划落实及监督的任务,通过定期的物资供应例会等形式,对物资计划的执行进行监督,发现问题及时解决。
物资计划管理不但是其他物资管理环节的重要前提,也是有效避免物资浪费的重要保证。
例如,施工企业在物资计划管理方面狠下功夫后,在工程招标阶段,物资部门就组织材料人员对当地的市场行情和资源状况进行调研,评估项目所需的材料数量和种类;中标后工程计划部门立即对单项工程、分布施工量进行预算分割,财务部门则根据预算分割控制各项费用的支出;经过多部门的协调合作,结果使企业所制订的物资计划既切实可行又达到了控制成本的目的。
电子计算机在物资管理中应用在以下几个方面:
数值计算:
计算机的特点之一是适用于大批量的数值计算,应用计算机进行数值计算.可以节省大量时间、人力和物力。
在物资流通领域,物资管理的数学模型计算工作十分浩繁。
利用计算机高速运算的特点.可以解决物资管理的数学模型问题,为实现现代化物资管理开创了有利条件。
数据处理:
就是对数据(信息)进行综合分析、加工整理,按照要求将一种数据形式转换成另一种数据形式,也就是通常所说的“信息处理”.这是目前计算机在物资系统应用最多的一种形式。
因为在物资流通领域存在着大量的数据信息.如物资的进、销、存量及各种物资的型号,规格、数量,随着物资实体的移动,还会产生许多新的信息。
用人工方法处理这样浩繁的数据很难做到及时准确而用计算机处理这种大批量的数据,就能做到快速准确,大大地提高工作效率。
自动控制:
计算机能根据外部的信息变化发生相应的修正指令,实现过程的自动控制。
利用计算机进行仓库管理,可以实现仓库管理自动化,简化手续、减少差错、加快物资周转、压缩库存资金,可以做到合理进货、计划供应,在最小库存量和最大供应量之间寻求最佳动态平衡,以求得最大经济效益。
如果把各种物资的编号、名称、规格、单位、单价、存放地址,最高库存量、最低库存量等存入计算机,再将入库、出库量不断输入计算机,便可随时掌握库存情况。
如果产品可能积压或需要进货时,计算机会自动显示或打印清单,提醒管理人员注意。
另外。
某些物资如酸、碱等,不宜手工作业,应用计算机控制自动操作就能解决这个问题。
1.2系统需求分析
该系统是物资计划管理系统,主要是对一个企业或者公司的物资进行计划生产,引进或者出售。
系统允许用户和管理员两个身份的人进行操作,用户实现的功能为:
物资概况,修改密码,用户注册,计划查询四个功能。
管理员相对于用户来说实现的功能更多:
物资概况,修改密码,用户注册,计划查询,计划修改,增加记录,上月查询,用户管理等功能.
数据流程图如图1-1所示:
图1-1系统数据流图
1.3开发环境
数据库是一个单位或是一个应用领域的通用数据处理系统,他存储的是属于企业和事业部门、团体和个人的有关数据的集合。
数据库中的数据是从全局观点出发建立的,他按一定的数据模型进行组织、描述和存储。
其结构基于数据间的自然联系,从而可提供一切必要的存取路径,且数据不再针对某一应用,而是面向全组织,具有整体的结构化特征。
数据库中的数据是为众多用户所共享其信息而建立的,已经摆脱了具体程序的限制和制约。
不同的用户可以按各自的用法使用数据库中的数据;多个用户可以同时共享数据库中的数据资源,即不同的用户可以同时存取数据库中的同一个数据。
数据共享性不仅满足了各用户对信息内容的要求,同时也满足了各用户之间信息通信的要求。
系统设计中,涉及的表格和数据比较多,所以我们应该选择一个处理数据和表格都比较方便的开发工具来设计该系统。
综合各个方面的因素,我们选用SQLServer作为数据库开发。
SQL是高级的非过程化编程语言,是沟通数据库服务器和客户端的重要工具,允许用户在高层数据结构上工作。
它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以,具有完全不同底层结构的不同数据库系统,可以使用相同的SQL语言作为数据输入与管理的接口。
SQL语言的功能包括查询、操纵、定义和控制,是一个综合的、通用的关系数据库语言,同时又是一种高度非过程化的语言,只要求用户指出做什么而不需要指出怎么做。
SQL集成实现了数据库生命周期中的全部操作。
SQL提供了与关系数据库进行交互的方法,它可以与标准的编程语言一起工作。
SQL面向数据库执行查询;SQL可从数据库取回数据;SQL可在数据库中插入新的记录;SQL可更新数据库中的数据;SQL可从数据库删除记录;SQL可创建新数据库;SQL可在数据库中创建新表;SQL可在数据库中创建存储过程;SQL可在数据库中创建视图;SQL可以设置表、存储过程和视图的权限。
SQL是一门ANSI的标准计算机语言,用来访问和操作数据库系统。
SQL语句用于取回和更新数据库中的数据。
我们把物资计划的所有数据都存储在数据库中,充分的利用SQL功能,来实现我们实现物资计划管理系统与数据库的链接
.NET是MicrosoftXMLWebservices平台。
XMLWebservices允许应用程序通过Internet进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。
系统界面的实现我们用.NET开发,用VB语言进行编码,VB编程语言是微软在.NET计划中重要的开发语言,它具有语法简单,功能强大,快速应用,语言自由,强大的Web服务器控件,支持跨平台,与XML相融合等。
因此选择VB编程语言。
第2章系统设计
2.1系统架构
整个系统分为三个部分,管理员、用户和主界面。
系统运行后,首先,是一个登陆界面,因为系统是面向特定的某些对象的,所以用户进入系统应该进行身份验证。
根据不同的身份进入不同的操作界面。
由于不同角色对系统的操作不同,系统允许他们的操作也不一样,所以,登陆成功后,管理员和用户会进入不同的操作界面,从而进行不同的操作。
用户进入物资计划管理系统后,可以根据自己的需要进行物资概况的查看,修改用户的密码,注册另外一个用户,还可以进行物资计划的查询。
每一个用户,所能进行的操作都是一样的,用户的权限比较少,他不能对计划进行修改,只能查看计划,只能根据计划的情况实现自己的工作。
如果他有什么计划方面的想法,只能通过管理员,把有关计划的想法告诉管理员,然后,管理员根据需求去修改计划。
另外,用户可以修改自己的用户密码,如果不想再使用该用户,还可以重新注册一个新的用户。
对于管理员来说,他对系统的使用权限比用户大,系统的所有操作,他都能使用。
他管理整个系统,可以对系统进行任何操作,包括修改,删除,更新。
如果用户有什么需求,他可以跟根据需求对数据库进行合理的修改,以达到最好的计划方案。
对于其他的人,如果想进行该系统的访问,只能在用户和管理员的协助下来实现。
用户可以用自己的账户登录来帮助他人访问,但是对于管理员来说,他只能帮助他人申请注册一个新的用户来帮助访问,不能直接利用管理员身份进入的系统来给他人访问,那样可能会导致数据的丢失与泄露。
本系统是以WindowsXP系统为操作平台,在.NET环境下编程实现。
.NET环境中使用的是VB语言,
系统ER图,ER图包括:
实体,属性,联系;
现实世界事物之间的联系可归纳为三类:
1.一对一联系(1:
1)
2.一对多联系(1:
n)
3.多对多联系(n:
n)
N
NNN
11N
1
11
1NN
图2-1系统E-R图
2.2系统功能模块
本系统分为用户管理模块、管理员管理模块、物资概况管理模块、用户注册管理模块、密码修改模块、上月销售管理模块、查询计划管理模块、修改记录管理模块、增加记录管理模块九个模块。
图2-2系统模块图
该系统可以为用户和管理员共同使用,他们在系统中所当任的角色不一样,所以我们还要利用用例图来说明用户和管理员在系统中各种行为
用例模型是把满足用户需要的所有功能表示出来的工具。
对于正在构造的新系统,用例模型描述系统应该做什么,对于已构造的系统,用例模型则反映了系统能够完成什么样的功能。
用例模型由用例、角色和系统三部分组成。
用例模型由用例图构成,用例图可以由系统、角色和用例三种模型元素及元素之间的各种关系组成。
其中用例图包括:
用户用例图和管理员用例图;
学生用例图:
图2-3用户用例图
管理员用例图:
图2-4管理员用例图
2.3系统数据库设计
我们是用SQL来设计数据库的,SQL开发工具中,存储数据是以表格的形式,根据系统要实现上面的所有功能模块,数据库共要设计六个表,它们分别是:
用户登录表,物资概况表,上月销售表,本月采购计划表,本月销售表,下月计划表。
表2-1用户登录表
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
admin
char
20
N
Y
用户名
2
pwd
char
20
N
N
密码
3
sex
char
10
N
N
性别
4
age
int
4
Y
N
年龄
5
Admin_name
char
30
N
N
角色
表2-2物资概况表
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
goods
char
20
N
Y
商品名
2
goods_num
int
4
N
N
商品号
3
total_value
float
8
N
N
总价值
4
goods_amount
int
4
N
N
商品总量
5
provider
char
10
N
N
供应商
表2-3上月销售表
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
goods_name
char
20
N
Y
商品名
2
retail_num
int
4
N
N
零售量
3
benefit
int
4
N
N
盈利
4
provider
char
10
Y
N
供应商
表2-4本月采购计划表
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
goods_name
char
10
N
Y
商品名
2
cost_price
int
4
N
N
原价
3
produce_num
int
4
N
N
采购量
4
goods
char
20
Y
N
商品类型
5
provider
char
20
N
N
供应商
6
date
datetime
8
Y
N
采购时间
表2-5本月销售表
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
goods_name
char
20
N
N
商品名
2
retail_price
int
4
N
N
零售价
3
retail_num
char
10
N
N
零售量
4
goods
char
20
Y
N
商品类型
5
goods_num
int
4
N
Y
商品号
表2-6下月计划表
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
goods_name
char
20
N
Y
商品名
2
retail_price
int
4
N
N
零售价
3
retail_num
char
10
N
N
零售量
4
goods
char
20
Y
N
商品类型
5
produce_num
int
4
N
N
采购量
6
provider
char
20
Y
N
供应商
第3章系统实现
3.1登录页面
要进入一个系统,首先必须都得有一个登录界面,登录界面就好比一个系统的入口,有了入口,我们还需要用户名和密码,登录界面如图(图3-1)。
界面包括一个panel和image,最上面是panel,背景是一副图片,旁边插入了一个image控件,另外一部分是主要的登录部分:
两个文本框,一个下拉列表,两个按钮------分别是:
用户名,密码,角色,登录,取消。
登录时,我们有两种选择,一是用户,输入用户名,输入密码,角色必须选择用户,然后按登录按钮,就可以进入到用户主界面。
如果有一项不正确,就会在最下面弹出“登录失败,您必须输入有效的用户名或者密码”的字样;另一个是管理员,角色必须选择管理员,登录后就进入到管理员主界面。
图3-1登录界面
实现登录时,我们必须使输入的用户名,密码,角色与数据库中的匹配,这样才能连接成功,如果成功匹配了,我们就登录成功,进入到系统界面;如果发现数据库中没有你输入的用户,或者密码和角色不正确,登录失败。
具体代码如下:
DimconnAsNewOleDbConnection("Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;UserID=sa;InitialCatalog=mmp;DataSource=.")
DimcmdAsNewOleDbCommand("select*fromadminwhereadmin='"+TextBox1.Text+"'andpwd='"+TextBox2.Text+"'andadmin_name='"+type.SelectedItem.Value+"'",conn)
conn.Open()
DimdrAsOleDbDataReader=cmd.ExecuteReader()
Ifdr.Read()=TrueThen
Iftype.SelectedItem.Value="管理员"Then
conn.Close()
Session("role")="管理员"
Response.Redirect("main.aspx")
ElseIftype.SelectedItem.Value="用户"Then
conn.Close()
Session("role")="用户"
Response.Redirect("jiemian.aspx")
EndIf
Else
conn.Close()
Label1.Text="登录失败,您必须输入有效的用户名或者密码"
EndIf
3.2管理员主界面
管理员是用table布局,管理员可以实现所有的功能,主界面如图3-2所示;管理员可以实现任何可以实现的功能,另外还可以对用户进行管理。
图3-2管理员主界面
主界面实现比较简单,只是简单的跳转,主要控件是LinkButton,然后再控件里编程。
主要代码如下:
Response.Redirect("general.aspx")其中general.aspx是要跳转的页面的名字。
3.3用户主界面
当以用户的身份登录时,进入的是用户的主界面,如图3-3所示;用户实现的操作比管理员要少,他只能看到本公司的计划,并且只能查看计划,不能对计划进行修改、删除、更新等操作。
另外用户还可以修改自己的用户密码,也可以重新注册一个新的用户。
其代码跟管理员界面实现的
图3-3用户主界面
3.4用户注册界面
当用户或者管理员进入系统后,他们都可以在重新注册一个新的用户。
也是在一个table控件里实现,注册用户时包括:
用户名、密码、确认密码、性别、年龄、角色。
前面三个和年龄都是要用文本框来添加,性别用单选按钮,角色用下拉框实现;主要的界面图如图3-4所示
图3-4用户注册界面
用户注册时,注册的用户信息直接被写入到数据库,主要代码如下:
DimconnAsNewOleDbConnection("Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;UserID=sa;InitialCatalog=mmp;DataSource=.")
DimcmdAsNewOleDbCommand("Insertintoadmin(admin,pwd,sex,age,admin_name)values('"&TextBox1.Text&"','"&TextBox2.Text&"','"&sex.SelectedItem.Text&"','"&age.Text&"','"&type.SelectedItem.Value&"')",conn)
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
Label4.Text="注册成功"
TextBox1.Text=""
TextBox2.Text=""
TextBox3.Text=""
age.Text=""
3.5修改密码界面
用户或者管理员如果想修改自己的密码,可以进入修改密码主界面。
但是他们只能修改自己的密码。
界面如图3-5;
图3-5修改密码界面
修改密码界面都是用文本框来实现,如果用户输入正确的用户名和密码,就可以修改自己的密码,如果输入错误,还可以重新设置,退出时,如果是以用户的身份登录,则退到用户界面,如果是用管理员的身份登录,则退到管理员主界面。
具体代码如下:
DimconnAsNewOleDbConnection("Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;UserID=sa;InitialCatalog=mmp;DataSource=.")
DimcmdAsNewOleDbCommand("updateadminsetpwd='"&TextBox2.Text&"'whereadmin='"&TextBox4.Text&"'andpwd='"&TextBox1.Text&"'",conn)
Dimcmd2AsNewOleDbCommand("select*fromadminwhereadmin='"&TextBox4.Text&"'andpwd='"&TextBox2.Text&"'",conn)
conn.Open()
cmd.ExecuteNonQuery()
cmd2.ExecuteNonQuery()
DimdrAsOleDbDataReader=cmd2.ExecuteReader()
Ifdr.Read()=TrueThen
conn.Close()
Label5.Text="密码修改成功"
Else
conn.Close()
Label5.Text="密码修改不成功"
E