【软件工程】课程设计库存管理系统 您所在的位置:网站首页 库存控制流程图 【软件工程】课程设计库存管理系统

【软件工程】课程设计库存管理系统

2024-07-16 23:24| 来源: 网络整理| 查看: 265

库存管理系统 一、课程设计概述1.1. 目的1.2. 任务1.3. 开发环境: 二、项目的需求分析和可行性分析2.1.系统可行性分析2.2.系统需求分析2.2.1.系统目标设计2.2.2.系统功能需求分析2.2.3.系统功能描述2.2.4系统的数据流图 三、项目概要设计3.1.系统建模设计3.1.1.UML简介3.1.2.系统的用例分析3.1.3.系统的层次模块图 3.2管理员录入出入库信息3.3 用户录入出入库信息3.4 管理员管理用户信息3.5 管理员录入库存详细信息3.6 数据文件设计3.7 接口设计3.7.1.用户接口3.7.2.外部接口3.7.3.内部接口 3.8体系结构设计 四、详细设计4.1 主要函数算法设计4.2系统商品入库流程图4.3系统代码

一、课程设计概述 1.1. 目的

针对具体软件工程项目,全面掌握软件工程管理、软件需求分析、软件初步设计、软件详细设计、软件测试等阶段的方法和技术。通过本课程设计的实践及其前后的准备与总结,复习、领会、巩固和运用软件工程课堂上所学的软件开发方法和知识,进一步理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目开发过程中的意义和作用 ,提高软件工程的综合能力,提高软件项目的管理能力,为从事软件开发和设计奠定一个坚实的基础。

1.2. 任务

充分了解库存管理系统,进行系统的需求分析、可行性分析、设计、测试,完成课程设计。充分了解软件工程的整个过程,复习、领会、巩固和运用软件工程课堂上所学的软件开发方法和知识。

1.3. 开发环境:

Microsoft Visual C++、 SQL Server 2019 、 Windows 10、codeblocks

二、项目的需求分析和可行性分析 2.1.系统可行性分析

库存管理系统可以应用到生活的各个方面,比如:超市里的各种商品,图书管理的图书。拿超市里商品来说,商品每天的进货量、出货量也是极其庞大的,不是简单地依靠手工记载就能完成的,那样会及其的混乱。那么此时,一个小小的库存管理系统就可以解决这个问题。不仅入此,还可以分析每天的出货量多少,来判断哪一种商品更受喜爱,多进哪一种商品,少进哪一种商品。 运用现代信息化和智能化的管理模式,解决商品库存信息在日常生活中易于丢失、遗忘,不易保存、管理的问题,从而使各商家能够更全面,更直观的了解到商品的库存信息,做出正确的决定。 库存管理系统,给用户提供友好的界面,方便的操作,满足商家进出货管理的需求。使用户使用更加方便,快捷。

2.2.系统需求分析 2.2.1.系统目标设计

系统开发的总目标是实现仓库管理的系统化、规范化和自动化。 对仓库内的所有商品(包括商品名称、代码、生产商、生产日期、总数量、出库量、入库量、价格)进行统一管理 提供方便的查询方法。如:商品名称、代码、生产商。 提供对商品信息的修改。 提供对商品信息的查询。 提供每天的出库量、入库量的统计以及排序。 提供商品出、入库功能。

2.2.2.系统功能需求分析

(1) 商品管理:商品的名称、代码、生产商、生产日期、总数量、出库量、入库量、价格等。 (2) 系统管理:商品的出入库、查询修改、统计排序等。 满足以上需求的系统主要包含有一下几个子系统 (1)登录子系统:该系统中主要包含了登录功能。 (2)管理子系统:该子系统主要包含管理员对商品的操作。

下图为该库存管理系统的主要功能模块图: 在这里插入图片描述

图1:库存管理系统功能模块图

2.2.3.系统功能描述

(1) 商品入库。商品入库后入库量改变,总的数量+=入库量。 (2) 商品出库。商品出库后出库量改变,总的数量+=出库量。 (3) 查询商品。得到查询商品的名称、代码、生产商、生产日期、总数量、出库量、入库量、价格等。 (4) 修改商品。修改商品的名称、代码、生产商、生产日期、总数量、出库量、入库量或价格。可部分修改,可全部修改。按需求改变。 (5) 日盘点。对一天内各种商品的出库量、入库量进行一个总的盘点,以便做出明天的进货决定。 (6) 出入库排序。对商品的出入库进行排序,更加简单直观的发现哪种商品卖的好,那种商品要多进货。 (7) 退出系统。返回到主菜单页面。

2.2.4系统的数据流图

在这里插入图片描述 在这里插入图片描述

图2:库存管理系统系统的DFD图

三、项目概要设计 3.1.系统建模设计 3.1.1.UML简介

UML是一种功能强大的、面向对象的可视化系统分析的建模语言,它采用一整套成熟的建模技术,广泛地适用于各个应用领域。它的各个模型可以帮助开发人员更好地理解业务流程,建立更可靠、更完善的系统模型。从而使用户和开发人员对问题的描述达到相同的理解,以减少语义差异,保障分析的正确性.

3.1.2.系统的用例分析

该仓库管理系统的E-R图如下: 在这里插入图片描述

图3:仓库管理系统的E-R图 从用例图中我们可以看出使用者对本系统所具有的用例。包括: (1) 商品入库。商品入库后入库量改变,总的数量+=入库量。 (2) 商品出库。商品出库后出库量改变,总的数量+=出库量。 (3) 查询商品。得到查询商品的名称、代码、生产商、生产日期、总数量、出库量、入库量、价格等。 (4) 修改商品。修改商品的名称、代码、生产商、生产日期、总数量、出库量、入库量或价格。可部分修改,可全部修改。按需求改变。 (5) 日盘点。对一天内各种商品的出库量、入库量进行一个总的盘点,以便做出明天的进货决定。 (6) 出入库排序。对商品的出入库进行排序,更加简单直观的发现哪种商品卖的好,那种商品要多进货。 (7) 退出系统。返回到主菜单页面。

3.1.3.系统的层次模块图

在这里插入图片描述 图4:库存管理系统层次模块图

3.2管理员录入出入库信息

在这里插入图片描述

3.3 用户录入出入库信息

在这里插入图片描述

3.4 管理员管理用户信息

在这里插入图片描述

3.5 管理员录入库存详细信息

在这里插入图片描述

3.6 数据文件设计

c2.c文件:系统主要代码 c2.o文件:对象文件

3.7 接口设计 3.7.1.用户接口

主界面 在这里插入图片描述

主菜单 在这里插入图片描述

商品入库 在这里插入图片描述

商品出库 在这里插入图片描述

查询商品 在这里插入图片描述 在这里插入图片描述

修改商品 在这里插入图片描述

日盘点 在这里插入图片描述

出库排序 在这里插入图片描述

退出系统 在这里插入图片描述

3.7.2.外部接口

3.7.3.内部接口

用户添加出入库信息接口:input、output(录入用户信息、商品信息、供货商信息、入库信息、出库信息、退货信息、 客户信息等信息) 用户查询商品信息接口:find_1、find_2、find_3、find(系统提供三种查询条件:活物编号、日期、指数) 管理员修改信息接口:change(修改商品信息、供货商信息、用户信息、客户信息等信息) 盘点商品信息接口:display(显示商品信息) 商品排序接口:shun、dao(依据出库顺序排序)

3.8体系结构设计

在这里插入图片描述

四、详细设计

库存管理系统是存储商品库存信息的一个平台,整个系统共分为7个模块:商品入库、商品出库、修改商品、查询商品、日盘点、出入库排序以及退出系统,详细的设计方法如下所述。

4.1 主要函数算法设计

Void save(); 创建text.txt,并对其添加内容 Void read(); 读取text.txt内容,将其赋给数组 Void input(); 添加商品入库信息 Void output(); 添加商品出库信息 Void find_1(); 通过名称查询商品信息 Void find_2(); 通过代码查询商品信息 Void find_3(); 通过生产商查询商品信息 Void find(); 查询商品信息 Void change(); 修改商品信息 Void display(); 商品信息的盘点 Void shun(); 商品出库按升序排序 Void dao(); 商品出库按降序排序 Void quit(); 退出系统

4.2系统商品入库流程图

在这里插入图片描述

4.3系统代码

只展示部分代码

#include #include #include #define N 80//最大容量限定 struct a { char name[10]; int numb; char boss[6]; int date; int count; int price; int chu; int ru; }goods[1]; struct a product[N]={{"ac",1,"AC",1,15,5,0,0},{"bd",2,"BD",2,10,20,0,0}}; int num=2; void read(){ FILE*fp; int i; system("cls"); fp=fopen("text.txt","r+"); if(fp==NULL){ printf("不能打开文件!\n"); exit(0); } i=0; while(!feof(fp)){ if(fread(&product[i],sizeof(struct a),1,fp)==1) i++; } num=i; fclose(fp); } void save(){//保存商品的信息 FILE*fp; int i; if((fp=fopen("text.txt","w"))==NULL){ printf("cannot open file"); return; } for(i=0;i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有