主要观点:作者常被要求给组织创建软件提供建议,但建议常不被接受,多因双方对软件本质有不同假设。作者认为软件的本质可由相互作用的三因素定义,即处于物理世界和幻想世界之间的临界状态、受循环规范问题限制、受观察者效应影响,并分别阐述了这三个因素。
关键信息:
- 软件处于物理世界和幻想世界的临界状态,受硬件硬约束和自身软约束,软约束的优劣难量化且易受多种因素影响。
- 循环规范问题导致创建软件即规范软件,几乎无法在创建前确切知道要构建的软件,蓝图在软件中效果不佳,随着技术发展,软件可指定性提高但需求也在增加。
- 观察者效应使看到软件运行会改变对其的看法,创建软件的人不一定是观察者,组织中程序员与用户间的距离会加剧这一效应,完全避免会导致糟糕的软件。
重要细节: - 举例说明软件的硬约束如计算机硬件限制,软约束如程序只能处理一个输入文件等,以及继承、误解问题域等导致软约束的因素。
- 以土木工程对比说明软件工程师与土木工程师在使用蓝图上的差异,以及软件在指定功能正确性和非功能属性方面的困难。
- 讲述在处理组织软件性能问题时,因忽视观察者效应导致错误解决方法的案例。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。