“系统越复杂,就越容易全面崩溃”
由于我们不能控制软件的复杂性,所以导致了项目延迟、超出预算,并在声称的需求中存在缺陷。我们常常把这种情况称为软件危机,但老实说,持续了这么长时间的问题必须称之为正常情况。不幸的是,这种危机导致了人力资源(最宝贵的商品)的浪费以及许多机会的丧失。没有足够好的开发者来创建用户需要的所有新软件,而且在任何组织机构中,相当一部分开发者必须经常维护或看护老的软件。
软件的复杂性是一个基本特征,而不是偶然如此。我们认为这种固有的复杂性有 4 个原因:问题域的复杂性、管理开发过程的困难性、通过软件可能实现的灵活性,以及刻画离散系统行为的问题。
问题域的复杂性
外部复杂性通常源自于系统用户和系统开发者之间的“沟通困难”:用户常常发现
很难用开发者能够理解的形式对他们的需求给出准确的表述。软件系统在开发过程中经常发生需求改变,主要是因为软件开发项目本身改变了问题的规则。
管理开发过程的困难性
有更多的开发人员就意味着更复杂的沟通,因此更难以协调,特别是当开发团队的地理位置分散的时候,而实际情况又常常如此。对于开发团队来说,主要的管理挑战总是维持设计的一致性和完整性。
通过软件可能实现的灵活性
软件提供了非常大的灵活性,所以开发者几乎有可能表达任何形式的抽象。但是,
这种灵活性变成了一种难以置信的诱人的属性,因为它也迫使开发者打造几乎所有的初级构建模块,高层的抽象将建立在这些初级构建模块之上。
刻画离散系统行为
在大型应用中,可能有成百上千个变量以及多个控制线程。系统中的这些变量、它们当前的值、当前的地址和每个过程的调用栈一起构成了应用当前的状态
在最坏的情况下,外部的事件可能会破坏系统的状态,因为它的设计者没有考虑到事件之间的相互作用穷尽所有可能的测试是无法做到的。既然数学工具和我们的智能都不能够对大型离散系统的完整行为进行建模,对于系统的正确性,我们必须满足于可接受的信心级别。
分享到:
相关推荐
《面向对象分析与设计(第3版)》是UML创始人Grady Booch的代表作之一,书中介绍的概念都基于牢固的理论基础。同时,《面向对象分析与设计(第3版)》又是一本注重实效的书,面向架构师和软件开发者等软件工程实践者的...
面向对象分析与设计 1.实验目的 根据教师给定的题目或自选题目,利用有关的工具软件和面向对象的分析方法,进行信息系统的分析、设计和建模。 2.实验内容 利用UML和有关的工具软件,进行面向对象的系统建模,包括:...
面向对象分析与设计(UML2.0版)(PDF) 面向对象分析与设计(UML2.0版)(PDF)
面向对象分析与设计+麻志毅的课件 面向对象分析与设计+麻志毅的课件
面向对象分析与设计课程结课大作业.pdf面向对象分析与设计课程结课大作业.pdf面向对象分析与设计课程结课大作业.pdf面向对象分析与设计课程结课大作业.pdf面向对象分析与设计课程结课大作业.pdf面向对象分析与设计...
UML 面向对象分析与设计 5份期末试卷(附答案)
面向对象分析与设计练习题
面向对象分析与设计复习提要.ppt 是2011年12月面向对象设计分析与编程期末考试重点资料,由教课老师提供,很有帮助,欢迎下载评价。
面向对象分析与设计(UML)课程设计报告范文.pdf
《深入浅出面向对象分析与设计(中文版)》将告诉你如何分析、设计以及撰写真正面向对象的软件:容易重用、好维护、可扩展的软件;不再使你心碎的软件;让你增添新功能而不会破坏旧机制的软件。你是否早已对市面上那些...
[面向对象分析与设计(第3版)].(布奇等)..pdf
深入浅出面向对象分析与设计(中文版).深入浅出面向对象分析与设计(中文版).深入浅出面向对象分析与设计(中文版).深入浅出面向对象分析与设计(中文版).
面向对象分析与设计课程设计(餐厅点菜系统).pdf
【软件工程】软件工程面向对象分析与设计.pdf