【摘要】:从输入到输出这一过程受三个维度的因素影响,一是商业因素,二是技术因素,三是“政治”因素。商业因素决定收益与成败,技术因素决定成本和质量,而“政治”因素添加变数。在这里,“政治”是指人与人之间非理性的复杂关系,即“项目政治”,而非“国家政治”。如果只考虑技术因素即只考虑软件开发自身的内在合理性,那么最终推导出的就是完美方法,掺杂了商业因素和“政治”因素后的真实的方法,将是对完美方法的折中和回归。
不识庐山真面目,
只缘身在此山中。
—苏轼,《题西林壁》
任何软件开发,其输入的都是需求、工具(编译工具等)和人,这三者在特定的时空背景下受主观的影响而改变的可能性小。
接下来,基于上述三者,通过选定的管理方法、流程、开发模型、需求开发方法、估算方法、设计编码方法等对软件进行构建,期望最终达成多重质量目标。
最终输出的是软件产品。对软件产品的度量至少有两个维度:一是用户层面的,如功能正确,性能优异;二是结构层面上的,如容易维护等。
从输入到输出这一过程受三个维度的因素影响,一是商业因素,二是技术因素,三是“政治”因素。商业因素决定收益与成败,技术因素决定成本和质量,而“政治”因素添加变数。在这里,“政治”是指人与人之间非理性的复杂关系,即“项目政治”,而非“国家政治”。(www.xing528.com)
如果只考虑技术因素即只考虑软件开发自身的内在合理性,那么最终推导出的就是完美方法,掺杂了商业因素和“政治”因素后的真实的方法,将是对完美方法的折中和回归。
完美软件开发是追求这样一种状态:在只考虑技术因素的情况下,在限定的要求、工具、指定的人员状况下(输入),在既定的质量水平下(输出),达到生产效能最高。在这一状态下,任何对管理、流程、估算方法等在尺度上的修正,如果不以降低质量为代价,则将导致生产效能的降低。
图1-1 软件开发的基本组成
建模
设定一个范围,把范围内的东西抽象出对应的概念,再标明这些概念间的关系,这样一个过程就是建模。为免晦涩,这里的定义可能和教科书里略有不同,但建模的概念大致如此,并不高深,几乎人人可做。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。