《进销存管理系统》项目设计报告设计书项目名称:进销存管理系统班级:2009级信息管理与信息系统1班设计人员:查君选指导老师:张继燕二〇一二年十二月十九日1进销存管理系统的设计报告一、应用背景:现在的企业规模不断的在扩大,仓存进出货物繁多,工作量大,原有的手工操作耗时费力,又不能保证数据的正确性,用计算机信息化管理实现数据的录入,查询,打印等将是一个迫切的需求。信息化管理将会减少企业的人力物力,能够极大地提高货品库存的管理效率,也是企业库存管理科学化、正规化,与世界接轨的重要条件。因此,开发一个进销存管理系统是很有必要的,其具有特有的技术意义和管理意义。二、需求分析:进销存管理系统主要包括进货管理、销售管理、基础数据管理,系统维护和辅助工具等几个方面的功能,以实现用户方便的输入、查询、修改信息的需求。通过本管理系统软件,能帮助工作人员利用计算机,快速方便的对企业商品的数据进行管理、输入、输出、查找的所需操作,使销售信息具体化、直观化、合理化从而帮助企业提高工作效率。三、功能分析:进销存管理系统主要提供如下的功能:1.进货管理:主要负责商品的进货数据录入,进货退货数据录入,进货分析,进货统计,与供应商往来对账。2.销售管理:主要负责销售数据录入,销售退货数据录入,销售统计,2销售分析,销售排行榜,与代理商往来对账。3.库存管理:主要负责库存状况,库存商品数量上限报警,库存商品数量下限报警,商品进销存变动表,库存盘点。4.基础数据管理:主要负责库存商品,往来对账,内部职员。5.系统维护:主要负责本单位信息,操作员设置,操作权限设置,数据备份,数据库恢复,数据清理。6.辅助工具:主要的功能是登录Internet,启动Word,启动Excel和计算器。四、进销存管理系统功能结构图分析:进销存管理系统业务流程图分析:3五、系统数据库设计:进销存管理系统采用的是SQLServer2008数据库,主要用来存储商品的库存,进货,销售等信息。包括十四张数据表,即往来对账明细表,职员信息表,权限表,销售退货主表,销售退货明细表,进货退货明细表,进货退货主表,销售明细表,销售主表,库存商品基本信息表,本单位信息设置表,往来单位表,进货主表和进货明细表。六、公共类设计:主要包括数据库操作类设计和基础功能模块类设计。其中,数据库操作类主要用来访问SQL数据库,基础功能模块类主要用来处理业务逻辑功能,即实现功能窗体与数据库操作的业务功能。4用户登录界面的设计重点在于利用用户名和密码进行登录,根据输入的用户名和密码在数据库中查找相符的记录,判断是不是所设定的用户和密码,如果是等登录成功;如果不是则弹出提示信息。主窗体设计的原理是当用户登录窗体验证成功后,用户将进入主窗体,主窗体提供了系统菜单栏,通过它调用系统中的所有相关的子模块,快速掌握本系统中所实现的各个功能。内部职员管理的设计主要是设计一个员工注册的界面,里面包括员工的所有信息,通过内部职员的管理可以对员工的信息进行修改,查询,注册,注销等。进货管理模块主要包括对进货单及进货退货单的管理,它们实现的原理是相同的,进货单管理窗体主要用来批量添加进货信息,进货退货单管理窗体主要用来批量添加进货退货信息。七、核心代码:1.数据库操作类设计的核心代码:classDataOP{Employeeemployee=newEmployee();SqlConnectioncon=newSqlConnection();privatevoidOpen(){con=newSqlConnection(DataSource=TANKINGS-PC\\SQLEXPRESS;InitialCatalog=db_EMS;IntegratedSecurity=True);con.Open();}2、登陆界面核心代码pivatevoidbutton2_Click(objectsender,EventArgse){DataOPda=newDataOP();if(this.text_username.Text==张三)if(this.text_password.Text==123){Form2m1=newForm2();}5elseMessageBox.Show(密码错误!请重新输入!);elseMessageBox.Show(用户名不存在!);}}privatevoidbutton1_Click(objectsender,EventArgse){if(this.textBox_empcode.Text==)MessageBox.Show(用户编号不能为空!);elseif(this.textBox_username.Text==)MessageBox.Show(用户名不能为空!);elseif(this.textBox_password.Text==)MessageBox.Show(密码不能为空);elseif(this.textBox_sex.Text==)MessageBox.Show(性别不能为空);elseif(this.textBox_dept.Text==)MessageBox.Show(部门不能为空);elseif(this.textBox_tel.Text==)MessageBox.Show(联系方式不能为空);else{DataOPda=newDataOP();da.savedb(this.textBox_empcode.Text,this.textBox_username.Text,this.textBox_password.Text,this.textBox_sex.Text,this.textBox_dept.Text,this.textBox_tel.Text,this.textBox_memo.Text);3、员工用户管理核心代码1.员工注册:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceWindowsFormsApplication1{publicpartialclassZC:Form{publicZC(){InitializeComponent();}privatevoidregister_Click(objectsender,EventArgse)6{if(this.textBox_employeecode.Text==){MessageBox.Show(员工编号不能为空!);}elseif(this.textBox_fullname.Text==){MessageBox.Show(员工姓名不能为空!);}elseif(this.textBox_password.Text==){MessageBox.Show(密码不能为空!);}elseif(this.comboBox_sex.Text==){MessageBox.Show(性别不能为空!);}elseif(this.dept.Text==){MessageBox.Show(部门不能为空!);}elseif(this.textBox_tel.Text==){MessageBox.Show(电话号码不能为空!);}else{DataOPdop=newDataOP();dop.savedb(this.textBox_employeecode.Text,this.textBox_fullname.Text,this.textBox_password.Text,this.comboBox_sex.Text,this.dept.Text,this.textBox_tel.Text,this.textBox_memo.Text);}}privatevoidcancle_Click(objectsender,EventArgse){this.Close();}}}2.员工信息修改:usingSystem;7usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceWindowsFormsApplication1{publicpartialclassxg:Form{publicxg(){InitializeComponent();}privatevoidtextBox_employeecode_TextChanged(objectsender,EventArgse){}privatevoidtoolStripLabel2_Click(objectsender,EventArgse){DataOPdop=newDataOP();Employeeemployee=dop.reademp(this.emp_code.Text);this.textBox_employeecode.Text=employee.Employeecode;this.textBox_fullname.Text=employee.Fullname;this.textBox_password.Text=employee.Password;this.comboBox_sex.Text=employee.Sex;this.dept.Text=employee.Dept;this.textBox_tel.Text=employee.Tel;this.textBox_memo.Text=employee.Memo;}privatevoidxg_Load(objectsender,EventArgse){}privatevoidcancle_Click(objectsender,EventArgse){this.Close();8}privatevoidtoolStripLabel3_Click(objectsender,EventArgse){this.Close();}privatevoidregister_Click(objectsender,EventArgse){DataOPop=newDataOP();op.modifyemp(this.textBox_fullname.Text,this.textBox_password.Text,this.comboBox_sex.Text,this.dept.Text,this.textBox_tel.Text,this.textBox_memo.Text,this.textBox_employeecode.Text);}}}3.删除员工信息:.点击“删除”按钮的核心代码:privatevoidbutton5_Click(objectsender,EventArgse){if(this.textBox_emcode.Text!=null&&this.textBox_emcode.Text!){da.deleteEmployeeByCode(this.textBox_emcode.Text);}}.数据库操作类核心代码:publicvoiddeleteEmployeeByCode(stringemployeeCode){cmd.CommandText=deletefromtb_employeewhereemployeecode=@employeeCode;cmd.Parameters.Add(newSqlParameter(employeeCode,employeeCode));MessageBox.Show(删除成功!);}}}⑤.进货管理核心代码:保存:privatevoid