构建之法阅读笔记01
从第一章概论中提到,软件工程要创作足够好的软件。
而有一些同学认为,所谓好软件,就是没有Bug的软件,所谓软件工程,就是把软件中的Bug都消灭掉的过程,这确实抓住了软件工程中的一个要素,和软件打交道的专业人士都知道软件有Bug,软件团队的很多人都整体和Bug打交道,Bug的多少可以直接衡量一个软件的开发效率、用户满意度、可靠性和可维护性。——p15
而什么是Bug呢?书中明确提出,就是软件的行为和用户期望度不一致,当一个软件被使用时,用户希望软件可以流畅运行并且不崩溃,但这时软件因为不知名的原因崩溃了,从这方面就用Bug可以衡量出软件的可靠性,可以说这就是一个Bug。
书中也明确提出,并不是没有Bug就是一个完美的好软件,就像HelloWord,永远不会出错但它并不能称之为一个好软件。从中又大概了解到一个好软件,就是Bug尽可能的少,满足大多数用户的需求也可以说是期望值。书中定义的Bug即软件的行为和用户期望值不一样。
我也产生了几个问题:软件并不可能满足所有人的期望,当它可以满足大多数人的期望时,而却总有一部分人认为软件不合乎自己的期望,这可不可以说是一个Bug?得到的用户的新需求是不是有价值的,是不是接下来要改进的,且完善后又会不会使软件冗余复杂而流失另一部分用户,修改到什么程度为止才能算得上一个好软件?需不需要对小部分用户更精致细化的功能模块需求当作Bug进行完善?