观《构建之法》有感
1. 我学到了什么软件工程的理论、技术和教训,能帮助我成为更好的软件工程师?
2. 我在项目中是否利用软件工程的理论和技术解决了用户的需求?
3. 我是否提高了项目的工程质量,让它更容易扩展和维护?
4.一个好的软件,即使功能和同类软件区别不大,但是会让人感觉到非常好用。这就是软件的用户体验(User Experience)。用户体验和数据结构、算法没有直接的关系,但是很多非常成功的软件就赢在这个方面。一个软件团队或企业总要养活自己,市面上有很多种赚钱的方式:
有的交钱买断。 有的“先试用再交钱”,有些软件也提供试用版、免费版和正式版,还有的类似期刊订阅,每年交钱。 有的不但免费,连源代码也一并奉送,但是要求获得源代码的开发人员遵守某种协定。 有的送硬件,但是软件要收钱。 有的送软件,但是硬件要收钱。 也有“免费用,但是要看我提供的广告”。 还有“免费用,程序也不是我写的,如果有问题,给我钱,我就来提供咨询……” 。 当然还有在用户不知道的情况下就安装了软件,然后用户怎么也摆脱不掉。
那么到底软件是怎么赚钱的?
5.软件工程的知识领域有哪些领域?我们需要掌握哪些知识?
6.如何区分一个好的程序员和不好的程序员呢?