我们据本书开始逐步的了解软件开发。首先,软件开发分为几个阶段:玩具阶段→业余爱好阶段→探索阶段→成熟的产业阶段。而在我们学习软件开发时也会经历以下几个阶段,首先是玩具阶段,这个阶段可能也就像我们高考完填报志愿时那样,对计算机有点兴趣,幻想着做出什么有意思的软件。这个时候我们对软件这个东西还是不是很了解,所以只能对以后会学习到的内容做一个简单的了解。之后时业余爱好阶段,我们虽然对软件的开发有了一定的了解,但是这个阶段的内容还是都比较简单,所以我们还是投入更多的时间在生活中,把这个只当是我们业余时的一种爱好。再然后就是探索阶段,到了这里,就是正式的步入了软件开发的正式领域了,在我们开发的过程中经常遇到各种各样的问题,所以在这个阶段需要我们不断的自己去研究探索。
软件还有其他特性:有许多不同的程序设计语言、软件工具和软件开发平台、存在许多不同的软件开发流程、软件团队中存在许多不同的角色、软件通常既可以存储在磁带上,也可以存储在CD/DVD上。所以软件开发所学习的范围也非常的广泛:包括编程语言、软件开发平台、软件开发流程、团队人员的交流和软件的适用平台等等。这些都是软件开发者必要的技能。
之后进入书的第二章节个人技术与流程
最开始的内容是单元测试虽然我目前对着这些的了解并不多,但是书中的大致内容主要是: 重要的单元测试:有效解决程序员对模块功能的误解、疏忽或不了解模块的变化之类的问题,使自己负责的模块功能定义尽量明确,模块的质量得到稳定的、量化的保证。 好的单元测试的标准: 在最基本的功能/参数上验证程序的正确性 单元测试必须由最熟悉代码的人(程序的作者来写) 单元测试过后,机器的状态保持不变 单元测试要快(一个测试的运行时间是几秒钟,而不是几分钟) 单元测试应该产生可重复、一致的结果 独立性——单元测试的运行/通过/失败不依赖于别的测试,可以人为构造数据,以保持单元测试的独立性 单元测试应该覆盖所有代码路径 单元测试应该集成到自动测试的框架中 单元测试必须和产品代码一起保存和维护 单元测试的基础上能够建立关于这一模块的回归测试,目的是:验证新的代码的确改正了缺陷 。同时验证新的代码有没有破坏模块的现有功能,有没有Regression。、
其次是效能分析,效能分析的方法为:抽样和代码注入。抽样和代码注入是两种常用的效能分析方法。抽样是通过在系统中随机选择一部分数据或者操作进行分析,以代表整个系统的行为和性能。代码注入则是向系统中插入特定的代码,用于监测系统的性能和行为。这两种方法都可以帮助开发人员和工程师们更好地了解系统的性能和行为,从而进行必要的优化和改进。
这章最后是个人软件过程(PSP),这是一种软件开发方法,其特点包括: 不局限于某一种软件技术,而是关注软件开发的流程,使得开发不同应用的软件工程师可以相互比较。 不依赖于考试,而主要依赖工程师自己收集数据,然后进行分析和提高。 在小型、初创的团队中,很难找到高质量的项目需求,这可能导致程序员的输入质量不高,从而影响程序员的输出质量。 PSP依赖于数据,包括工程师输入数据的时间代价、数据可能遗失或不准确的风险,以及可能出现一些数据不利于工程师本人的情况。 PSP的目的是记录工程师如何实现需求的效率,而不是记录顾客对产品的满意度,因此工程师有可能高效地开发出顾客不喜欢的软件。
标签:软件开发,工程师,代码,单元测试,阶段,软件,1.21 From: https://www.cnblogs.com/luoqingci/p/18040405