272
社区成员




在面对象编程中,正向建模与开发是指从需求分析到系统实现的一种开发方法;这一方法强调从问题出发,从初步建立起模型描述系统结构、行为与关系开始,一步步过渡到可执行的代码。
在第四单元作业的三次迭代作业中,我们依次体验了UML类图、状态图到顺序图三种正向开发模型,在此基础上进行程序开发设计。由于初次体验正向开发,我并没有严格先画出相应准确地UML图,而是在markdown, staruml等工具上勾勒出了满足本次作业需求的大致框架,再随着程序开发的推进调整整体架构。
总的来说,虽然能力上尚不足以满足完全正向开发的要求,但我也部分地体验到了正向建模与开发的思想与方法。
我的UML类图严格与代码实现的类的属性与方法对应,可以清晰的看出代码架构:Library作为总的调度类,接受并处理Main的所有请求;相同的图书副本被储存在一个BookInventory类中,BookInventory类储存所有副本实体Book并管理Book的分配与调度;User类用于建立发起请求的对象的实例,包括持有的Book、对书籍的各种操作方法等;同时,书籍借还处、书架、阅览室我均在Library中利用一个HashMap模拟。
UML状态图主要是对书籍通过借还转化为热门书籍的过程的展示,在代码中通过对状态转移方法的注释建立状态图与代码之间的对应关系。
UML顺序图主要展示了用户预约书籍的顺序方法,包括sendMessage和方法反馈。
**引导大模型辅助复杂场景架构设计的关键在于:**
1. **清晰输入:** 提供**精确、结构化**的需求、约束(技术、业务、非功能)和上下文,减少模糊性。
2. **领域知识注入:** 结合**专业术语库、模式库、现有设计文档**,增强模型对特定领域和复杂性的理解。
3. **分步引导:** **拆解任务为子问题**(如边界划分、核心模块定义、交互设计),**分步骤、分层次**引导模型生成和验证方案。
4. **迭代与验证:** **严格审查**模型输出,识别逻辑漏洞、潜在风险或脱离约束之处,**通过针对性追问引导模型修正或深化设计**,形成闭环。
5. **人主导决策:** 始终将模型定位为**辅助工具**,**用户负责最终决策、权衡取舍和把握全局一致性**。
**核心:** 通过精准输入、知识增强、过程控制和人工深度参与,将大模型的生成能力有效聚焦并约束在复杂问题域内,产出更可信的方案。
**第一单元**:聚焦基础语法封装,以过程化思维实现功能需求。
**第二单元**:初步应用工厂模式、继承与接口,解耦输入解析与业务逻辑。
**第三单元**:深入实践层次化设计,通过JML规格的引入,加强抽象类与策略模式的构建能力。
**第四单元**:掌握面向对象设计架构核心,进一步理解解耦。
**演进脉络**:从“功能堆砌”到“分层解耦”,最终形成“逻辑化架构”的系统思维。
**第一单元**:黑盒测试为主,验证基础功能正确性。
**第二单元**:引入白盒测试,覆盖继承与多态的逻辑分支。
**第三单元**:构建分层测试框架(单元测试+集成测试),结合JML、JUnit进行多维度测试。
**第四单元**:强化边界、异常与并发场景测试,实践契约测试保障服务交互鲁棒性。
**演进脉络**:从“结果验证”转向“过程可控”,建立全生命周期质量保障意识。
1. **设计能力**:掌握工厂、代理、观察者等经典模式,具备复杂系统分层抽象与解耦能力。
2. **工程素养**:形成“设计-实现-测试-重构”闭环,理解可扩展性、可维护性等核心指标。
3. **工具链实践**:熟练应用Git、JUnit、JML规格、设计分析工具(UML)支撑工程化开发。
4. **思维升级**:从面向过程到面向对象,最终建立“以抽象应对变化”的架构师视角。