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

浙公网安备 33010602011771号