1、*实践教学*软件学院2023年春季学期Java课程设计 说明书题 目: 物资管理 专业班级: 软件工程(3)班 姓 名: - 学 号: - 指导教师: - 成 绩: 目录摘要I序言II1、需求分析1 1.1项目背景.1 1.2系统介绍.11.2.1用户需求11.2.2性能需求2 1.3非功能需求.22、设计思绪32.1 解决流程32.2物资管理系统E-R图33、具体设计.43.1 各功能模块流程图53.1.1 登陆程序流程图53.1.2 修改密码流程图63.2 数据库设计63.2.1 数据库的概念及特点63.2.2 数据库表设计74、运营调试与分析讨论.94.1 登录模块9 4.2物资管理首页
2、模块.11 4.3修改密码模块.12 4.4添加物资模块.14 4.5物资删除模块.15 4,.6物资修改模块.16 4.7物资查询模块.18 4.8生成订单与查询模块.20 4.9物资信息排序模块.21 4.10帮助功能模块.23参考文献26致谢27摘要在信息时代的今天,计算机参与公司平常业务管理已经成为公司现代化建设的当务之急。物资管理信息系统的设计开发正是适应了这种规定。物资管理信息系统是典型的信息管理系统,其开发重要涉及后台数据库的建立和维护以及前端应用程序的开发两个方面,对于前者规定建立起数据一致性和完整性强、数据安全性好的库,而对于后者则规定应用程序功能完备,易使用等特点。我使用e
3、clipse开发工具,运用其提供的各种面向对象的开发工具,用SQL Server 2023作为数据库管理系统。简朴介绍了该系统的编程环境和实现关系型数据库。在可行性研究和需求分析的基础上,对系统的设计方案、功能模块、数据库设计和系统的测试等进行了较具体的论述。本系统重要由系统登录、密码修改、货品资料管理、订单管理模块构成,采用SQL Server 2023大型数据库,具有强大的数据存储、查询功能,能充足满足数据量和用户多角度数据查询。关键词:物资管理、eclipse、SQL Server 2023、面向对象、系统开发、数据库序言处在信息技术时代,每个人都深切感受到技术革新为我们带来的巨大便利。
4、这些技术(特别是计算机技术)彻底改变了我们的工作、生活的方式与节奏。而在现代公司管理中,计算机也成为了必不可少的管理工具,它大大减轻了管理人员的工作承担,把人们从烦琐反复的工作中解放出来。所谓物资管理,是指公司在生产过程中,对本公司所需物资的采购、使用、储备等行为进行计划、组织和控制。物资管理的目的是,通过对物资进行有效管理,以减少公司生产成本,加速资金周转,进而促进公司赚钱,提高公司的市场竞争能力。公司的物资管理,涉及物资计划制订、物资采购、物资使用和物资储备等几个重要环节,这些环节环环相扣、互相影响,任何一个环节出现问题,都将对公司的物资供应链导致不良影响。因此,在市场异常活跃的今天,物资
5、管理已不能用“计划”、“配额”、“定量”等几个简朴概念进行诠释, 它已经成为现代公司管理的重要组成部分,成为公司成本控制的利器,成为公司生产经营正常运作的重要保证,成为公司发展与壮大的重要基础。 众所周知, 由于受传记录划经济的影响,在很长一段时期里,我国公司的物资管理模式被深深地烙上了“计划”的印记,按产量指标粗略制定物资计划、仅向少量指定供货商采购物资、无限量加大物资库存等现象屡见不鲜。因此,创新公司物资管理模式并使其顺应现代公司的发展潮流, 已经显得愈发重要了。我国公司通过近三十年的改革与探索,在公司物资的计划、采购、使用、储备等管理环节上取得了诸多进展和成果。在物资管理管理中,物资多,
6、数量大,流动频繁,管理人员要面对大量的物资信息,假如采用手工记录方式,效率低、费时费力不说,还容易导致失误,给管理带来巨大的困难与不便。为此,需要一种专门的计算机软件对仓库物资信息进行管理,涉及物资基本信息、物资入库信息,物资出库信息、物资余额信息等的添加、删除、修改、查询等功能。1、需求分析1.1 项目背景物资管理系统是为保证施工生产高效运营,实现节约材料,减少工程成本,提高经济效益,充足发挥物资管理系统在公司项目责任成本管理中的作用而研发的一款软件。物资管理是公司管理项目的重要组成部分,也是公司项目生产前的重要而复杂的准备工作。对工程所需物资的计划,采购和管理过程实行有效的控制,满足产品的
7、质量,符合设计规定,保证施工生产需要、优质、高效安全,保证项目部综合管理目的的实现。1.2系统介绍本系统定位于中小型仓库,以SQL Server 2023为后台数据库,可在网络环境下的实现;操作系统选择目前常用的Windows 7。本系统功能应包含物资基本信息管理、物资入库管理、物资出库管理、物资订单管理等。系统界面力求简洁、易用,在标准化的基础上考虑界面的美观和新奇。1.2.1用户需求物资管理系统在设计时应充足满足公司的现实需求,同时也考虑到未来的发展,考虑到了适应信息化的发展规定。具体表现在:(1)运用信息系统建立起完整的物资管理管理体系;(2)能连接数据库并实现添加、删除、修改、查询等功
8、能;(3)能对用户信息进行修改;(4)根据库存数量产生订单,能进行相关信息的记录分析,排序,打印等;(5)查询结果可以导出到Excel表中,方便报表数据的使用;(6)实现帮助功能。1.2.2性能需求为了保证系统可以长期、安全、稳定、可靠、高效的运营,物资管理系统应当满足以下的性能需求:(1)数据解决的及时性,准确性系统解决的准确性和及时性是系统的必要性能。本系统在设计和开发过程中,要充足考虑系统当前和将来也许承受的工作量,使系统的解决能力和响应时间可以满足公司对信息解决的需求。由于本系统的各种数据对于整个系统的功能和性能举足轻重,因此其准确性在很大限度上决定了系统功能和性能。在系统开发过程中,
9、必须采用一定的数据验证方法保证数据的准确性。(2)数据安全性系统数据的安全性在整个系统中占有十分重要的地位。任何系统都应保证数据的安全性。(3)系统的易用性本系统是直接面向业务操作员的,而使用人员往往对计算机并不时非常熟悉。这就规定系统可以提供易用的人机交互界面。要实现这一点,就规定系统应当尽量使用用户熟悉的术语和中文信息的界面,缩短用户对系统熟悉的过程。1.3非功能需求 用户界面需求:简洁、易用、易懂,美观、大方、标准,具有一定的兼容性。 软件质量需求:易用、健壮、兼容性好、运营稳定、有一定安全保障。2、设计思绪2.1 解决流程总体流程图1如下:图1 系统流程图2.2物资管理系统E-R图E-
10、R图也即实体-联系图,提供了表达实体型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R图的基本要素是实体型、属性和联系,其表达方法为:(1)实体型:用矩形表达,矩形框内写明实体名;比如用户、物资等都是实体。(2)属性:用椭圆形表达,并用无向边将其与相应的实体连接起来;比如管理员的用户名、密码都是属性。(3)联系:用菱形表达,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型。本系统实体图2如下。数 量金 额入库编号金 额 收单地入库时间单 价数 量类别价格物资ID物资名称品牌型号订单物 资订单号保 存添加物资图2 物资管理系统E-R图3、具体设计具体设
11、计的重要任务是设计每个模块的实现算法、所需的局部数据结构。具体设计的目的有两个:实现模块功能的算法要逻辑上对的;算法描述要简明易懂。3.1 各功能模块流程图3.1.1 登陆程序流程图登录界面中,所有用户登录都要进行身份的验证,通过身份的标志拟定用户权限和功能界面。如图3所示: 图3登陆程序流程图3.1.2 修改密码流程图修改密码流程图4如下:图4 修改密码流程图3.2 数据库设计3.2.1 数据库的概念及特点(1)数据库的概念J.Martin给数据库下了一个比较完整的定义:数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的
12、程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个“数据库集合”。(2)数据库的特点1)实现数据共享数据共享包含所有用户可同时存取数据库中的数据,也涉及用户可以用各种方式通过接口使用数据库,并提供数据共享。 2)减少数据的冗余度同文献系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文献。减少了大量反复数据,减少了数据冗余,维护了数据的一致性。 3)数据的独立性数据的独立性涉及数据库中数据库的逻辑结构和应用程序互相独立,也涉及数据物理结构的变化不影响数据的逻辑结构。 4)数据实现集中控制文
13、献管理方式中,数据处在一种分散的状态,不同的用户或同一用户在不同解决中其文献之间毫无关系。运用数据库可对数据进行集中控制和管理,并通过数据模型表达各种数据的组织以及数据间的联系。 5)数据一致性和可维护性,以保证数据的安全性和可靠性重要涉及:安全性控制:以防止数据丢失、错误更新和越权使用;完整性控制:保证数据的对的性、有效性和相容性;并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用;故障的发现和恢复:由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏6)故障恢复。由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被
14、破坏。数据库系统能尽快恢复数据库系统运营时出现的故障,也许是物理上或是逻辑上的错误。比如对系统的误操作导致的数据错误等。3.2.2 数据库表设计(1)物资信息表:物资信息表是能对物资(涉及物资名称、物资ID、类别、数量、品牌型号、价格、时间)信息进行添加、删除、修改、查询。如所示: 汽车管理表属性数据类型字段长度是否主键说 明物资名称文本50是物资ID文本8否 类别 文本50否数量文本50否品牌型号文本50否价格文本50否时间文本50都(2)管理员表 管理员表属性数据类型字段长度是否主键说 明admin文本50是passage文本50否(3) 订单表 订单表属性数据类型字段长度是否主键说 明订
15、单号文本50是物资名称文本50否物资ID文本50否发送地文本50否收单人文本50否所收金额文本50否接受时间文本50否 4、运营调试与分析讨论4.1 登录模块用户通过登录界面进入系统菜单,对物资进行操作,登录时,用户名与密码要与数据库中的数据相同,否则提醒错误。 部分代码设计String drv=com.microsoft.sqlserver.jdbc.SQLServerDriver; Stringurl=jdbc:sqlserver:/127.0.0.1:1433;DatabaseName=aaa; String user=chao;String pwd=123; Connection co
16、nn=null; ResultSet rs=null; Statement stmt=null; try Class.forName(drv);conn=DriverManager.getConnection(url,user,pwd);stmt=conn.createStatement(); rs=stmt.executeQuery(select * from land where admin=+name+); if(rs.next()/假如存在,就验证密码 if(rs.getString(2).equals(mima)/假如密码对的就提醒,反之 JOptionPane.showMessag
17、eDialog(null, 物资管理系统欢迎您!); frame.setVisible(false); new 物资管理首页(); 4.2物资管理系统首页模块4.3修改密码模块部分代码设计 rs=stmt.executeQuery(select * from land where admin=+name+);if(rs.next() if(rs.getString(passage).equals(mima) ps=conn.prepareStatement(update land set passage=+passwordField_1.getText().toString()+ where
18、admin=+textField.getText()+);ps.executeUpdate();JOptionPane.showMessageDialog(null, 操作成功!,提醒,JOptionPane.INFORMATION_MESSAGE); 4.4添加物资模块部分代码设计String sql=INSERT INTO wuzixinxi VALUES(+textField.getText()+,+textField_1.getText()+,+textField_2.getText()+,+textField_3.getText()+,+textField_4.getText()+,
19、+textField_5.getText()+,+textField_6.getText()+);rs=stmt.executeQuery(sql);4.5物资删除模块部分代码设计rs=stmt.executeQuery(select * from wuzixinxi where 名称=+yhm+); 4.6物资修改模块部分代码设计: rs=stmt.executeQuery(select * from wuzixinxi where 名称=+name+); if(rs.next() Object options = 拟定,取消; int response=JOptionPane.showOp
20、tionDialog(null, 您拟定修改?,JOptionPane.YES_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options0); if(response=0) ps=conn.prepareStatement(update wuzixinxi set 名称=+textField_2.getText()+,物资ID=+textField_3.getText()+,类别=+textField_4.getText()+,数量=+textField_5.getText()+,品牌型号=+textField_6.getText
21、()+,价格=+textField_7.getText()+,时间=+textField_8.getText()+ where 名称=+name+); ps.executeUpdate()4.7物资查询模块部分代码设计rs=stmt.executeQuery(select * from wuzixinxi where 名称=+textField.getText()+;);4.8生成订单与查询模块部分代码设计 String sql=INSERT INTO 订单 VALUES(+textField.getText()+,+textField_1.getText()+,+textField_2.ge
22、tText()+,+textField_3.getText()+,+textField_4.getText()+,+textField_5.getText()+,+textField_6.getText()+);rs=stmt.executeQuery(sql);/查询语句 4.9物资信息排序模块部分代码设计rs=stmt.executeQuery(select * from wuzixinxi order by 物资ID asc); break; case 1:rs=stmt.executeQuery(select * from wuzixinxi order by 物资ID desc);4
23、.10帮助功能模块5、设计体会与小结历时四个礼拜的课程设计终于完毕了,这次的课程设计使我们受益匪浅。一方面老师给我们安排的任务是一人一个题目,这就规定我们所有参与到其中去,在完毕任务的过程中,我们碰到了许多的困难,比如如何使用数据库、如何将程序连接到数据库等等一系列的问题,都让我们感到非常的难以实现,但是通过一段时间的查阅图书、查阅网上资料、询问老师以及同学,我们终于将一个一个的困难克服。这次课设对我们最大的好处就是对JAVA的知识的巩固以及通过自学数据库库而对数据库有了从无到有的了解以及使用,这对我们下学期的课程也是非常有帮助的。当然这次的课设也反映出我们平时学习中的一些问题,如学习部积极、
24、学习知识不扎实等,以至于我们在课设时碰到的困难难么多,并且一开始还无从下手。通过三个礼拜的学习,我们也结识到了自主学习的重要性以及强大的能量,假如总是等着老师来教的话,我们能学到的东西的确有限,而自己运用课余时间的学习才是我们大学学习最有效的学习手段。由于我的水平有限,设计中肯定存在有局限性之处,有待于在此后的实践中不断完善和改善,敬请各位老师给予批评和指正。 这次的课设让我们每一个人都学到了很多,谢谢老师们的辛劳工作!参考文献1丁振凡.Java语言实用教程.北京:北京邮电大学出版社.,2023. 2耿祥义.Java课程设计.北京:清华大学出版社,2023.3赵付青.Java面向对象程序设计.
25、国防工业出版社.2023.4耿祥义.Java课程设计.北京:清华大学出版社,2023.5张孝祥.java就业培训教程.北京:清华大学出版社,2023.6王占全.ECLIPSE全程指南.北京:电子工业出版社,20237Dan Wood.SQL Server 2023数据库管理入门经典.北京:清华大学,2023.8陈伟.SQL Server2023数据库应用于开发教程.北京:清华大学,2023.致谢历时三个礼拜的课程设计就快结束了,总的来说,这次的课程设计对我们每一个人来说都是受益匪浅的,由于我们的任务都是一人一个,这就需要我们每一个人都认认真真的投入到自己的任务中,在我们的任务加重的同时,老师们
26、的任务更是加重了好多,有什么问题我们不会都会找到老师来为我们解答,在老师们的悉心指导下,我们都在进步着,所以,在这里,我们都要感谢院长、老师的工作,特别是我们的指导老师张聚礼和马威老师,他们在这几个礼拜的课程设计中对我们的帮助巨大。另一方面,在课设中,同学们的帮助无疑是更加大的,由于同学的相处时间更长,在有问题时,像同学请教很多情况下都能解决,只有同学们也都无法解决是,再在课设课中像老师请教,这样不仅减少了老师的工作量,并且大家做课设也更加有效率。此外,感谢院里给予我这样一次机会,可以独立地完毕一个课程设计,并在这个过程当中,给予我们各种方便,使我们在这学期快要结课的时候,可以将学到的只是应用到实践中,增强了我们实践操作和动手应用能力,提高了独立思考的能力。最后,我要向百忙之中抽时间对本文进行审阅,评议和参与本人论文答辩的各位老师表达感谢。