《管理信息系统课程设计-数据库管理系统(共23页).doc》由会员分享,可在线阅读,更多相关《管理信息系统课程设计-数据库管理系统(共23页).doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上辽 宁 工 业 大 学 管理信息系统设计课程设计报告(论文)题目:数据库系统基础课程设计仓库管理系统 院(系): 软件学院 专业班级: 软件工程113班 学 号: 学生姓名: 安凯辰 指导教师: 王彦华 教师职称: 讲 师 起止时间: 2012.5.28-2012.6.8 课程设计(论文)任务及评语院(系):软件学院 教研室:软件教研室学 号学生姓名安凯辰专业班级软件113课程设计(论文)题目仓库管理系统分析与设计课程设计(论文)任务管理信息系统课程设计作为独立的教学环节,是电子商务专业集中实践性环节系列之一,是学习完管理信息系统课程并进行完专业实习后进行的一次全面的
2、综合练习。任务:采用结构化的系统开发方法,应用具体的计算机语言(如PB、VB、Delphi)和数据库(SQL、Access)等技术,按照软件工程的思想,开发一个实用的中小型管理信息系统,完成仓库管理系统的分析设计实施工作,实现该系统产品入库管理,可以填写入库单,确认产品入库;产品出库管理,可以填写出库单,确认出库;借出管理,凭借条借出,然后能够还库;初始库存设置,设置库存的初始值,库存的上下警戒限;可以进行盘库,反映每月、年的库存情况;可以查询产品入库情况、出库情况、当前库存情况,可以按出库单、入库单,产品、时间进行查询功能,并完成结合分析设计过程,撰写系统设计说明书(课设报告)。1根据课程设
3、计时间选择适当规模大小的设计课题。采用专业实习的调研内容作为课程设计选题。2根据合理的进度安排,按照系统开发的流程及方法,踏实地开展课程设计活动。3课程设计过程中,根据选题的具体需求,在开发各环节中撰写相关的技术文档,最后提交详细的课程设计报告。4开发出可以运行的管理信息系统,通过上机运行检查。5设计说明书要求文档齐备,步骤全整,流程正确,说明详细,具有有可操作性。指导教师评语及成绩成绩: 指导教师签字: 2012 年 6 月 12 日专心-专注-专业目 录第一章 系统分析1. 1 系统需求软件环境: 用户端:windowsvispaSP1,windowsXP服务器端:windows2000及
4、以上操作系统 编程语言:sql数据库:sql2005硬件环境: 有高性能的电子计算机、大容量的存贮装置,个人电脑(终端)以及联结起来的网线等,组成信息资源共享的计算机网络1. 2 系统设计原则1) 系统运行安全可靠,稳定性好; 2) 系统的可管理性和可维护性好; 3) 系统输入界面友好,操作简便易行,尽量减少用户的输入工作量; 4)允许多种数据输入方式,能实现多种查询,允许进行模糊查询; 5)数据具有规范性,整体性,方便数据之间的比较分析。 1. 3 系统可行性分析 技术可行性:系统要求在windows2000以上环境运行,后台数据库采用,使用编程,采用ADO方式连接数据库,程序将部分需要经常
5、调用的数据存入内存,可提高程序运行速度 经济可行性:在经济上,用此系统加强了信息管理效率,为管理人员提供了较高的效率,可节省人力资源的开支。 管理的可行性:在工作上,信息量非常大,开发了此系统,可极大提高人员的工作的效率。方便库存的储存和修改,及以后随时查询信息,是一个比较人性化的管理系统。 1.4 数据字典根据用户需求,该系统应该实现以下功能:产品入库管理,可以填写入库单,确认产品入库;产品出库管理,可以填写出库单,确认出库;借出管理,凭借条借出,然后能够还库;初始库存设置,设置库存的初始值,库存的上下警戒限;可以进行盘库,反映每月、年的库存情况;可以查询产品入库情况、出库情况、当前库存情况
6、,可以按出库单、入库单,产品、时间进行查询;1. 5 系统流程图基本信息查询操作基本信息添加操作单据信息查询操作初始化库存入库信息处理出库信息处理仓库管理系统存储文件货物出库借条信息处理货物入库货物借出货物还库1.6 业务流程图 1.7 实体与实体间E-R模型(CDM图)1.8 PDM图第二章 系统设计2. 1 概念设计实体与实体间E-R模型(CDM图):2. 2 逻辑设计PDM图:第三章 系统实施3.1 数据库表格设计代码create table 仓库( 仓库编号 varchar(30) not null, 仓库名称 varchar(50) not null, 仓库地点 varchar(50
7、) not null, constraint PK_仓库primary key nonclustered (仓库编号)gocreate table 借条信息( 借条编号 varchar(30) not null, 商品编号 varchar(30) not null, 仓库编号 varchar(30) not null, 借出人 varchar(20) not null, 借出时间 datetime not null, 借出数量 int not null constraint CKC_借出数量_借条信息check (借出数量= 1), 还库时间 datetime null, 借用经办人 varc
8、har(20) not null, constraint PK_借条信息primary key nonclustered (借条编号)gocreate index Relationship_7_FK on 借条信息(商品编号ASC)gocreate index Relationship_8_FK on 借条信息(仓库编号ASC)go 入库编号 varchar(30) not null, 入库时间 datetime not null, 入库经办人 varchar(50) not null, 备注 text null, constraint PK_入库单primary key noncluster
9、ed (入库编号)gocreate table 入库明细( 入库编号 varchar(30) not null, 入库明细行号 varchar(30) not null, 商品编号 varchar(30) not null, 仓库编号 varchar(30) not null, 入库单价 money not null, 入库数量 int not null constraint CKC_入库数量_入库明细check (入库数量= 1), 供应商名 varchar(40) not null, constraint PK_入库明细primary key nonclustered (入库编号, 入库明
10、细行号)gocreate index Relationship_1_FK on 入库明细(入库编号ASC)gocreate index Relationship_2_FK on 入库明细(商品编号ASC)gocreate index Relationship_3_FK on 入库明细(仓库编号ASC)gocreate table 出库单( 出库编号 varchar(30) not null, 出库时间 datetime not null, 出库经办人 varchar(20) not null, 备注 text null, constraint PK_出库单primary key nonclus
11、tered (出库编号)gocreate table 出库明细( 出库编号 varchar(30) not null, 出库明细行号 varchar(30) not null, 仓库编号 varchar(30) not null, 商品编号 varchar(30) not null, 出库单价 money not null, 出库数量 int not null constraint CKC_出库数量_出库明细check (出库数量= 1), 客户名称 varchar(40) not null, constraint PK_出库明细primary key nonclustered (出库编号,
12、出库明细行号)gocreate index Relationship_5_FK on 出库明细(商品编号ASC)gocreate index Relationship_4_FK on 出库明细(出库编号ASC)gocreate index Relationship_9_FK on 出库明细(仓库编号ASC)gocreate table 商品信息( 商品编号 varchar(30) not null, 商品名称 varchar(50) not null, 商品类别 varchar(20) not null, 商品规格 varchar(20) null, 计量单位 varchar(20) not
13、null, constraint PK_商品信息primary key nonclustered (商品编号)gocreate table 库存( 仓库编号 varchar(30) not null, 商品编号 varchar(30) not null, 库存数量 int not null, 库存下限 int not null, 库存上限 int not null, constraint PK_库存primary key (仓库编号, 商品编号)gocreate index 库存_FK on 库存(仓库编号ASC)gocreate index 库存_FK on 库存(商品编号ASC)goalt
14、er table 借条信息 add constraint FK_借条信息_RELATIONS_商品信息foreign key (商品编号) references 商品信息(商品编号)goalter table 借条信息 add constraint FK_借条信息_RELATIONS_仓库foreign key (仓库编号) references 仓库(仓库编号)goalter table 入库明细 add constraint FK_入库明细_RELATIONS_入库单foreign key (入库编号) references 入库单(入库编号)goalter table 入库明细 add
15、constraint FK_入库明细_RELATIONS_商品信息foreign key (商品编号) references 商品信息(商品编号)goalter table 入库明细 add constraint FK_入库明细_RELATIONS_仓库foreign key (仓库编号) references 仓库(仓库编号)goalter table 出库明细 add constraint FK_出库明细_RELATIONS_出库单foreign key (出库编号) references 出库单(出库编号)goalter table 出库明细 add constraint FK_出库明细
16、_RELATIONS_商品信息foreign key (商品编号) references 商品信息(商品编号)goalter table 出库明细 add constraint FK_出库明细_RELATIONS_仓库foreign key (仓库编号) references 仓库(仓库编号)goalter table 库存 add constraint FK_库存_库存_仓库foreign key (仓库编号) references 仓库(仓库编号)goalter table 库存 add constraint FK_库存_库存_商品信息foreign key (商品编号) referenc
17、es 商品信息(商品编号)go3.2 存储过程及触发器设计代码create trigger 入库明细_triggeron 入库明细for insertasdeclare a varchar(30),b varchar(30)declare d int,e intselect a=商品编号from insertedselect b=仓库编号from insertedselect d=入库数量from insertedselect e=d + (select 库存数量from 库存where 商品编号=a and 仓库编号=b)if e (select 库存上限from 库存where 商品编号=
18、a and 仓库编号=b) begin raiserror(超过库存上限,不能入库!,0,1) rollback endelse begin update 库存set 库存数量=库存数量+d where 商品编号=a and 仓库编号=b endgocreate trigger 出库明细_triggeron 出库明细for insertasdeclare a varchar(30),b varchar(30)declare d int,e intselect a=商品编号from insertedselect b=仓库编号from insertedselect d=出库数量from inser
19、tedselect e=(select 库存数量from 库存where 商品编号=a and 仓库编号=b)-dif e (select 库存下限from 库存where 商品编号=a and 仓库编号=b) begin raiserror(低于库存下限,不能出库!,0,2) rollback end else begin update 库存set 库存数量=库存数量-d where 商品编号=a and 仓库编号=b endgocreate trigger 借条_triggeron 借条信息for insertasdeclare a varchar(30),b varchar(30)dec
20、lare d int,e intselect a=商品编号from insertedselect b=仓库编号from insertedselect d=借出数量from insertedselect e=(select 库存数量from 库存where 商品编号=a and 仓库编号=b)-dif e (select 库存下限from 库存where 商品编号=a and 仓库编号=b) begin raiserror(低于库存下限,不能借出!,0,2) rollback end else begin update 库存set 库存数量=库存数量-d where 商品编号=a and 仓库编
21、号=b endgocreate trigger 还库_triggeron 借条信息for deleteasdeclare a varchar(30),b varchar(30)declare d int,e intselect a=商品编号from deletedselect b=仓库编号from deletedselect d=借出数量from deletedselect e=d + (select 库存数量from 库存where 商品编号=a and 仓库编号=b) update 库存set 库存数量=库存数量+d where 商品编号=a and 仓库编号=bgocreate proc
22、 库存_proc(a varchar(30),b varchar(30)asselect * from 库存where 仓库编号=a and 商品编号=bVB设计部分界面及代码:登陆界面:主界面:入库单:入库明细单:入库单按时间查询:3.3 与数据库连接代码Imports System.DataImports System.Data.SqlClientClass Login Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If
23、(TextBox1.Text = admin And TextBox2.Text = admin) Then Dim sqlconn As New SqlClient.SqlConnection() windows 集成模式 sqlconn.ConnectionString = Data Source = (local); Initial Catalog=仓库管理系统; Integrated Security=True; 捕获异常 Try 打开连接 sqlconn.Open() MessageBox.Show(连接成功!欢迎进入系统!) Sysmain.Show() Me.Hide() Cat
24、ch ex As SqlClient.SqlException 处理异常 MessageBox.Show(ex.Message) Finally sqlconn.Close() End Try Else MessageBox.Show(用户名或密码错误!) End If End Sub3.4 出库单明细代码Imports System.DataImports System.Data.SqlClientPublic Class 出库单明细 创建连接对象 Dim sqlconn As New SqlConnection() Private Sub 出库单明细_Load(ByVal sender A
25、s System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 设置ConnectionString属性() sqlconn.ConnectionString = Data Source = (local); Initial Catalog=仓库管理系统; Integrated Security=True; End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.C
26、lick Dim sqlStr1 As String Dim sqlcomm1, sqlcomm2 As New SqlCommand() Dim Id, sId, cId, rId, ana, sp, num As String Id = TextBox1.Text sId = TextBox2.Text cId = TextBox3.Text rId = TextBox5.Text ana = TextBox6.Text sp = TextBox4.Text num = TextBox7.Text sqlStr1 = insert into 出库明细 values( + rId + , +
27、 Id + , + cId + , + sId + , + sp + , + num + , + ana + ) MessageBox.Show(sqlStr1) sqlcomm1.Connection = sqlconn sqlcomm1.CommandText = sqlStr1 sqlconn.Open() 打开连接 sqlcomm1.ExecuteNonQuery() MessageBox.Show(操作成功) sqlconn.Close() 关闭连接 End Sub Private Sub Button2_Click(ByVal sender As System.Object, By
28、Val e As System.EventArgs) Handles Button2.Click Close() End SubEnd Class3.5 借条信息查询代码Imports System.DataImports System.Data.SqlClientPublic Class 借条信息查询 创建连接对象 Dim sqlconn As New SqlConnection() Private Sub 借条信息查询_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 设
29、置ConnectionString属性() sqlconn.ConnectionString = Data Source = (local); Initial Catalog=仓库管理系统; Integrated Security=True; End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim sqlcomm As New SqlCommand() Dim sqldr As SqlDataReader Dim
30、 jId, sId, smc, cId, jcr, orDate, jsl, jbr As String jId = TextBox1.Text sqlcomm.Connection = sqlconn sqlcomm.CommandText = select 借条编号,借条信息.商品编号,商品名称,仓库编号,借出人,借出时间,借出数量,借用经办人from 借条信息join 商品信息on 借条信息.商品编号=商品信息.商品编号where 借条编号= + jId + sqlconn.Open() 打开连接 sqldr = sqlcomm.ExecuteReader() 读sqldr中的信息 Wh
31、ile (sqldr.Read() jId = sqldr.GetValue(0) sId = sqldr.GetValue(1) smc = sqldr.GetValue(2) cId = sqldr.GetValue(3) jcr = sqldr.GetValue(4) orDate = sqldr.GetValue(5) jsl = sqldr.GetValue(6) jbr = sqldr.GetValue(7) Dim item1 As New ListViewItem(jId) item1.SubItems.Add(sId) item1.SubItems.Add(smc) item
32、1.SubItems.Add(cId) item1.SubItems.Add(jcr) item1.SubItems.Add(orDate) item1.SubItems.Add(jsl) item1.SubItems.Add(jbr) ListView1.Items.Add(item1) End While sqldr.Close() sqlconn.Close() 关闭连接 End SubEnd Class第四章 系统总结 过实验过程可清晰的体会到概念模型的设计既是重点也是难点。一张CDM图的好坏关系到整个系统的好坏,应该予以重视; 试验中加入了存储过程和触发器等来优化部分操作; 通过与V
33、B的连接实现了系统的集成; 通过该课程设计,又一次巩固了数据库的相关知识,更深一步的认识到了数据库技术的用途。 通过这次课程设计,我对于数据库的设计和应用操作有了很大的进步。以前的学习更多的是理论方面的,当把理论运用到实际操作上时,发现其中有不少的问题。我们组在设计ER模型时出现了不同的看法,最后把两人各自看法中可取的部分优化在一起画出了第一版的ER模型;当进行数据库操作时,发现数据库设计有不合理之处,最根本原因是ER模型设计有问题,经过三次的修改才形成了最后的定稿模型。以前的课程设计都是由个人单独完成的,只能靠自己,这次分小组完成时我们能够吸收别人的好的思路和理念,对于最后的设计完成有很好的
34、帮助。而且以前做课程设计投入的精力完全没有这次多,这次投入了很多,感觉收获的也不少,数据库的知识自然是巩固了,对于数据库与其他高级语言的连接以及数据库在实际生活中的应用有了初步的了解,对今后的工作有很大的帮助。参考文献1. 薛华成主编,管理信息系统,(第三版),北京:清华大学出版社,19992. 姜旭平主编,信息系统开发方法,策略,技术,工具,北京,清华大学出版社,19973. Kenneth C.Laudon 主编,管理信息系统:组织和技术的新途径,北京:清华大选出版社,19984. EZHUBI ZZ主编,管理细小系统案例,北京:机械工业出版社,19985. 斯蒂芬-哈格主编,信息时代的管理信息系统,北京:机械电子工业出版社,19986. 6张玉红主编,FOXPRO2XFORWINDOWES管理信息系统程序设计技术,北京:电子工业出版社,1996