




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 最新资料 ,Word 版,可自由编辑!】 物流管理系统 一 . 引言 实 习 目 的 :通过实习,参与具体的 java 开发项目,进一步提高了 java 开发的基本技术,丰富 java 开发的实战经验。过学习,巩固大学所学专业的 基础知识, 提高分析, 判断和处理实际问题的能力, 锻炼自己的实际动手能力, 增强自己的团队协作意识, 了解计算机专业软件开发的具体流程, 完善了自己 的知识结构。为毕业之后能够更快地进入工作状态并且能够更好地工作,打好 一定的基础。 实习要求:能够熟练运用 Java ,独立设计和编制一个具有一定难度的、 解决实际应用问题的物流管理系统的应用程序。 系统设计 软件系
2、统的总体设计大约要经历可行性分析和项目开发计划,需求分析,概要设计,详细 设计,编码,测试以及维护等七个阶段。可行性分析和项目开发计划在前面已经叙述,下面所要做的是 进行软件需求分析,概要设计和详细设计。编码过程将在下一章节论述,而测试和维护过程不在本文中 叙述。 系统需求分析 在经过前一阶段的分析之后,我确定了我的开发课题为仓库物流管理系统。现在所要做的是要准确 定义系统必须做什么以及系统必须具备的功能。 软件需求分析中我采用结构化分析方法 (Structured Analysis, 简称 SA),SA 是面向数据流进行需 求分析的方法,像所有的软件分析方法(如面向对象分析方法、 IDEF方
3、法等等)一样, SA 也是一种建 模活动,它使用简单易读的符号,根据软件内部数据传递、变换的关系,自顶向下逐层分解,描绘满足 功能要求的软件模型。 在系统中我采用数据流图( DFD )这种半形式化的描述方式表达需求。它是一种功能模型,以图形 的方式描绘数据在系统中流动和处理的过程, 只反映系统必须完成的逻辑功能。 它有四种基本图形符号: :箭头,表示数据流; :圆或椭圆,表示加工; :双杠,表示数据存储; :方框,表示数据的源点或终点 为了表达较为复杂问题的数据处理过程,用一张数据流图是不够的,要按照问题的层次结构进行逐 步分解,并以一套分层的数据流图反映这种结构关系。在这里我一共使用了三层数
4、据流图,即顶层图, 0 层图和 1 层图(也是底层图)。 在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统,它的输入流是该系统的输入数 据了,输出流是该系统的输出数据;底层流图是指其加工不需要再做分解的数据流图,中间层流图表示 对其上层父图的细化,它的每一步加工可能继续细化成子图。 经过对系统的分析首先得到系统的顶层 DFD,如图 1-1 : 物流管理员 工作人员 物品入库、 仓库物流管理系 物品查询、 物品报表等 库、 物品报损、 物品查询 信息 品汇总、 表等 图 1-1 物流管理系统顶层图 物流管理员 工作人员 进一步细化得到系统的 0 层 DFD ,如图 1-2 : 工作人员
5、 管理 品类别信息 物流管理员 物品类别 管理 物流管理员 工作人员 数据维护 管理 物品登记与 物流处理管 工作人员 物 流 情 况 查询 物 流 情 况 汇总 图 1-2 物流管理系统的 0 层图 再进一步细化每一个数据加工功能,得到系统的 1 层 DFD 图(略)。 在这里只给出有关顶层和 0层数据流图,它们体现出了系统的功能部分,而 1层DFD 图暂略,后 面具体说明其内容。通过以上对数据流图的分析之后,我们已大体地了解了系统的功能和目标,接下来 所要做的就是系统功能模块的划分和数据库的设计,也就是系统的概要设计。 系统概要设计 在软件需求分析阶段,搞清楚了软件“做什么”的问题,形成了
6、目标系统的逻辑模型。现在我们所 要做的就是要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求。首 先,我们需要描述的是系统的总的体系结构。 系统结构设计 系统的概要设计中最重要的就是系统的模块化。模块化是指解决一个复杂问题时自项向下逐层把软 件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成 为一个整体,完成整个系统所要求的功能。 将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性、可维护性,但模块的划分不能 是任意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模 块的联系最少且接口简
7、单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠 定基础。 在系统的概要设计中我采用结构化设计( Structure Design ,简称 SD),SD 以需求分析阶段产生 的数据流图 DFD 为基础,按一定的步骤映射成软件结构。我首先将整个系统化分为几个小问题,小模 块,在系统中,我设计了工作人员管理,物品类别管理,数据维护管理,物品登记与物流处理管理,物 流情况查询和物流情况汇总 6 个模块。然后,进一步细分模块,添加细节。比如,工作人员管理我又将 其分为工作人员注册、工作人员注销、授权、密码修改、增加照片等;物品登记与物流处理管理分为物 品登记、进库、出库、报损等。
8、 以下就是系统功能模块图,如图 1-3 : 图 1-3 系统功能模块图 数据库设计 在信息世界中,信息从客观事物出发流经数据库,通过决策机构最后又回到客观世界,信息的这一 循环经历了三个领域:信息世界,数据世界,现实世界。现实世界的事物反映到人的头脑中,人的大脑 对它有个认识过程,经过分析(选择、命名、分类等)进入信息世界。这些信息再进一步加工、编码, 然后进数据世界,而软件系统的开发工作需要考虑这两个方面的问题,也就是要考虑系统开发所需要的 数据,以及如何对这些数据进行操作。这两个问题贯穿了整个软件系统的开发过程,这也就是数据库的 设计问题,软件设计的一个核心。 1. E-R 图设计 在系统
9、设计的开始,我首先考虑的是如何用数据模型来数据库的结构与语义,以对现实世界进行抽 象。目前广泛使用的数据模型可分为两种类型,一种是独立于计算机系统的“概念数据模型”,如“实 体联系模型”;另一种是直接面向数据库逻辑结构的“结构数据模型”。在本系统中我采用“实体联系 模型”( E-R模型)来描述数据库的结构与语义,以对现实世界进行第一次抽象。E-R 模型直接从现实 世界抽象出实体类型及实体间联系,然后用 E-R 图来表示数据模型。它有两个明显的优点:接近于人的 思维,容易理解;与计算机无关,用户容易接受。但 E-R 模型只能说明实体间语义的联系,不能进一步 说明详细的数据结构,它只是数据库设计的
10、第一步。 ER图是直观表示概念模型的工具,它有四个基本成分: 矩形框,表示实体类型(考虑问题的对象) 菱形框,表示联系类型(实体间的联系)。 椭圆形框,表示实体类型和联系类型的属性。对于关键码的属性,在属性名下划一横线。 直线,联系类型与其涉及的实体类型之间以直线连接。 本系统为仓库物流管理,主要管理物品的登记、流通以及种类和工作人员等事项。仓库根据需要可 以查询物品的信息,同时还需要了解在库存流通中员工的参与情况。依据物流管理的实际情况,考虑了 多方面的因素以后,确定系统的 E-R 图如下: 图 1-6 物品流通表 E-R 图 物品种类 图 1-8 数据库表关系图 在该数据库中,本系统中的物
11、品流通是核心,也是基本,没有了物品流通其它的也就没有什么意义 了。经手人的添加是考虑到责任问题,也就是说,在物流管理的实际运用中,出现了责任不清的现象, 特别是由于仓库的进出物品数量都比较大时产生了一系列问题,所以在设计数据库时,我特别考虑到这 一点,在物品流通表中加入了经手人。 2. 数据库表格设计 在完成系统的 E-R 图之后,需要将 E-R 模型转化为关系模型,也就是说,要设计出数据库所需要的 表格。在这里,我选用的是关系数据库。因为关系数据库中的二维表格可以很清楚地描述数据之间的联 系。 根据系统 E-R 图,针对本系统的特点,在对所搜集的数据进行规范化之后,定义了如下四张表格, 分别
12、是工作人员信息表,物品流通信息表,物品登记信息表和物品种类信息表。通过对这四张表格的操 作可以较好地完成系统设计的各项功能,四张表格之间有着不同程度的联系。 工作人员信息表(图 1-9 ): 图 1-9 工作人员信息表图 工作人员信息表主要用于记录物流管理人员的详细信息,包括职员 ID 、姓名、密码、操作权限、停 用、联系电话、说明、照片和日期类型等有关工作人员的各类信息。 在该表中职员 ID 是主键,它是工作人员的值是登记时自行填写的,它会和经手人相对应的,体现 出物品是经谁的手出入库的。姓名和密码的值也是登记时自行填写的,但必须要记住。它们是在用户登 陆时用来确定用户和密码的正确性,以防止
13、非法用户登陆。操作权限则是工作人员在操作系统的时所授 权的范围,分为物品登记、物流处理、物流查询和物流汇总。停用则是指该注册工作人员是否可以操作 本系统。联系电话、 说明和照片则是介绍个人情况的。 日期则是系统当时默认时间的, 是不可以修改的 物品流通信息表 图 1-10 ): 图 1-10 物品流通信息表图 物品流通信息表主要用于记录各物品经仓库和物流管理人员的详细信息,包括物流ID、物品 ID 、 物流类型、数量、经手人、日期、说明和记录特征类型等各类信息。该信息表是数据库的主表,是不可 缺少的。 在该表中物流 ID 是主键,它是记录每一次物品流动时的唯一编号,不会有重复,而且是计算机自
14、动编号。物品 ID 则是记录每一件物品本身的编号,它跟物流 ID 是有区别的。数量则是每次流通数量的 多少。而经手人前面已经说过, 这里就不在叙述了。 日期则是记录当时物流的时间, 是当时的默认时间, 是系统给定的。说明是指记录物品当时的情况或物品的特征的。记录特征就很好理解了,就是该操作是 否被记录。物流类型则是记录物品流通的一种形式,包括: 进库 Or 出库 Or 报损 。值得提出的一 点是入库记录和出库记录的添加不仅仅是单表操作,由于它们都与库存记录相联系,所以,无论您是添 中入库记录还是添加出库记录,都必须同时修改库存记录,以保持数据的一致性,否则将引发系统出错 而这些我都让其在系统中
15、自动完成。无论您是添加入库记录,还是添加出库记录,系统都将自动修改库 存中物品的数量,而且,在您出库的数量大于库存数量时,系统还会自动提示错误,这样就可以防止一 定错误的发生。 物品登记信息表(图 1-11 ): 图 1-11 物品登记信息表图 物品登记信息表主要用于记录仓库中各各物品的详细信息,包括物品ID、名称、类别 ID 、单价、 说明和照片类型等有关物品的各类信息。 在该表中物品 ID 作为主键,它是管理员每增加一件物品时,物品 ID 就会自动为其编上一个号码。 类别 ID 则是说明该物品属于某一物品种类的。而名称、单价、说明和照片是介绍物品本身的信息。 物品种类信息表(图 1-12
16、): 图 1-12 物品种类信息表图 物品种类信息表主要用于记录仓库中物品种类的信息,包括类别 ID 和说明两个类型的信息。类别 ID 是指创建一类物品的种类的称呼。而说明则是对类别 ID 进行描述。 系统实现 登录窗体的设计及实现 登录界面是一个系统的开始,所以我就从系统的开始进行说明。登录窗体是系统的一个门,只有通 过它才能进入主界面,所以登录界面是非常关键的。如下图 2-1 : 图 2-1 登录窗体图 该窗体主要是完成职员 ID 和密码的校对,所以下面这段代码就是校对职员 ID 和密码,其与数据库 的链接采用代码来完成。 Dim strZyID As String, strMm As S
17、tring Dim rs As strZyID = Trim(txtZyID) strMm = Trim(txtMm) Set rs = (strZyID, strMm) 验证用户 If Then MsgBox 登录失败! , vbInformation = 0 = Len Else gbytZyQX = rs( 操作权限 ) gstrZyID = strZyID gblnOK = True Hide End If 下图 2-2 是“修改密码窗体”,只有通过鼠标点击登录窗体中的修改密码键,才能进入其窗体 其下面代码如上图所示“确定鍵”的代码。 更新密码 lblZyID, Trim(txtYmm
18、), Trim(txtXmm) Unload Me 但在修改密码之前一定要解决两个问题,一是身份验证过程,二是更新密码前调用身份验证过程 这两点很重要,只有通过这两点,才可以修改密码。下面是解决这两点的代码程序,如下: Public Function checkMm(strZyID As String, strMm As String) As Integer 身份验证过程 On Error Resume Next Dim rs As Dim I As Integer Set rs = (strZyID, strMm) I = rs(0) checkMm = I End Function Pri
19、vate Sub txtYmm_LostFocus() 更新密码前调用身份验证过程 If checkMm(lblZyID, txtYmm) = 1 Then = False = True = True Else MsgBox 该职员身份或密码验证无效! , vbInformation End If End Sub 系统主 窗体的设计及实现 系统主窗体的主要设计结构有菜单栏、工具栏和状态栏三部分。如下图 2-3 所示: 图 2-3 系统主窗体图 为了实现这三部分的功能,就必须赋于它们相对应功能的代码。下面就一一列举: 显示工作人员登记窗的代码是: Private Sub mnuXtGzrydj_
20、Click() Dim frmNewWin As New frmGZRYDJ vbModal 显示工作人员登记窗 Set frmNewWin = Nothing End Sub 显示物品类别登记窗的代码是: Private Sub mnuXtWplbdj_Click() Dim frmNewWin As New frmWpzldj vbModal 显示物品类别登记窗 Set frmNewWin = Nothing End Sub 显示数据维护窗的代码是: Private Sub mnuXtSjwh_Click() Dim frmNewWin As New frmSJWH vbModal 显示数
21、据维护窗 Set frmNewWin = Nothing End Sub 显示打印设置的代码是: Private Sub mnuXtSetPrint_Click() SetPrint End Sub 显示物品登记与物流处理窗体的代码是: Private Sub mnuWlcl_Click() End Sub 显示物品流通查询窗体的代码是: Private Sub mnuWlcx_Click() End Sub 显示物品流通汇总窗体的代码是: Private Sub mnuWlhz_Click() End Sub 显示或隐藏工具栏的代码是: Private Sub mnuWindowToolba
22、r_Click() 显示或隐藏工具栏 If Then = False = False Else = True = True End If End Sub 显示或隐藏状态栏的代码是: Private Sub mnuWindowStatusBar_Click() 显示或隐藏状态栏 If Then = False = False Else = True = True End If End Sub 以上就是对菜单栏内各项其功能所编写的代码。下面是对工具栏所编写的代码。如下: Private Sub tbToolBar_ButtonClick(ByVal Button As 选择执行工具栏命令 Sele
23、ct Case Case 1 mnuXtGzrydj_Click Case 2 mnuXtWplbdj_Click Case 3 mnuXtSjwh_Click Case 4 mnuWlcl_Click Case 5 mnuWlcx_Click Case 6 mnuWlhz_Click Case 7 mnuHelpSearch_Click End Select End Sub 本界面引用了几个组件, 分别是 Imagelist , Toolbar ,StatusBar ,CommonDialog 和 MDIForm 菜单编辑器。 这里我分别介绍一下他们各自的用途。 窗体 ImageList 组
24、件用于在控件 (如 ListView 、TreeView、ToolBar 、Button 和 TabControl 控 件)上显示图像。图像列表使您能够为一致的单个图像目录编写代码。 其下图 2-4 就是通过该组件对工具栏上的按键添加图像的。 3. Windows 窗体 StatusBar 控件用作窗体中的一块区域,通常显示在窗口的底部, 应用程序可 在该区域中显示各种状态信息。 StatusBar 控件可包含状态栏面板,用以显示指示状态的图标,或一系 列指示进程正在执行的动画图标(如 Microsoft Word 指示正在保存文档)。 其下图 2-6 就是状态栏的各窗格设置其属性的对话框。
25、图 2-6 属性页图 4. CommonDialog控件提供一组标准的操作对话框,进行诸如打开和保存文件,设置打印选项,以 及选择颜色和字体等操作。 在应用程序中要使用 CommonDialog 控件,可将其添加到窗体中并设置其属性。控件所显示的对话 框由控件的方法确定。在运行时,当相应的方法被调用时,将显示一个对话框或是执行帮助引擎;在设 计时, CommonDialog 控件是以图标的形式显示在窗体中。该图标的大小不能改变。 使用指定的方法, CommonDialog 控件能够显示下列对话: 工作人员登记 窗体 方法 ShowOpen ShowSave ShowColor ShowFont
26、 所显示的对话框 显示 “打开”对话框 显示“另存为 ”对话框 显示 “颜色”对话框 显示 “字体”对话框 ShowPrinter ShowHelp 显示“打印”或“打印选项 ”对话框 调用 Windows 帮助引擎 5菜单编辑器主要是提供了一个设计菜单的工具。下图2-7 就是菜单编辑器对话框 的设计及实现 工作人员登记窗体上放置一个 DataList 控件,一个 Image 控件,一个 ListBox 控件,四个 TextBox 控件,七个 CommandButton 控件,七个 Label 控件和一个 CheckBox 控件。而数据库的链接采用代 码来完成。其窗体如图 2-8 所示: 图 2-8 工作人员登记窗体图 该窗体主要是完成工作人员登记的, 所以重要完成添加工作人员登记的编码是本窗体 Private Sub cmdAdd_Click() 追加新记录 On Error Resume Next rs(职员 ID) = 新职员 rs(姓名) = rs(操作权限 ) = 00000 rs(停用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年党政领导干部党章党规党纪党史知识培训考试题库及答案(共240题)
- 过后饭店恢复通知函
- 贷款委托协议没时间
- 婚礼双十一活动方案策划
- 福建省福州市金山中学2024-2025学年九年级下学期开学化学试题(原卷版+解析版)
- 总队本级灭火救援装备采购 投标方案(技术方案)
- 油气运输航次合同模板
- 国内冷链物流公司排名
- 个人创业实务与项目评估手册
- 项目投资预算表(各部门)
- 2016-2023年江苏经贸职业技术学院高职单招(英语/数学/语文)笔试历年考点试题甄选合集含答案解析
- 高原健康呼吸用氧 通用技术指南
- 合同的变更和解除条款
- 中医内科学-咳嗽课件
- 2022管理学试题库(马工程)
- 青岛版数学五年级下册第二单元《分数的意义和性质》教学评一致性的单元整体备课
- 光储充车棚技术方案设计方案
- 中建支吊架专项施工方案
- 维修验收单完
- 手动报警按钮(建筑消防设施检测原始记录)
- XX学校初高贯通衔接培养实施方案
评论
0/150
提交评论