iBiz开源 AI多模态辅助建模iBizAttendance(考勤管理)
iBizAttendance(人力资源考勤管理)
iBizAttendance(考勤管理) 已经在gitee开源,具体请访问项目地址。
核心功能模块
- 考勤设置 - 灵活配置多种考勤规则(7种考勤类型)
- 排班管理 - 可视化排班日历,支持批量调班
- 出勤管理 - 全面的出勤记录管理功能
- 报表统计 - 多维度考勤数据统计分析
- 自助考勤 - 终端设备自助签到签离
- 假期管理 - 完善的假期类型和管理体系
支持的考勤类型
- 固定排班 - 统一上下班时间,适合标准工时制
- N班倒 - 工作A天休息B天,按周期循环
- 上A休B - 多组人员轮班制,适合连续生产环境
- 灵活打卡 - 支持弹性上下班时间
- 大小周 - 自定义大小周休息安排
- 手动排班 - 完全自定义每个员工班次
- 自由班 - 不固定上下班时间,按小时计薪
示例界面截图
详细可访问演示地址,用户名/密码: demo_admin / 123456
本文愿景
本项目基于iBizModeling模型驱动开发的的研发过程,着重阐述关键决策、功能实现逻辑及团队协作模式等,力求呈现真实完整的研发历程。作为参与该系统阶段性开发工作的一员,笔者希望通过结合开发经验,为读者还原iBizAttendance考勤系统最真实的开发过程,为在iBiz生产体系下进行团队构建、协作以及建模过程提供有价值的参考。
项目背景
此前,团队基于自主研发的统一技术生态,已成功打造并迭代了iBizPLM、iBizCRM、iBizEHR、iBizEAM等多个开源商业套件,在技术架构、功能完整性和用户体验上持续优化与沉淀。与此同时,团队对标Odoo系统,提出iBizOdoo架构与设计理念,深度融合模型驱动开发与模块插件化思想,为系统快速构建和高可扩展性提供全新范式。iBizAttendance正是基于iBizOdoo理念实现的首批核心业务模块之一,旨在验证该架构在复杂业务场景中的落地效果。
在此深厚基础上,iBizAttendance项目的启动并非一次简单的功能复刻,而是对我们技术核心——模型驱动开发(MDD)体系的一次深度实践与验证。与以往项目不同,iBizAttendance从诞生之初便深度融入了以下核心技术:
- DSL驱动引擎:基于自研 DSL(领域建模语言)统一定义所有模型,包括实体、属性、关系、逻辑与流程、界面设计。支持模型版本管理、语义差异比对与自动合并,实现建模流程标准化与自动化。
- AI智能建模:内置 AI 助手可分析建模上下文,推荐字段与模型结构,生成 DSL草稿、推演流程图,甚至提供模型设计质量诊断建议。将AI技术融入建模与流程辅助,提升团队建模质量与开发效率。
- 模块插件化:将模块(插件)开发提升为一种高度并行、低耦合、可预测的“工业化生产”模式,开发者可以像构建独立的子系统一样进行开发,最终通过智能模型的“合成”与灵活的“部署”无缝集成到主系统中。
- “虚拟Mixin”: 的模型智能组装:”虚拟Mixin”是汲取经典设计灵感实现的模型智能组装机制,它本身是功能集合,可像“功能包”混入业务实体。开发者创建通用能力包后,业务实体通过继承声明就能自动拥有相关功能,实现代码及模型复用、开发提速、体验一致、架构灵活。
- 插件扩展体系:建模过程全面支持插件扩展,包括模型创建、流程设计、界面交互、业务逻辑等,适合定制化业务逻辑和界面扩展。
需求分析与规划
在本系统的需求分析与规划阶段,团队并未采用传统的会议评审和文档编写模式,而是充分利用了iBizModeling平台的AI辅助建模能力,进行了一次高效、精准的数字化启动。
业务参考与解构
团队首先对得力e+、Odoo出勤等市面上主流且成熟的解决方案进行了本质的业务流程与功能逻辑分析。我们深入研究了其在处理复杂排班、考勤计算、异常处理和报表统计等方面的核心逻辑与交互设计,在iBizPLM的产品模块,根据功能模块及其层级关系,建立系统的需求树。
- iBizPLM系统中整理各主流产品功能
- 在iBizPLM产品中录入产品功能及界面
AI辅助构建准备
在明确业务框架后,团队针对已建立的各个需求模块进行AI辅助建模设计的准备工作,为后续AI辅助生成该模块精确的数据模型DSL提供充分的上下文和支持。
需求内容:将参考系统中的关键业务界面与功能描述提交至AI工具进行分析,生成初步需求文档,经团队确认与优化后形成最终需求说明。
需求模型:收集并整理参考系统中与需求模块相对应的业务请求及其返回的JSON数据,作为模块数据结构的典型样本。
-
通过AI多模态分析需求
-
进一步录入界面数据通讯
-
通过插件将iBizPLM登记的产品数据同步至iBizModeling需求模型
模型驱动开发落地
基于前期整理的结构化需求与业务数据,调用iBizModeling平台的AI助手,生成包含业务实体、属性、代码表及关联关系的模块级模型DSL。
随后,利用平台对核心模块进行二次建模与语义整合,将独立生成的DSL代码进行合并、优化与凝练,最终生成系统全局的实体关系建模草稿(ER图),用于直观呈现和数据模型复审,为后续系统设计提供清晰可靠的模型架构基础。
数据结构建模
在需求明确后,项目进入数据结构建模阶段。此阶段基于iBizModeling平台提供的「数据结构建模」能力,以标准ER设计器为核心,对需求分析阶段产生的实体关系建模草稿(ER图)进行精细化设计与最终定稿,构建系统的数据骨架,完成数据结构的最终落地。
数据模型精细化设计:团队在平台内置的「标准ER设计器」中,以图形化方式对AI辅助生成的实体关系建模草稿进行审视与调整。在此过程中,我们基于实体、属性、关系等建模功能,对字段数据类型、关联关系(如一对一、一对多)等进行多轮优化,确保模型精准反映业务逻辑,并为界面、流程等其他模块提供一致的数据支撑。
数据结构落地:经过多轮评审与调整后,对最终确定的模型版本进行「应用草稿」操作,为模型DSL执行构建。在系统中自动生成对应的模块、实体、属性字段、关联关系映射及预置代码表,真正实现了从设计到实际建模的“一键式”落地,为后续的开发工作提供了坚实且可靠的数据结构基础。
实现与开发
设计与建模阶段的可视化成果,成为开发阶段的精准输入。
用户界面设计
对于用户的界面设计,平台提供了一系列可视化的界面设计工具和丰富的组件库,开发团队可以基于标准化元素快速搭建和预览用户界面原型。
-
基础界面自动生成:基于已通过「应用草稿」操作落地的数据模型,我们通过iBizModeling平台进行实体初始化,自动生成各实体对应的标准表格页、编辑页、详情页等基础界面及部件。
-
AI辅助界面DSL生成:在基础界面之上,团队借助平台AI助手,进一步对页面细化。通过智能分析开发人员提出的业务场景描述,并结合已有的数据模型DSL,AI助手能够按照平台规范自动生成符合业务需求的表单DSL。我们只需直接构建AI助手反馈的DSL,即可快速生成页面,显著提升了界面设计的效率与一致性,实现了从数据模型到功能界面的高效、智能化转换。
-
视图面板模型的复用与集成:直接导入iBizOdoo的标准化视图面板模型,复用其成熟的布局、样式与交互逻辑。这不仅大幅减少了前端重复开发工作量,更确保了系统整体风格与交互模式的一致性,为用户提供熟悉且流畅的操作体验。
-
基于预占位元素的UI视图合成:利用建模平台的“界面组装”和“预占位”能力,实现UI的动态、无冲突集成。用预占位方式定义核心视图,各功能模块可独立向同名占位视图注入自定义内容(如按钮组、面板、图表),系统在运行时按预设规则自动合并所有扩展内容,实现了多模块并行开发下的UI无冲突扩展与灵活组装。
- 跨应用表单融合:基于建模平台完善的跨应用协同架构,团队利用了其表单融合的特性,在模块插件(iBizAttendance)与应用基座(iBizOdoo)中建立同标识表单并设置用户标志,将插件系统中的表单无缝接入基座系统中。
业务逻辑设计
- 业务逻辑构建:通过数据流设计器,团队以图形化方式设计包括参数准备、服务调用、数据加工和结果返回在内的完整业务处理流程。该设计器支持通过节点拖拽与连接,直观定义前后端数据处理逻辑,实现了业务规则的可视化配置与高效开发。
- AI辅助逻辑设计:AI助手在本阶段发挥了核心作用,团队利用平台AI助手进行逻辑设计辅助,使得复杂的业务实现变得简单高效。具体操作时,只需输入业务需求描述(如“定时查询待激活规则进行激活”),AI助手便能够智能解析该描述,结合当前模块的上下文与逻辑DSL,生成符合语义的可嵌入业务逻辑DSL建议。团队可将AI生成的逻辑DSL写入设计器,并借助平台提供的版本管理功能,保存至逻辑历史版本中,便于进行多版本差异对比、回溯和优化迭代。基于这一机制,团队快速提升了复杂业务逻辑的设计和验证效率。
注入iBizOdoo的通用能力
iBizAttendance作为模块插件,无缝集成了iBizOdoo基座提供的多项通用企业级能力,显著增强了系统开箱即用的功能完备性。
- 人员与组织模型集成:直接导入并复用iBizOdoo标准化的「员工」、「部门」等核心员工管理模型,确保了组织架构主数据模型的一致性,避免了重复建设。
- 社交化协作能力注入:基于平台的“虚拟Mixin”的模型智能组装能力,团队通过继承iBizOdoo提供的 mail.thread等抽象Mixin模型,考勤业务实体自动获得了消息发送、活动流记录、关注者管理、管理附件等通用的社交化协作功能,极大地提升了业务的协同性与互动性。
插件扩展实现
iBizModeling平台提供了完善的插件扩展机制,为系统提供了高度灵活的定制化能力,支持前端界面组件与后端业务逻辑的定制化开发。
-
前端插件开发:例如排班视图、N班倒的工作日分配控件,常规的部件不足以实现同得力一样的效果,此处团队使用了数据表格绘制插件、编辑器自定义绘制插件对部件进行了扩展,灵活的实现了特定的业务需求。
-
后端插件扩展:通过平台行为扩展点机制,法定节假日同步、考勤规则计算等插件作为最小功能单元独立开发,通过平台运行时注入主系统,实现业务逻辑的动态增强。
模型合并部署
作为iBizOdoo的核心业务模块,iBizAttendance开发完成后,在通过应用市场上架,使用模型合并的部署模式,将模块的模型(实体、字段、视图、逻辑)以附加覆盖的形式,深度集成到主系统的数据模型和应用结构中。集成后,模块功能与主系统浑然一体,如同在主系统内原生开发。
关键成果与亮点
基于DSL驱动引擎的全链路标准化开发:通过自研DSL(领域建模语言)对数据模型、业务逻辑及用户界面进行统一定义与描述,实现了真正意义上的模型驱动开发。DSL引擎支持从需求分析到代码生成的全过程标准化管理,不仅确保了各阶段产出一致性,还通过版本管理、语义比对与自动合并能力,显著降低了团队协作中的集成与维护成本。
AI智能建模辅助带来的效率突破:AI助手深度融入建模全流程,在需求生成、数据结构设计、界面构建及业务逻辑开发中均发挥关键作用。通过自然语言交互、上下文感知与智能推荐,AI显著降低了建模门槛,提升了设计质量与迭代效率。尤其在复杂业务逻辑生成与多版本管理方面,AI辅助已成为团队高质量交付的核心能力。
系统级模块插件化与“虚拟Mixin”智能组装:iBizAttendance 以完整业务模块的形式,作为 iBizOdoo 主系统的插件进行独立开发和版本管理。这种架构使考勤系统如同一款“子应用”,具备高度内聚性和可移植性,可通过应用市场一键安装、升级或卸载。同时,借助“虚拟Mixin”机制,通用能力(如消息、日志、附件管理)通过声明式混入实现非侵入式复用。结合前后端扩展插件体系,系统在保证核心业务完整性的同时,支持界面组件与业务逻辑的灵活定制,实现了系统级模块与微扩展的统一治理。
里程碑
iBizAttendance系统的开发严格遵循模型驱动开发理念,以平台和AI辅助为核心,高效、有序地推进。项目关键里程碑如下所示:
阶段 | 工作内容 |
---|---|
需求分析与模型草稿生成(M1) | 项目启动后,团队快速完成对得力e+考勤系统的业务解构。利用iBizModeling平台的AI辅助能力,在一周内完成了全域需求树的搭建与评审,并通过对关键业务数据的分析,由平台AI助手生成了系统首个版本的实体关系建模草稿(ER图),确立了系统的核心数据架构。 |
数据结构定型与落地(M2) | 基于初始ER草稿,团队通过「标准ER设计器」进行多轮精细化调整与评审,最终定稿全部数据结构。执行「应用草稿」操作后,系统于一周内自动生成所有持久化实体、关联关系及预置数据,完成数据库结构的“一键落地”,标志着系统数据骨架正式建立。 |
核心业务逻辑与界面一体化完成(M3) | 在数据模型基础上,团队集中通过「数据流设计器」构建考勤计算、异常处理等核心业务逻辑,并利用AI助手加速复杂规则的DSL生成与版本管理。同时,界面开发工作同步完成,实现了前后端业务逻辑与用户界面的高效联动。此阶段耗时四周,完成了系统核心功能的业务建模,标准业务功能基本覆盖。 |
模块合并与系统集成(M4) | 通过模型合并部署模式将iBizAttendance作为独立模块插件无缝集成至iBizOdoo主系统,实现系统级功能的即插即用。 |
近期规划 | 完善休假审批流程:基于平台的标准工作流设计器,完善请假、加班、调休等电子化流程。 支持多考勤方式:支持GPS定位、Wi-Fi打卡、人脸识别等多种考勤方式,满足不同企业环境的打卡需求。 |
结语
iBizAttendance系统的成功研发,不仅是对iBizModeling平台核心能力——自研DSL引擎与AI智能建模的一次有力印证,更是对“模型驱动 + 模块插件化”架构理念的一次完整实践与全面验证。该系统创新性实现了基于自研DSL的全链路标准化开发流程与AI智能建模的深度融合,构建起以模型为统一交互语言、模块插件为独立开发/部署/复用单元的新型系统范式。显著提升了复杂业务功能的封装度,支持多团队并行开发,并确保系统集成的高效平滑。其高效落地的过程不仅验证了平台在复杂业务场景下的实用性,也为平台后续在建模效率、语义化构建与AI辅助方向的持续优化提供了宝贵的实践经验。