面向对象分析:服务抽取与候补分析法

需积分: 10 3 下载量 89 浏览量 更新于2024-07-12 收藏 1MB PPT 举报
在面向对象系统分析与设计中,"服务的定义与服务候补的抽出"是一个关键概念。服务被理解为类行为的体现,不仅限于类的直接操作,也包括通过属性变化、算法导出以及与其他类的交互来定义。具体来说: 1. 服务候补抽取: - 类作为动作主语的动词词组被视为服务,体现了类的主要功能。 - 当类的算法导出规则时,这些规则同样作为服务,反映了类的逻辑处理能力。 - 类的属性状态迁移图中的迁移动作被看作服务,关注的是属性状态的改变。 - 需求未明示但由类属性或与其他类关系推导出的服务,也是分析的重要组成部分。 2. 服务的剔除原则: - 删除那些输出被用于其他类的服务输入,保持服务的独立性。 - 移除输出被自身服务引用或作为属性使用的服务。 - 如果服务没有输出但存在明显副作用,也需要重新评估其必要性。 3. 面向对象分析与设计过程: - OOA (面向对象分析) 侧重于明确问题,通过构建模型(如Shlaer&Mellor、Coad&Yourdon、OMT或Booch方法论中的对象模型)来理解和表达系统需求,消除不完整性和模糊性。 - OOD (面向对象设计) 转移到决定如何解决问题,涉及静态关系(如信息模型、对象图)和动态关系(状态模型、对象状态图),以及功能和过程模型(如服务图和服务图)的创建。 4. 软件开发的历史变迁: - 面向对象的方法促进了软件开发的工业化和大众化,通过分析、设计和编程的统一过程,解决了过去不同阶段的问题,比如爱好者、研究者和一般软件工程师的角色分工。 5. 服务图的应用: - 服务图是动态模型的一部分,它描绘了对象之间的服务交互,帮助开发者理解系统的运行机制和协作方式。 服务的定义和抽取是面向对象系统分析与设计中的核心环节,通过理解和提炼类的行为、构建精确的模型,并遵循服务剔除原则,可以确保系统设计的高效性和可维护性。同时,这些工具和方法论的使用,有助于在整个软件开发生命周期中实现一致性与有效性。