什么叫抽象?
什么叫抽象?
面向对象软件开发的一个基本方法就是抽象,到底什么是抽象呢?
抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。例如苹果、香蕉、生梨、葡萄、桃子等,它们共同的特性就是水果。得出水果概念的过程,就是一个抽象的过程。要抽象,就必须进行比较,没有比较就无法找到共同的部分。
共同特征是指那些能把一类事物与他类事物区分开来的特征,这些具有区分作用的特征又称本质特征。因此抽取事物的共同特征就是抽取事物的本质特征,舍弃不同特征。所以抽象的过程也是一个裁剪的过程,不同的、非本质性的特征全部裁剪掉了。
所谓的共同特征,是相对的,是指从某一个刻面看是共同的。比如,对于汽车和大米,从买卖的角度看都是商品,都有价格,这是他们的共同的特征,而从其他方面来比较是,他们则是不同的。所以在抽象时,同与不同,决定于从什么角度上来抽象。抽象的角度取决于分析问题的目的。
在软件开发过程中,识别稳定的需求、识别核心的需求、识别概念性的需求、设计系统的架构、定义系统中构件之间的接口关系等等都是抽象的过程,都是反应系统的本质特征的过程。
抽象的,才是稳定的,才是永恒的。
抽象的反义词是具体。人员往往会说:“你讲的太抽象了,能不能讲的具体一点?”在开发语言中,有抽象类,有具体类,具体类可以继承自抽象类,可以实例化。抽象类可以派生出众多的不同的具体类。所谓:“一生二,二生三,三生万物”。系统的稳定体现在抽象类,系统的变化体现在具体类。抽象类的层次要高于具体类。
系统因抽象而稳定,因抽象而生动。
软件项目的特点决定了软件项目管理的特点: (1)不确定性:软件项目是抽象的,因此软件项目的管理具有不确定性; (2)独特性:“没有完全一样的项目”,项目的这种独特性对实际项目管理有非常重要的指导意义,因此软件的项目管理业具备了一定的独特性。 (3)阶段性:项目的阶段性决定了项目的历时有限,具有明确的起点和终点,当实现了目标或被迫终止时项目结束,因此软件的项目管理具有一定的阶段性。
除了上述这些特点,软件项目管理还有如下这些重要特点,不能忽视
(1)项目目标不明确,很难量化
(2)项目执行中需求变化频繁
(3)用户分散,分布在企业的不同组织层级和不同地域,协调难度大
(4)使用和维护周期较长,成本不可控因素较多
(5)设计队伍庞大,智力非常密集,对智力资源的协调尤为重要
本文由用户上传,如有侵权请联系删除!转转请注明出处:https://nongye.s666.cn/bk/6_6571931239.html