尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

软件工程学习日志2025.12.24

软件工程学习日志2025.12.24
📅 发布时间:2026/6/20 13:24:16

📅 学习基本信息
• 学习主题:物料管控系统面向对象建模案例分析

• 学习时长:3小时

• 学习形式:独立案例分析、UML建模实践

• 使用工具:PlantUML、Visio、思维导图

📚 学习内容概述

一、案例背景分析

• 系统名称:物料管控系统

• 核心目标:规范生产订单物料控制、在线物料管理

• 业务范围:生产订单物料管理及在线物料管理全过程

• 关键概念:物料ABC分类(A类10%物料占65%金额,B类25%物料占25%金额,C类65%物料占10%金额)

二、主要学习任务

  1. 绘制系统顶层用例图
  2. 绘制系统细化完整用例图
  3. 分析系统类模型并绘制类图

🎯 学习过程记录

第一阶段:需求梳理与理解(30分钟)

  1. 阅读分析:仔细研读6页需求文档,理解物料管控全流程

  2. 角色识别:找出所有相关角色,包括:
    • 计划部(生管、物控)

    • 生产部门(主管、组长、物料员、文员)

    • 仓库部门(输单员、仓管员、主管)

    • 相关部门(品质部、工程部、财务部、高层领导)

  3. 流程梳理:将复杂业务流程分解为:
    • 主流程:发料、生产、入库

    • 异常流程:退料、补料、变更

    • 管理流程:在线管理、在制品管理、盘点统计

第二阶段:用例图设计(90分钟)

  1. 顶层用例图设计

• 目标:用最简洁的方式表达系统核心功能

• 设计决策:

• 合并相似角色,精简为5个主要参与者

• 聚焦6个核心业务流程

• 排除异常和特殊情况,只体现正常成功流程

• 最终设计:

5个角色:计划部、仓库、生产车间、品质部、生产文员
6个用例:发布生产计划、套料发放、完工入库、在线物料管理、在制品管理、盘点统计

  1. 细化用例图设计

• 挑战:业务流程复杂,涉及多个分支和条件

• 解决方案:

• 采用分层设计思想

• 使用包含(include)和扩展(extend)关系

• 将复杂流程分解为可管理的子流程

• 关键设计点:

• 区分正常流程和异常分支

• 明确各角色的操作边界

• 体现审批流程的层级关系

第三阶段:类模型分析与设计(60分钟)

  1. 类识别与提取

• 实体类:物料、生产订单、仓库、库存

• 角色类:用户基类及各种具体角色

• 单据类:各种业务单据

• 关联类:审批记录、物料交易、库存记录等

  1. 类关系分析

• 继承关系:用户角色继承、单据类型继承

• 关联关系:生产订单与单据、物料与库存

• 聚合/组合:单据与单据行

• 依赖关系:业务规则依赖

  1. 设计模式应用

• 策略模式:审批规则、ABC分类规则

• 模板方法:单据处理流程

• 工厂模式:用户和单据创建

💡 关键收获与发现

一、需求分析的技巧

  1. 分层理解:将复杂需求分为战略层、业务层、操作层
  2. 角色合并:相似职责的角色可以合并,简化模型
  3. 流程聚焦:先理解正常流程,再处理异常情况

二、UML建模的要点

  1. 抽象层次:
    • 顶层用例图要简洁明了

    • 细化用例图要完整详细

    • 类图要体现业务本质

  2. 关系表达:
    • 继承表达"is-a"关系

    • 关联表达业务关系

    • 聚合/组合表达整体-部分关系

三、系统设计的思考

  1. 可扩展性:通过继承和接口支持系统扩展
  2. 可维护性:清晰的类关系便于理解维护
  3. 业务匹配:设计要紧密贴合实际业务流程

🚧 遇到的挑战与解决

挑战1:角色过多导致用例图复杂

• 问题:需求中涉及10多个角色,直接绘制会杂乱

• 解决:采用角色合并策略,将相似职责合并为5个主要角色

• 效果:用例图更清晰,便于高层理解和沟通

挑战2:异常流程与正常流程混杂

• 问题:退料、补料、变更等异常流程干扰主流程理解

• 解决:先绘制正常流程用例图,再单独处理异常流程

• 效果:主次分明,逻辑清晰

挑战3:类关系复杂

• 问题:单据类型多,关系复杂

• 解决:采用继承层次+接口的方式组织

• 效果:结构清晰,易于扩展

📈 学习成效评估

掌握的技能

  1. ✅ 从复杂需求中提取核心业务流程
  2. ✅ 设计清晰的分层用例图
  3. ✅ 建立完整的类模型并分析关系
  4. ✅ 使用PlantUML工具表达设计

需要加强的方面

  1. 🔄 状态图和序列图的应用
  2. 🔄 设计模式的深入应用
  3. 🔄 性能方面的考虑

🎓 心得体会

一、关于系统分析

  1. 理解业务是关键:只有深入理解业务流程,才能设计出合理的模型
  2. 沟通很重要:不同的利益相关者关注点不同,需要用不同层次的模型沟通
  3. 迭代改进:模型不是一次成型的,需要多次迭代完善

二、关于面向对象设计

  1. 抽象思维:要学会从具体业务中抽象出类和对象
  2. 关注关系:类之间的关系往往比类本身更重要
  3. 设计原则:单一职责、开闭原则等在实践中很重要

三、关于工具使用

  1. 工具服务于设计:不要被工具限制思维
  2. 多种表达方式:文字、图形、代码都是表达设计的方式
  3. 持续学习:不断学习新的设计方法和工具

🔮 下一步学习计划

短期计划(1周内)

  1. 将类图转化为Java代码框架
  2. 补充状态图和序列图
  3. 编写关键用例的测试用例

中期计划(1个月内)

  1. 深入学习领域驱动设计(DDD)
  2. 研究物料管理相关开源系统
  3. 实践微服务架构下的系统设计

长期计划

  1. 建立个人UML建模知识体系
  2. 积累不同行业的业务模型
  3. 提升系统架构设计能力

📋 总结

通过今天的案例分析学习,我不仅掌握了物料管控系统的建模方法,更重要的是建立了从需求分析到系统设计的完整思维框架。这为我今后从事系统分析和设计工作奠定了坚实的基础。

核心收获:

  1. 学会了如何从复杂需求中提取核心业务流程
  2. 掌握了分层用例图的设计方法
  3. 理解了类模型设计的关键要点
  4. 提升了面向对象分析和设计能力

相关新闻

  • 52、卷积层(填充paddinng)
  • 乐迪信息:煤矿皮带区域安全管控:人员违规闯入智能识别
  • 基于VMD分解算法的信号处理与故障诊断:程序化实现及数据预测分类研究

最新新闻

  • 2026-06-20 闲话
  • 3个实用技巧彻底优化《鸣潮》体验:从帧率解锁到抽卡分析的完整指南
  • 2026济宁本地正规瓷砖空鼓维修服务商盘点|无损免拆砖修复,全域上门售后有保障 - 宅安选房屋修缮
  • 5个步骤掌握Source Han Serif CN:免费开源中文字体完全指南
  • ARM中断与VIC控制器实战:从原理到配置与避坑指南
  • LPC210x ARM7 ADC与定时器实战:从寄存器配置到驱动代码

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号