Columbia Southern University
Large-Scale Complex IT Systems (Ian Sommerville, Dave Cliff, Radu Calinescu,Justin Keen, Tim Kelly , Marta Kwiatkowska,John McDermid, and Richard Paige):
Complexity stems from the number and type of relationships between the system’s components and between the system and its environment. If a relatively small number of relationships exist between system components and they change relatively slowly over time, then engineers can develop deterministic models of the system and make predictions concerning its properties. However, when the elements in a system involve many dynamic relationships, complexity is inevitable. Complex systems are nondeterministic, and system characteristics cannot be predicted by analyzing the systems constituents. Such characteristics emerge when the whole system is put to use and changes over time, depending how it is used and on the state of its external environment. Dynamic relationships include those between system elements and the system’s environment that change. For example, a trust relationship is a dynamic relationship; initially, component A might not trust component B, so, following some interchange, A checks that B has performed as expected. Over time, these checks may be reduced in scope as A’s trust in B increases. However, some failure in B may profoundly influence that trust, and, after the failure, even more stringent checks might be introduced. Complexity stemming from the dynamic relationships between elements in a system depends on the existence and nature of these relationships. Engineers cannot analyze this inherent complexity during system development, as it depends on the systems dynamic operating environment. Coalitions of systems in which elements are large software systems are always inherently complex. The relationships between the elements of the coalition change because they are not independent of how the...