BUAA-OO-2025-U4
一、正向建模与开发
当OO课程推进到第四单元时,"正向建模"四个字曾让我头皮发麻——每周一打开指导书就开干代码的习惯被彻底推翻。三次迭代作业都要求先画UML再写代码,起初像戴着镣铐跳舞。但经历U1的疯狂重构、U2的线程漏洞、U3的JML规格地狱后,我终于明白U4的良苦用心:通过类图理清模块边界,状态图固化行为逻辑,顺序图打通交互链路,用完整的架构设计避免不必要的错误。
实践中最深刻的体验发生在第三次作业。当信用系统需求砸来时,我只需要简单地添加一些方法就能解决——这些其实早就在架构设计中预演过,相比前几个单元每次迭代改到怀疑人生的体验,简直是降维打击。
二、架构设计

最终的架构设计如图,经历了以下三次迭代:
1. 基础借阅系统(第一次迭代)
核心设计是中心化调度:Library作为总控枢纽,连接Shelf(书架)、BOR(借还处)、AO(预约处)、User等处理类。关键在于:
- 所有请求由
Library统一路由 - 模块间仅与
Library通信,禁止跨模块调用
2. 阅读场景扩展(第二次迭代)
新增ReadingRoom和热门书架时,惊喜发现原有架构的弹性,
- 只需把热门书架和阅览室作为独立模块接入
Library,然后在实现一些方法就行
3. 信用分系统(第三次迭代)
信用分机制也验证了正向建模的力量,"预约-逾期-扣分"流程都能够轻松地在原有架构上迭代。
三、大模型辅助建模
血泪教训
初期直接扔指导书给Ds老师生成的类图惨不忍睹,类和属性都奇奇怪怪的,关系更是乱七八糟的,所幸通过实验学会了一些使用技巧提高效率,如下示例:
Prompt设计技巧
场景拆解
你作为软件架构师,请基于以下需求设计类图: - 核心实体:Book(User, BOR, AO, Shelf) - 关键行为:借书需检查用户权限和书籍状态 - 约束条件:B类书每人限持1本 以mermaid语法输出类关系,标注多重性和导航方向渐进修正
现有设计问题: 1. CreditSystem应关联User而非Book 2. 缺少OverduePolicy接口实现差异化逾期计算 提供改进方案并解释设计原则应用代码联动
根据以下类图生成Book类的Java骨架: 重点实现: - 状态迁移方法加@Trigger注解 - 用Enum管理ShelfLocation 忽略getter/setter,专注业务逻辑
四、架构设计演进
- U1表达式战场:在递归下降和多项式展开间反复横跳,被
sin((x+x))的优化逼到重构3次。 - U2电梯战争:生产者-消费者模型是救星,但双轿厢同步改造时
CountDownLatch用错导致死锁。 - U3规格帝国:JML的
ensures和assignable像法律条文,被迫学会用缓存优化queryGroupValueSum()。 - U4建模觉醒:终于理解“架构是约束的艺术”——当类图规定
Library单向依赖模块时,代码自然高内聚。
五、测试思维进化
| 单元 | 测试方式 |
|---|---|
| U1 | 基本都是手搓测试样例 |
| U2 | 开始用大模型辅助生成一些符合规范的数据 |
| U3 | 学会用JUnit单元测试测试方法正确性 |
| U4 | 学着使用交互式评测,搭建评测机进行评测 |
最大的认知进化在于:测试不仅是验证程序正确,更是检验设计一致性,符合架构设计的好的程序才能保证在各种边界条件下不出错。
六、课程收获:在OO宇宙中成为更好的自己
还记得U2电梯单元的一个夜晚,饿着肚子调试到凌晨三点。但当终于de出多线程bug的瞬间,那种攻克难关的喜悦比什么都更炽热。OO教会我的不仅是各种面向对象编程的思想和代码的熟练度,
更是直面复杂系统的勇气。当在图书馆系统里同时处理借阅、信用、逾期计算时,我想起U1被括号支配的恐惧——原来所有成长,都是过去经验的递归展开。
"亲爱的旅人啊 没有一条路无风无浪
而一切终将 汇聚成最充盈的景象"
我终于站在OO课程的终点,向后来的冒险者挥手:
再见了OO,今晚我就要出发向更广阔的海洋!
相关推荐
论文复现基于变频与移相协同控制的全桥LLC变换器模式切换平滑性优化(Simulink仿真实现)
内容概要:本文针对“基于变频与移相协同控制的全桥LLC变换器模式切换平滑性优化”这一主题,开展Simulink仿真实现与技术复现研究。通过构建全桥LLC谐振变换器的详细仿真模型,深入探讨在不同负载工况(如轻载、重载、待机与运行模式切换)下,如何结合变频控制(FM)与移相控制(PSM)的协同策略,优化系统动态响应的平稳性与效率。研究重点在于设计合理的控制逻辑,解决模式切换过程中可能出现的电压电流冲击问题,提升系统的稳定性和电能质量。文中系统阐述了控制策略的设计原理、关键参数的整定方法,并通过仿真结果验证了该协同控制方案在抑制瞬态扰动、实现无缝切换方面的有效性,完整复现了高水平学术论文中的核心技术路线,为电力电子变换器的先进控制提供了可复现的实践范例。; 适合人群:电力电子、电气工程及其自动化等相关专业的研究生、科研人员及从事开关电源、新能源变流器开发的工程师,尤其适合具备一定Simulink仿真经验与电力电子拓扑分析能力的专业人士; 使用场景及目标:①深入理解全桥LLC变换器在多模式运行下的变频与移相协同控制机理;②掌握在Simulink中对复杂谐振变换器进行建模、控制算法实现与仿真验证的全流程方法;③为学术论文写作、科研项目申报或高性能电源产品的工程开发提供可靠的技术参考与仿真基础; 阅读建议:建议结合所提供的Simulink模型文件与技术文档进行同步实践,重点关注变频与移相控制的切换逻辑、参数配合关系及过渡过程的动态特性,可通过调整负载条件观察系统的响应变化,以深化对模式切换平滑性实现机制的理解。
高校技术转移办公室人员如何高效完成科技成果全周期管理?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
可视化原型素材ppt格式
可视化原型素材ppt格式
氢氟醚:绿色高效的氟化解决方案.docx
氢氟醚:绿色高效的氟化解决方案.docx
2026最新广西省行政区划矢量图层-省市县乡镇四级行政区划数据下载
2026最新广西省行政区划矢量图层数据,包含省、市、县、乡镇四级行政区划数据,wgs84坐标


