《软件工程》课件——12面向对象分析与设计.pptxVIP

  • 0
  • 0
  • 约3.87千字
  • 约 19页
  • 2026-03-09 发布于福建
  • 举报

《软件工程》课件——12面向对象分析与设计.pptx

2026年3月8日面向对象分析与设计大数据技术BIGDATA

2026年3月8日章节内容1面向对象分析与设计概念3面向对象设计5面向对象设计方法2面向对象分析过程4面向对象设计原理6案例实践

2026年3月8日面向对象分析与设计面向对象分析与设计概念

2026年3月8日1.面向对象分析与设计概念1.1核心定义提炼用户需求,确定系统“做什么”的过程,核心是从现实场景中提取核心对象与交互逻辑。面向对象分析(OOA)将OOA模型转化为可实现的技术方案,解决“怎么做”的问题,目标是提升软件生产效率、质量与可维护性。面向对象设计(OOD)

2026年3月8日面向对象分析与设计面向对象分析过程

2026年3月8日2.面向对象分析过程2.1六个阶段分析确定问题域(明确“分析边界”)确定类与对象(筛选“核心实体”)确定关联关系(梳理“对象交互”)确定属性(完善“对象细节”)定义服务(完善“对象细节”)确定附加系统约束问题范围功能需求性能需求应用环境假设条件找出候选的类与对象筛选出正确的类与对象进下一完善初步确定关联筛选进下一完善政策法规组织约束资源约束安全约束确定对象状态画出状态转换图完成服务分类建立对象通信机制分析选择OOA需按“问题域→类与对象→关联→属性/服务→约束”依次推进,核心是“从业务需求中抽象出无技术依赖的对象模型”,为后续OOD奠定基础。

2026年3月8日面向对象分析与设计面向对象设计

2026年3月8日3.面向对象设计3.1.设计的层次面向对象设计是面向对象方法在软件设计阶段应用与扩展的结果,可以将OOA中所创建的转换为设计模型,即可行的技术方案,解决如何做的问题。其主要目的是提高生产效率、质量和可维护性。系统设计(?拆分“高层结构”)核心任务:确定实现策略,划分子系统子系统划分原则:高内聚、低耦合子系统组织方式:水平层次:按“业务层→数据层”划分垂直块:按“功能模块”划分对象设计(细化“技术方案”)核心任务:确定解空间中的对象结构、外部接口与数据结构对象层次结构:通过继承/组合优化类设计接口设计原则:单一职责:一个接口仅对应一类功接口隔离:避免“胖接口”设计优化(平衡“效率与可维护性”)优化手段:增加冗余数据优化算法用组合替代继承,避免继续层级过深接口设计原则:优先保证“可维护性”,再提升“效率”;优化需基于实际性能测试

2026年3月8日面向对象分析与设计面向对象设计原理

2026年3月8日4.面向对象设计原理4.1十大核心原理:定义+场景+目的原理核心定义(含标准引用)应用场景示例核心目的抽象提取对象核心特征,忽略无关细节定义Product抽象类,包含id、name、price属性,让Electronics(电子产品)、Clothing(服饰)类继承降低复杂度,聚焦核心逻辑信息隐藏(封装)通过访问控制隐藏内部实现,仅暴露必要接口User类用privateStringpasswordHash隐藏密码哈希,通过getPasswordHash()方法暴露降低耦合,保护数据安全模块化将系统拆分为高内聚、低耦合的独立模块电商系统拆分为“用户管理、商品管理、订单管理”三个模块便于分工开发、测试与维护模块独立模块间依赖最小化,通过接口交互电商“订单模块”调用“支付模块”的createPayment()接口完成支付,而非直接操作支付模块数据减少模块间影响,提升稳定性逐步求精从抽象到具体,分阶段完善设计先定义Order类(包含orderId、userId、items核心属性),再补充calculateTotalPrice()方法(计算订单总价)降低设计难度,避免一步到位风险可重用性类/接口可在多场景复用开发StringUtils工具类,提供字符串拼接、格式化、校验等方法,供用户注册、订单备注等场景复用减少重复开发,提升效率可扩展性新增功能时不修改原有代码(基于“开闭原则”)新增“折扣券”功能时,DiscountCoupon类继承Coupon类,不修改原有Coupon类应对需求变化,降低维护成本单一职责原则一个类仅承担一种职责(SOLID原则之一)拆分“OrderService”为“OrderCreateService(订单创建)”和“OrderPaymentService(订单支付)”降低类复杂度,提升可维护性里氏替换原则子类可完全替代父类且不破坏原有逻辑(SOLID原则之一)Circle类继承Shape类后,calculateArea()方法(计算面积)逻辑与Shape类的设计预期完全兼容保证继承体系的健壮性依赖倒置原则高层与低层模块均依赖抽象(SOLID原则之一)电商业务层依赖“PaymentInt

文档评论(0)

1亿VIP精品文档

相关文档