初读构建之法这本书,让我眼前一亮,作者邹欣老师把软件的开发方法和逻辑讲得很清晰,很有条理。
软件工程是什么?是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。
软件工程包括下列领域:软件需求分析、软件设计、软件构建、软件测试和维护。
软件工程相关的学科:计算机科学、计算机工程、管理学、数学、项目管理学、质量管理、软件人体工学、系统工程、工业设计和用户界面设计。可见,软件工程涵盖了如此之多的学科,不是仅仅会写代码就称得上软件工程师的。
软件 = 程序 + 软件工程
一个复杂的软件不但要有合理的软件架构、软件设计与实现,还要有各种文件和数据来描述各个程序文件之间的以来关系、编译参数、链接参数,等等。这些都是软件构建的过程。
单元测试
为了让自己负责的模块功能定义尽量明确,模块内部的改变不会影响其他模块,而且模块的质量能得到稳定、量化的保证,单元测试是一个有效的解决方案;书中提出用VSTS写单元测试并给出好的单元测试的标准。
初级软件工程师如何成长?
1. 积累软件开发的相关知识,提升技术技能(对某一开发平台、某一门语言的掌握);
2. 积累问题领域的知识和经验(对要解决的问题的领域的了解,即跨领域);
3. 对通用的软件设计思想和软件工程思想的理解;
4. 提升职业技能,即自我管理能力、表达能力、沟通能力等;
5. 行胜于言,成果是检验能力的唯一标准。
如何衡量一个软件工程师的成绩?
1.项目有多大;2.用时多少完成;3.质量如何;4.是否按时交付;
过去做法:
过去认为软件工程仅仅是单一的去编写程序编写软件,和其他领域没有关系
实际情况:
软件工程相关的学科:计算机科学、计算机工程、管理学、数学、项目管理学、质量管理、软件人体工学、系统工程、工业设计和用户界面设计。可见,软件工程涵盖了如此之多的学科,不是仅仅会写代码就称得上软件工程师的。
以后做法:
不单单拘泥于写好代码,要在学好代码的前提下拓宽自己的知识面。