软件工程课程设计文档-商店仓库管理系统.doc
《软件工程课程设计文档-商店仓库管理系统.doc》由会员分享,可在线阅读,更多相关《软件工程课程设计文档-商店仓库管理系统.doc(59页珍藏版)》请在咨信网上搜索。
信 息 工 程 学院 软件工程 课程设计报告本 题 目:仓库管理系统 专业班级:计算机092班 学 生:XX1 05号 XX2 10号 指导老师: XXX 2012年 7 月 6 日 目 录 一、问题的定义 2 二、开发计划 3 2.1、项目概述 3 2.2、实施计划 3 2.3、支持条件 3 2.4、专题计划要点 3 三、可行性报告 4 3.1、项目定义 4 3.2、技术可行性 4 3.3、市场可行性 4 3.4、产品策略 4 3.5、成本—效益分析(假设) 4 四、需求分析 6 4.1、编写目的 6 4.2、功能分析 7 4.2.1 功能需求 7 4.2.2 用户需求 7 4.3、系统流程图 8 4.4、数据描述 9 4.4.1、建立数据流图 9 4.4.2、建立数据字典 10 4.4.3、建立E-R图 12 4.4.4、建立状态图 14 五、概要设计 16 5.1、系统层次模块图设计 16 5.2、接口设计 16 5.3、出错处理设计 16 5.4、安全设计 16 5.5、维护设计 16 六.数据库设计 17 6.1.数据库逻辑设计 17 6.2.数据库物理结构设计 19 七、详细设计 20 7.1、系统模块设计 20 7.2、程序设计 23 八、测试报告 36 8.1、测试环境 36 8.2、系统测试 36 九、开发总结 41 十、用户手册 42 十一、附录 44 11.1 开发技术简介 44 11.2系统实现关键代码 45 11.3 参考文献 57 一、问题的定义 仓库管理系统是现代仓储企业进行货物管理和处理的业务操作系统。它可以实现本地一个或几个仓库的精细化管理,也可实现制造企业、物流企业、连锁业在全国范围内、异地多点仓库的管理;它可以对货物存储和出货等进行动态安排,可以对仓储作业流程的全过程进行电子化操作;可以与客服中心建立数据接口使客户通过互联网实现远程货物管理,可以与企业的ERP系统实现无缝连接。 在现代企业中,仓库管理是一项繁琐复杂的工作,每天要处理大量的单据数据。为及时结清每笔业务,盘点库存和货物流动情况,保证企业生产用料以及货物安全,库管人员要花费大量人力物力和时间来作数据记录统计工作。 众所周知,仓库管理是一种既麻烦又单调的工作,每天都是重复记录一些货物的存入与取出,而且货物的种类繁多,存取有很大的随机性,这样为工作人员带来了很大的不便,在操作过程中,由于人为的计算出错率很高,一旦出错改正也很困难,这样简单繁重的工作要很多人来做,为经营者增加了很多成本。所以开发一个可行的仓库管理系统是十分必要的。 本系统以MySQL作为后台数据库,以java语言来开发的,不仅实现了仓库管理的自动化,同时也提高了工作效率。本系统由以下几个模块组成:基本信息管理、入库管理、在库管理、出库管理、报表管理。 二、开发计划 2.1、项目概述 (1)项目背景 开发系统名称:仓库管理系统 项目任务提出者:XX 开发者:XX1 XX2 (2)工作内容 可行性研究、需求分析、概要设计、数据库设计、详细设计、系统测试等。 (3)产品 仓库管理系统 (4)验收标准 ①为了方便用户操作,该系统提供了部分提示窗口,使用户能够按照提示语句完成各项操作。 ②为了实现仓库的安全有效管理,系统设置了用户登陆的首界面,管理员和员工需要正确的用户名和密码。 ③本系统的查询功能可以按照货物编号、日期、指数等项目进行查询或全部浏览。 ④本系统的修改功能提供了逐条察看的方式修改删除和以货物编号、日期、指数等方式进行查询的功能,而且本着直观、方便的原则进行设计窗口。 ⑤本系统包含“数据添加”、“数据查询”、“数据修改”、 “用户管理”、“退出”等功能。本系统包含数据库主要用于存放仓库管理信息和管理员信息。 (5)完成项目最迟期限:2010.07.06 2.2、实施计划 (1)工作任务的分解及人员分工 程序编写主要负责人:XX1,文档编写主要负责人:XX2 (2)预算 20元——电费以及文档打印费用。 2.3、支持条件 计算机支持 硬件:CPU型号为Pentium3以上, 内存512M 系统:Windows xp /vista/7 软件:mysql,myeclipse/eclipse, Microsoft Office Visio2007 2.4、专题计划要点 操作的简便易用:无论什么水平的操作人员,简便的操作方法是一致性要求,同时在系统操作的界面的设计中也应尽可能地把常用子模块添加至主系统窗口中,实现“一触即开”窗口。 适应性:应该明确的是,实际操作人员对计算机的了解程度和实际的操作能力各不相同,因此软件应具有一定的适应能力。 透明性:在系统设计中,应充分利用计算机在处理数据方面的能力,从而尽可能减轻操作人员的工作,实现一定意义上的透明操作,即用户无须知道模块功能实现的具体过程,只需要设置一定的操作选项,计算机即可按照用户的要求得到所需要的处理结果,具体的操作细节对用户是“透明”的。 点面结合:再数据处理方面,一方面应强调数据的成批处理能力,以尽可能简化操作人员的处理工作,另一方面也应十分重视对单独数据的处理能力。 三、可行性报告 3.1、项目定义 仓库在企业的整个供应链中起着至关重要的作用,如果不能保证正确的进货和库存控制及发货将会导致管理费用的增加,服务质量难以得到保证,从而影响企业的竞争力.传统的简单、静态的仓库管理已经无法保证企业各种资源的高效利用。现在的仓库作业和库存控制作业十分复杂化、多样化,仅靠人工记忆和手工录入,不但费时费力,而且容易出错,给企业带来巨大损失. 为了克服以上问题,必须使仓储管理和计算机系统相互结合起来,以使仓库服务得到有效的执行和监督.仓库管理系统可以对仓储各环节实施全过程控制管理,并可对货物进行入库和出库操作管理,从而实现仓储作业流程全过程的电子化操作.另外还可以根据客户的需求制作多种合理的统计报表. 3.2、技术可行性 本系统产品用java编程与数据库相结合的方法进行开发,而仓库管理系统实现的理论及技术已经日趋成熟,因此仓库管理系统应用软件的开发手段是完全可行的。 3.3、市场可行性 当下,市场经济迅速发展,网上购物已成潮流,在这种情况下,物流仓储等行业的发展也在以一种惊人的速度发展,要想保证仓库出入货物与账目的一致性,必须出现一种专门的、特定意义、特殊功用的管理系统出现,即仓库管理系统,在网上调查的过程中,我们发现,很多业主和个体经营户也急需一种只适合其专门行业的管理系统。然而,市场中也是存在了很多的十分专业的仓库管理系统,但是介于其收费特征和内容的广泛应用性,而导致在用户使用的简便性和易用性受到了打击,所以在这种社会现状的驱使下,我们小组讨论决定开发一种简单通用的仅仅限于仓库管理的管理系统,而不涉及进货和销售方面的问题,于是仓库管理系统便应运而生。 3.4、产品策略 在该项目开发过程中,全部使用实验室及图书馆现成的设备和资料。因此该系统的开发在经济方面也是可行的。 3.5、成本—效益分析(假设) 一般来说,我们的客户开发这个软件系统是一项投资,所以当然期望获得很大的经济效益。经济效益通常表现为减少运行费用或(和)增加收入。所以我们进行成本/效益分析来从经济角度分析开发我们的设备管理系统是否划算,从而帮助客户组织的负责人做出是否投资这项开发工程的决定。下面我们从以下几个方面进行分析。 (1)成本分析 软件开发成本主要表现为人力消耗(乘以平均工资则得到开发费用)。因成本估计不是精确的科学。因此我采用了两种不同的估计技术以便互相校检。 ① 代码行技术 代码行技术是比较简单的定量估算方法,把开发每个软件功能的成本和实现这个功能需要用的源代码行数联系起来。通常根据经验和历史数据估计实现一个功能需要的源程序行数。而在我们组的设计下,初步得出设备管理系统的源代码行数。 得出源代码行数以后,用每行代码的平均成本乘以行数就可以确定软件的成本,所以我们得出的此软件的成本为 成本=2000*10=20000 ② 任务分解技术 任务分解技术是首先把我们的设备管理系统分解为若干个相对独立的任务。在分别估计每个单独的开发任务的成本,最后累加起来得出软件开发工程的总成本。估计每个任务的成本时,通常先估计完成该项任务需要用的人力(以人月为单位),再乘以每人每月的平均工资而得出每个任务的成本。 下面是我们按开发阶段划分任务做出的人力成本。 表3-1 各个开发阶段需要使用的人力百分比及工资表 得出其总成本(1200*5+1000*10+800*25+500*20+10*600*(20/100)*1.5=21000(元) (2)运行费用分析 运行费用取决于设备管理系统的日常操作费用(操作员人数,工作时间,消耗的物资等等)和维护费用。 (3)效益分析 我们设备管理系统的经济效益在于因使用此系统而增加的收入加上使用此系统可以节省的运行费用。 (4)成本/效益分析 应该比较新系统的开发成本和经济效益以便从经济角度判断这个系统是否值得投资,但是,投资是现在进行的,效益是将来获得的,不能简单的比较成本和效益,应该考虑货币的时间价值。 ①货币的时间价值 通常用利率的形式表示货币的时间价值。假设年利率为i,如果现在存入P元,则n年后可以得到的钱数为 F=P(1+i)^n 在我们的软件分析中假定年利率为12%,预计可帮助我们的客户每年节省25000元,则利用货币限制计算公式就可以算出每年预计节省的钱的现在价值 表3-2 将来的收入折算成现在值表 ②投资回收期 通常用投资回收期衡量一向开发工程的价值。所谓投资回收期就是使累计的经济效益等于最初投资所需要的时间。显然,投资回收期越短就能越快获得利润,因此这项工程也就越值得投资。 在本软件中,一年以后可以节省22321.4元,和最初的投资(20000元)比较。因此,投资回收期是0.98年 ③纯收入 纯收入是指在整个生命周期值内系统的累计经济效益(折合成现在值)与投资之差。这相当于比较投资开发一个软件系统和把钱存在银行这两种方案的优劣。如果纯收入为零,则工程的预期效益和在银行存款一样,如果纯收入小于零,那么这项工程显然不值得投资。 这本系统开发中工程的纯收入预计是 90119.4—20000=70119.4(元) ④投资回收率 把资金存入银行货代给其他企业能够获得利息,通常用年利率衡量利息多少。类似的也可以计算投资回收率,用它衡量投资效益的大小,并且可以把他和年利率相比较,在衡量工程的经济效益时,它是最重要的才靠数据。 以至现在的投资额,并且已经估计出将来每年可以获得的经济效益,那么,给定软件的使用寿命之后,我们可以计算其投资回收率为 P=F1/(1+j)+F2/(1+j)^2+……+Fn/(1+j)^n 其中:P是现在的投资额;Fi是第i年底的效益(i=1,2,3,……,n),n是系统的使用寿命;j是投资回收率。(假设系统寿命n=5)高阶代数方程解出投资回收率 所以,经过以上成本效益的分析,得出在经济上,我们的设备管理系统是可行、值得投资的。 四、需求分析 4.1、编写目的 (1)开发本系统的目的在于代替手工管理、统计报表 等工作,具体要求包括: 数据录入:录入用户信息、商品信息、供货商信息、入库信息、出库信息、退货信息、客户信息等信息; 数据修改:修改商品信息、供货商信息、用户信息、客户信息等信息; 数据统计:统计统计每次仓库的进货和出货时的商品的数量、种类、总价值; 数据查询:系统提供三种查询条件:活物编号、日期、指数,选择不同的查询条件,会的得到不同的查询结果; 数据备份:定期对数据库做备份,以免数据库在遇到意外破坏的时候能够恢复数据库,从而减少破坏造成的损失。 (2)术语定义 静态数据——系统固化在内的描述系统实现功能的一部分数据。 动态数据——在软件运行过程中用户输入后系统输出给用户的一部分数据,也就是系统要处理的数据。 数据字典——数据字典的名字都是一些属性与内容的抽象与概括,它们的特点是数据表的“严密性”和“精确性”。 4.2、功能分析 4.2.1 功能需求 (1).仓库管理系统,实现功能: 入库登记 : 商品入库记录; 出库登记 : 库存商品出库; 在库商品查询 : 库存物品查询; 出库入库信息查询 : 按时间,操作管理员查询操作信息; 管理员信息管理 : 管理员的登记,查询,删除; (2).附加实现功能: 登录界面 : 实现管理员员和客户的不同角色登录; 界面的转换 : 分别创建不同的窗口,并及时删除浏览过的窗口; 分角色设定使用权限: 管理员和客户的使用权限不同; (3).异常处理: 操作错误 : 信息输入错误等; 常规错误 : 仓库物品数量不足等; 4.2.2 用户需求 根据用户需求,该系统应该实现以下功能: (1) 进、出库管理。对进、出库信息进行记录。 (2) 查询功能。仓库管理对查询要求高,通过主菜单记录当前操作用户的用户编号,保证了对进、出库信息录入负责人的确认。 (3) 资料管理与库存报表生成。资料管理包括了人员信息管理,财政支出信息管理,以及各项业务单据的资料管理。报表主要分类为:日报表,月报表,销售报表,入库报表等等。 (4) 由于计算机能存贮大量的数据,而且数据只要一次存入,便可多次重复使用,所以管理数据达到完整,统一,原始记录能保证及时,准确。 (5) 许多重复性的工作,都可由计算机去执行,从而使管理人员从事务性工作解脱出来,真正变为从事一些信息的分析,判断,决策等创造性的工作。 4.3、系统流程图 为了便于问题的论述与展开,在此加入了系统流程图的内容。 通过对仓库管理过程的了解,可以知道仓库管理系统管理仓库信息的大致过程。首先,用户登陆仓库管理系统,通过一系列对系统的操作后,由系统返回给用户相应的结果。图1描绘了这个大致的流程。 用户 仓库管理系统 用户 输入数据 反馈结果 图4-1 仓库管理系统大致处理过程 接下来对图1的黑匣子(仓库管理系统)的内容进行分解。通过仔细分析与了解,确定用户对系统的整个操作过程:用户登陆仓库管理系统,验证用户身份与权限,审核后操作仓库管理系统,用户可以查询仓库里的产品信息,管理员权限可修改和删除相关仓库的信息,用户还可以打印相关报表,还可以查看帮助文档。系统会根据用户的操作,给予相应的显示与处理结果。图2是分析后得出的系统流程图。 图4-2 仓库管理系统流程图 4.4、数据描述 4.4.1、建立数据流图 系统流程图虽然很好地描绘了具体的系统,但是在系统流程图中把“做什么”和“怎样做”这两类不同范畴的知识混合在一起。我们的目标不是一成不变地复制现有的人工系统,而是开发一个既能够完成现有的所有功能,又能使操作更加规范或者功能更加完备的新系统,因此,应该着重描绘系统的逻辑功能。 数据流图描述数据在软件系统内从输入流动到输出的过程中所经受的变换,通常用数据流图建立软件的功能模型。 数据流图是系统逻辑功能的图形表示,图中没有任何的具体物理部件,仅仅描绘数据在软件中流动和被处理的逻辑过程,不懂计算机技术的人也容易理解它,因此是分析员与用户之间极好的通信工具。 根据前面划分的系统模块可以得到如下数据流图: 1.仓库管理系统整体数据流图 用户 用户选择操作 1 系统管理 D1 仓库数据 2 输入处理 3 维护模块 4 帮助模块 用户 相应结果 图4-3 仓库管理系统数据流图 2.细化“系统管理”的数据流图 1.1 客户管理 1.2 用户管理 1.3 退出系统 D2 客户资料 D3 用户资料 用户 用 户 数 据 图4-4 对“系统管理”的细化 3.细化“输入处理”的数据流图 2.1 产品入库 D1 仓库数据 2.2 产品出库 2.3 产品查询 用户 用 户 数 据 图4-5 对“输入处理”的细化 4.4.2、建立数据字典 数据字典是关于数据的信息的集合,也就是对数据流图中包含的元素的定义的集合。它的作用是在软件分析和设计过程中提供关于数据的描述信息。 数据字典和数据流图共同构成系统的逻辑模型。 数据字典定义数据的方法就是对数据自顶向下地分解,当分解到不需要进一步定义,每个和工程有关的人员都清楚其含义的元素时,这种分解过程就结束了。 本仓库管理系统根据划分的模块定义了如下数据字典: ①用户信息表 表名:host 内容:记载用户登陆的基本信息 组成: 列名 数据类型 长度 精度 小数 备注 userid int 11 10 0 关键字(主键) username char 10 0 0 不为空 userpwd char 10 0 0 不为空 组织:按录入顺序。 ②管理员信息表 表名:manager 内容:记载客户相关的基本信息 组成: 列名 数据类型 长度 精度 小数 备注 Mid int 11 10 0 关键字(主键) Mname varchar 10 0 0 不为空 Mage int 8 0 0 不为空 MCode char 20 10 0 不为空 Msex char 8 0 0 不为空 MPosition char 10 0 0 不为空 Mtime Smallint 6 0 0 不为空 Msalary Double 8 0 2 不为空 组织:按录入顺序。 ③产品信息表 表名:goods 内容:记载产品的基本信息 组成: 列名 数据类型 长度 精度 小数 备注 Gid int 11 10 0 关键字(主键) Gcode char 10 0 0 不为空 Gname char 10 0 0 不为空 Gtype char 10 0 0 不为空 Gnum int 10 0 0 不为空 Gprice double 8 0 2 不为空 Gsize char 10 0 0 不为空 Gweight double 8 0 2 不为空 Gcolor char 10 0 0 不为空 Gplace varchar 255 00 0 不为空 Gincode char 20 0 0 不为空 GV double 8 0 2 不为空 组织:按录入顺序。 ④入库信息表 表名:putin 内容:记载产品入库的基本信息 组成: 列名 数据类型 长度 精度 小数 备注 Pid int 11 10 0 关键字(主键) Pcode char 20 0 0 不为空 PMcode char 20 0 0 不为空 Ptime Date 0 0 不为空 组织:按录入顺序。 ⑤出库信息表 表名:sendout 内容:记载产品出库的基本信息 组成: 列名 数据类型 长度 精度 小数 备注 Sid int 11 10 0 关键字(主键) Scode char 20 0 0 不为空 SMcode char 20 0 0 不为空 Stime Date 0 0 不为空 组织:按录入顺序。 4.4.3、建立E-R图 为了把用户的数据要求清楚、准确地描述出来,系统分析员通常建立一个概念性的数据模型,概念性数据模型是一种面向问题的数据模型,它描述从用户角度看到的数据。 通常使用实体-联系图来建立数据模型,可以把实体-联系图简称为E-R图,相应地可以把E-R图描绘的数据模型称为E-R模型。 E-R图中包含了实体(即数据对象)、关系和属性等三种基本成分。通常,用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆或圆角矩形表示实体或关系的属性,并用直线把实体(或关系)与其属性连接起来。 用户 用户号 用户名 用户口令 用户权限 图4-6 用户E-R图 客户 客户号 客户名 联系地址 邮编 电话号 图4-7 客户E-R图 产品 产品号 产品名 生产日期 价格 类型 图4-8 产品E-R图 仓库 入库 客户 用户 产品 类型 属于 出库 仓库 1 N M P N P M N Q R 图4-9 仓库管理系统总E-R图 4.4.4、建立状态图 状态图(也叫状态转换图)通过描绘系统状态及引起系统转换的事件来表示系统的行为。此外,状态图还指明了作为特定事件的结果系统将做哪些动作。因此,可以用状态图建立软件系统的行为模型。 状态是可以被观察到的系统行为模式,一个状态代表系统的一种行为模式,状态规定了系统对事件的响应方式。 在状态图中第一的状态主要有:初态、终态和中间状态,在一张状态图中只能有一个初态,而终态则可以有0个至多个。 在状态图中,初态用实心圆表示,终态用一对同心圆(内圆为实心圆)表示。中间状态用圆角矩形表示,可以使用两条水平横线把它分成上、中、下3个部分,分别防止状态名、状态变量和活动表。 事件是在某个特定时刻发生的事情,它是对引起系统动作或(或)从一个状态转换到另一个状态的外界事件的抽象。 状态图中两个状态之间带箭头的连线表示状态转换,箭头指明了转换的方向。状态转换通常是由事件触发的,在这种情况下应该在表示状态转换的箭头上标出触发事件表达式。 以下是仓库管理系统的状态图: 登陆界面 验证帐户 输入密码 不合法帐户 验证权限 合法帐户 查询、修改自身信息;修改其他用户权限;添加新用户;查询、修改、注销、添加客户信息;查询、修改、添加、删除产品信息;查询、修改、添加、删除出、入库信息 查询、修改自身信息;查询客户信息;查询出、入库信息;查询产品信息 管理权限 普通权限 图4-10 仓库管理系统状态图 五、概要设计 5.1、系统层次模块图设计 根据系统需求,可初步设计该系统层次模块图如右图: 主要包括八个模块:登录模块,进入系统后选择系统操作模块,再分别对仓库进行管理的各模块。 图5-1系统主要层次模块图 5.2、接口设计 (1)外部接口 (a) 用户界面 采用图形用户界面(GUI),包含菜单、按钮、对话框等元素。 (b) 软件接口 软件运行于WINDOWS 操作系统 WINDOWS 2003及以上操作平台,不支持mac及UNIX。 (c) 硬件接口 最低配置:CPU P3 1.6GHz 内存 256M 硬盘 30G 5.3、出错处理设计 (1)系统应具有相当健壮性,避免或降低由系统错误所造成的数据库损坏。 (2)对关键性操作,如删除等提供警告和确认机制。 5.4、安全设计 系统提供严格的身份验证机制和密码管理以及权限设置。 5.5、维护设计 系统严格按照设计规范进行设计,并保持各阶段文档的完整性,为以后对软件的维护打好基础。 六.数据库设计 6.1.数据库逻辑设计 由于本管理系统没有海量的数据需要存储,所以没有必要使用ORACLE,且ORACLE的链接和服务器配置也是有一定问题的,而MySQL在安全性和可靠性方面足以胜任,所以在测试阶段我们选用了MySQL作为数据库系统应用。 数据库通信接口采用了ODBC(open database connectivity,开放式数据库互联),目的是将所有底层操作全部隐藏在ODBC的后台驱动程序内核中。对于程序员来说,这意味着,只要构建了一个数据库连接,便可以用统一的API(应用程序编程接口)实现对数据库的读写操作。目前,ODBC提供了大量的数据库支持,这也为我们后期的改进创造了条件。 根据对程序功能模块的划分做出全面的分析后,可以列出如下数据项和数据结构: ①用户信息表 (a) (b) 图6-1 系统用户信息表 ②管理员信息表 (a) (b) 图6-2商品信息表 ③入库记录表 (a) (b) 图6-3 入库信息表 ④出库记录表 (a) (b) 表6-4 出库信息表 ⑤商品信息表 (a) (b) 图6-5 商品信息表 6.2.数据库物理结构设计 数据库的物理结构设计是指为给顶的一个逻辑数据模型选择最适合应用环境的物理结构。关系数据库的物理结构主要是指数据的存取方法和存储结构。 数据库的物理结构设计分为两个部分,首先是确定数据库的物理结构,其次是对所设计的物理结构进行评估。 ⒈确定数据库的物理结构 为确定数据库的物理结构,设计人员必须了解下面的几个问题。 ①详细了解给定的DBMS的功能和特点,特别是该DBMS所提供的物理环境和功能; ②熟悉应用环境,了解所设计的应用系统中各部分的重要程度、处理频率、对响应时间的要求,并把它们作为物理结构设计过程中平衡时间和空间效率时的依据; ③了解外存设备的特性, 如分块原则、块因子大小的规定、设备的I/O特性等。 在对上述问题进行了全面的了解之后,就可以进行物理结构的设计了。一般地,物理结构设计的内容包括如下几个方面。 ①确定数据的存储结构。在此过程中需考虑存取时间、空间效率和维护代价间的平衡,如在引入冗余数据以加快存取速度时应兼顾系统的空间效率。 ②选择合适的存取路径,例如确定应该为哪些关系模式建立索引,索引关键字是什么等。 ③确定数据的存放位置,例如确定数据存放在一个磁盘上还是多个磁盘上,什么数据该存放在高速存储器上,什么应该存放在低速存储器上等。 ④确定存取分布,许多DBMS都提供了一些存储分配参数供设计者使用,例如缓冲区的大小和个数、块的长度、块因子的大小等,设计者必须规定其中的一些参数的位置。 ⒉评估物理结构 由于在物理设计过程中需要考虑的因素很多,包括时间和空间效率、维护代价和用户的要求等,对这些因素进行权衡后,可能会产生多种物理设计方案。这一阶段需对各种可能的设计方案进行评价,评价的重点是系统的时间和空间效率,并从多个方案中选出较优的物理结构。 七、详细设计 7.1、系统模块设计 依据系统概要设计的层次模块图,可设计系统模块如下: ⒈验证用户身份功能模块 ⑴功能描述 验证用户身份功能模块用于对登陆系统的用户进行身份验证,确定用户是否拥有使用该系统的资格以及该用户的权限。因此,任何用户登陆系统都调用此模块。 ⑵主要算法 if 用户名 and 口令 正确 以该用户身份进入系统总控制界面并获得响应系统权限 else 提示“用户名或口令错误” 累计错误三次,自动关闭本系统 end if (3)涉及类: 类Enter,类DBManager, ⒉系统总控制模块 ⑴功能描述 系统总控制模块是系统运行时的主控制程序,通过系统的主菜单集中各子功能模块,用户在该模块中通过选择菜单进入到相应的子模块。 ⑵菜单设计 系统菜单设计如下表所示。 表7-1 系统菜单 一级菜单 系统 输入 维护 帮助 二、三 级菜单 客户管理 商品查询 修改商 品信息 系统信息 用户管理 商品入库 退出系统 商品出库 ⑶主要算法 每个菜单项调用相应模块,实现各自的功能。 以退出系统为例: if 退出系统 提示“确认退出系统?” if 确认退出 退出仓库管理系统 else 返回到仓库管理系统 end if end if 其他功能菜单类似。 ⒊用户信息管理模块 ⑴功能描述 用户信息管理模块是对整个系统的用户进行权限分配的模块,通过调用该模块,具有查询用户基本信息和修改密码及权限的功能。系统第一次运行时只有超级用户具有用户权限分配的权限。 ⑵调用方式 用户在主控制界面中选择调用该模块。 ⑶主要算法 ①添加按钮触发的处理:用于添加新的用户,产生添加用户的界面。(仅限管理员权限) ②删除按钮触发的处理:用于删除选中的系统用户。(仅限管理员权限) ③修改密码按钮触发的处理:用于修改当前用户的密码,产生新的密码修改界面。 修改密码处理流程: 输入原始密码 重复输入原始密码 if 两次密码相同 匹配数据库用户密码 if 与数据库密码相同 继续输入新密码,修改成功 else 显示“您的密码不正确!” else 显示“两次输入不相同!” ④上一页按钮触发的处理:显示上一页的记录。 ⑤下一页按钮触发的处理:显示下一页的记录。 ⑥首页按钮触发的处理:显示第一页的记录。 ⑦末页按钮触发的处理:显示最后一页的记录。 ⑧退出按钮触发的处理:关闭用户信息管理窗口并返回主控制界面。 (4)涉及类 Select : 4.产品入库功能模块 ⑴功能描述 产品入库功能模块是用于新的产品添加到仓库的处理模块。通过调用该模块,用户将产品的入库信息添加到仓库信息中。 ⑵调用方式 用户在主控制界面中选择相应选项打开产品入库界面,在界面中填写相应入库信息。 ⑶主要算法 ①产品类型下拉列表:选择入库产品的类型。 ②产品名输入框:用于输入添加的产品的名称。 ③产品价格输入框:用于输入添加的产品的价格。 ④入库量输入框:用于输入添加的产品的数量。(按产品类型确定单位) ⑤生产日期输入框:用于填写入库产品的生产日期。 ⑥入库按钮触发的处理:将用户填写的入库产品的信息添加到库存的产品信息中。 ⑦重置按钮触发的处理:将用户填写的产品入库信息清空重新填写。 ⑧退出按钮触发的处理:关闭产品入库窗口并返回主控制界面。 (4)涉及类 InStoreHouse : 5.产品出库功能模块 ⑴功能描述 产品出库功能模块是用于产品从仓库售出的处理模块。通过调用该模块,用户将产品的出库信息添加到仓库信息中。 ⑵调用方式 用户在主控制界面中选择相应选项打开产品出库界面,在界面中填写相应出库信息。 ⑶主要算法 ①产品名下拉列表:选择出库产品的名称。 ②出库量输入框:用于输入售出的产品的数量。(按产品类型确定单位) ③出库按钮触发的处理:将用户填写的产品出库信息添加到库存的产品信息中。 ④重置按钮触发的处理:将用户填写的产品入库信息清空重新填写。 ⑤退出按钮触发的处理:关闭产品出库窗口并返回主控制界面。 (4)涉及类 OutStoreHouse : 6.库存信息管理模块 ⑴功能描述 产品信息管理模块是供系统使用人员对产品信息进行检索与查询并且进行修改的模块。通过调用该模块,能够按照不同的条件组合进行产品信息的查询,并可以对查询到的产品信息进行修改。 ⑵调用方式 用户在主控制界面中选择相应选项打开产品信息界面,在界面中选择相应功能。 ⑶主要算法 ①查询条件下拉列表:选择查询的方式,然后于查询框中填写关键字进行搜索。 ②查询按钮触发的处理:用于根据查询条件和用户输入的条件进行查询产品的相关信息并显示。 ③修改按钮触发的处理:用于修改选中的产品的信息,产生产品信息修改界面。(仅限管理员权限) ④上一页按钮触发的处理:显示上一页的记录。 ⑤下一页按钮触发的处理:显示下一页的记录。 ⑥首页按钮触发的处理:显示第一页的记录。 ⑦末页按钮触发的处理:显示最后一页的记录。 ⑧退出按钮触发的处理:关闭产品信息管理窗口并返回主控制界面。 (4)涉及类 SearchGoods : OutIn : 7.打印功能模块 ⑴功能描述 打印功能主要用于打印产品的信息,方便仓库管理信息的整理和保存。 ⑵调用方式 用户在主控制界面中选择相应选项打开打印报表界面,在界面中选择打印功能。 8.数据维护模块 ⑴功能描述 本模块主要用于维护仓库系统的数据,经常备份仓库的各种信息数据,确保整个系统的可靠性,以便在出现意外情况时可以及时恢复仓库的全部数据。 ⑵调用方式 用户在主控制界面中选择相应选项打开数据恢复界面,在界面中选择相应功能。 ⑶主要算法 ①数据备份(手动)按钮触发的处理:立即开始备份当前仓库管理系统的各种数据。 ②数据备份(自动)按钮触发的处理:用户设定数据自动备份的时间,系统根据用户设定的时间自动将仓库管理系统中此刻的各种数据进行备份。 ③退出按钮触发的处理:关闭产品信息管理窗口并返回主控制界面。 7.2、程序设计 根据系统要求,一共设计9个类,如下图,其中: 数据库操作类: DBManger:实现连接,查询修改等分步操作 ; GetDBInfo :实现查询结果集的返回 ; 操作界面类: Enter : 登录界面 Select : 功能选择界面 InStoreHouse : 物品入库操作界面 OutStoreHouse : 物品出库操作界面 SearchGoods : 物品查询界面 OutIn : 出入库查询界面 ManagerInfo : 管理员信息管理界面 分步实现说明: 1. DBManger类 实现对数据库的查询操作函数f(String s): public ResultSet f(String s){ Connection con = null; Statement sql = null; ResultSet rs = null; try{ con = DriverManager.getConnection("jdbc:mysql://localhost:3306/software","root","1234"); sql = con.createStatement(); rs = sql.executeQuery(s); }catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } return rs; } 实现对数据库的- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课程设计 文档 商店 仓库 管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文