库存管理系统

  • 一、课程设计概述
    • 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<stdio.h>
#include<string.h>
#include<stdlib.h>
#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<num;i++){if(fwrite(&product[i],sizeof(struct a),1,fp)!=1)printf("file write error\n");}syetem("cls");//清屏//printf("商品已保存!\n");//getch();fclose(fp);
}

【软件工程】课程设计库存管理系统相关推荐

  1. 软件工程课程设计“作业管理系统”的总结和期望

    目录 一.软件工程课程设计"作业管理系统"的总结和期望 该系统研究的意义 功能概述 web网上作业管理系统的实现 注册与登录功能的实现 作业提交功能实现 教师批改作业的功能实现 总 ...

  2. 软件工程测试旅游管理系统,软件工程课程设计---旅游信息管理系统

    软件工程课程设计---旅游信息管理系统 福建农林大学金山学院福建农林大学金山学院 课程设计报告课程设计报告 课程名称 软件工程 课程设计题目 旅游信息管理系统 姓 名 系 信息与机电工程系 专 业 计 ...

  3. 软件工程课程设计——技术栈【Go+Vue+PGSQL】的人事管理系统

    一.项目架构介绍 项目技术栈:Go+Vue+PGSQL 开发工具:IDEA2021.1 后端开发语言:Go 前端框架:Vue3.0(集成ElementUI组件) 后端框架:Gin.Gorm 数据库:P ...

  4. c语言课程设计图书管理系统

    数据结构c语言课程设计 图书管理系统 我做的是百度文库的第28题,目前没有报错,正常运行,但是还有一点小bug.代码很多地方写的不是很好,请多多包涵. 账号1,密码1,为管理员账号:其他账号2,3,4 ...

  5. 软件工程课程设计·SOA架构搭建SSM框架的网上商城系统

    软件工程课程设计·SOA架构搭建SSM框架的网上商城系统 项目简介 本系统利用SSM框架.Dubbo框架.Maven模块化开发等技术开发的一个网上商城项目,主要包括订单系统模块.购物车系统模块.搜索系 ...

  6. python通讯录管理系统设计_数据结构课程设计-通讯录管理系统(C语言版)

    ##数据结构课程设计-通讯录管理系统 一,前言 自从上次C语言课设写完后,这次数据结构课设就写的游刃有余了,很快啊,不足三天就写完了它(年轻人不讲武德),如果你认真看过我之前写的C语言课程设计-球队管 ...

  7. C语言课程设计-图书管理系统

    实训项目名称:图书管理系统的设计与实现 1.实训目的 开发一个小型的图书管理应用软件,使用该软件可以实现图书信息的登记.浏览.借书.还书.删除和更新等操作.通过该系统的实现可以了解C++连接数据库的原 ...

  8. 销售管理c语言程序设计,C语言课程设计销售管理系统

    C语言课程设计销售管理系统 C语言课程设计 题 目 商品销售系统 指导教师 曹东燕 学生姓名 刘伟 张新星 马国文 学 号 200900804072 200901802005 200900804051 ...

  9. 网吧管理系统C语言作业,C语言课程设计-网吧管理系统.doc

    C语言课程设计-网吧管理系统 <通信工程专业C语言课程设计> 报 告 专 业: 通信工程 班 级: 0802 姓 名: 赵 松 指导教师: 丁 雄 二00九 年 十二 月 二十五 日 目 ...

  10. 教职工员工管理MySQL实训_数据库课程设计---教职工管理系统

    数据库课程设计---教职工管理系统 第 1 页目 录一.需求与功能分析 2二.系统总体框架 3三.功能设计 3四.类的设计与分析 4五.数据库表结构设计 4六.特色算法分析 5七.功能测试 6-10八 ...

最新文章

  1. NodeJS、NPM安装配置与测试步骤(windows版本)
  2. 使用 SQL 语句从数据库一个表中随机获取一些数据
  3. boot jpa mysql postman spring_听说过spring-data-jdbc么?来个最佳实践
  4. Numpy-矩阵的运算
  5. Android中的ContentValues用法
  6. CSDN-markdown编辑器(保存自CSDN官方)
  7. 使用nhmicro提供的micro-datasource嵌入式的解决微服务架构中分布式事务问题
  8. Java实现复数Complex的加减乘除运算、取模、求幅角角度
  9. 77种互联网盈利创新模式(3)
  10. ORACLE--Connect By、Level、Start With的使用(Hierarchical query-层次查询)
  11. 刻不容缓!联合国加开会议讨论「如何限制杀人机器人」
  12. android 安全的未来(I)
  13. 【TWVRP】基于matalb粒子群算法求解带时间窗的车辆路径规划问题【含Matlab源码 1272期】
  14. 蓝牙条码扫描枪如何选购
  15. 什么是驻点和拐点_极值点、驻点、拐点的区别
  16. scratch3.0发布作品生成封面图
  17. c语言return后面有没有分号,为什么末尾加return 0;}反而不能通过?(符号英文半角,分号没漏)...
  18. [hdu3873] Invade the Mars
  19. 操作系统-比例份额调度
  20. Nicholas C. Zakas:最佳职业生涯建议

热门文章

  1. lordPE转自http://blog.sina.com.cn/s/blog_6e8f83bc01014115.html
  2. css+javascript模拟OneNote2007Tab标签
  3. Linux下文件实时自动同步备份
  4. 中国移动MM7 API用户手册
  5. linux能虚拟化windows,在Linux和Windows下查看CPU是否支持虚拟化的方法
  6. 重磅!全球云服务商 IP 地址与分析报告:注册与活跃 IP 告诉你到底哪家云更火...
  7. lockdir.exe(文件夹加密软件)重装系统后打不开的解决办法
  8. c语言中term,CTerm
  9. cs python_python_13(前端—cs)
  10. xshell报initialize flexnet service failed error code 50003错误