目 录

1 引言 1
1.1 研究背景 1
1.2 研究目的及意义 1
1.3 研究现状 1
1.4 研究内容及论文的组织结构 2
1.5 本章小结 3
2 系统相关技术 3
2.1 JavaScript简介 3
2.2 Ruby语言 4
2.3 RubyMine开发平台 4
2.4 MySQL数据库 4
2.5 B/S架构 4
2.6 本章小结 5
3 系统分析 5
3.1 可行性分析 5
3.1.1 概述 5
3.1.2 社会可行性 5
3.1.3 技术可行性 5
3.1.4 操作可行性 6
3.2 需求分析 6
3.2.1 概述 6
3.2.2 功能需求分析 6
3.3 数据流图 8
3.4 数据字典 9
3.5 本章小结 13
4 系统总体设计 14
4.1 概述 14
4.2 系统运行环境 14
4.2.1 系统运行硬件环境 14
4.2.2 系统运行软件环境 14
4.3 功能模块划分 14
4.3.1 功能模块描述 14
4.3.2 HIPO图 16
4.4 业务流程 17
4.4.1 概述 18
4.4.2 流程分析 18
4.5 数据库设计 20
4.5.1 概念模型设计 20
4.5.2 关系模型设计 22
4.5.3 物理结构设计 23
4.6 本章小结 28
5 详细设计 29
5.1 项目管理模块 29
5.1.1 项目录入详细设计 29
5.2 采购管理模块 30
5.2.1 进货合同录入详细设计 30
5.2.2 进货付款详细设计 31
5.2.3 进货发票登记详细设计 32
5.2.4 进货入仓登记详细设计 33
5.3 销售管理模块 34
5.3.1 销售合同录入详细设计 34
5.3.2 销售收款详细设计 35
5.3.3 销售发票登记详细设计 36
5.3.4 销售出货登记详细设计 37
5.3.5 成本管理详细设计 38
5.4 现金流管理模块 39
5.4.1 发票管理详细设计 39
5.4.2 现金管理详细设计 42
5.5 产品管理模块 43
5.5.1 库存管理详细设计 43
5.5.2 设备跟踪详细设计 45
5.6 系统设置 45
5.6.1 用户管理详细设计 45
5.6.2 供应商管理详细设计 45
5.6.3 客户管理详细设计 46
5.6.4 权限管理详细设计 46
5.6.5 系统日志详细设计 47
5.7 本章小结 48
6 系统测试 48
6.1 概述 48
6.2 测试内容 48
6.2.1 安装测试 48
6.2.2 功能测试 48
6.2.3 模块测试 49
6.2.4 数据测试 49
6.2.5 综合测试 50
6.3 本章小结 50
结 论 51
致 谢 52
参考文献 53
3.2 需求分析
3.2.1 概述
软件的需求分析指的是用合适的方式跟用户沟通,将用户的需求用合适的方式进行传递,帮助研发人员理解需求,并完成最终的用户目标。本章将从功能需求进行需求分析阐述。
3.2.2 功能需求分析
本系统主要的使用对象是公司普通职员和公司领导。普通职员只有普通用户的使用权限,只能进行简单的系统基础数据的录入,包括项目管理、采购管理、销售管理(其中对的成本管理无使用权限)、产品管理。公司领导是系统的管理员,有赋予员工权限、现金流管理、系统设置的权限。
经过调查分析,总结出该系统的具体需求如下所示:
1)要以产品SN号为基准,从供应商处采购产品到销售产品要走完整流程,产品要添加质保日期;
2)一个项目有多个采购合同和销售合同,一个项目涉及多个供应商和客户;
3)每月对发票和首付款进行提醒,其中要确保应收发票金额大于应付发票金额,让企业不亏损;
4)统计软件产品成本,计算单台利润,根据项目物流跟踪产品“足迹”,实时更新库存变化;
5)付款的方式分:期票,汇票和打款;
6)一个收付款对应一个发票;
7)要包含基础数据:包括供应商信息、客户信息、员工信息;
8)对状态进行认证,已完成的项目不再显示。
供应链分销系统功能需求分析采用用例图来直观显示。用例图由参与者,用例及系统边界构成,直观显示系统的交互。
4 系统总体设计
4.1 概述
系统总体设计就是结合前期的需求分析将数据字典设计到系统中,是一种知识与实践的结合,将抽象的逻辑转变为物理阶段的实现。现实世界调查出来的业务逻辑需要开发人员由代码实现,一个系统的完整设计就蕴含了抽象向实体的转变过程。
本章供应链分销系统的设计方法包括结构化方法,逐层分析,模块描述。利用HIPO图直观显示系统结构和模块内部处理功能以及E-R图来表示实体之间关系。
4.2 系统运行环境
4.2.1 系统运行硬件环境
系统的硬件参数如下所示:
CPU型号:酷睿i7-6700HQ;
CPU缓存:6MB;
主频:2.6GHz;
硬盘:500G;
分辨率:1920*1080;
显卡:NVIDIA GTX 950M。
4.2.2 系统运行软件环境
操作系统:Linux系统;
浏览器:Firefox浏览器或Google Chrome浏览器。
4.3 功能模块划分
4.3.1 功能模块描述
供应链分销系统有六个模块,包括:项目管理模块、采购管理模块、销售管理模块、现金流管理模块、产品管理模块、系统设置模块,下面将逐一介绍模块的具体功能。
1)项目管理模块
此模块有项目录入功能,普通用户登录系统进入该模块之后,点击“创建新项目”按钮,在工作区跳出的页面上填入项目名称、客户名称、启用时间、完成时间、负责人及系统状态等信息、其中项目名称为必填字段、不填的话保存时将会报错、填完之后点击保存。
2)采购管理模块
该模块有进货合同录入、进货付款、进货发票登记、进货入仓登记四个功能。如果在项目管理界面录入了项目信息,则进货合同录入模块将会显示所有录入项目信息,每个项目列表的“操作”按钮都有查看本项目和查看本项目合同功能,用户选择某一个项目点击“操作”按钮的查看功能之后,进入该项目的进货合同信息录入界面。进入之后点击创建按钮,填写合同编号、合同名称、合同金额、合同对象、是否分期、总期数、签订日期等信息,其中编号为系统自动生成,合同对象是从数据库中直接获取出来,合同金额为必填,填完之后保存。一个销售项目允许有多个进货合同。每个进货合同有查看、修改、删除功能。
当进货合同录入完之后,用户进行进货付款录入,根据销售项目约定的付款期数,按期进行付款,用户需填入付款金额、付款日期、付款方式等信息,付款金额为必填字段。
进货合同录入完的同时,用户根据实际情况进行发票的登记。用户需要填入发票编号、时间、金额、认证日期等信息,其中发票编号和金额为必填字段。
根据签订的进货合同进行产品入仓登记,用户需要填入名称、型号、U/N码、P/N码、产品序号、产品批次、厂家质保起始日期、客户质保起始日期、进货价、供应商等信息,其中供应商、进货价、所有的质保时长为必填项。同时,本系统提供快速创建功能,方便用户使用。
3)销售管理模块
该模块有销售合同录入、销售收款、销售发票登记、销售出货登记、成本管理四个功能。如果在项目管理模块录入了项目信息,则销售合同录入模块同样会显示所有录入项目信息,每个项目的“操作”按钮都有查看和查看合同功能,用户选择某一个项目点击“操作”按钮的查看功能之后,进入该项目的销售合同信息录入界面。进入之后点击创建按钮,填写合同编号、合同名称、合同金额、合同对象、是否分期、总期数、签订日期等信息,其中编号为系统自动生成,合同对象是从数据库中直接获取出来,合同金额为必填,填完之后保存。一个销售项目允许有多个销售合同。每个销售合同有查看、修改、删除功能。
当销售合同录入完之后,用户进行销售收款录入,根据销售项目约定的收款期数,按期进行收款,用户需填入收款金额、收款日期、收款方式等信息,收款金额为必填字段。
销售合同录入完的同时,用户根据实际情况进行发票的登记,用户需要填入发票编号、时间、金额、认证日期等信息,其中发票编号和金额为必填字段。
根据签订的销售合同进行产品出货登记,用户在需要出货的产品上点击“发货”按钮,则产品就会发货。
成本管理重要记录一个销售合同的额外开销,管理员需要填入成本类型、金额、时间等信息,便于现金流进行利润统计。
4)现金流管理模块
有发票管理和现金管理功能。发票管理包含单个项目情况,根据已录入的销售项目,显示该项目下的所有采购合同和销售合同,显示合同金额、发票编号和发票日期,统计采购合同的未收金额和销售合同的未开金额,增添导出功能。在月发票统计功能中,用户可以选择年月份进行发票统计,显示项目的未收发票总金额和未开发票总金额,一目了然。在缺票提醒功能中,显示当年所有项目的统计信息,包括项目名称、合同名称、合同金额、发票金额、发票编号、开票日期、认证日期、另外提供提示信息,显示本月收支平衡或缺发票或盈余,提供上半年采购/销售发票金额统计图和当月发票现状图。
现金管理包含单个项目情况,根据录入的项目显示销售合同总金额、总成本、采购成本、项目成本、并计算出利润,查看每个项目的应收未收总金额和应付未付总金额。月现金统计功能中,用户可以选择月份进行统计,并提供上半年采购/销售收付款金额统计图。在应收应付提醒功能中,显示当年所有项目的统计信息,包括项目名称、合同名称、合同金额、收付款金额、收付款日期、另外提供提示信息,本文转载自http://www.biyezuopin.vip/onews.asp?id=13954显示本月盈余或亏损,提供上半年采购/销售收齐金额统计图和当月应收付金额现状图。
5)产品管理模块
有库存管理和设备跟踪功能。库存管理显示所有在库存的产品信息,包括型号、项目名称、产品名称、供应商等信息和物流情况。设备跟踪功能显示所有产品信息并提供物流信息查询,包括产品名称、动作类型、动作、目的地、发货日期等信息,提供创建新物流功能,可对产品进行发货。
6)系统设置模块
包含所有用户的具体信息、所有供应商的所有信息、所有客户的具体信息,可进行管理操作。管理员可对用户赋予操作权限。为了安全考虑,系统日志功能记录所有系统操作痕迹。
4.3.2 HIPO图
HIPO图向用户直观展示系统结构,包括软件总体模块层次结构,并且同步显示每个模块的输入输出数据、功能的处理及模块调用具体情况[28]。本文将根据第三章的数据流图来绘制HIPO图。























基于ruby的供应链分销系统的设计与实现相关推荐

  1. 基于JAVA基于Web的上门家教系统的设计与实现计算机毕业设计源码+系统+mysql数据库+lw文档+部署

    基于JAVA基于Web的上门家教系统的设计与实现计算机毕业设计源码+系统+mysql数据库+lw文档+部署 基于JAVA基于Web的上门家教系统的设计与实现计算机毕业设计源码+系统+mysql数据库+ ...

  2. python毕业设计开题报告-基于Python的教学互动系统的设计与实现开题报告

    基于Python的教学互动系统的设计与实现开题报告 背景: 在各种信息技术与课堂的不断探索中,我们一直在寻找一个能提高教学效率的方式,同时可以发现要提高教学效率,在课堂教学中必不可少的就是师生间的互动 ...

  3. 基于matlab的人脸五官边缘检测方法,基于MATLAB的人脸识别系统的设计

    基于MATLAB的人脸识别系统的设计(论文12000字,外文翻译,参考程序) 摘要:本文基于MATLAB平台设计了一款简单的人脸识别系统,通过USB摄像头来采集图像,经过肤色方法进行人脸检测与定位,然 ...

  4. bs架构 mysql_基于BS架构OA办公系统的设计(PHP,MySQL)(三人组)(含录像)

    基于BS架构OA办公系统的设计(,MySQL)(三人组)(含录像)(毕业论文13000字,程序代码,MySQL数据库,答辩PPT) 系统模块划分 企业部门管理系统(以管理员部分为核心)从功能上划分为5 ...

  5. pop客户机程序流程图_基于.NET的在线考试系统的设计与实现

    基于.NET的在线考试系统的设计与实现(包含任务书,开题报告,毕业论文19000字,程序代码,数据库) 摘  要 随着互联网的发展,人们已经进入了信息时代.在这种环境下,学生希望得到个性化的满足,这使 ...

  6. 基于matlab的车牌识别系统程序,基于matlab的车牌识别系统的设计(附程序).doc

    基于matlab的车牌识别系统的设计(附程序).doc 1车牌识别系统的设计1.摘要:汽车牌照自动识别系统是制约道路交通智能化的重要因素,包括车牌定位.字符分割和字符识别三个主要部分.本文首先确定车辆 ...

  7. 基于java的网上花店销售系统_基于web的花店销售系统的设计与实现

    基于web的花店销售系统的设计与实现(论文13000字) 摘要:本系统是一个相对简单的基本应用系统,主要满足传统的花店运营需要,将自己的销售渠道扩展到网上,通过简单的管理,提供给最终消费者产品的展现. ...

  8. 基于python的分布式扫描器_基于python的服务器监测系统的设计

    基于 python 的服务器监测系统的设计 高正 ; 徐浩 ; 余曼 [期刊名称] <电脑知识与技术> [年 ( 卷 ), 期] 2017(013)002 [摘要] 本文介绍了一种基于 P ...

  9. 基于javaweb的公交查询系统的设计与实现(含源文件)

    欢迎添加微信互相交流学习哦! 项目源码:https://gitee.com/oklongmm/biye 基于J2EE的公交查询系统的设计与实现 摘  要 公交查询系统是城市道路交通的重要组成部分,是城 ...

最新文章

  1. Java如何优雅的实现时间控制
  2. 嵌入式EasyHMI V0.1版终于推出,C#真是软件开发的利器
  3. 指定位数%-m.nf与%m.nf的异同
  4. Oracle如何监控表的DML次数
  5. 通过QEMU-GuestAgent实现从外部注入写文件到KVM虚拟机内部
  6. jquery.validator验证后ajax提交出现错误解决
  7. 能源36号文解读_电机暴露细节!春风发布新能源品牌:ZEEHO极核
  8. c语言中.和-区别,c语言中-和.的区别
  9. WPF 使用附加属性增加控件属性
  10. 有html5了可以卸载flash,adobe flash player可以卸载吗?
  11. 2020年电工(技师)找答案及电工(技师)考试申请表
  12. win10打开计算机出现马赛克,传授win10系统在线播放视频出现马赛克的技巧
  13. stm32 I2C总线入门笔记
  14. java语音实现_用JAVA实现语音交互的功能(即语音聊天室的功能)
  15. 微信 Android 终端内存优化实践
  16. SwiftUI 色彩教程之 01什么是色差Color difference
  17. 雷军重金激励,小米鼎新一战
  18. uni-app 保存图片到本地相册
  19. Python中的列表遍历
  20. 【腾讯地图API】制作多途经点的线路导航——路线坐标规划

热门文章

  1. Android系統中的LocalService
  2. 《大数据处理与智能分析入门》试卷
  3. 3.3V降压1.2V,3V降压1.2V电源芯片和LDO选型表
  4. 三星商城 S21 优惠券大乌龙后续:用户已收到 4000 元打款
  5. 二进制算法_本地二进制模式算法:其背后的数学❗️
  6. forcats | tidyverse家族对「分类变量」的解决方案(上)
  7. Radan 7.6.19.11260安装教程及如何正式激活
  8. Android7下app以root权限运行shell脚本的一种方法
  9. PAT1104 Sum of Number Segments
  10. Shader山下(十二)材质属性绘制器