




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、山东财经大学课程设计报告课程名称:管理信息系统解决方案设计开课学期: 2011至2012学年1学期开课班级: 信息0902 指导老师: 刘位龙 完成时间: 2011 年 12月 21日课程设计名称:库存管理系统的设计与开发项目组长 学号: 2009010339 姓名: 茅学艳 成 员 学号: 2009010335 姓名: 刘琳钰 学号: 2009010340 姓名: 曲媛 任务贡献表序号姓名班级学号E_mail电话签名1茅学艳信息09022009010339任务贡献界面设计,系统需求与功能分析,用例图绘制,系统数据库设计,程序设计,程序代码和文档整合,系统测试2刘琳钰信息09022009010
2、335任务贡献分析系统需求与功能,绘制顺序图,系统数据库设计,程序设计,文档整合,系统测设3曲媛信息09022009010340任务贡献界面设计,分析系统需求与功能,绘制用例图、类图、顺序图,系统数据库设计,程序设计,文档整合,系统测试,目 录1系统概述21.1背景21.2 系统目标21.3 系统需求规格说明22系统分析32.1 用例建模32.1.1 识别参与者和用例32.1.2 绘制用例图32.1.3 用例的描述3用例-入库4用例-缺货管理52.2 类图建模62.2.1 识别对象和类62.2.2 识别属性与操作62.2.3 绘制类图72.3 顺序图建模82.3.1 “登录”用例82.3.2
3、“入库”用例92.3.3 “出库”用例92.3.4 “查询货品信息”用例102.3.5 “缺货管理”用例11“货品报废”用例122.4 状态图模型的建立123系统设计133.1 系统界面设计133.2系统数据库设计153.3包图模型174.系统设计184.1程序设计18实现入库功能的程序设计18实现库存管理系统中系统入库、出库、信息查询、缺货管理、库存报废功能的程序设计(见附页)244.2 系统测试244.3 系统操作手册271系统概述 1.1背景企业的库存物资管理往往是很复杂、很繁琐的。由于所掌握的物资种类众多,订货、管理、发放的渠道各有差异,各个企业之间的管理体制不尽相同,各类统计报表繁多
4、,因此仓库的库存管理必须编制一套库存管理信息系统,实现计算机化操作,而且必须根据企业的具体情况制定相应的方案。 由于超市的行业特殊性,产品种类繁多,业务量巨大,若仍然采用人工记账的方式,必然不能满足企业的需求,企业需要利用计算机来进行库存管理,因此需要构造一个库存管理系统。1.2 系统目标库存管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起一个数据一致性和完整性强、数据安全性好的库;而对于后者则要求应用程序具有功能完备、易使用等特点。 实现对货品入库、出库、库存进行全面管理的各种功能。在管理内容上,它的主要功能包括:
5、入库管理:货品采购入库,入库单据的填写和修改货品明细表。 出库管理:货品出库,出库单据的填写和修改货品明细表。信息查询:货品信息查询,库存信息查询。缺货管理:生成缺货单,查询缺货物品明细。库存报废:将报废物品删除1.3 系统需求规格说明指定工具编程工具:visual studio 2008数据库管理系统:SQL server 2005开发环境操作系统:windows XP.Net测试环境操作系统:windows XP数据库管理系统:SQL server 20052系统分析2.1 用例建模 识别参与者和用例1.该库存管理系统的参与者主要是:仓库管理员2.该库存管理系统的用例有:入库管理用例,出库
6、管理用例,信息查询用例,缺货管理用例,库存报废用例 绘制用例图 图2-1 用例的描述用例登录启动者仓库管理员支持者主要流程:1. 仓库管理员输入相关信息(用户名,密码);2. 系统通过数据库中的管理员信息表判断密码是否正确;3. 登录至主界面。替代流程:若密码错误,返回密码错误窗口,显示“输入密码错误”;企业规则: 仅有一个管理员,一个管理员仅对应一个密码议题与其他用例登录用例入库管理启动者仓库管理员支持者主要流程:1. 仓库管理员填写入库单;2. 系统生成入库单;3. 系统修改货品明细表。替代流程企业规则:议题与其他 用例-入库用例出库管理启动者仓库管理员支持者主要流程:1.仓库管理员填写出
7、库单;2.系统生成出库单;3.系统修改货品明细表。 用例-出库用例信息查询启动者仓库管理员支持者主要流程:1. 仓库管理员输入货品信息;2.仓库管理员点击查询货品信息;3.系统从货品明细表返回货品信息。 用例-信息查询用例缺货管理启动者仓库管理员支持者主要流程:1. 仓库管理员填写缺货单,系统生成缺货单;2.仓库管理员点击查询,系统依缺货单返回缺货物品信息; 用例-缺货管理 用例库存报废启动者仓库管理员支持者主要流程:1. 仓库管理员输入报废货品名称;2.仓库管理员点击货品报废;3.系统删除货品信息记录;4.系统返回货品报废成功; 用例-库存报废2.2 类图建模 识别对象和类1. 入库管理用例
8、中,仓库管理员通过填写货品名称,货品编号,货品数量,进货价格,入库单号来生成入库单。在此用例中,涉及到实体类仓库管理员类。入库管理过程需要入库管理控制,由此必须存在一个入库管理控制类。入库管理界面需要一个界面类来显示信息。2. 出库管理用例中,库管理员通过填写货品名称,货品编号,货品数量,进货价格,出库单号来生成出库单。在此用例中,涉及到实体类仓库管理员类。出库管理过程需要出库管理控制,由此必须存在一个出库管理控制类。出库管理界面需要一个界面类来显示信息。3. 信息查询用例中,仓库管理员查询货品信息,具体信息必须存储在数据库中,获取信息需要实体类货品类。在查询过程中需要查询控制类和查询界面类。
9、4. 缺货管理用例中,仓库管理员填写货品名称、货品编号生成缺货单,并且可以缺货单的具体信息。缺货单类就是该过程中的实体类,而缺货管理控制类和缺货界面类也是不可缺少的。5. 库存报废用例,仓库管理员通过填写已报废的货品名称在货品明细中删除该货品,无需创建实体类。创建库存报废控制类和库存报废界面类。 识别属性与操作1.仓库管理员类(member):属性:用户名(usename),密码(password)操作:登录,验证账号密码是否正错(login()2.货品类(ticket)属性:货品名称(productname),货品编号(productnumber),进货价格(importprice)货品价格
10、(productprice)操作:1.查看货品信息(select() 2增加货品库存3.减少货品库存3.货品明细表(productlist)属性:货品名称(productname),货品编号(productnumber),货品数量(productquantity),进货价格(importprice)货品价格(productprice)操作:1.增删货品 2.查询货品明细4.入库单(importlist)属性:货品名称(productname),货品编号(productnumber),货品数量(productquantity),进货价格(importprice)货品价格(productprice
11、)操作:1.生成入库单 2.填写入库单5.出库单(emportlist)属性:货品名称(productname),货品编号(productnumber),货品数量(productquantity),货品价格(productprice)操作:1.生成出库单 2.更改到货品明细表6.缺货单(shortlist)属性:货品名称(productname),货品编号(productnumber)操作:1.生成缺货单2.查询缺货单7.仓库管理员登录界面类操作:1.登录(用户名:string,密码:string) 2.进入主界面8.入库管理类操作:增加入库单9.出库管理类操作:1.填写出库单 2.生成出库单
12、10. 信息查询类操作:查询货品信息11. 缺货管理类操作:1.生成缺货单 2.查询缺货单12库存报废类操作:将报废货品删除 绘制类图 图2-22.3 顺序图建模 “登录”用例 “入库”用例 图2-3 “出库”用例 图2-4 “查询货品信息”用例图2-5 “缺货管理”用例图2-6“货品报废”用例图2-72.4 状态图模型的建立如下图:图2-83系统设计3.1 系统界面设计图3-1图3-2图3-3图3-4图3-5 图3-6图3-73.2系统数据库设计1.数据库 库存管理系统中的表2.表的介绍(1)LoginUser 图3-8(2)ImportList图3-9(3)ExportList图3-10(
13、4)ProductList图3-11(5)ShortList图3-123.3包图模型设计如下:图3-134.系统设计4.1程序设计 实现入库功能的程序设计1.model(入库)using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace model public class Product public Product() #region model private String ProductName; private String ProductNumber; priv
14、ate String ProductQuantity; private String ImportNumber; private String ImportPrice; private String ImportDate; private String ExportNumber; private String ProductPrice; private String ExportDate; public String PName get return this.ProductName; set this.ProductName = value; public String PNumber ge
15、t return this.ProductNumber; set this.ProductNumber = value; public String PQuantity get return this.ProductQuantity; set this.ProductQuantity = value; public String INumber get return this.ImportNumber; set this.ImportNumber = value; public String IPrice get return this.ImportPrice; set this.Import
16、Price = value; public String IDate get return this.ImportDate; set this.ImportDate = value; #endregion model 2.DAL(入库)using System;using System.Data.SqlClient;using System.Data;using model;namespace DAL public class DAProduct private SqlConnection cnn; private model.Product cus; /local variables pri
17、vate String strTable = "" private String strFields = "" private String strValues = "" private String insertStr = "" /this needs to be changed based on customer table fields' Name private const String thisTable = "ImportList" private const string
18、ImportList_ImportNumber = "ImportNumber" private const String ImportList_ProductName = "ProductName" private const string ImportList_ProductQuantity = "ProductQuantity" private const string ImportList_ImportPrice = "ImportPrice" private const string ImportList
19、_ProductNumber = "ProductNumber" private const string ImportList_ImportDate = "ImportDate" private String strTable2 = "" private String strFields2= "" private String strValues2 = "" private String insertStr2= "" private const String thisTab
20、le2 = "ProductList" private const String ProductList_ProductName= "ProductName" private const String ProductList_ProductQuantity = "ProductQuantity" private const String ProductList_ImportPrice = "ImportPrice" private const String ProductList_ProductNumber = &
21、quot;ProductNumber" public DAProduct() public DAProduct(model.Product Product) / A reference of the business object class cus = Product; public void Add1(model.Product cus) strTable2 = "Insert into " + thisTable2; strFields2= " (" + ProductList_ProductName + "," +
22、ProductList_ProductQuantity + "," + ProductList_ImportPrice + "," + ProductList_ProductNumber + ")" strValues2 = " Values ( '" + cus.PName + "' , '" + cus.PQuantity + "' , '" + cus.IPrice + "' , '" + cu
23、s.PNumber + "' )" insertStr2 = strTable2 + strFields2 + strValues2; OpenCnn(); SqlCommand cmd2 = new SqlCommand(insertStr2, cnn); cmd2.ExecuteNonQuery(); CloseCnn(); strTable = "Insert into " + thisTable; strFields = " (" + ImportList_ImportNumber + "," +
24、ImportList_ProductName + "," + ImportList_ProductQuantity + "," + ImportList_ImportPrice + "," + ImportList_ProductNumber + "," + ImportList_ImportDate + ")" strValues = " Values ( '" + cus.INumber + "' , '" + cus.PNam
25、e + "' , '" + cus.PQuantity + "' , '" + cus.IPrice + "' , '" + cus.PNumber + "' , '" + cus.IDate + "' )" insertStr = strTable + strFields + strValues; OpenCnn(); SqlCommand cmd = new SqlCommand(insertStr, cnn); cmd
26、.ExecuteNonQuery(); CloseCnn(); public void Add4(model.Product cus) OpenCnn(); string selectStr1 = "update ProductList set ProductQuantity=ProductQuantity+'" + cus.PQuantity + "' where ProductName='" + cus.PName + "'" SqlCommand cmd1 = new SqlCommand(sel
27、ectStr1, cnn); cmd1.ExecuteNonQuery(); CloseCnn(); 3.BLL(入库)using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using DAL;using model;namespace BLL public class BOProduct private DAL.DAProduct cusData = new DAL.DAProduct(); public BOProduct() public vo
28、id Add1(model.Product cus) cusData.Add1(cus); public void Add4(model.Product cus) cusData.Add4(cus); 4. WindowsFormsApplication1 (入库) using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Wind
29、ows.Forms;namespace WindowsFormsApplication1 public partial class ImportForm : Form public ImportForm() InitializeComponent(); private void button1_Click(object sender, EventArgs e) try model.Product cus = new model.Product(); cus.INumber = textBox1.Text.ToString(); cus.PName = textBox2.Text.ToStrin
30、g(); cus.PQuantity = textBox3.Text.ToString(); cus.IPrice = textBox4.Text.ToString(); cus.PNumber = textBox5.Text.ToString(); cus.IDate = textBox6.Text.ToString(); BLL.BOProduct cus_bll = new BLL.BOProduct(); cus_bll.Add1(cus); MessageBox.Show("入库单添加成功!"); textBox1.Text = "" text
31、Box2.Text = "" textBox3.Text = "" textBox4.Text = "" textBox5.Text = "" textBox6.Text = "" catch (Exception err) MessageBox.Show(err.Message.ToString(); private void button2_Click(object sender, EventArgs e) MainForm Mfrm = new MainForm(); Mfrm.Show(); this.Hide(); private vo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环卫一体化提升项目可行性分析报告
- 2023-2025北京高二(上)期末数学汇编:集合(人教B版)
- 语文写作技法的试题及答案
- 计算机二级VB编程常见错误试题及答案
- 2025年数字转型中的战略考量试题及答案
- 行政法学法律问题探讨试题与答案
- 解析VB考试的独特性试题与答案
- 传统戏剧传承与创新路径探索
- 跨国经营中的政治风险管理策略研究试题及答案
- 学校高中学习打拼未来主题演讲讲话发言稿参考范文(7篇)
- 商业银行信息系统等级保护政策
- 基底节脑出血护理查房
- 2024年第三届浙江技能大赛(农机修理赛项)理论考试题库(含答案)
- 畲族非遗文化课程设计
- 《煤矿防治水细则》全文
- 发动机大修免责协议书范本范本
- 文化强国课件
- 医学教材 瓣环起源的室性心律失常的心电图特征b
- 农作物植保员技能竞赛理论考试题库500题(含答案)
- 《公共政策学(第二版)》 课件第8章 政策创新与扩散
- 课件6:环控电控柜主要部件-马达保护器
评论
0/150
提交评论