对于软件工程的一些感悟

软件系统特性

对于软件工程的一些感悟
上图是我根据自己在软件开发中多年的经验总结出的。这四个方面的特性,可以比较清楚得描述出一个系统的基本情况。

1. 可维护性
随着软件系统的需求快速增长,为了快速迭代改进,对于已经很庞大的系统,或者以后可能会变得比较庞大的系统,需要精良的设计,使得系统易于扩展改进。
2. 性能
在系统稳定的前提下,提升性能能给用户带来更好的使用体验,属于软件系统的附加值。
3. 稳定性
稳定性属于系统的基石。换句话说,哪怕系统慢一点也没关系,但一定要稳定,如果动不动就崩溃,这样的系统是没法接受的。
4. 实用性
实用性可以说是以上所有特性的基石,是基础的基础。简单点说,如果一个系统不能给用户带来使用价值,做再多的工作也是徒劳。

作为开发人员

一个开发人员需要首先考虑的稳定性,首先将软件系统的质量保证了,才能做其他更多的,否则一个很容易散架的跑车,跑得再快也是没用的,也不会受到车手的喜爱。其次,需要提升系统的性能,在保证了系统质量之后,提升了性能就给用户更好的体验,让用户用得爽。

作为系统设计者

以一个系统设计者的视角来看软件系统,要求会有别于软件开发人员,首先要将系统的实用性放在首位。试想,一个系统哪怕质量再好,运行得再快,给人看到再炫酷的效果,结果没什么实际用处,也不会有人去用。其次,是如何实现系统。