概述
软件 = 程序+软件工程;
软件企业 = 软件+商业模式;
软件工程师把系统的有序的,可量化的方法应用到软件的开发、运营和维护上的过程。
软件工程包括的领域有:软件需求分析、软件设计、软件构建、软件测试、软件维护。
相关软件系统有:Microsoft Visual Studio、GitHub、Eclipse、ClearCase
等等。
特殊性
- 复杂性
- 软件方面: 大型软件代码量巨大,而且不同模块之间的关系越来越复杂。
- 人为方面:人的阅读速度、记忆等都是有限的,短时间内还无法提高。
不可见性
工程师只能看到的是代码和出错了的代码,但并不知道用户遇到问题时到底是怎么样的。
易变性
人们不断地希望软件能做新的东西和适应新的软件,但于此同时很难修改。
服从性
软件无法独立存在,必须依赖硬件。
非连续性
有些软件输入与输出不匹配。
学科关系
计算机科学偏理论研究,是追求那种理想化、完美的真理,各个学科会独立深入研究并出成果;
而软件工程偏向实践,追求短期的效果,往往是不完美的,因为要对不可抗的现实因素折衷,会融合各个领域的知识去实现实际的问题。
理论是实践的基础,实践是检验理论的标准并帮助其探索地更深。
足够好的软件
用户满意度
得满足顾客的期望,解决她们需要解决的问题,且是高效的。
可靠性
关键时候别掉链子。
软件流程的质量
软件开发团队的默契度,进度是否及时。
可维护性
出了问题可以有方法解决。
后记
这一章节里面大多是理论知识的介绍吧,初步地了解到软件和软件工程是两种不一样的概念。
软件工程在软件的发展中产生,它的特殊性、“工程”的概念、还有软件工程与计算机科学的关系,软件工程的目标在1.2
里面有提及。
这一张章节里面主要接受它的概念,没什么其他疑问,可能是了解得不够深刻,没有被困扰。