1、ASP.NET程序设计试验汇报设计题目: 仓库管理系统 指导老师: 王斌斌 张延红 班 级: 0844131 学 号: 学生姓名: 谢伊豪 同组人员: 王瑛婕 张哲 成绩: 评语: 计算机科学和工程学院11月30日目录一.需求分析31.1开发背景31.2开发意义3二. 总体概述42.1 系统功效42.1.1登录模块42.1.2管理员模块52.1.3系统管理员模块62.2 界面设计72.2.1 登录界面72.2.2 系统管理员界面72.2.3 管理员界面7三. 数据库设计83.1 数据库概念设计83.2 数据流图93.3 数据表设计和实现11四. 系统公共类布署14五. 关键功效模块实现145.
2、1 管理员模块145.1.1 基础信息模块145.1.2 货物信息模块155.1.3 出库入库模块165.1.4 信息查询模块175.1.5 报警功效模块185.1.6 信息导出模块185.2 系统管理员模块195.2.1 管理员信息模块195.2.2 采购员信息模块205.2.3 提货员信息模块20六. 网站公布21七. 心得和体会24八. 参考文件28一. 需求分析1.1开发背景伴随信息技术发展和中国外互联网技术应用水平逐步提升,在企业管理过程中,传统工作方法和管理模式已经难以满足现代社会肯定需求,实现企业现代化综合管理已经是提升国家政府机关和企机关各部门工作效率、规范化管理肯定发展趋势。
3、伴随经济全球化、信息网络化和物流现代化进程全方面推进,仓储供需量展现爆炸式增加,传统仓库管理模式和管理系统,已根本满足不了现代社会全方面信息化严峻挑战,怎样加强以信息化为指导现代仓库管理技术已成为物流现代化走向成功有效路径,怎样将互联网技术和仓储物流信息化技术紧密结合起来,开发出适应该前社会发展需要、优异现代化物流仓储管理技术平台,是现代化物流发展技术中一项基础、又是很关键、尤其值得研究子课题。ASP技术是面向对象编程技术,可实现复杂数据库操作;用ASP开发Web应用程序安装在网络服务器上,运行在网络服务器上,所以ASP源程序隐密安全系数性高;而ASP又是基于B/S模型架构、开放式Web服务器
4、应用程序开发技术,所以,采取ASP技术开发运行在服务器端仓库管理信息系统平台是众多软件设计和开发人士首要选择。本文比较全方面地叙述了和ASP、ADO、B/S模式相关理论技术,为构建Web仓库管理信息系统提供了必需理论支持。首先分析了ASP技术优势、特点及其工作原理,剖析了ASP工作关键内涵,搭建了ASP技术工作环境,为开发系统功效提供必需技术运行环境;分析了现在Web数据库最好访问组件ADO技术对象和数据集之间关系,直接搭建了Web应用程序和数据库访问联络梁;依据现代仓储市场需求特点,对拟开发系统功效进行了细致地分析和设计,建立了仓储数据管理E-R模型图、数据库结构,分析了B/S架构模式三层框
5、架,构建了以该框架为模型仓库管理信息系统,关键分析介绍了相关功效模块ASP实现过程,成功地实现了基于ASP运行环境仓库管理信息系统开发和设计;并对本系统各项功效进行了测试和分析,发觉系统运行状态良好,人机交互友好,程序设计实现合理,达成了项目设计目标和要求。最终,对此次项目设计进行了总结和展望,发觉了系统构架模式关系着程序开发效率,对开发系统有着关键影响意义,好马配好鞍,优异软件肯定有优异构架。作为软件开发设计人员既要努力学好软件技术又要重视相关模式学习,这么,就能达成事半功倍效果,设计开发出愈加优异应用系统来。1.2开发意义仓库管理系统是经典信息管理系统(MIS),其开发关键包含后台数据库建
6、立和维护,和前端应用程序开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好库,而对于后者则要求应用程序功效完备、易使用等特点。经过分析,我们使用Microsoft企业数据库开发工具SQL Server和Microsoft Visual Studio ,利用其提供多种面向对象开发工具和数据库结合比较方便,我们开发了这套库存管理系统,包含仓库管理、入库管理、出库管理、库存管理和查询等模块。仓库管理可用于配置企业仓库信息;出库、入库管理能够使管理人员管理多种类型货物进出;库存管理可提供便捷库存查询管理。仓库管理系统实现了企业对货物管理,用来控制存放货物数量,以确保稳定货物支持正常运转
7、,但又最小程度地占用资本。它是一个相关、动态及真实库存控制系统。它能够结合、满足相关部门需求,随时间改变动态地调整库存,正确地反应库存现实状况,加强库存步骤管理,有效地控制货物收发,降低了库存,优化了库存结构;能够立即了解货物状态,全方位仓库管理能够立即了解货物分布,避免了货物短缺、积压、过期变质,立即了解货物收发成本,货物数据共享。二. 总体概述2.1 系统功效系统要含有以下功效:登录界面统一,用户登录系统时进行身份验证,如不是系统用户则严禁登录; 添加新职员时,经过系统管理员进行添加,并能采集职员基础信息;仓库货物信息管理,系统包含仓库管理、入库、出库和部分统计查询等几部分组成。仓库管理系
8、统实现对货物信息管理和总体统计等,仓库信息,供货单位和操作员信息查看及维护。仓库管理人员能够浏览、查询、添加、删除等产品基础信息。2.1.1登录模块登录模块能够分为系统管理员登录和管理员登录。假如用户要进行登陆时,系统会进去数据库进行帐号密码匹配,同时也要进行权限匹配,假如匹配成功才能够登录。依据其选择用户不一样,输入不一样用户和密码,接入不一样用户界面,管理不一样界面。2.1.2管理员模块 管理员登录:基础信息管理(仓库基础信息,用户基础信息,操作员基础信息) 货物信息管理(对货物信息添加,删除,修改等功效) 仓库货物管理(进行出库和入库操作及其信息统计) 查询信息管理(对仓库,货物,用户等
9、信息查询) 仓库警报功效(当库存信息不足时进行提醒功效) 信息导出功效(导出货物信息,入库信息,出库信息)2.1.3系统管理员模块系统管理员登录:管理员信息管理(对管理员信息添加,修改,删除)采购员信息管理(对采购员信息添加,修改,删除)提货员信息管理(对提货员信息添加,修改,删除)2.2 界面设计2.2.1 登录界面2.2.2 系统管理员界面2.2.3 管理员界面三. 数据库设计3.1 数据库概念设计1.E-R图设计方法 1).属性必需是不可分数据项。2).属性不能和其它实体含有联络,联络只能发生在实体之间。2.全局E-R图3.2 数据流图 3.3 数据表设计和实现(1)仓库表字段名称数据类
10、型描述仓库编号nchar(10)仓库编号,主键仓库名称nvarchar(50)仓库名称仓库地址nvarchar(50)仓库地址仓库大小Int仓库大小(2)入库表字段名称数据类型描述货物编号nchar(10)货物编号采购员编号nchar(10)采购员编号采购日期datetime采购日期采购数量Int采购数量管理员编号nchar(10)管理员编号仓库编号nchar(10)仓库编号(3)出库表字段名称数据类型描述货物编号nchar(10)货物编号提货员编号nchar(10)采购员编号出库日期datetime采购日期出库数量Int采购数量仓库编号nchar(10)仓库编号(4)用户表字段名称数据类型描
11、述用户号varchar(10)用户号,主键用户名varchar(50)用户名用户类型varchar(50)用户类型联络地址varchar(50)联络地址邮政编号varchar(10)邮政编号联络电话varchar(30)联络电话备注varchar(100)备注(5)库存表字段名称数据类型描述货物编号nchar(10)货物编号仓库编号nchar(10)仓库编号货物数量Int货物数量清点时间timestamp清点时间(6)提货员表字段名称数据类型描述提货员编号nchar(10)提货员编号,主键提货员姓名nchar(10)提货员姓名提货员性别nchar(10)提货员性别提货员联络方法nvarchar
12、(50)提货员联络方法提货员联络地址nvarchar(50)提货员联络地址部门nvarchar(50)部门(7)用户表字段名称数据类型描述用户名nchar(10)用户名密码nchar(10)密码权限Int权限(8)管理员表字段名称数据类型描述管理员编号nchar(10)管理员编号,主键管理员姓名nchar(10)管理员姓名管理员性别nchar(10)管理员性别管理员联络方法nvarchar(50)管理员联络方法(9)货物表字段名称数据类型描述货物编号nchar(10)货物编号货物名称nchar(10)货物名称仓库编号nchar(10)仓库编号生产日期datetime生产日期生产厂家nvarch
13、ar(50)生产厂家采购员编号nchar(10)采购员编号货物单价int货物单价入库时间datetime入库时间(10)采购员表字段名称数据类型描述采购员编号nchar(10)提货员编号,主键采购员姓名nchar(10)提货员姓名采购员性别nchar(10)提货员性别采购员联络方法nvarchar(50)提货员联络方法采购员联络地址nvarchar(50)提货员联络地址四. 系统公共类布署using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Data;using
14、 System.Data.SqlClient;public class Class1public Class1() public static SqlConnection myconn() return new SqlConnection(Server=.;DataBase=CangKu;Integrated Security=True;); 五. 关键功效模块实现5.1 管理员模块管理员模块是一个学校学生信息系统中最为关键一个步骤,管理员能操作操作系统内任何信息,具体该系统基础权限,是能够对系统内信息进行维护,对系统进行操作。5.1.1 基础信息模块基础信息模块包含仓库基础信息,用户基础信息
15、,操作员基础信息。仓库基础信息设置有修改和删除功效。用户基础信息设置了添加,删除和修改功效。操作员基础信息设置了修改功效。因为用户信息为常变实体属性,所以设置了添加,修改和删除功效。仓库信息为不常变实体属性,所以设置了修改和删除属性。操作员因为是管理员,不能修改同一等级权限信息,所以只给添加了修改基础信息功效。添加用户信息关键代码protected void Button1_Click(object sender, EventArgs e) SqlCommand mycomm = new SqlCommand(insert into 用户values( + this.TextBox1.Text
16、.ToString() + , + this.TextBox2.Text.ToString() + , + this.TextBox3.Text.ToString() + , + this.TextBox4.Text.ToString() + , + this.TextBox5.Text.ToString() + , + this.TextBox6.Text.ToString() + , + this.TextBox7.Text.ToString() + ), conn); conn.Open(); mycomm.ExecuteNonQuery(); conn.Close(); SqlComm
17、and my = new SqlCommand(select * from 用户where 用户号= + this.TextBox1.Text.ToString() + , conn); conn.Open(); SqlDataReader recu = my.ExecuteReader(); if (recu.Read() Response.Write(alert(添加成功!);); else Response.Write(alert(添加失败! );); conn.Close(); 5.1.2 货物信息模块货物信息模块包含对货物信息添加,货物信息删除,货物信息修改对应现实世界引进新货物,货
18、物信息更新和清仓处理。添加货物信息关键代码protected void Button1_Click(object sender, EventArgs e) SqlCommand mycomm = new SqlCommand(insert into 货物 values( + this.TextBox1.Text.ToString() + , + this.TextBox2.Text.ToString() + , + this.TextBox3.Text.ToString() + , + this.TextBox4.Text.ToString() +, + this.TextBox5.Text.
19、ToString()+, + this.TextBox6.Text.ToString()+, + this.TextBox7.Text.ToString()+, + this.TextBox8.Text.ToString()+), conn); conn.Open(); mycomm.ExecuteNonQuery(); conn.Close(); SqlCommand my = new SqlCommand(select * from 货物 where 货物编号= + this.TextBox1.Text.ToString() + , conn); conn.Open(); SqlDataR
20、eader recu = my.ExecuteReader(); if (recu.Read() Response.Write(alert(添加成功!);); else Response.Write(alert(添加失败! );); conn.Close(); 5.1.3 出库入库模块出库入库模块包含了货物出库和入库模块。对于入库信息来说,当系统开始入库时,先判定货物是否存在,假如不存在话这直接将货物信息插入库存表,然后在入库表中插入统计,提醒入库成功。假如货物存在话则看对应仓库是否存在假如存在话则在原来货物基础上只更新货物数量提醒入库成功,假如仓库不匹配话则插入该货物信息,然后在入库表中插入
21、统计,提醒入库成功。出库信息,当系统开始出库时,先判定货物是否存在假如存在话则看需要出货仓库是否存在,假如存在话再看货物数量是否满足出货数,假如满足则出库成功同时对库存表和出库表进行更新,提醒出库成功,不然则出库失败。入库关键代码protected void Button1_Click(object sender, EventArgs e) SqlCommand my = new SqlCommand(select * from 库存where 货物编号= + this.TextBox1.Text.ToString() + and 仓库编号=+this.TextBox6.Text.ToStri
22、ng() + , conn); conn.Open(); SqlDataReader recu = my.ExecuteReader(); if (recu.Read() conn.Close(); SqlCommand my1 = new SqlCommand(update 库存 SET 货物数量=(货物数量+ + this.TextBox4.Text + ) where 货物编号= + this.TextBox1.Text.ToString() + and 仓库编号= + this.TextBox6.Text.ToString() + , conn); conn.Open(); my1.E
23、xecuteNonQuery(); conn.Close(); else conn.Close(); SqlCommand my2 = new SqlCommand(insert into 库存(货物编号,仓库编号,货物数量) values( + this.TextBox1.Text.ToString() + , + this.TextBox6.Text.ToString() + , + this.TextBox4.Text+ ), conn); conn.Open(); my2.ExecuteNonQuery(); conn.Close(); SqlCommand my3 = new Sql
24、Command(select * from 库存where 货物编号= + this.TextBox1.Text.ToString() + and 仓库编号= + this.TextBox6.Text.ToString() + , conn); conn.Open(); SqlDataReader recu1 = my.ExecuteReader(); if (recu1.Read() conn.Close(); SqlCommand mycomm = new SqlCommand(insert into 入库a values( + this.TextBox1.Text.ToString()
25、+ , + this.TextBox2.Text.ToString() + , + this.TextBox3.Text.ToString() + , + this.TextBox4.Text + , + this.TextBox5.Text.ToString() + , + this.TextBox6.Text.ToString() + ), conn); conn.Open(); mycomm.ExecuteNonQuery(); conn.Close(); Response.Write(alert(添加成功! );); else conn.Close(); Response.Write(
26、alert(添加失败!);); 出库关键代码protected void Button1_Click(object sender, EventArgs e) SqlCommand my = new SqlCommand(select * from 库存where ( 货物编号= + this.TextBox1.Text.ToString() + and 货物数量= + this.TextBox5.Text+ and 仓库编号= + this.TextBox2.Text.ToString() + ) , conn); conn.Open(); SqlDataReader recu = my.Ex
27、ecuteReader(); if (recu.Read() conn.Close(); SqlCommand mycomm = new SqlCommand(insert into 出库 values( + this.TextBox1.Text.ToString() + , + this.TextBox2.Text.ToString() + , + this.TextBox3.Text.ToString() + , + this.TextBox4.Text + , + this.TextBox5.Text.ToString() + , + this.TextBox6.Text.ToStrin
28、g() + ), conn); conn.Open(); mycomm.ExecuteNonQuery(); conn.Close(); SqlCommand my1 = new SqlCommand(update 库存 SET 货物数量=(货物数量- + this.TextBox5.Text + ) where (货物编号= + this.TextBox1.Text.ToString() + and 仓库编号= + this.TextBox2.Text.ToString() + ), conn); conn.Open(); my1.ExecuteNonQuery(); conn.Close(
29、); Response.Write(alert(出库成功!);); else conn.Close(); Response.Write(alert(货物不存在或货物不出库失败!);); 5.1.4 信息查询模块信息查询模块包含货物信息查询,仓库信息查询,用户信息查询。经过对用户表,仓库表和货物表主键进行匹配唯一确实定一行数据反回GridView进行显示。查询仓库信息关键代码 protected void BindGrid() SqlDataAdapter dataAdapter2 = new SqlDataAdapter(select * from 仓库 where 仓库编号= + TextB
30、ox1.Text.ToString() + , myConn); DataSet setS = new DataSet(); dataAdapter2.Fill(setS, AAA); this.GridView1.DataSource = setS.TablesAAA; this.GridView1.DataBind(); 5.1.5 报警功效模块警报信息功效,是当库存中货物数量少于10时候自动提醒管理员要进行立即补货,以免货物短缺,造成损失。警报信息关键代码 protected void Button1_Click(object sender, EventArgs e) Label1.Te
31、xt = 以下货物库存不足,请立即补充; SqlDataAdapter dataAdapter2 = new SqlDataAdapter(select * from 库存 where 货物数量=10, conn); DataSet setS = new DataSet(); dataAdapter2.Fill(setS, AAA); this.GridView1.DataSource = setS.TablesAAA; this.GridView1.DataBind(); 5.1.6 信息导出模块信息导出模块包含了导出货物信息,导出出库信息,导出入库信息功效,方便仓库人员进行报表打印和仓库流
32、水信息。导出货物信息关键代码public override void VerifyRenderingInServerForm(Control control) protected void Button1_Click(object sender, EventArgs e) Response.Clear(); Response.BufferOutput = true; Response.Charset = GB2312; Response.AppendHeader(Content-Disposition, attachment;filename=Statement.doc); Response.
33、ContentEncoding = System.Text.Encoding.GetEncoding(GB2312); Response.ContentType = application/ms-word; GridView1.EnableViewState = false; System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo(ZH-CN, true); System.IO.StringWriter stringWriter = new System.IO.StringWrite
34、r(cultureInfo); System.Web.UI.HtmlTextWriter textWriter = new System.Web.UI.HtmlTextWriter(stringWriter); GridView1.RenderControl(textWriter); Response.Write(stringWriter.ToString(); Response.End(); 5.2 系统管理员模块系统管理员模块,是仓库管理系统关键部分,她拥有系统最高权限,能够管理系统任何事物,能进行,管理员,采购员,提货员添加,修改和删除。5.2.1 管理员信息模块管理员信息模块包含对管理
35、员添加修改和删除功效,因为仓库管理系统由管理员进行管理,所以当添加管理员信息时,在给管理员表添加基础信息同时也给用户表中添加了信息,帐号为管理员编号,密码默认为123.添加管理员信息关键代码protected void Button1_Click(object sender, EventArgs e) SqlCommand mycomm = new SqlCommand(insert into 管理员values(+this.TextBox1.Text.ToString()+,+this.TextBox2.Text.ToString()+,+DropDownList1.SelectedValu
36、e.ToString()+,+this.TextBox3.Text.ToString()+),conn); SqlCommand mycomm1 = new SqlCommand(insert into 用户 values( + this.TextBox1.Text.ToString() + ,123,1), conn); conn.Open(); mycomm.ExecuteNonQuery(); mycomm1.ExecuteNonQuery(); conn.Close(); SqlCommand my = new SqlCommand(select * from 用户where 用户名=
37、 + this.TextBox1.Text.ToString()+,conn); conn.Open(); SqlDataReader recu = my.ExecuteReader(); if (recu.Read() Response.Write(alert(添加成功! );); Else Response.Write(alert(添加失败! );); conn.Close(); 5.2.2 采购员信息模块采购员信息管理(对采购员信息添加,修改,删除)5.2.3 提货员信息模块提货员信息管理(对提货员信息添加,修改,删除)六. 网站公布(1)用户登录界面(2)用户基础信息管理(3)用户信息
38、添加(4)仓库基础信息管理(5)操作员基础信息管理(6)货物信息添加(7)货物修改和删除信息(8)入库出库操作(9)查询信息(10)警报信息(11)导出入库信息七. 心得和体会谢伊豪心得体会:课程设计是培养学生综合利用所学知识,发觉提出分析和处理实际问题,锻炼实践能力关键步骤是对学生实际工作能力具体训练和考察过程此次课程设计即使很辛劳,实在是受益匪浅。原来这门课知识学就不够扎实,此次课程设计,在设计过程中碰到了很多问题,刚开始要设计时候,还真不知道从哪里下手但最终在图书、同学和老师帮助下全部得到了处理,让我学会了好多书本上没有东西,经过此次课程设计我也能将书本上知识融会贯通,起到了很好辅助学习效果,不过我发觉我学到知识比整整一个学期学到全部多。理论和实践相结合是学习最有效方法。在设计过程中发觉了自己不