• 全部
...

BUAA OO Unit4 总结

廉晟-23373163 2025-06-12 18:16:54

1 单元总结

1.1 正向建模与开发

  • 需求分析:理解题目、官方包的内容,并提取出需求进行分析;
  • UML建模:按照需求初步建立不同的类、属性和方法、关系,绘制类图;确立对象交互的操作,绘制状态图和顺序图;
  • 代码实现:根据初步建立的类图、状态图和顺序图进行代码实现;
  • 验证与测试:根据代码中相比UML模型的修改对UML模型进行调整,并进行数据测试

1.2 架构设计

img

类图最初由分析需求建模而成,在后续代码实现中进行了调整与补充。

img

书籍的状态即为书记可能存在的所有位置,各个状态之间的转换通过用户操作和开闭馆整理对应的各种方法实现。

1.3 大模型辅助

笔者除实验课以外从未使用过大模型,因此对大模型使用的总结更多来自与同学间的讨论及自己在其他课程使用大模型的经验。

通过大模型辅助正向建模不应只是将整个网页一股喂给大模型,然后自己再根据结果进行缝缝补补。

大模型的优势是可以进行简单重复的工作,一个问题可以提供很多种实现方法。按照题目中给出的情景,让大模型逐步分析需要构造哪些类,类中应有哪些属性和方法,类与类之间有那些关系等;或自行设计简单类图,让大模型进行补充和修改。大模型结果生成完成后,利用大模型的反思能力让大模型反思自己的结果,并给出更好的结果。

2 全课程总结

2.1 架构设计思维的演进

  1. 层次化设计:将问题分解,分别交给不同层次的子系统进行对不同问题的解决;层次结构、递归下降法、高内聚与低耦合的具体内涵与实现;
  2. 多线程设计:多线程的并行与并发、同步与互斥、死锁的原因和防止死锁的方法;
  3. JML规格化设计:使用形式化语言规范软件编写,在给定的框架内通过使用合适算法优化复杂度;
  4. UML正向建模设计:正向建模的设计模式。

2.2 测试思维的演进

  • 手搓特殊数据
  • 白嫖室友/借助大模型生成评测机生成随机数据、边界数据
  • JUnit单元测试:针对某个方法进行测试,可结合生成数据的代码
  • 压力测试:针对多线程并发评测

2.3 课程收获

做了16次作业,包括12次代码作业和4次博客作业,感觉学到了很多,也感觉什么也没学到。写OO作业占了我很大一部分时间,最开始还能因为互测进了B房懊恼很久,但后来随着一次作业的爆零,我开始更注重于对自己知识点掌握和能力评估的反思,在这一方面的能力我还是有很大提高的。

OO还是很难的,主要的难点除了与自己写的代码搏斗以外,还在于对新内容的理解。我觉得课程组在这一部分还有提升的空间,希望能多给出一些指引。

...全文
给本帖投票
22 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

272

社区成员

发帖
与我相关
我的任务
社区描述
2025年北航面向对象设计与构造
学习 高校
社区管理员
  • Alkaid_Zhong
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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

手机看
关注公众号

关注公众号

客服 返回
顶部