在软件工程中,发现对象是面向对象分析的核心步骤,其核心在于将现实世界的问题域映射为软件系统的结构组件。以下是发现对象的系统化方法与原则:
一、发现对象的出发点和原则
系统功能映射 从用户需求出发,将系统功能分解为可管理的模块,每个模块对应一个类或对象。例如,在“饮料自动售货机系统”中,售货机、饮料、顾客等均可作为独立对象。
系统活动域分析
考虑系统覆盖的业务范围(如政府福利系统中的市民、津贴等)和功能需求(如用户交互、数据存储等),识别出与这些活动相关的实体。
双向映射视角
- 客观映射: 将现实事物(如人员、设备)直接映射为系统对象。 - 功能映射
二、具体方法与技巧
基于问题域的实体识别 - 列出问题域中的名词(如“柜员事务”“远程事务”)作为候选对象。
- 通过表格结构梳理系统边界、交互对象及存储需求。
分类与筛选
- 移除只有一个属性或服务的冗余对象。
- 排除与实现细节(如硬件部件)直接相关的对象。
使用分析工具
- 应用Linguistic-based Information Analysis (LIA)等工具辅助自动识别对象。
三、注意事项
避免过早实现: 对象识别应在系统设计初期完成,避免在实现阶段频繁修改。 平衡抽象层次
考虑系统接口:明确对象与外部系统或用户的交互方式,定义清晰的接口规范。
通过以上方法,软件工程师能够系统地发现对象,为后续的类设计、关系建模及系统实现奠定基础。