5.14日报

进行软件架构课堂测试

软件需求与分析

—综合案例建模分析(100分)

物料管控系统

1.0【目的】 

规范公司生产订单物料控制、在线物料管理,指导物控人员日常作业要求。

2.0【范围】

适用公司生产订单物料管理及在线物料管理过程。

3.0【定义】

3.1 A类物料:占物料种类的10%左右,金额占总金额的65%左右。

3.2 B类物料:占物料种类的25%左右,金额占总金额的25%左右。

3.3 C类物料:占物料种类的65%左右,金额占总金额的10%左右。

注:公司物料ABC分类,详见《物料ABC分类明细》。

4.0【职责】

4.1 物料员:领取生产原物料,按规定位置摆放,清退不合格品和入库完成品。

4.2 计划部物控:对生产订单超领料的控制,并负责生产订单物料的损耗统计。

4.3 生产主管:负责各车间生产物料的管理工作,指导和督促各生产组长、物料员按本规定执行。

4.4 生产文员:负责各车间的系统数据录入工作。

5.0【内容】

5.1 生产订单套料发放

5.1.1 计划部生管要求每天下午三点钟前,发放后三天的生产计划给仓库部、生产部等相关部门。(后三天计划意思是1号需发布4号的生产计划,2号发5号计划,以此类推)

5.1.2 仓库输单员,接到生产计划后,需在次日完成所有的打单工作,具体要求如下:

输单员从云上ERP系统中通过配比出库完成打单工作,并输出《生产发料单》,打单时注意生产计划欠料不打单原则,打单完成后需将打单情况通过邮件反馈给计划部物控。物控需及时确认计划欠料情况,并依实际物料情况通知计划部生管更改计划,或通知采购跟催物料。

如生产订单欠料还需要输出《生产发料单》,需要由计划部物控提交《联络单》至分管副总批准后,仓库输单员方可执行按可用量出库打单。欠料部分物料当再次领用时,需由车间文员通过云上ERP系统手工新增领料完成输单工作,输出打印单据模板还是《生产发料单》。

5.1.3 发料单打印出来后,经过仓库主管手工审核后,发放给仓管员,仓管员依套料单在一个工作日内备料完成,并存放在备料区。

5.1.4 各车间主管按照生产计划排程,安排物料员提前一天到仓库办理领料手续。仓管员到仓库领料,需提供具体领用的生产订单号给仓管员,仓管员依生产订单号将备好的订单物料交接给物料员,交接完成后,物料员与仓管员需在发料单上签字确认。

5.1.5 物料发放完成后,仓管员需做好仓库现场物料卡账,同时将签好名的发料单交回仓库输单员处,由输单员在云上ERP系统审核已完结业务的发料单。

5.1.6 关于整卷(盘)料发料方式:例如PCBA车间贴片类发料。具体操作如下:

车间建立现场仓库,生产车间依订单物料领用要求,首先在云上ERP系统中依生产订单作调拨业务,即从仓库的电子材料仓库调拨整盘或整卷物料到车间的现场仓库。仓库打印系统“调拨单”给仓管员进行备料并与物料员交接。交接完成后,审核由《调拨单》产生的《其他出库单》和《其他入库单》。

生产车间文员负责在云上ERP系统中,依据生产订单输出《生产发料单》,发料仓库为生产现场仓库。

生产现场仓库由生产车间安排专人管理,每月需纳入仓库盘点范畴,由财务部和计划部物控进行复盘。

5.2 生产订单退料

5.2.1 生产订单套料领到生产车间后,发现物料不合格,确定原因为来料不良,则由物料员填写《退(补)料申请单》,填写要求如下:

单据编号规则:生产小组代码-年月(6位)+流水号(4位),例:4A1-2011110001,代表是四A车间一组在2011年11月开出的第一张单据。

单据类型:不管是制程报废,还是来料不良都选退料。

单据上需填写退料部门、退料小组、生产订单号、产品编码、及订单数量,同时在表体明细上注明具体退料明细,及写明退料原因。

5.2.2 《退(补)料申请单》填写完成后,组长要审核,车间主管复核,并需要经过品质IPQC确认物料品质状态,且需要贴上《物料标识卡》。如果属制程损坏退料,比例超过订单的5%,则需要生产经理批准。

5.2.3 《退(补)料申请单》审批完成后,交给生产文员,由生产文员在云上ERP系统制定退料单,要求如下:

系统严格按生产订单制定,并选择红字单。

制程损坏物料要求退报废品仓,来料不良物料退不良品仓,如果退好料换料,则按仓库原存放仓库退库。

单据收发类别:制程损坏退料选“制程退料”,来料不良退料选“来料不良退料”,如果是生产退好料,则选“生产退料”。

云上ERP系统单据制定完成后,将系统单据号填写在《退(补)料申请单》明细中的“系统单据号”栏。

5.2.4 物料员凭《退(补)料申请单》中“系统单据号”内容,携带要退物料去仓库输单员处申请打印料单,并办理退料交接手续,完成后,双方需要在打印出来的《生产退料单》上签字。

5.2.5 如果报废无实物,则不需要开具退料单,直接走5.3生产补料流程。

5.3 生产订单补料

5.3.1 生产过程中,不管是制程退料还是来料不良退料,最终都必须办理补料手续,方可以完成生产订单完工动作。物料员在完成退料动作之后,需及时填写《退(补)料申请单》办理补料申请业务。单据填写要求如下:

单据编号规则:同5.2.1条中第1)内容。

单据类型:不管是制程报废补料,还是来料不良补料都选补料。

单据上需填写退料部门、退料小组、生产订单号、产品编码、及订单数量,同时在表体明细上注明具体退料明细,及写明补料原因。

5.3.2 《退(补)料申请单》填写完成后,组长要审核,车间主管复核,补料比例超过订单的5%,则需要生产经理审核。补料品质部不需要签字,但需要计划部物控加签;如果补料比例超过订单的5%或物料为A类物料,则需要分管副总加签;如果补料比例超过订单的10%或物料为A类物料且超出订单的5%,则需要总经理加签。为方便快捷签字,建议在找人签字时,将对应之退料单据提供,以方便审批人了解实际情况。

5.3.3 《退(补)料申请单》审批完成后,交给生产文员,由生产文员在云上ERP系统制定退料单,要求如下:

系统严格按生产订单制定,并选择蓝字单。

单据收发类别:制程损坏补料选“制程补料”,来料不良补料选“来料不良补料”,如果是生产换好料,则选“生产领料”。

系统单据制定完成后,将系统单据号填写在《退(补)料申请单》明细中的“系统单据号”栏。

5.3.4 物料员凭《退(补)料申请单》中“系统单据号”内容,携带要退物料去仓库输单员处申请打印料单,并办理补料交接手续,完成后,双方需要在系统打印出来的《生产补料单》上签字。

5.4 生产变更退、补料

5.4.1 生产订单在生产过程中,因出现品质异常需要更改物料,由工程部在《品质异常处理报告》上临时对策栏中,详细注明更换物料明细,并经品质部验证确认后,由工程部主管审核,分发给计划部物控。计划部物控接到单据后,根据临时对策中内容在云上ERP系统中变更订单子件用料。

5.4.2 计划部处理完后通知生产车间文员在云上ERP系统制补料单,操作同5.3.3项内容;如生产线更换物料未生产,则需作退好料办理入库手续,流程与5.2.3项内容。

5.5 生产完工入库

5.5.1 生产线按订单生产,每天按计划完工并及时办理送检手续。

5.5.2 品质部检验完成后,判定合格之产成品或半成品,均由组长填写《生产交接单》,填写规范如下:

生产交接单上需注明生产订单号、物料编码、品名规格、订单数量,交接的次数及合计数,最后由交接的人签名确认。

交接单由每个小组组长保存,是作为生产订单完工入库的标志,也是系统录入单据的基础。

5.5.3 《生产交接单》每天需交到生产文员处,由生产文员在云上ERP系统录单,录入系统时分两种情况处理:

只要有生产订单号并在生产过程中一次性完成的半成品或成品,均在云上ERP系统办理“产成品入库单”业务,要求依照生产订单号生成入库单,同时注意以下几个方面:

(1)入库的仓库要选择正确;

(2)入库部门要选择正确,收发类型依入库产品属性分别为半成品入库和产成品入库两种。

(3)因公司成品、丝印半成品都设有批号管理,批号直接输入订单号。

如果是非一次完工,需要做工序计划转移的生产订单完工办理入库交接,则在云上ERP系统办理“已审核生产订单修改”中办理工序交接业务。找到对应的生产订单号,直接点修改,在订单行中录入交接的数量和日期。如装配和调试工序之间的转移则是通过此工作来完成,在包装环节则按5.5.3第1)项中要求办理产成品入库动作。

5.5.4 生产文员录入完成后,物料员凭交接单号到仓库办理入库交接手续,仓库需把《完工入库单》打印出来双方签名确认。

5.6 生产在线物料管理

5.6.1 物料员将物料搬到生产线后,贵重物料需与组长办理交接手续,并由组长保管存放。

5.6.2 生产线临时堆放区,只能存放订单用物料,非订单用物料(如来料多料)均需办理退库手续。操作同生产退料流程,在退料原因上注明生产多余物料即可。

5.6.3 生产各小组需划分物料存放区,摆放整齐并贴上《物料标识卡》,同时现场只允许固定的塑胶周转箱摆放,塑胶周转箱上标识生产组别。

5.7 生产在制品管理

5.7.1 生产各车间都设立了现场周转仓库,该仓库只能存放半成品和裸机成品入库,以及订单物料占地面积大做临时性存放用。

5.7.2 生产二部生产的半成品按订单办理入库后,其他部门在做组装生产时,需要凭对应生产订单的《生产发料单》办理交接并签名。

5.7.3 生产现场由各车间主管负责管理,并派专人管理,其他人不可擅自进入搬拿物料。

5.7.4 每个月底生产现场仓库需依云上ERP系统数据做盘点动作,盘盈盘亏之责任由车间主管承担。

5.8 制程损坏物料退库后处理

5.8.1 生产制程损坏物料退到仓库报废仓后,计划部每个月需要作数据统计形成《生产订单损耗统计表》报总经办和财务,相关责任部门需超出损耗的数据作分析并作预防措施,同时对于超出损耗比例的损失按公司《资产损失与责任赔偿管理规定》中规定处理。

5.8.2 退到仓库报废品仓的报废物料处理,请参照《仓库存货报废管理规定》中要求进行。

6.0【相关文件及运行记录】

6.1 相关文件

6.2 运行记录

FM-MS-PC003-01-A0 《生产交接单》

FM-MS-PC003-02-A0 《物料标识卡》

FM-MS-PC003-03-A0 《退(补)料申请单》

FM-MS-PC003-04-A0 《生产发料单》

FM-MS-PC003-05-A0 《生产退料单》

FM-MS-PC003-06-A0 《生产补料单》

FM-MS-PC003-07-A0 《生产订单损耗统计表》

问题:

1绘制需求层次-需求方面二维矩阵。

2确定关键属性和关键功能。

3绘制关键功能的鲁棒图。

4绘制系统的概念体系架构图。

5、绘制逻辑视图,并绘制协作图验证主要业务流程是否完整。

6、定义数据表结构,并说明表之间的关联关系,给出数字词典。

7、定义开发视图结构,给出工程目录(定义各个文件的名称及用途),并确定各个类名以类中定义定义的接口。

8、根据开发视图的文件定义,设计系统纸面原型,要求主页面定义为Index.html,点击主页面可以演示主要业务流程。

 

 

 

 

 

1. 需求层次-需求方面二维矩阵

需求类别

功能性需求

非功能性需求

业务需求

生产订单的物料发放、退料、补料、完工入库等

系统必须实时更新订单状态,确保数据一致性和实时性

用户需求

物料员、生产主管、仓库管理员等角色的操作和界面需求

系统应具有良好的用户体验,操作界面简洁,功能直观

系统需求

需要集成ERP系统,处理物料进出库、库存管理等

系统应支持大并发操作,保障高可用性,具有冗余备份和故障恢复机制

安全性需求

数据的加密传输,用户权限控制

系统需要具备访问权限控制,确保不同角色只能访问相关信息

 

2确定关键属性和关键功能。

关键属性

物料类型(A、B、C类)

生产订单号

物料编码

物料数量

库存状态(是否可用、是否欠缺等)

订单状态(是否完工,是否退料)

 关键功能

生产订单管理(发料、退料、补料、完工入库)

物料库存管理(根据订单动态管理库存)

权限控制(根据用户角色控制访问权限)

数据统计与报表生成(生产订单损耗统计表等)

 

3绘制关键功能的鲁棒图。

 

4绘制系统的概念体系架构图。

 

5、绘制逻辑视图,并绘制协作图验证主要业务流程是否完整。

 

协作图:

 

6、定义数据表结构,并说明表之间的关联关系,给出数字词典。

1. 数据表结构

1.1 生产订单表 (production_orders)

表描述:记录所有的生产订单信息。

字段

order_id (INT, PK) - 生产订单编号

product_id (INT, FK) - 产品编号(外键,指向产品表)

quantity (INT) - 生产数量

status (VARCHAR) - 订单状态(如:待生产、生产中、已完工)

create_time (DATETIME) - 订单创建时间

delivery_time (DATETIME) - 预计交货时间

1.2 产品表 (products)

表描述:记录所有产品的基本信息。

字段

product_id (INT, PK) - 产品编号

product_name (VARCHAR) - 产品名称

product_type (VARCHAR) - 产品类型(如:成品、半成品)

specification (VARCHAR) - 产品规格

unit (VARCHAR) - 单位(如:件、个、箱)

1.3 物料表 (materials)

表描述:记录所有物料的信息。

字段

material_id (INT, PK) - 物料编号

material_name (VARCHAR) - 物料名称

category (VARCHAR) - 物料分类(A、B、C类)

unit (VARCHAR) - 物料单位(如:kg、m、个)

quantity (INT) - 库存数量

warehouse_location (VARCHAR) - 仓库位置

1.4 生产发料单表 (material_dispatches)

表描述:记录每次生产物料发放的详细信息。

字段

dispatch_id (INT, PK) - 发料单编号

order_id (INT, FK) - 生产订单编号(外键,指向生产订单表)

material_id (INT, FK) - 物料编号(外键,指向物料表)

quantity (INT) - 发放数量

dispatch_time (DATETIME) - 发放时间

1.5 生产退料单表 (material_returns)

表描述:记录每次生产物料退回的详细信息。

字段

return_id (INT, PK) - 退料单编号

order_id (INT, FK) - 生产订单编号(外键,指向生产订单表)

material_id (INT, FK) - 物料编号(外键,指向物料表)

quantity (INT) - 退回数量

return_time (DATETIME) - 退料时间

reason (VARCHAR) - 退料原因(如:来料不良、制程报废等)

1.6 物料库存表 (material_inventory)

表描述:记录物料的库存变动信息。

字段

inventory_id (INT, PK) - 库存记录编号

material_id (INT, FK) - 物料编号(外键,指向物料表)

quantity_change (INT) - 库存变动数量(可以为负值,表示减少)

change_type (VARCHAR) - 变动类型(如:发料、退料、补料等)

change_time (DATETIME) - 变动时间

1.7 生产交接单表 (production_handovers)

表描述:记录生产完工后交接的物料信息。

字段

handover_id (INT, PK) - 交接单编号

order_id (INT, FK) - 生产订单编号(外键,指向生产订单表)

product_id (INT, FK) - 产品编号(外键,指向产品表)

quantity (INT) - 交接数量

handover_time (DATETIME) - 交接时间

status (VARCHAR) - 交接状态(已完成、待处理)

2. 表之间的关联关系

  1. 生产订单表与产品表:

通过字段 product_id 关联,production_orders 表中的 product_id products 表的外键。

关系描述:一个生产订单对应一个产品,一个产品可以有多个生产订单。

  1. 生产订单表与物料发放单、物料退料单、生产交接单表:

通过字段 order_id 关联,production_orders 表中的 order_id material_dispatchesmaterial_returnsproduction_handovers 表的外键。

关系描述:一个生产订单可以有多个发料单、退料单和交接单。

  1. 物料表与物料发放单、物料退料单、物料库存表:

通过字段 material_id 关联,materials 表中的 material_id material_dispatchesmaterial_returns material_inventory 表的外键。

关系描述:一个物料可以对应多个发放记录、退料记录和库存记录。

  1. 物料库存表与物料表:

通过字段 material_id 关联,material_inventory 表中的 material_id materials 表的外键。

关系描述:每条库存记录对应一个物料,记录物料的库存变动。

 

数据字典:

字段名称

数据类型

说明

order_id

INT

生产订单编号

product_id

INT

产品编号

quantity

INT

数量

status

VARCHAR

订单状态

create_time

DATETIME

订单创建时间

material_id

INT

物料编号

material_name

VARCHAR

物料名称

category

VARCHAR

物料分类

unit

VARCHAR

物料单位

warehouse_location

VARCHAR

仓库位置

dispatch_id

INT

发料单编号

dispatch_time

DATETIME

发放时间

return_id

INT

退料单编号

return_time

DATETIME

退料时间

change_type

VARCHAR

变动类型

change_time

DATETIME

变动时间

 

7、定义开发视图结构,给出工程目录(定义各个文件的名称及用途),并确定各个类名以类中定义定义的接口。

1. 开发视图结构

在物料管控系统中,开发视图结构将根据分层架构来设计,主要分为以下几个层级:

用户界面层:与用户进行交互,展示系统的数据和接受用户输入。

业务逻辑层:处理具体的业务逻辑,确保系统按需运行。

数据访问层:与数据库交互,进行数据存取操作。

服务层:处理复杂的业务逻辑,提供外部调用接口。

2. 工程目录结构

├── src

   ├── com

      ├── materialcontrol

         ├── controller         # 控制器层

            └── MaterialDispatchController.java  # 物料发放控制器

         ├── service            # 业务逻辑层

            ├── OrderService.java                # 订单相关业务逻辑

            ├── MaterialService.java             # 物料相关业务逻辑

            └── InventoryService.java            # 库存管理相关业务逻辑

         ├── dao                 # 数据访问层

            ├── OrderDao.java  # 订单数据访问对象

            ├── MaterialDao.java  # 物料数据访问对象

            └── InventoryDao.java  # 库存数据访问对象

         ├── model               # 实体类

            ├── Order.java      # 订单实体类

            ├── Material.java   # 物料实体类

            └── Inventory.java  # 库存实体类

         ├── util                # 工具类

            └── DatabaseUtil.java  # 数据库连接工具类

         └── config              # 配置类

             └── AppConfig.java  # 应用程序配置

   ├── resources

      ├── application.properties  # 配置文件

      └── logback.xml             # 日志配置

├── pom.xml                        # Maven构建配置

└── README.md                      # 项目文档

 

  控制器层 (Controller):与前端交互,处理用户请求,调用业务逻辑层进行处理。

控制器类:MaterialDispatchController、OrderController

接口:dispatchMaterial()、createOrder()

  业务逻辑层 (Service):封装业务规则,处理具体的业务逻辑。

业务逻辑类:MaterialService、OrderService、InventoryService

接口:dispatchMaterial()、createOrder()、updateInventory()

  数据访问层 (DAO):与数据库进行交互,执行数据存取操作。

数据访问类:MaterialDao、OrderDao、InventoryDao

接口:updateInventory()、insertOrder()、getInventoryByMaterialId()

  实体类 (Model):表示数据表结构,存储业务数据。

实体类:Order、Material、Inventory

接口:getOrderDetails()、getMaterialDetails()、getInventoryStatus()

  配置类 (Config):用于配置数据库连接、日志等基础设施。

配置类:AppConfig

接口:dataSource()、loggingConfig()

 

 

 

将所有文件打包到一个文件夹中,提交压缩包文件,压缩包文件命名为学号姓名.rar,例如:20224075刘硕.rar

posted @ 2025-05-21 11:22  Code13  阅读(39)  评论(0)    收藏  举报