造成软件复杂性的原因
来源:互联网 发布:软件开发平台 编辑:程序博客网 时间:2024/04/29 06:21
1、问题域的复杂性,造成这种复杂性的主要原因,还是用户与开发者之间的“沟通问题”,用户常常对某个需求只存在
一个模糊的概念,对具体要实现成一个什么样子没有特别明显的想法。并且由于用户与开发者思维的不一致,用户很
难将他的意思很清晰的传达给开发者。通常这种情况下,我们开发者也只能借助些工具,例如:AxureRP图形界面工
具,Word文档配合插图等方式,按照开发者的理解设计为原型系统,再同客户进行多次的探讨。开发过程中,一定要
在系统的早期就尽可能的降低问题域,使系统逐渐明朗。开发后期,如果由于早期需求理解不透彻或者客户需求发生
变化造成的问题,是一个很麻烦的事情。
2、管理开发过程中的困难性,企业级应用开发都是以团队的方式存在,通常团队人员完成的功能也是按照模块化进
行划分,或者按照层次进行划分,每一个人完成的块都只是系统的一个相对较小的部分,可以这样说,没有一个人对
整个系统是完全了解的。团队的配备上,理想中的情况是团队内部成员相互了解,技术能力都很高超。团队的人员越
少越好,因为更多的成员需要花费更多的时间来维护需求的一致性。人越多往往沟通越复杂,也更加能以协调,特别
是分居多地的这种更为困难。归根到底,主要的管理挑战还是来源于如何去维护设计的一致性和完整性。
3、软件随处可能出现的灵活性,前面第2点中提到的团队的情况,实际上该点也依赖于第2点来产生。在开发早期阶
段,可能也制定了一系列的底层设计规则,但是由于开发者不是由一个人构成,那么对底层设计上又各有不同,出现
了灵活性的体现。但正是这种灵活性的体现,可能会导致后期的很多问题,比如:维护……。
4、描述离散系统行为的问题,首先,要知道什么是“离散状态”,就我分析,所谓的“离散状态”就是说系统除了我们可
预知的问题以外,还有很多外部不可预测的问题会导致系统的状态变得不稳定。所有的外部事件都有可能会影响系统
内部状态的任何部分。当然,这也是为什么项目开发中一直强调多方面测试的原因。
- 造成软件复杂性的原因
- 论软件的复杂性
- 论软件的复杂性
- 软件固有的复杂性
- 软件系统的复杂性
- 软件测试的复杂性分析
- 软件开发复杂性的解决方法(一)
- 软件开发复杂性的解决方法(二)
- 软件的复杂性与构造定律
- 缩小造成问题的原因
- 容易造成core的原因
- spinlock造成死锁的原因
- 造成segment fault的原因
- 软件复杂性分析
- 完全是忽略了软件项目的复杂性的表现
- 软件质量造成的影响
- 造成执行不力的十六种原因
- 造成服务器不稳定的七个原因
- hdu 1358 Period
- jquery自制折叠菜单
- 操作系统基础知识总结(二)
- 扩展Fibonacci数
- 如何修改eclipse中Tomcat默认的发布路径
- 造成软件复杂性的原因
- [从头学数学] 第160节 相似
- FZU 2128 最长字串(AC自动机)题解
- cmake使用
- 静态内部类
- 从paxos到zookeeper读书笔记
- css强制换行
- Android逐帧动画基础
- 获取沙盒文件夹路径