总括本人十几年的软件开发经验,通过对软件开发的感悟,觉得可以概括其精髓如下:
1、建立逻辑模型;
2、处理逻辑模型的数据;
关于建立逻辑模型
我们开发软件,肯定是为了完成某个客观任务,这就要求我们的软件表达并处理现实中的某项任务,这个现实任务,就是一个客观存在的事物,也就是说,一个客观模型;但计算机不可能直接处理该客观模型,必须相应地建立一个逻辑模型;
逻辑模型建立得好与否,唯一的标准系是否准确地反映了客观模型,要做到这一点,就必须做好如下两项工作:
1)我们对所要处理的客观模型描述是否全面、详细;
2)我们对客观模型的分析是否到位,理解客观模型的本质,是否对客观模型进行完整的归纳;
通过客观模型的归纳和抽象,得出计算机能够处理的逻辑模型;
处理逻辑模型的数据
在软件开发设计中,这一项工作是否做得好,最直接的标准是:逻辑对象的数据处理起来是否方便;
逻辑模式建立起来了,需要确定如何组织、表达逻辑模型中的数据,在软件设计中,就涉及到我们所熟悉的数据词典、对象定义、数据库结构,并且包括数组结构、数据集合、属性和公用变量等;
处理逻辑模型的数据,也涉及到一系列的相关业务算法,算法设计是否合理,是否如实地表达业务需求,并能够基于逻辑模型的数据进行运算。
逻辑模型的数据表达,在软件结构设计的不同层面中,也有相应不同的表达方式,如在数据层,通过数据库表格,表达并存储逻辑模型的数据,但在业务层,则必须通过实例化的类对象、结构、数组表达逻辑模型的数据。
总结
目前关于软件结构设计和实现的方法,大家常提及的就是:系统需求说明、系统设计说明、模块设计说明、数据库设计等,这些设计文档的表达方式每个公司、开发团队有不同的要求,并且相对于软件项目的规模,这些设计文档有所取舍,但是,软件开发,有其内在的精髓,其精髓总结起来就是:
建立逻辑模型,并处理逻辑模型中的数据。
在实际的软件开发中,记住并领悟这句话,思路会保持明朗清晰的。