0321《软件工程》前三章总结(初稿)
第一章 软件工程:挑战与魅力共存
软件工程是用工程化的方法做软件开发,是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。
软件工程的挑战
1、复杂性。软件工程师通常一次只能看到30至80行源代码,随着系统的成长和模块的增多,这些代码会以几何级数的速度增长。
2、不可见性。工程师看不到自己的源代码如何具体地在用户的机器上被执行的,商用软件出现了错误,工程师可以看到程序在出错的一瞬间留下痕迹,但是几乎无法完整重现程序到底出了什么问题。
3、易变性。修改软件容易,可是正确地修改软件是一件非常困难的事情。包括让软件做新的事情,让软件适应新的硬件,要正确地修改则很难。
4、服从性。软件要服从系统中其他组成部分的要求,还要服从用户的要求、行业系统的要求。
5、非连续性。有时输入上很小的额变化,会引起输出上极大的变化。
软件工程的魅力
1、需要深入的技术开发创造,有荣誉感。
2、可以深入地进行思考,享受思考的过程。
3、创造出人们满意的产品,有成就感。
4、走在时代的前列,有使命感。
第二章 单元测试的要求:
1、单元测试应该在最基本的功能/参数上验证程序的正确性。要测试每一个参数,包括非法输入及错误处理。
2、单元测试过后,机器状态保持不变。保证单元测试不受以前单元测试实例的干扰。
3、单元测试要快。一个测试的运行时间是几秒钟,而不能太久。
4、单元测试应该产生可重复、一致的结果。
5、独立性。单元测试的运行、通过、失败不依赖于别的测试,可以人为构造数据,以保持单元测试的独立性。
6、单元测试应该覆盖所有代码路径。
7、单元测试应该集成到自动测试的框架中。
8、单元测试必须和产品代码一起保存和维护
第三章 专业化软件工程师发展之路
1、考证书。计算机等级考试和全国计算机技术与软件专业技术资格考试。
2、积累软件开发相关的知识,提升技术技能。
3、积累问题领域的知识和经验。
4、对通用的软件设计思想和软件工程思想的理解。
5、提升职业技能。包括自我管理能力,表达和交流的能力,与人合作的能力,安质按量完成任务的执行力。
6、实际成果。满足客户需求
12:39:53