农业ERP系统的计划管理模块-需求分析

ustczb 2021-12-26 21:39:53

1.  项目背景

ERP是20世纪90年代在美国开始兴起的一种企业管理信息化的方法和工具。它将企业的基础数据、人力物力、管理理念、业务流程以及计算机硬件和软件整合于一体,并将人力资源、财务、业务等各个职能部门之间的流程集成起来,提高企业内部的协调性和工作效率,使企业有限的资源能够得到最优化的配置,从而产生最大的企业生产效益。简而言之,ERP就是一种有效地计划、组织和实施企业人、财、物的管理系统,并依靠计算机和网络等技术手段保证其信息的集成性、实时性、权威性和统一性。农业ERP系统作为针对物资资源管理、人力资源管理、财务资源管理、信息资源管理集合成体的企业管理软件,ERP的核心思想是把企业的业务流程链条式的联系在一起,将采购、生产、销售、客户供应商及企业内部捆绑在一块,将会针对所有环节有明确的方向和有效的管理,实现企业对资源的优化和集成,ERP实现了企业信息化、集成化、智能化的目标。

ERP在农业合作社的应用也逐渐深入,随着农业现代化、信息化的发展,农业生产企业的管理和运营与工业企业越来越相似。为此,本小组参考先进的农业合作社的运营特点和农业企业化管理理论,研发了一款应用于现代农业合作社的ERP系统(简称“农业ERP系统”),辅助农业合作社信息化管理并进行科学运营。

2.  需求分析

本章立足于用户的角度来思考需求,主要分析系统的功能性需求。农业ERP计划管理模块的功能需求主要包括对物料清单、生产订单和报表查询三个方面。

2.1  物料清单需求

物料清单,是在描述某一成品,由哪些原物料或半成品所组成的,且说明其彼此间的组合过程。如图2.1物料清单结构图所示,成品 A,是由二个原料 B,及 1 个半成品 C 所组成,而半成品 C 则是由两个原料 D 及三个原料 E 所组成。

 
 


图2.1  物料清单结构图

依其组成关系,A 为 B、C 的母件,B、C 为 A 的子件;C 为 D、E 的母件,D、E 为 C 的子件。 如果 A 之上再无母件,A 可称为成品,C 为自制或委外的半成品,B、D、E 则为采购件,采购件不可能是母件。 A 对 B、C,或者 C 对 D、E 的上下关系,称为单阶。如果对整个结构而言,上中下各阶,称为多阶或全阶。

物料清单初次建立时,可依母件料品的结构批量,建立其所有子件料品的使用数量、损耗率等资料。并可依子件料品设定其有效期间,作为生产订单、委外单用料选择的依据。也为MRP、MPS 展开的依据。所有无效(过期或未到期)的子件,皆不予列入考虑。

物料管理人员对于物料清单的需求主要可以分为三部分,如图2.2所示:

图2.2  物料管理人员用例图

(1)物料管理:用户需要对物料清单中可能用到的物料进行管理,应包含物料添加和物料编辑的功能,有新的物料参与生产时,可以及时添加,旧的物料属性发生变动时,可以及时修改。所有的物料都应被存储在系统之中,以便在生成新的物料清单时,可以随时添加母件或者子件。

(2)物料清单维护:在生产过程中,用户需要使用物料清单来确定母件与子件之间的数量关系和逻辑关系,因此,物料清单的维护是系统的重点,用户需要能够创建新的物料清单,也能对已有的物料清单进行编辑。

(3)物料清单整批修改:用户可以对多个物料清单同时进行操作,如选中多个物料清单同时删除,选中多个物料清单进行打印,选中多个物料清单归档等,可以减少用户的操作量。

2.2  生产订单需求

生产订单是下达给生产部门并要求生产部门执行的生产任务,生产部门根据生产订单组织生产和领用物料。用户可以手工填制生产订单,也可以由生产计划、销售订单和预测单下达生成。每个环节的成本发生和分摊,都要以订单为线索。事前的估价和事后的核算,都能够以订单为单位。

生产订单可分为四种状态,“草稿”表示生产订单尚未确认,初步写出的计划订单;草稿确认后状态变为“已确认”,正式开始订单的生产;一旦有产品产出,状态便变为“进行中”;而生产任务全部完成后,状态变为“完成”。

当生产订单出现问题,无法返工时,生产部门便可以创建拆解工单任务,然后下达拆解工单的指令,接下来到拆解线进行拆解,对于拆解下来的拆解散件进行检测是否存在故障,若无故障,将相应的拆解散件进行入库。如果无可用的拆解散件,则将生产订单进行报废处理。例如,在农业生产中,计划在一片土地上进行西瓜种植,已经完成播种施肥工作,但因天气原因,西瓜无法继续生长,这时便可以创建拆解工单任务,检查西瓜种子、种植肥料等组件是否还可以继续使用,若有可用组件,则进行拆解散件的入库,若无可用组件,则直接将生产订单进行报废处理。

生产订单管理人员对于生产订单的需求主要可以分为四部分,如图2.3所示:

 

图2.3  生产订单人员用例图

(1)生产工序维护:用户需要对物料的生产流程进行管理,以详细掌握物料的生产步骤。包括添加新的生产工序和对已有的生产工序进行修改。

(2)生产订单生成:对于一个生产计划,用户需要用生产订单记录下来。生产订单生成后,相应的部门才开始进行物料生产。用户不仅仅需要能够创建新的生产订单和对已有的生产订单进行编辑,还需要能够在生产订单中添加对应的物料清单,以便生产部门按符合物料清单子件配比来生产母件。还需要能够在生产订单中添加相应的生产工序,以便各个生产部门安排好生产环节,充分利用生产资源,提高生产效率。

(3)拆解单维护:用户需要系统能够对需要拆解的产品生成拆解单,方便日后对产品余料的回收再利用工作。

(4)报废单维护:用户需要系统能对报废的产品生成报废单,方便日后对生产垃圾的处理工作。

2.3  报表查询需求

用户能够对系统的相应数据进行查询和检索,以便更好地对对生产步骤进行优化,对生产流程进行把握,掌握物料的流动状态。

报表查询人员对于报表查询的需求主要可以分为四部分,如图2.4所示:

 

图2.4  报表查询人员用例图

 

(1)母件结构查询:用户能够查看某母件的结构,以便了解该母件是由哪些子件所构成。有利于优化相应物料清单结构。

(2)子件用途查询:用户能够查看某子件的用途,以便了解该子件可以组成哪些母件。有利于优化相应物料清单结构。

(3)物料清单查询:用户能够查询物料清单的相应属性,能够方便快捷地找到想要查找的物料清单。

(4)生产订单变化趋势:用户需要对每月的生产订单数量有一个直观的认识,希望系统能够用图表的形式(如折线图,扇形图等)对每月生产订单数量进行可视化展示,以便用户能够预测未来的物料生产数量,更好地安排生产工作。

3  系统设计

3.1  系统架构设计

系统使用模型 - 视图 - 控制器(MVC)架构模式来设计模块,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

它把软件系统分为三个基本部分,如图3.1 MVC关系图所示:模型(Model):负责存储系统的中心数据。视图(View):将信息显示给用户(可以定义多个视图)。控制器(Controller):处理用户输入的信息。负责从视图读取数据,控制用户输入,并向模型发送数据,是应用程序中处理用户交互的部分。

 

mvc1 (1)

图3.1  MVC关系图

 

在MVC中,View层是界面,Model层是业务逻辑,Controller层用来调度View层和Model层,将用户界面和业务逻辑合理的组织在一起,起到粘合的效果。所以Controller中的内容越少越好,这样才能提供最大的灵活性。当一个View提交数据给Model进行处理,以实现具体的行为时,View通常不会直接提交数据给Model,它会先把数据提交给Controller,然后Controller再将数据转发给Model。假如此时程序业务逻辑的处理方式有变化,那么只需要在Controller中将原来的Model换成新实现的Model。Controller 用来将不同的View和不同的Model组织在一起,顺便替双方传递消息,仅此而已。在Odoo的controller目录下,新建controller类,在其中,定义请求处理方法,在方法上方通过 @http:route('url',auth='public/user') 控制请求映射,以及访问权限(公开/需要登陆)。

如图3.2 系统时序图所示,当系统用户在网页中访问web界面时,web服务器向本地Odoo服务器发出http请求,本地Odoo服务器便调用Controller中调用odoo.http.route()处理http请求,完成后Controller访问计划管理模块相关代码,后端代码调用数据库数据后,在方法中,处理数据,然后通过 http.request.render() ,把参数传递给视图模板并渲染出页面,然后返回Odoo服务器,Odoo服务器进行http响应,web服务器再将页面呈现给mrp管理员。

 

 

图3.2  系统时序图

 3.2  功能模块设计

如图3.3 系统基本功能组织结构图所示,计划管理模块的基本功能分为三个方面,包括物料清单维护、生产订单生成以及报表查询。物料清单维护主要包括物料清单维护、物料清单资料维护以及物料清单整批修改,用户能够查看所有物料和物料清单以及生成新的物料清单;生产订单生成包括标准工序维护、生产订单编制、拆解单编制以及报废单编制,能够对生产工序进行维护管理,创建新的生产订单,并能实现生产订单四种状态的转换,以及对拆解单和报废单的管理;报表查询主要实现对母件结构查询、子件用途查询以及物料清单资料查询。能够查询母件的物料清单结构,子件能够构成哪些母件,以及对物料清单相关信息的检索。

 

图3.3  系统基本功能模块结构图

3.3  系统详细设计

3.3.1  数据库设计

物料清单包括mrp.bom表和mrp.bom.line表,物料包括product.template表,生产工序包括mrp.procedure表和mrp.procedure.line表,生产订单包括mrp.production表。其ER图如图3.4所示,其中一个物料清单包含一个母件(物料),一个物料可以构成多个物料清单,是多对一关系;一个生产订单需要一个物料,一个物料可以构成多个生产订单,是多对一关系;一个生产订单可以包含多个生产工序,而一个生产工序也可以参与多个生产订单,是多对多关系。

图3.4  系统ER图

3.3.2  访问权限设计

可以通过安全性配置来设定到菜单级和到模型级的权限,可以具体到操作的查看、编辑和删除等明细动作。这些权限全部存储在ir.model.access模型中,在我们的项目中,可以通过文件在系统启动时写入该模型。因为我们是使用命令创建的项目,所以项目的security路径下已经默认创建了一个文件:ir.model.access.csv, 文件名与模型名是一样的,名称不可以更改,Odoo会将文件的数据写人对应的模型中。各属性详细说明如下,见表4.1:

id:是该记录的唯一标示,在模块内具有唯一性。

name:该记录的名称,也具有唯一性, 一般的命名方法是用点(.)连接模块名和组名。如表中,模块名为mrp,组名分别为procedure和bom,代表工序部分和物料清单部分。

model_ id:是设置访问权限的模块_ name,model_ id 的命名规则比较固定,如工序部分的name是mrp.procedure,那么model_ id就是model_mrp_procedure。

group_ id:这就是我们要授予权限的安全组的id,本处我们为mrp员工组授权。

perm:对应于读、写、新建、删除操作的设置。1代表可以进行该操作,0代表不能进行该操作。

 

表4.1  系统权限表

属性

物料清单模块值

生产工序模块值

id

access_mrp_bom

access_mrp_procedure

name

mrp.bom

mrp.procedure

model_id

model_mrp_bom

model_mrp_procedure

group_id

group_mrp_user

mrp.group_mrp_user

perm_read

1

1

perm_write

0

1

perm_create

0

1

perm_unlink

0

1

 

 


作者:577

...全文
347 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
一、是非题 1. 在信息系统中,所谓二次信息是指对原始信息进行预处理.生成具有—定结构的方便检索 的信息。 ( Y ) 2. 数据库是指按一定数据模型组织、长期存放在内存中的一组可共享的相关数据的集合。 ( N ) 3. 关系数据模型概念单一,E- R图中的实体集、联系和属性都可用关系(即二维表)表示。( N ) 4. OLTP(联机事务处理)和OLAP(联机分析处理)是信息系统的两类不同应用:前者面向 决策人员和高层管理人员,后者面向操作人员和底层管理人员。 ( N) 5. 数据与程序的独立.可以将数据的定义从程序中分离出来,数据的存取都由DBMS管理, 因而可以简化应用程序的编制,减少应用程序的维护工作量。 ( Y ) 6. 计算机集成制造系统(CIMS)由技术信息系统和管理信息系统两部分组成。 ( Y ) 7. 在关系数据模型中,元组属性的位置顺序不能任意交换。 ( N ) 8. 关系数据模型的存取路径对用户透明是指用户在对数据操作时不用考虑数据的存取路径 。 ( N ) 9. 视图是—个"虚表",可以从一个或几个基本表导出,也可以从另外的视图导出。 ( Y ) 10. 在SQL,数据库的三级体系结构中,用户模式对应于基本表。 ( N ) 11. 我们把形式为S(学号,姓名,性别,出生日期,系别)的描述称为关系数据模型。 ( N ) 12. 关系模型的逻辑数据结构是二维表,关系模式是二维表的结构,关系是二维表的内容。 ( Y ) 13. 数据仓库(DW)是一种面向决策主题,由多个数据源集成,拥有当前和历史集成数据,以 读为主的数据库系统。 ( Y ) 14. 在信息系统的基本结构中,数据管理层一般都以数据库管理系统作为其核心软件。 ( Y ) 2. 单选题 1. 以下所列各项中,___D_____不是计算机信息系统的特点。 A. 涉及的数据量大 B. 大多数数据为多个应用程序所共享 C. 可向用户提供信息检索,统计报表等信息服务 D. 数据是临时的,随程序运行的结束而消失 2.一个供应商可供应多种零件,而一种零件可由多个供应商供应,则实体供应商与零件 之间的联系是_B_______。 A. 一对一 C. 一对多 B. 多对一 D. 多对多 3.在数据库设计中,独立于计算机的硬件和DBMS软件的设计阶段是_A_______。 A.概念设计 C.物理设计 B.逻辑设计 D.系统实施 4. 管理信息系统的功能一般不包括_____D___。 A.数据处理 B.信息检索 C.辅助决策 D.过程控制 5. 在城市建设、土地规划、房地产管理等应用领域中使用的信息系统通称为__D______。 A.办公自动化系统 B.决策系统 C.遥感系统 D.地理信息系统 6. 从信息学的角度看,业务信息处理系统是_______A_的处理系统。 A. 一次信息 B.二次信息 C.三次信息 B.四次信息 7. 从关系的属性中取出所需属性列,由这些属性列组成新关系的操作称为____D____。 A. 交 C.连接 B. 选择 D.投影 8. 若按交易的双方对电子商务进行分类,则电子商务可分为四种类型,下面所列正确的是 :___B____。 A. C-C,B-C,B-B,企业内部 B. B-B,B-C,企业与政府间,企业内部 C. B-B,B-C,企业与政府间,政府内部 D. 客户与政府间,B-C,C-C,B-B 9. 下列关于GIS(地理信息系统)描述中,错误的是____C____。 A. GIS是信息系统的重要组成部分 B. GIS的开发用有利于发展工农业、交通运输业的发展 C. GIS就是电子地图 D. GIS可提供决策支持、模拟分析以及预测等功能 10. 下列名词不属于计算机辅助系统的是__C______。 A. CAD B. CAPP C. CEO D. CAM 11. 目前能全面支持制造业企业管理管理信息系统是______C__。 A.MRP(物料需求计划系统) B.MRP (制造资源计划系统) C.ERP(企业资源计划系统) D.CSRP(客户同步资源计划系统) 12. 信息系统在交付使用之前要进行测试,依次进行的是___C_____。 A. 模块测试、系统测试、整机测试 B.系统测试、验收测试、电路测试 C.模块测试、仿真测试、验收测试 D.模块测试、系统测试、验收测试 13. 考虑现实世界的很多实际情况,在关系模式R(姓名、年龄、出生日期)中,决定其主键 应选___D_____。 A. 姓名 B.姓名,年龄 C.出生日期 D.姓名,年龄,出生日期 14. 设关系R和S的元组个数分别为100和300,关系T是R与S的广义笛卡尔积,则T的元组个数 是_______B_。 A. 90000 B.30000 C.10000 D. 400 15.

571

社区成员

发帖
与我相关
我的任务
社区描述
软件工程教学新范式,强化专项技能训练+基于项目的学习PBL。Git仓库:https://gitee.com/mengning997/se
软件工程 高校
社区管理员
  • 码农孟宁
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧