BUAA OO U4 单元总结

xianyuhujun xianyuhujun 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

1、正向建模与开发

正向建模指的是从需求分析到设计,再到实现的正向流程。流程:需求分析->系统建模->架构设计->编码实现->测试与部署,优势是提高系统设计的可追溯性、早期发现设计缺陷、促进团队沟通和理解、支持系统演化和维护、提高开发效率和质量。虽然课程组提倡我们本单元采取先建模再实现的方法,但是由于缺乏经验,一开始的设计充满了缺陷和不足,导致实际上还是先实现再根据代码建模的流程。但是,通过这样的经历,我体会到了要设计一个完善的架构是不容易的,需要对场景需求和实现都有足够深刻的了解。

2、架构设计

类图

img

状态图

img

顺序图

img

根据提供的三张UML图(类图、序列图和状态图),对该系统的架构设计进行总结,并分析UML模型设计与最终代码设计之间的追踪关系。

架构设计总结

核心组件与职责划分:
LibrarySystem : 系统的核心控制器,负责协调整个图书馆系统的运作。管理图书、用户和预约的集合,并提供了大量的操作方法来处理借阅、归还、预约、图书管理等各种业务逻辑。
Book (图书): 表示图书馆中的一本图书,拥有唯一的标识(bookId)、当前状态(bookState)和追踪记录(trace)。负责管理自身的状态和基本信息。
User (用户): 表示图书馆的用户,拥有用户ID、姓名,并记录了用户当前借阅的书籍、在阅览室阅读的书籍以及用户的预约信息。负责管理用户的个人借阅和预约状态。
Appointment (预约): 表示用户的预约记录,包含用户ID、图书ISBN和预约日期等信息。负责管理预约的详细信息。

代码设计和UML模型设计之间的追踪关系

由于最后采用了根据代码进行建模的工作流程,因此UML模型和代码之间是严格对应的。

3、大模型辅助正向建模

在使用大模型辅助建模的过程中,为了让大模型生成符合要求的输出,我采用了以下步骤:
1、角色设定
通过让大模型扮演专家角色如“架构师”,可以让大模型有比较大的概率生成质量更高的输出。
2、明确需求
通过明确告知大模型自己的需求,可以有效避免大模型生成无关的输出
3、提供上下文信息
通过提供充足的背景信息,大模型可以更好地完成建模工作
4、迭代
目前大模型依然无法一次性给出符合要求的输出,因此需要进行多次的迭代与追问,帮大模型查缺补漏,最后才能得到满足要求的输出。

4、架构设计思维和测试思维的演进

第一单元:

本单元需要对表达式进行递归下降解析,也是我第一次接触到面向对象编程,和面向过程编程不同,关注的是如何通过不同对象之间的交互来完成任务。在本单元中,我体会到了层次化和模块化设计的思想。测试方面,我通过自己构造一些边界条件和正常数据来进行测试。

第二单元:

本单元需要完成多线程电梯系统的设计,虽然我并没有很好地掌握多线程架构的设计,但是对其有了初步的了解,是未来需要努力的方向。测试方面,借用了同学提供的评测机

第三单元:

本单元需要根据规格来来完成代码编写,让我接触到了”契约式编程“的思想,由于测试点对性能有所要求,因此需要在规格的约束下寻找性能和复杂度之间的平衡点,也让我体会到了”实现和接口分离“的精髓。测试方面,JML规格提供了完整的约束条件,我学习到了如何基于规格来进行测试。

第四单元:

本单元需要先建模再设计,建模让我对整体架构有了更多的把握,这使得程序开发的流程更加规范,可以避免开发过程中一些偏离目标的情况。测试方面,我第一次尝试编写程序自动化随机生成测试数据,通过对大量场景下的测试可以更好地发现程序中存在的问题。

5、课程收获

经过一个学期的 OO课,我对于面向对象思维有了更深刻的体会,Java由一窍不通到最为熟悉的编程语言,也学会了很多有用的工具如 git、uml等。

...全文

相关推荐

【Python编程】Python安全编程与常见漏洞防护

内容概要:本文深入剖析Python应用的安全风险与防护策略,重点对比SQL注入、命令注入、反序列化漏洞、路径遍历等常见攻击面的防御方案。文章从输入验证原则出发,详解参数化查询(parameterized query)对SQL注入的防御机制、subprocess模块的shell=True风险与参数列表传递、以及pickle/ast.literal_eval的安全替代方案。通过代码示例展示密码哈希(bcrypt/argon2)的盐值与迭代策略、JWT令牌的签名验证与过期控制、以及CORS跨域配置的白名单限制,同时介绍bandit静态安全扫描的规则配置、OWASP Python安全编码规范、以及依赖漏洞(CVE)的自动化检测(safety/pip-audit),最后给出在Web应用、数据处理、云原生部署等场景下的安全纵深防御体系与最小权限原则实践。 migu.blsxex.hxjlj.org.cn www.huike-auto.com m.huiyimofang.com hx-whg.com www.huaxiazhenhui.com

2601_96960478

新型电力系统下PI-LSTM物理信息长短期记忆神经网络的电力变压器状态评估方法(Matlab代码实现)

内容概要:本文提出了一种基于物理信息长短期记忆神经网络(PI-LSTM)的电力变压器状态评估方法,旨在适应新型电力系统对设备状态精准评估的需求。该方法将物理规律作为先验知识融入LSTM网络,通过构建包含变压器热力学、电气特性等物理约束的损失函数,提升模型在数据稀疏或噪声干扰下的泛化能力与解释性。利用Matlab实现了PI-LSTM模型的搭建、训练与验证,通过实际案例对比传统LSTM与PI-LSTM在状态参数预测精度、趋势拟合度及异常检测敏感性方面的表现,证明了所提方法的有效性和优越性,为变压器等关键电力设备的智能运维提供了新的技术路径。; 适合人群:从事电力系统、智能电网、设备状态监测与故障诊断研究的科研人员、工程技术人员及高校研究生。; 使用场景及目标:①应用于新型电力系统中电力变压器的健康状态评估与预测性维护;②为掌握物理信息神经网络(PINN)在电力系统中的融合应用提供Matlab实践范例; 阅读建议:建议读者结合Matlab代码深入理解PI-LSTM的网络结构设计、物理约束项的数学表达与代码实现细节,并尝试在不同工况数据集上复现和测试,以充分掌握其在提高模型物理一致性与预测可靠性方面的核心优势。

然哥爱编程

硕士复现燃料电池供氢系统建模及控制策略Simulink仿真(附带说明PPT+参考文献+复现模型+实物源码)

内容概要:本资源聚焦于燃料电池供氢系统的建模与控制策略研究,通过Simulink仿真平台实现系统动态行为的精确模拟与控制算法的验证。内容涵盖供氢系统的关键部件建模,如氢气供应管路、压力调节阀、储氢罐及燃料电池堆等,并针对系统响应滞后、压力波动等问题,设计并实现了先进的控制策略,例如基于反馈与前馈的复合控制、PID控制或模型预测控制(MPC),以确保氢气供给的稳定性与效率。配套提供的说明PPT详细阐述了建模思路与控制逻辑,参考文献为研究提供了理论支撑,而完整的复现模型与实物源码则极大地方便了学习者进行仿真复现与二次开发。; 适合人群:具备一定自动化、电气工程或能源动力系统背景,正在进行相关课题研究的研究生,以及从事氢能系统开发的工程技术人员。; 使用场景及目标:① 学习并掌握燃料电池供氢系统的工作原理与关键组件的数学建模方法;② 利用Simulink搭建复杂能源系统的仿真模型,并设计、调试与验证先进控制策略;③ 基于提供的完整资源包(PPT、模型、源码)进行科研复现,作为学位论文或学术研究的技术基础。; 阅读建议:学习者应结合说明PPT的理论讲解,逐步操作复现模型,重点关注控制模块的设计逻辑与参数整定过程。建议在理解现有模型的基础上,尝试修改工况参数或优化控制算法,以深化对系统动态特性的认识,从而将本资源作为开展自主创新研究的有效跳板。

小念念_

LangGraph中的超时控制与取消执行

内容概要:讲解如何为LangGraph图执行设置整体超时和单节点超时,利用asyncio.timeout或同步超时装饰器。展示如何从外部取消正在运行的图(如用户中止)。通过长时间任务示例,说明优雅取消与资源释放。讨论超时后检查点状态的处理。 www.cdjmyk.com www.conghualvyou.com www.cits03.com ligue1.chunxinglong.com chn-shhgvalve.com

2601_96960449

考虑供电可靠性与算力柔性的数据中心园区源‑储‑荷一体化规划研究(Matlab代码实现)

内容概要:本研究聚焦于数据中心园区的能源系统规划,提出了一种综合考虑供电可靠性和算力柔性的源-储-荷一体化规划方法。该方法通过构建数学模型,将可再生能源发电、储能系统与数据中心的计算负载进行协同优化,旨在提升能源利用效率与系统运行的稳定性。研究引入算力柔性概念,即根据电力供应情况灵活调整计算任务的执行时间和强度,从而实现供需动态平衡。文中采用Matlab进行仿真建模与求解,验证了所提规划方案在降低能耗成本、提高供电可靠性和增强系统灵活性方面的有效性,为绿色、高效的数据中心能源管理提供了新的思路和技术支撑。; 适合人群:具备一定电力系统或能源管理背景,从事数据中心、新能源、智能电网等相关领域研究的研发人员和工程技术人员。; 使用场景及目标:①应用于数据中心园区的能源系统规划设计,优化可再生能源、储能与算力资源的配置;②实现数据中心在保障服务质量的同时,最大化消纳绿电、降低运营成本并提升应对电力波动的韧性。; 阅读建议:读者应结合Matlab代码,深入理解模型构建过程,重点关注目标函数的设计、约束条件的设定以及算力柔性调度策略的实现方式,以便将该方法迁移应用到实际工程项目中。

三伯
评论
收藏 已收藏
分享
返回顶部