软件工程课程设计仓库管理系统副本
《软件工程课程设计仓库管理系统副本》由会员分享,可在线阅读,更多相关《软件工程课程设计仓库管理系统副本(24页珍藏版)》请在装配图网上搜索。
1、(精编 )软件工程课程设计仓库管理系统副本软件工程课程设计实验报告学院:电子信息工程学院专业:计算机科学与技术姓名: _李久强_班级: _计科 083 _ _学号: _ 08104060315_目录第一章需求分析3一、问题背景及描述3二、功能分析3三、建立系统流程图3四、建立数据流图5五、建立数据字典7六、算法描述9七、建立 E-R 图 10八、建立状态图12第二章概要设计14一、软件体系结构模型14二、用面向数据流的方法设计系统软件结构17三、数据库逻辑结构设计22第三章 详细设计 23一、数据库物理结构设计23二、模块过程设计与界面设计24第四章 数据库设计 30一、数据字典的设计30二、
2、数据表的设计31第五章 编码和单元测试 32第六章 程序运行 36一、登陆界面 36二、主控制界面 37三、客户管理子模块界面38四、用户管理子模块界面39五、产品入库子模块界面40六、产品出库子模块界面41七、产品查询子模块界面44八、修改产品信息子模块界面44九、帮助信息子模块界面45第七章 心得体会 46参考文献 47第一章需求分析一、问题背景及描述随着科学技术的发展,社会进步,计算机迅速的发展,仓库管理的方法也日新月异 ,以前全是由人管理的方法现存在很多的缺点:管理效率低,劳动强度大,信息处理速度低而且准确率也不够令人满意。为了提高仓库管理效率, 减轻劳动强度提高,信息处理速度和准确性
3、; 为仓库管理员提供更方便、 科学的服务项目。为仓库管理员提供的一种更先进、科学的服务系统。 于是我们便选择了由计算机来设计一个仓库管理系统的方案。让计算机对仓库进行自动管理,仓库管理员可以直接在计算机上实现仓库的信息管理,并能在一定程度上实现自动化。我们在现行系统初步调查的基础上提出了新系统目标,即新系统建立后所要求达到的运行指标,这是系统开发和评价的依据。二、功能分析通过初步分析,“仓库管理系统”应该具备以下主要功能:仓库各种信息的输入,包括入库,出库,还原,需求信息的输入等仓库管理的各种信息查询,修改和维护3.仓库管理系统的使用帮助鉴于课程设计的缘故,本系统仅仅实现部分简单功能。三、建立
4、系统流程图为了便于问题的论述与展开,在此加入了系统流程图的内容。通过对仓库管理过程的了解, 可以知道仓库管理系统管理仓库信息的大致过程。首先,用户登陆仓库管理系统,通过一系列对系统的操作后,由系统返回给用户相应的结果。图1 描绘了这个大致的流程。图 1 仓库管理系统大致处理过程接下来对图 1 的黑匣子(仓库管理系统) 的内容进行分解。 通过仔细分析与了解,确定用户对系统的整个操作过程:用户登陆仓库管理系统, 验证用户身份与权限,审核后操作仓库管理系统,用户可以查询仓库里的产品信息,管理员权限可修改和删除相关仓库的信息,用户还可以打印相关报表, 还可以查看帮助文档。系统会根据用户的操作,给予相应
5、的显示与处理结果。图2 图 3 图 4 是分析后得出的系统流程图。用户输入登陆信息审核信息添删改查信息系统处理用户的输入信息显示处理结果用户图 2 仓库管理系统流程图 1图 3 仓库管理系统流程图 2用户输入登陆信息审核信息显示帮助文档显示帮助文档信息用户图 4 仓库管理系统流程图3四、建立数据流图系统流程图虽然很好地描绘了具体的系统,但是在系统流程图中把 “做什么”和“怎样做” 这两类不同范畴的知识混合在一起。我们的目标不是一成不变地复制现有的人工系统, 而是开发一个既能够完成现有的所有功能,又能使操作更加规范或者功能更加完备的新系统,因此,应该着重描绘系统的逻辑功能。数据流图描述数据在软件
6、系统内从输入流动到输出的过程中所经受的变换,通常用数据流图建立软件的功能模型。数据流图是系统逻辑功能的图形表示,图中没有任何的具体物理部件,仅仅描绘数据在软件中流动和被处理的逻辑过程,不懂计算机技术的人也容易理解它,因此是分析员与用户之间极好的通信工具。根据前面划分的系统模块可以得到如下数据流图:仓库管理系统整体数据流图图 5 仓库管理系统数据流图细化“系统管理”的数据流图用户用户 数据1.11.21.3客户用户退出管理管理系统D2客户资料D3用户资料图 6 对“系统管理”的细化细化“输入处理”的数据流图图 7 对“输入处理”的细化系统帐户管理数据流图21修改用户用户更新数据验证授权用户用户用
7、 户 数 据D4用户资料图 8 系统帐户管理数据流图五、建立数据字典数据字典是关于数据的信息的集合, 也就是对数据流图中包含的元素的定义的集合。它的作用是在软件分析和设计过程中提供关于数据的描述信息。数据字典和数据流图共同构成系统的逻辑模型。数据字典定义数据的方法就是对数据自顶向下地分解,当分解到不需要进一步定义,每个和工程有关的人员都清楚其含义的元素时,这种分解过程就结束了。本仓库管理系统根据划分的模块定义了如下数据字典:用户信息表表名: user内容:记载用户登陆的基本信息组成:列名 ,数据类型 ,长度 ,精度 ,小数 ,备注userid,int,4,10,0,关键字(主键)usernam
8、e,varchar,50,0,0,不为空userpwd,varchar,50,0,0,不为空purview,varchar,50,0,0,不为空组织:按录入顺序。客户信息表表名: customerinfo内容:记载客户相关的基本信息组成:列名 ,数据类型 ,长度 ,精度 ,小数 ,备注Cid,int,4,10,0, 关键字(主键)Cname,varchar,50,0,0,不为空Addr,varchar,50,0,0,不为空PostCode,int,4,10,0,不为空Phone,varchar,50,0,0,不为空组织:按录入顺序。产品类型表表名: producttype内容:记载产品类型的基
9、本信息组成:列名 ,数据类型 ,长度 ,精度 ,小数 ,备注Typeid,int,4,10,0,关键字(主键)Typename,varchar,50,0,0,不为空组织:按录入顺序。库存信息表表名: store内容:记载产品库存的基本信息组成:列名 ,数据类型 ,长度 ,精度 ,小数 ,备注Pid,int,4,10,0, 关键字(主键)Pname,varchar,50,0,0,不为空Ptype,varchar,50,0,0,不为空Pprice,float,8,53,0,不为空Pnum,int,4,10,0,不为空MakeDate,datetime,8,0,0,不为空InDate,datetim
10、e,8,0,0,OutDate,Datetime,8,0,0,组织:按录入顺序。六、算法描述分析员以黑匣子的方式记录算法, 所谓黑匣子就是不考虑一个功能的具体实现方法,只把它看作给予输入之后就能够产生一定输出的匣子。这正是在早期开发阶段分析员对算法应该持有的正确观点,目的是用原理性算法准确地定义功能,算法的细节可以等到以后的详细设计阶段再确定。仓库管理系统中主要涉及算法方面的主要是产品的库存数量,随着仓库的使用,入库数量和出库数量随时发生变化,整个仓库中的库存量也就随之变化。这里采用 IPO 表记录该算法的初步描述。图 9 描绘产品库存量初步算法的 IPO 表七、建立 E-R 图为了把用户的数
11、据要求清楚、 准确地描述出来, 系统分析员通常建立一个概念性的数据模型, 概念性数据模型是一种面向问题的数据模型,它描述从用户角度看到的数据。通常使用实体 -联系图来建立数据模型,可以把实体- 联系图简称为 E-R 图,相应地可以把 E-R 图描绘的数据模型称为E-R 模型。E-R 图中包含了实体(即数据对象) 、关系和属性等三种基本成分。通常,用矩形框代表实体, 用连接相关实体的菱形框表示关系,用椭圆或圆角矩形表示实体或关系的属性,并用直线把实体(或关系)与其属性连接起来。用户号用户名用户用户口令用户权限图 10 用户 E-R 图图 11 客户 E-R 图产品号产品名产品价格生产日期类型图
12、12 产品 E-R 图图 13 仓库管理系统联系图八、建立状态图状态图(也叫状态转换图) 通过描绘系统状态及引起系统转换的事件来表示系统的行为。 此外,状态图还指明了作为特定事件的结果系统将做哪些动作。因此,可以用状态图建立软件系统的行为模型。状态是可以被观察到的系统行为模式,一个状态代表系统的一种行为模式,状态规定了系统对事件的响应方式。在状态图中第一的状态主要有:初态、终态和中间状态, 在一张状态图中只能有一个初态,而终态则可以有0 个至多个。在状态图中,初态用实心圆表示, 终态用一对同心圆 (内圆为实心圆) 表示。中间状态用圆角矩形表示, 可以使用两条水平横线把它分成上、中、下 3 个部
13、分,分别防止状态名、状态变量和活动表。事件是在某个特定时刻发生的事情,它是对引起系统动作或 (或)从一个状态转换到另一个状态的外界事件的抽象。状态图中两个状态之间带箭头的连线表示状态转换,箭头指明了转换的方向。状态转换通常是由事件触发的,在这种情况下应该在表示状态转换的箭头上标出触发事件表达式。以下是仓库管理系统的状态图:登陆界面输入验证帐户不合法密码帐户帐合户法验证权限权管权普限理限通查询、修改自身查询、修改自信息;修改其他身信息;查询用户权限;添加客户信息;查新用户;查询、询出、入库信修改、注销、添息;查询产品加客户信息;查信息询、修改、添加、删除产品信息;查询、修改、添加、删除出、入库信
14、息图 14 仓库管理系统状态图第二章详细设计一、模块过程设计与界面设计验证用户身份功能模块功能描述验证用户身份功能模块用于对登陆系统的用户进行身份验证,确定用户是否拥有使用该系统的资格以及该用户的权限。因此,任何用户登陆系统都调用此模块。主要算法if 用户名 and 口令正确以该用户身份进入系统总控制界面并获得响应系统权限else提示“用户名或口令错误”累计错误三次,自动关闭本系统endif系统总控制模块功能描述系统总控制模块是系统运行时的主控制程序,通过系统的主菜单集中各子功能模块,用户在该模块中通过选择菜单进入到相应的子模块。菜单设计系统菜单设计如下表所示。表 1 系统菜单一级菜单 ,系统
15、 ,输入 ,维护 ,帮助二、三级菜单 ,客户管理 ,产品查询 ,修改产品信息 ,系统信息,用户管理 ,产品入库 ,退出系统 ,产品出库 ,主要算法每个菜单项调用相应模块,实现各自的功能。以退出系统为例:if 退出系统提示“确认退出系统 ?”if 确认退出退出仓库管理系统else返回到仓库管理系统endifendif其他功能菜单类似。用户信息管理模块功能描述用户信息管理模块是对整个系统的用户进行权限分配的模块,通过调用该模块,具有查询用户基本信息和修改密码及权限的功能。系统第一次运行时只有超级用户具有用户权限分配的权限。调用方式用户在主控制界面中选择调用该模块。主要算法添加按钮触发的处理:用于添
16、加新的用户,产生添加用户的界面。(仅限管理员权限)删除按钮触发的处理:用于删除选中的系统用户。(仅限管理员权限)修改密码按钮触发的处理: 用于修改当前用户的密码, 产生新的密码修改界面。修改密码处理流程:输入原始密码重复输入原始密码if 两次密码相同匹配数据库用户密码if 与数据库密码相同继续输入新密码,修改成功else显示“您的密码不正确! ”else显示“两次输入不相同! ”上一页按钮触发的处理:显示上一页的记录。下一页按钮触发的处理:显示下一页的记录。首页按钮触发的处理:显示第一页的记录。末页按钮触发的处理:显示最后一页的记录。退出按钮触发的处理:关闭用户信息管理窗口并返回主控制界面。客
17、户信息管理模块功能描述客户信息功能模块是供系统使用人员对客户信息进行检索与查询并且进行修改的模块。通过调用该模块,能够按照不同的条件组合进行客户信息的查询,并可以对查询到的客户信息进行修改。调用方式用户在主控制界面中选择相应选项打开客户信息界面,在界面中选择相应功能。主要算法查询条件下拉列表: 选择查询的方式, 然后于查询框中填写关键字进行搜索。添加按钮触发的处理:用于添加新的客户,产生添加客户的界面。(仅限管理员权限)删除按钮触发的处理:用于删除选中的客户的信息。(仅限管理员权限)修改按钮触发的处理: 用于修改选中的客户的信息, 产生客户信息修改界面。(仅限管理员权限)上一页按钮触发的处理:
18、显示上一页的记录。下一页按钮触发的处理:显示下一页的记录。首页按钮触发的处理:显示第一页的记录。通过调用该模块, 用末页按钮触发的处理:显示最后一页的记录。退出按钮触发的处理:关闭客户信息管理窗口并返回主控制界面。产品入库功能模块功能描述产品入库功能模块是用于新的产品添加到仓库的处理模块。通过调用该模块,用户将产品的入库信息添加到仓库信息中。调用方式用户在主控制界面中选择相应选项打开产品入库界面,在界面中填写相应入库信息。主要算法产品类型下拉列表:选择入库产品的类型。产品名输入框:用于输入添加的产品的名称。产品价格输入框:用于输入添加的产品的价格。入库量输入框:用于输入添加的产品的数量。(按产
19、品类型确定单位)生产日期输入框:用于填写入库产品的生产日期。入库按钮触发的处理: 将用户填写的入库产品的信息添加到库存的产品信息中。重置按钮触发的处理:将用户填写的产品入库信息清空重新填写。退出按钮触发的处理:关闭产品入库窗口并返回主控制界面。产品出库功能模块功能描述产品出库功能模块是用于产品从仓库售出的处理模块。户将产品的出库信息添加到仓库信息中。调用方式用户在主控制界面中选择相应选项打开产品出库界面,在界面中填写相应出库信息。主要算法产品名下拉列表:选择出库产品的名称。出库量输入框:用于输入售出的产品的数量。(按产品类型确定单位)出库按钮触发的处理: 将用户填写的产品出库信息添加到库存的产
20、品信息中。重置按钮触发的处理:将用户填写的产品入库信息清空重新填写。退出按钮触发的处理:关闭产品出库窗口并返回主控制界面。产品信息管理模块功能描述产品信息管理模块是供系统使用人员对产品信息进行检索与查询并且进行修改的模块。通过调用该模块,能够按照不同的条件组合进行产品信息的查询,并可以对查询到的产品信息进行修改。调用方式用户在主控制界面中选择相应选项打开产品信息界面,在界面中选择相应功能。主要算法查询条件下拉列表: 选择查询的方式, 然后于查询框中填写关键字进行搜索。查询按钮触发的处理: 用于根据查询条件和用户输入的条件进行查询产品的相关信息并显示。修改按钮触发的处理: 用于修改选中的产品的信
21、息, 产生产品信息修改界面。(仅限管理员权限)上一页按钮触发的处理:显示上一页的记录。下一页按钮触发的处理:显示下一页的记录。首页按钮触发的处理:显示第一页的记录。末页按钮触发的处理:显示最后一页的记录。退出按钮触发的处理:关闭产品信息管理窗口并返回主控制界面。数据维护模块功能描述本模块主要用于维护仓库系统的数据,经常备份仓库的各种信息数据,确保整个系统的可靠性,以便在出现意外情况时可以及时恢复仓库的全部数据。调用方式用户在主控制界面中选择相应选项打开数据恢复界面,在界面中选择相应功能。主要算法数据备份(手动)按钮触发的处理: 立即开始备份当前仓库管理系统的各种数据。数据备份(自动)按钮触发的
22、处理:用户设定数据自动备份的时间,系统根据用户设定的时间自动将仓库管理系统中此刻的各种数据进行备份。退出按钮触发的处理:关闭产品信息管理窗口并返回主控制界面。第四章数据库设计一、数据字典的设计根据以上分析,为了简便系统设计仓库管理系统决定采用Access 数据库来设计。建立仓库数据库storage ,并建立用户基本信息表(user )、客户基本信息表( customerinfo)、产品类型表( producttype)、库存信息表( store )等4 张数据表。并根据需求分析时数据字典的设计,分别设计这5 张数据表如下。图 23user 字段表图 24customerinfo 字段表图 25
23、producttype 字段表图 26store 字段表二、数据表的设计由上面设计的数据字典,结合实际情况给数据表录入数据。图 27user 表图 28customerinfo 表图 29producttype 表图 30store 表第六章程序运行一、登陆界面错误登陆用户:图 31 登陆失败界面正确登陆用户:图 32 正确用户直接进入主界面二、主控制界面系统模块:图 33 主界面系统模块输入模块:图 34 主界面输入模块维护模块:图 35 主界面维护模块帮助模块:图 36 主界面帮助模块三、客户管理子模块界面图 37 客户管理控制界面四、用户管理子模块界面用户信息界面:图 38 用户信息界面
24、修改密码:密码错误:图 39 修改密码失败密码正确:图 40 成功修改密码五、产品入库子模块界面产品入库:数据不完整:图 41 产品入库失败正确的入库数据:图 42 产品数据成功入库产品入库后的数据库:图 43 产品入库后的数据库六、产品出库子模块界面产品出库:数据不完整:图 44 出库数据填写不完整数据超出库存量:图 45 出库数据量过大数据正常出库:图 46 数据出库成功数据正常出库后的数据库:图 47 产品出库后的数据库数据全部出库:图 48 将剩余的产品全部出库数据全部出库后的数据库:图 49 产品全部出库后的数据库七、产品查询子模块界面图 50 产品信息查询模块八、修改产品信息子模块
25、界面图 51 产品信息修改模块九、帮助信息子模块界面帮助模块显示本系统的作者:图 52 帮助信息模块第七章心得体会本次课程设计由于时间紧张, 仅仅花费了一天的时间, 实现了整个系统的一部分简单功能, 重复的功能就没有多做, 不过对于制作整个系统而言,还是有不少的收获。在紧张的复习过程中, 能用一天的时间完成整套系统的开发,自己也觉得比较欣慰,至少在校阶段确实学到了不少基础知识,在我未来的成长中会发挥相当重要的作用。在整个系统的制作过程中遇到了非常多的问题,例如连接数据库出错、 数据库查询添加删除更新语句的写法、自适应变化的数组长度等,在同学的帮助下,以及查询网上诸多相关资料,都很好地找到了解决方案,使我从中获益匪浅。这应该是最后一次课程设计了, 尽管时间不多,很多该有的功能都没有完成,希望在毕业设计中,可以做的更好,功能更强大。但愿在往后的工作中, 我可以更多地利用在学校学到的知识为自己的事业而打拼。
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。