软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程,它包括以下领域:软件需求分析、软件设计、软件构造、软件测试和软件维护。软件开发具有复杂性、不可见性、易变性、服从性、以及非连续性。由于软件是由多人合作完成的,不同的人员的工作相互有依赖关系,一个人写的模块会被其他人调用,而软件的很多错误都来源于程序员对模块的误解,所以,软件是要进行单元测试的。一开始我单纯的以为软件的测试就是通过在使用中发现不足,而现在我才知道,软件的单元测试是通过VSTS写出来的。而验证单元测试好坏的一系列标准则是:单元测试应该在最基本的功能/参数上验证程序的正确性;单元测试必须由最熟悉代码的人(程序的作者)来写;单元测试后,机器状态保持不变;单元测试要快,并且应该产生可重复性、一致的后果等等。
这个学期我们又新加了一门课程——《构建之法》,对于我们又要学习这么一门乏味但又十分重要的课程时。但真正的看了这本书后,我完全沉浸进去了,这是一本难得的好书。
《构建之法》是一本讲软件工程的书,但又不是一本传统的软件工程的书。它是理论和实践的相结合。讲现代理论,同时也讲体现理论的工具。《构建之法》从开发测试、开发人员成长、团队管理一直讲到需求分析、设计以及用户体验等。先让我们知道开发为何物,在脑海有了一个大概的概念和每个人都具有了编码实践的经验后再一步步提到需求分析、设计。循序渐进的引导我们了解什么是软件工程的理论知识又锻炼了我们的动手能力,使我们理解的更透彻。这本书还从我们较为熟悉的编程训练入手,以范例演示基本编码规范,每章节都在不断的总结,用图文并茂的方式提高趣味性和使复杂的问题变得生动化。练习量较大,更偏重实战,每个学生的项目都通过博客实时的上传,老师会观看每个学生的作业并评价,这样能够及时的发现我们的状况,我们还能在博客上和同学老师互相交流学习。
1.要积累软件开发的相关知识,提高技术技能
2.要积累问题领悟的知识和经验;
3.要对通用的软件设计思想和软件工程思想的理解;
4.提高职业技能
5.实际成果。