201771030104-道彤阳 实验一 软件工程准备—<软件工程入门学习>

内容 项目
软件工程 https://www.cnblogs.com/nwnu-daizh
作业要求-博客园 https://www.cnblogs.com/nwnu-daizh/p/12369881.html
作业学习目标 初步学习<<现代软件工程-构建之法>>

构建之法与博客首秀

快速浏览邹欣老师博客或《现在软件工程-构建之法》,尝试拟定3个准备从课堂学习中找到答案的三个问题:

问题一:软件工程与计算机科学的关系,谁更胜一筹?(第一章)

书本中阐述的观点:中国大陆的高校中讲软件工程的机构有计算机科学与技术系或学院、软件学院、软件工程系或学院,很多同学在报名时都无法区别,进去之后发现除了所收取的费用不同之外,所学习的科目都差不多,毕业后都走上了码农的道路,在邹欣老师的这本书中给出,他们两者相差还是挺大的,计算机科学是偏向理论的,而软件工程是偏向应用的,前者大多数可以从形式上证明,与数学,离散数学,数理逻辑密切相关。而后者的研究目标中都有“人”出现。这些“人”可以是项目需求的提供者,可以是软件的开发人员,还可以是软件的用户。在这本书的叙述中可以很明显的发现,他们两者没有优劣之分,只不过他两的侧重点不同而已。

我的疑问及想法:我对于这个想法有不解,重于理论而没有实践,那也只是纸上谈兵,重于实践而没有理论,那也只是闭门造车,只有理论与实践相结合才能达到完美,计算机是一门侧重于实践的学科,若只有理论的发展的,何谈技术。计算机科学既有软件技术,又有硬件技术,而软件工程更侧重于软件技术。也只能说两者研究的侧重点不同而已,不能说一个发展的是理论,另一个发展的是实践。

问题二:什么样的单元测试才是好的单元测试,他的标准是什么?(第二章)

书本中阐述的观点:验证单元测试好坏的一系列标准如下:(1)单元测试应该在最基本的功能、参数上验证程序的正确性,(2)单元测试必须由最熟悉代码的人(程序的作者)来写,(3)单元测试过后,机器状态保持不变,(4)单元测试要快(一个测试的运行时间是几秒钟,而不是几分钟),(5)单元测试应该产生可重复,一致的结果,(6)独立性——单元测试的运行、通过、失败不依懒于别的测试,可以人为构造数据,以保持单元测试的独立性,(7)单元测试应该覆盖所有代码路径,(8)单元测试应该集成到自动测试的框架中,(9)单元测试必须和产品代码一起保存和维护。

我的疑问及想法:我对于单元测试理解的不是很好,其中有几点不太懂,但是我对第二点最好奇,如果单元测试是通过编写代码的本人进行测试,众人的眼睛是雪亮的,编写代码的本人在进行测试时难免会因为个人的主观因素有所误导吧。

问题三:软件工程师的思维误区?(第三章)

书本中阐述的观点:软件有很多特性,软件开发有他自己独特的规律。如果不了解这些特性,软件工程师就会产生不符合实际的想法,在开发过程中走很多弯路,软件的模块之间存在着各种复杂的依赖关系,软件的不可见性和易变性使得软件工程师有了以下的误区:(1)分析麻痹,(2)过早优化,(3)过早扩大化、泛化,(4)面扇面——调侃目标和远景网(5)不分主次,想解决所有依赖问题。一个好的作品,必不可少的就是细节的完美程度。

我的疑问及想法:解决大问题固然让人感觉美妙,但把小问题真正解决好,也不容易,我们回头看看博客园,CSDN等IT人士云集的网站,每天都有很多宏大的新想法,我特别想知道有没有什么系统的方法去解决软件工程师所犯的思维误区呢?软件工程师的思维方式与自身的职业发展有关,与自身知识的掌握程度有关,这样讲来的话,团队就有很重要的地位,这本书也讲了很多团队协作方面的知识,我还要好好学习。

读后思

我在读完这本书后,感触颇深,比起教科书的这个称号,我更想说它像一本小说,这本说沿用了《移山之道》中的一些人物,采用对话的形式编排,他们都是大学生,研究生或者刚工作几年的技术生,这本书从软件讲到软件工程再讲到软件工程师,我认为这本书很有灵魂,想学习软件工程的人,很是推荐哦!!!

作业参考文献
邹欣.第三版《现代软件工程————构建之法》北京:人民邮电出版社,2017.

posted @ 2020-03-01 21:02  [DTY]  阅读(161)  评论(3编辑  收藏  举报