开发中的不良现象
错误地理解最终用户的需要
面对变化中的需求无计可施
开发出来无法整合为一体的软件模块
难以维护和扩展的软件系统
在项目后期才发现存在严重缺陷
地下的软件质量
不能接受的软件性能
项目成员各自为政,搞不清楚谁在何时、何处、为了什么而变更了哪些内容
一套不可靠的架构和交付流程
由于没有预先定义子系统,导致最后不可整合
由于没有预先定义各个接口,很难进行并行开发,降低了开发效率
目标系统总是要面临各种变数,当系统在发生变更、部署到新环境中时,不能保持既有的稳定、可靠和性能
提高系统性能的着眼点:软件具备功能扩展的灵活性,在满足基本性能要求下,实现系统功能需求相对开销较小,但要进一步提高软件执行效率非常困难;而且为了性能而破坏软件结构与可理解性是不可取得;但硬件具备极大的性能可选择范围。