构建之法阅读笔记01
今天读了一下邹欣老师的《构建之法》第一章概论部分,整理笔记如下
软件=程序+软件工程
由程序员阿超通过写一个软件来完成老师要求家长给孩子出30道题的任务,随着老师的要求逐渐增多,这样一个小程序慢慢写成了一个工程的故事扩展出了软件工程开发方面的名词。如源程序、数据、数据架构、软件的设计与实现、源代码管理、质量保障、软件测试、需求分析等。
讲述了软件团队或企业养活自己的赚钱方法由此扩展推论:软件企业=软件+商业模式
讲述软件开发的不同阶段时以航空产业作比较
1、玩具阶段(写算法/hello world)
2、业余爱好阶段(用JavaScript、ASP。NET写写网站)
3、探索阶段(钻研新技术、应用新技术在软件行业创新)
4、成熟的产业阶段(银行软件系统)
我觉得这个类比很贴切更容易让人理解软件开发的不同阶段
让我印象最深的还是1.2.4软件工程的目标——创造“足够好”的软件那一部分
什么是足够好的软件?是这个软件没有bug吗?当然不是,它包括许多方面:用户的满意度、软件的可靠性、软件流程的质量、软件的可维护性。这些方面都可以视作bug的一种,而不是单纯的软件运行无问题。 那么什么是bug?在用户和客户的眼中可能有不同的看法。不能一概而论。
软件工程的一个重要任务就是在时间、成本等多种条件的约束下决定一个软件在什么时候能“足够好”,可以发布