软件工程之五个层次四个部分

本文探讨了面向对象分析(OOA)的五个层次——主题层、对象类层、结构层、属性层和服务层,以及面向对象设计(OOD)的四个部分——问题论域、人机交互、任务管理和数据管理。OOD在OOA基础上进行细化,深化对象和属性描述,并在用户界面设计中添加细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     在面向对象技术这一章中,提到了“五个层次”和“四个部分”,对于这两方面以及关系做了一下总结。

       首先,说一下“五个层次”。OOA面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务层)组成。OOA有两个任务,形式地说明我们所面对的应用问题,最终成为软件系统基本构成的对象,还有系统所必须遵从的,由应用环境所决定的规则和约束;明确地规定构成系统的对象如何协同合作,完成指定的功能。

   

### 软件工程四个基本原则 在软件工程领域,存在四个基本原则用于指导构件级别的设计,旨在使设计更易于适应变更并最小化副作用的影响[^1]。 #### 单一职责原则 此原则强调每个软件模块应该仅有一个引起它变化的原因。换句话说,一个类或模块应只负责一项功能或特性。当需求发生变化时,如果多个原因能影响到同一个组件,则说明这个组件承担了过多的责任,应当将其拆分以遵循单一职责原则[^4]。 #### 里氏替换原则 这一原则指出子类型必须能够完全替代它们的基类型而不会导致程序行为异常。这意味着任何父类出现的地方都可以安全地替换成其派生类的对象而不改变程序预期的功能。违反这条规则可能会破坏继承层次结构的有效性和稳定性。 #### 接口隔离原则 为了保持系统的灵活性和可维护性,接口的设计应该是简洁明了且专注于特定的服务提供。大型臃肿的接口会增加复杂度,并可能导致不必要的依赖关系。因此,建议创建多个专门化的细粒度接口而不是单个通用的大接口。 #### 迪米特法则(最少知道原则) 该法则是关于如何管理对象之间的交互,提倡减少相互间的直接联系。具体来说就是每一个单位都尽可能少地与其他实体通信交流信息。这样做的好处是可以降低系统各部分之间耦合程度,从而简化调试过程以及未来可能发生的改动操作。 ```python class Printer: def print(self, document): pass class Scanner: def scan(self, document): pass # Good practice according to the Interface Segregation Principle and Demeter's Law class Photocopier(Printer, Scanner): def __init__(self): self.printer = Printer() self.scanner = Scanner() def print(self, document): self.printer.print(document) def scan(self, document): self.scanner.scan(document) ```
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值