1、 1 绪论11.1 背景描述11.2 设计思路12 项目可行性研究报告12.1 可行性研究的要求和目标12.2 数据流程22.3 社会因素方面的可行性23 需求分析33.1 功能分析33.2 建立E-R图33.3 建立数据字典54 项目设计报告74.1 系统软件结构设计74.2 数据库的逻辑结构和物理结构设计84.3 模块功能设计94.4 界面设计105 项目测试报告115.1 测试用例必要元素描述115.2 黑盒测试用例126 总结137 参考文献141 绪论1.1 背景描述随着科学技术的发展,社会进步,以及用户的需求的改变,仓库管理的方法也不断改变,由于以前使用人力管理现存在很多的缺点如:
2、管理效率低,劳动强度大,信息处理速度慢而且准确率也不高。为了提高仓库管理效率,减轻劳动强度,提高信息处理的速度和准确性。为仓库管理员提供的一种更先进、科学的仓库管理系统。于是我们便选择了用计算机来设计一个仓库管理系统的方案。让计算机对仓库进行自动管理,仓库管理员可以直接在计算机上实现仓库的信息管理,并能在一定程度上实现自动化。1.2 设计思路 通过对仓库管理过程的了解,可以知道仓库管理系统管理仓库信息的大致过程。首先,用户登陆仓库管理系统,通过一系列对系统的操作后,由系统返回给用户相应的结果。下图描绘了这个大致的流程。用户仓库管理系统用户输入数据反馈结果图1-1 仓库管理系统大致处理过程接下来
3、对上图仓库管理系统的内容进行分析。确定用户对系统的整个操作过程如下:用户登陆仓库管理系统,验证用户身份与权限,审核后操作仓库管理系统,用户可以查询仓库里的产品信息,管理员权限可修改和删除相关仓库的信息,用户还可以打印相关报表。系统会根据用户的操作,给予相应的显示与处理结果。2 项目可行性研究报告2.1 可行性研究的要求和目标 本系统要实现普通用户对物品的查询和管理员对物品的管理即查找,修改,删除的功能,从而降低人力成本和管理成本;在性能上要求有较快的查找速度;由于普通用户和管理员以不同的身份进行验证,在安全上是有保证的;本系统要求两周内完成。2.2 数据流程用户输入登录信息输入登录信息验证信息
4、 验证信息登录失败登陆成功登录失败登陆成功查询修改添加或删除 查询 系统反馈信息给用户系统反馈信息给用户退出管理员普通用户图2-1 系统数据流图2.3 社会因素方面的可行性2.3.1 法律方面的可行性 本系统不存在合同责任、侵犯专利权、侵犯版权等方面的法律问题。2.3.2 使用方面的可行性 从用户单位的行政管理、工作制度等方面来看,能够使用该软件系统;从用户单位的工作人员的素质来看,能满足使用该软件系统的要求。2.3.3 经济方面的可行性 本系统投入经费小,开发时间短,一旦投入使用又能为用户单位减小管理等费用。2.3.4 技术方面的可行性 本系统采用面向对象的java语言开发,技术上没什么问题
5、。3 需求分析3.1 功能分析“仓库管理系统”应该具备以下主要功能:仓库管理系统的登录,货物进出的记录,缺货提醒仓库管理的各种信息查询,修改和维护 3.2 建立E-R图为了把用户的数据要求清楚、准确地描述出来,系统分析员通常建立一个概念性的数据模型,概念性数据模型是一种面向问题的数据模型,它描述从用户角度看到的数据。通常使用实体-联系图来建立数据模型,可以把实体-联系图简称为E-R图,相应地可以把E-R图描绘的数据模型称为E-R模型。E-R图中包含了实体(即数据对象)、关系和属性等三种基本成分。通常,用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆或圆角矩形表示实体或关系的属性,并用直
6、线把实体(或关系)与其属性连接起来。用户用户号用户名用户口令用户权限图3-1 用户E-R图客户客户号客户名联系地址邮编电话号图3-2 客户E-R图产品产品号产品名生产日期价格类型图3-3 产品E-R图仓库入库客户用户产品类型属于出库仓库1NMPNPMNQR图3-4 仓库管理系统E-R图3.3 建立数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的元素的定义的集合。它的作用是在软件分析和设计过程中提供关于数据的描述信息。数据字典和数据流图共同构成系统的逻辑模型。数据字典定义数据的方法就是对数据自顶向下地分解,当分解到不需要进一步定义,每个和工程有关的人员都清楚其含义的元素时,这种分
7、解过程就结束了。本仓库管理系统根据划分的模块定义了如下数据字典:用户信息表表3-1 user列名数据类型长度精度小数备注useridint4100关键字(主键)usernamevarchar5000不为空userpwdvarchar5000不为空purviewvarchar5000不为空客户信息表表3-2 customerinfo列名数据类型长度精度小数备注Cidint4100关键字(主键)Cnamevarchar5000不为空Addrvarchar5000不为空PostCodeint4100不为空Phonevarchar5000不为空产品类型表表3-3 producttype列名数据类型长度
8、精度小数备注Typeidint4100关键字(主键)Typenamevarchar5000不为空库存信息表表3-4 store列名数据类型长度精度小数备注Pidint4100关键字(主键)Pnamevarchar5000不为空Ptypevarchar5000不为空Ppricefloat8530不为空Pnumint4100不为空MakeDatedatetime800不为空InDatedatetime800OutDateDatetime8004 项目设计报告4.1 系统软件结构设计4.1.1 仓库管理软件结构在需求分析中,已经使用结构化方法分析了“仓库管理系统”。仓库管理接收数据处理数据打印报表验
9、证用户权限收集数据审核数据修改更新统计数据汇总数据分析数据图4-1 优化后的仓库管理软件结构4.1.2 系统帐户管理软件结构根据数据流图,能够得到系统帐户管理软件结构如下图所示。系统帐户管理修改更新授权验证用户查询用户图4-2 系统帐户管理软件结构4.1.3 仓库管理系统的完整软件结构验证用户权限系统帐户管理修改更新授权仓库管理系统查询用户帮助模块帮助信息收集数据审核数据修改更新汇总数据统计数据分析数据接收数据处理数据维护模块仓库管理图4-3 仓库管理系统的完整软件结构4.2 数据库的逻辑结构和物理结构设计4.2.1 数据库的逻辑结构设计数据库逻辑结构设计的任务是根据E-R模型和需求分析所产生
10、的文档,并综合考虑所选择的具体DBMS的特点,设计出整个数据库的逻辑结构。一般来说,选择哪一种DBMS存放数据,是由系统分析员和用户(一般是企业的高级管理人员)决定的。需要考虑的因素包括DBMS产品的性能和价格,以及所设计的应用系统的功能复杂程度。如果选择的是关系型DBMS产品,那么逻辑结构的设计就是指设计数据库中所包含的各个关系模式的结构,包括关系模式的名称、每一关系模式中各属性的名称、数据类型和取值范围等内容。4.2.2 数据库的物理结构设计 数据库的物理结构设计是指为给顶的一个逻辑数据模型选择最适合应用环境的物理结构。关系数据库的物理结构主要是指数据的存取方法和存储结构。数据库的物理结构
11、设计分为两个部分,首先是确定数据库的物理结构,其次是对所设计的物理结构进行评估。4.3 模块功能设计4.3.1 验证用户身份功能模块验证用户身份功能模块用于对登陆系统的用户进行身份验证,确定用户是否拥有使用该系统的资格以及该用户的权限。因此,任何用户登陆系统都调用此模块。4.3.2 系统总控制模块系统总控制模块是系统运行时的主控制程序,通过系统的主菜单集中各子功能模块,用户在该模块中通过选择菜单进入到相应的子模块。4.3.3 用户信息管理模块用户信息管理模块是对整个系统的用户进行权限分配的模块,通过调用该模块,具有查询用户基本信息和修改密码及权限的功能。系统第一次运行时只有超级用户具有用户权限
12、分配的权限。4.3.4 客户信息管理模块客户信息功能模块是供系统使用人员对客户信息进行检索与查询并且进行修改的模块。通过调用该模块,能够按照不同的条件组合进行客户信息的查询,并可以对查询到的客户信息进行修改。4.3.5 产品入库功能模块产品入库功能模块是用于新的产品添加到仓库的处理模块。通过调用该模块,用户将产品的入库信息添加到仓库信息中。4.3.6 产品信息管理模块产品信息管理模块是供系统使用人员对产品信息进行检索与查询并且进行修改的模块。通过调用该模块,能够按照不同的条件组合进行产品信息的查询,并可以对查询到的产品信息进行修改。4.4 界面设计4.4.1 登陆界面图4-4 登录界面4.4.
13、2 主控制界面图4-5 主界面4.4.3 产品入库子模块界面图4-6 产品入库界面5 项目测试报告5.1 测试用例必要元素描述 测试用例编号:用来唯一标识测试用例的编号,由测试组根据具体情况统一管理。测试用例级别:用来衡量测试用例的重要性,测试组根据具体情况制定统一标准。测试需求或者测试需求编号:描述测试的目的是什么。前置条件:运行测试用例必须的条件。测试用列的输入:简单的讲就是用来测试的数据。操作:就是在输入数据之后用户的操作,将会影响到测试的输出。输出:相应的期望结果。5.2 黑盒测试用例表 5-1 黑盒的测试用例测试用例编号Act 00000001测试用例级别3测试需求或者编号测试用户登
14、陆是否成功前置条件(运行测试用例必须的条件)输入(单的讲就是用来测试的数据)操作(输入数据之后用户的操作)输出(期望结果)输入正确的用户名字和密码点登陆按钮进入应用程序主界面输入错误的用户名字和密码点登陆按钮提示用户名字或者密码错误,请重新输入只输入用户名点登陆按钮提示输入不完整只输入密码点登陆按钮提示输入不完整用户名字和密码为空点登陆按钮提示用户名密码不能为空直接点登陆按钮提示用户名密码不能为空直接点关闭提示关闭窗口直接点cancel关闭窗口单击,双击各控键无异常TAB键操作正常切换ENTER键操作正常切换说明:根据情况可以将输入正确的用户名字和密码;输入错误的用户名字和密码进行具体的拆分;
15、输入字母数字为组合的用户名,字母符号为组合的密码或者直接给出具体的值。一般写到上面的程度就可以了,能够给测试起到很好的指导作用。6 总结本次课程设计由于时间紧张,仅仅花费了三天的时间,实现了整个系统的一部分简单功能,重复的功能就没有多做,不过对于制作整个系统而言,还是有不少的收获。在紧张的复习过程中,能用三天的时间完成整套系统的开发,自己也觉得比较欣慰,至少在校阶段确实学到了不少基础知识,在我未来的成长中会发挥相当重要的作用。在整个系统的制作过程中遇到了非常多的问题,例如连接数据库出错、数据库查询添加删除更新语句的写法、自适应变化的数组长度等,在同学的帮助下,以及查询网上诸多相关资料,都很好地找到了解决方案,使我从中获益匪浅。7 参考文献1史斌星.java基础及应用教程M.北京:清华大学出版社.20072王珊,萨日煊.数据库系统概论(第四版)M.北京:高等教育出版社.20083吴倩. java语言程序设计M.北京:机械工业出版社.20074柳西玲.java语言程序设计基础M.北京:清华大学出版社.20055刘宝林.java程序设计与案例M.北京:高等教育出版社.200414