如何设计一个软件方案:
一般情况下,对一个项目设计方案和对一个算法设计方案考虑的问题基本是类似的;
一般要考虑如下因素:
1.问题规模
2.存储资源是固定的,还是会随着问题规模变化?是受到什么因素影响而变化?是怎么变化(线性的?还是非线性的等等)?
3.资源的操作(比如删除,插入)是按照什么趋势变化的?资源的查询操作是按照什么趋势变化的?
最后要设计至少两个方案,然后对方案结合业务进行分析,选择一个折中的合适的方案;
也要关注方案的可执行性,可维护性等因素;这些都可以是进行方案选择的因素,只不过权重可能不一样而已;
上面是从算法这个细微层面来分析的,但是由小及大,大的工程项目设计也是遵循这种思路;