问:
为什么说“分析过程先有对象后有类;开发过程先有类后有对象”
答:
这句话表达了分析过程和开发过程在对象和类上的思维顺序的差异。
分析过程先有对象后有类:
分析过程是从问题域出发,根据问题需求识别相关对象,这些对象具有相同的属性和行为,然后通过抽象和概括,归纳出这些对象的共同特征,形成类。所以在分析过程中,首先根据具体问题识别各个对象,然后抽象出这些对象的公共特征,形成类。对象先于类。
开发过程先有类后有对象:
开发过程是从解决方案出发,根据分析结果,首先设计类,确定类的属性和方法。然后根据需求,利用这些预定义的类,创建相应的对象实例,并设定对象的属性值,调用对象的方法,实现系统的功能。所以在开发过程中,首先根据分析结果设计类,然后基于这些类创建对象,对象后于类。
简单来说,就分析过程而言,是从具体到抽象,从对象到类;就开发过程而言,是从抽象到具体,从类到对象。分析要素是对象,归纳出的是类;开发要素是类,应用的是对象。
这说明在软件开发中,分析过程和开发过程有不同的思维视角与顺序,分析者和开发者需要在这两种视角之间转换,通过前后相互验证和修正,不断优化需求和解决方案,最终实现问题需求和软件开发的一致。所以软件工程中分析与开发的 iterating 循环过程是非常关键的。