通过本学期学习的《现代软件工程构建之法》,让我们对于软件工程有了深刻的了解。基于上学期学习的《软件工程》,延伸了我们的知识。配合本学期《软件的测试》让我们懂得了本书的重要性。
本书共分十七章,结合本学期学习的《软件测试》我们对于本书主要从测试入手。本书有关于单元测试的简要介绍,有关于个人开发的流程,两人合作的代码规范和审查,团队的模式和开发流程,还有软件的分析和设计方法,软件各种的测试方法,运用的测试工具等。就我目前只能了解这些,当然还有跟多,还要我们细细体会。
现在从本文目录来细细体会下的本书的结构,那么我们对于前五章做个初步了解。第一章,其实就是的是软件工程的一些概论,什么是软件工程?软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程,它包括以下领域:软件需求分析、软件设计、软件构造、软件测试和软件维护。软件开发具有复杂性、不可见性、易变性、服从性、以及非连续性。软件工程的目标——创建“足够好”的软件,什么是足够好的软件?可靠性高、用户满意、软件流程质量好、可维护性高的软件就是好软件。在这章节中,我初步了解了软件工程的目标以流程,个人与团队合作之间差别;第二章,个人技术和流程其实就是讲由于软件是由多人合作完成的,不同的人员的工作相互有依赖关系,一个人写的模块会被其他人调用,而软件的很多错误都来源于程序员对模块的误解,所以,软件是要进行单元测试的。一开始我单纯的以为软件的测试就是通过在使用中发现不足,而现在我才知道,软件的单元测试是通过VSTS写出来的。而验证单元测试好坏的一系列标准则是:单元测试应该在最基本的功能/参数上验证程序的正确性;单元测试必须由最熟悉代码的人(程序的作者)来写;单元测试后,机器状态保持不变;单元测试要快,并且应该产生可重复性、一致的后果等等;第三章,软件工程师的成长,本章主要从个人能力的衡量和发展和软件工程的职业发展,首先需要学习入门知识,然后不断的练习,然后再深入,进而提高技能,最后很多问题都自己解决,对通用软件设计思想和软件工程思想的理解;提升职业技能和取得的实际成果。不要总是单方面的问别人答案,要学会自己先思考,人的思维不是固定的,创造总在思考中萌发的;第四章,两人合作,本章主要讲代码的规范,审查,结对编程,以及两人合作的不同阶段和技巧;第五章,团队和流程,主要讲团队和非团队的区别,以及软件团队的模式,开发流程。就目前看来前五章的知识是按从浅到深逐步升华的,后面的只是或许更难懂些,不过具有很大可学习和可借鉴的价值。我们可以慢慢的体会。
提问:1.什么样的工程师才算是及格的软件工程师? 2.开发过程中实验一个功能有不同的方式,对于选择恐惧症如何抉择? 3.什么是VSTS? 4.敏捷流程是否符合所有软件?5.对于我这种小白,在软件工程中该如何起步?