使用JAVA的仓库管理系统毕业设计目录系统开发的必要性及介绍………………………系统概要设计……………………………………系统详细设计……………………………………系统源代码………………………………………调试分析和测试结果……………………………系统使用说明书…………………………………心得体会…………………………………………参考文献…………………………………………课程设计题目:仓库货品信息管理系统一、系统开发的必要性及介绍1.必要性仓库管理是现代物流管理的一个重要组成部分,仓库货物管理信息系统的设计,可以实现对存储货物信息及统计单据的计算机管理,简化作业程序,提高作业效率,为企业创造更高的利润。2.主要功能介绍本系统有对库存货品信息的输入、插入、删除、查找等功能,并能将建立和更新的库存信息保存于文件供输出或打印。对于查找、删除等功能要求能按货品名、货品号分别进行。每个货品的相关信息包括:货品号、货品名、货品库存量、进货日期、货品生产厂家及供应商等。二、系统概要设计1.系统设计任务要求系统能实现库存货品信息的输入、插入、删除、查找等功能,并能将建立和更新的库存信息保存于文件供输出或打印。对于查找、删除等功能能够按货品名、货品号分别进行。每个货品的相关信息包括:货品号、货品名、货品库存量、进货日期、货品生产厂家及供应商等。2.方案确定库存货品信息管理系统要求实现许多功能,可遵循结构化程序设计思想来进行本系统的设计——自顶向下,逐步细化,也就是将软件设计任务划分成许多容易解决的小的子任务,即分解出许多子功能模块进行设计。本程序经过分析可划分出6个子任务:输入、输出、插入、删除、查找和保存。3.模块划分(1)程序设计模块连接图库存货品信息管理系统的模块连接结构如下图:仓库货品信息管理系统4.环境要求硬件:PC机软件:电脑安装有TC集成环境三、系统详细设计1.数据结构设计(1)数据结构的选择选取动态数据结构,本系统是通过双向链表来完成的。动态存储分配与释放:申请存储空间函数malloc()函数首部原型为void*malloc(unsignedintsize)释放存储空间函数free()函数首部原型为voidfree(void*p)动态数据结构——双向链表(2)数据类型的选择structcommodity/*定义双向链表结构体*/主程序模块输入模块输出模块插入模块删除模块查找模块保存模块载入模块{intnumber;/*货物编号*/charname[max];/*货物名称*/intcounter;/*货物数量*/structcommodity*piror,*next;/*定义两指针,分别指向其前驱和后继*/};(3)变量函数说明:COM*input()操作结果:输入货品信息COM*insert_perf()操作结果:插入某货品COM*del_perf()操作结果:删除某货品serch()操作结果:查找某货品print_perf()操作结果:输出某货品save(COM*head)操作结果:保存COM*openfile()操作结果:载入2.流程框图查找模块和载入模块的算法框图在此略。(1)输入模块开始NYNYNYY(2)插入模块申请一个结点空间,使ptr1指向它将ptr1指向结点输入货品的信息ptr1->num!=0ptr1!=NULL是否为第一个数据(n=0)ptr1=>headn+1=>n,ptr1=>ptr2NULL=>ptr2->next返回head结束NULL=>ptr1Ptr1=>ptr2->next;ptr2=>ptr1->prior开始调入载入模块NYNYHead=NULL申请一个结点空间,使ptr3指向它给ptr3指向结点输入预插入货品的信息Head=>ptr1ptr1!=NULLptr1=>ptr2;ptr1->next=>ptr1ptr2=>ptr1->priorptr3=>ptr2->next;ptr2=>ptr3->priorNULL=>ptr3->next“yes”or“no”返回head结束返回NULL(3)保存模块NYNY(4)输出模块开始输入预保存文件的文件名创建文件成功Head=>ptr1Ptr1!=NULL将ptr1指向结点的数据写入文件Ptr1->next=>ptr1结束开始调用载入模块YYNYN对以上各模块的文字解释说明:(1)输入模块:其实就是一个建立链表的操作模块。建立链表的具体操作就是逐一输入各结点数据,并建立其前后相链的关系。首先设三个指针变量:head,ptr1,ptr2。它们都是指向结构体类型数据的。先使head的值为NULL,这是链表为空的情况。用malloc函数开辟一个结点,并使ptr1,ptr2都指向它,之后从键盘读入一个货品的数据给ptr1所指向的结点。当输入的ptr1->num不...