O'Reilly logo

Software Architect Bootcamp by Ph.D. Thomas J. Mowbray, Raphael Malveau

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

4.2. Managing Complexity Using Architecture

One of the key skills of any software architect is the management of software complexity. Software complexity is the one of the key characteristics of all nontrivial software systems which must be managed. Successful management of complexity leads to improvement in many system qualities such as understandability, maintainability, and modifiability.

Complexity is an interesting phenomenon because it arises from the aggregation of many small design decisions. For system-level interfaces, the effects of complexity are multiplicative, because multiple parts of an integrated system are affected by each design addition. For example, it may seem very reasonable to add a few attributes and operators to a subsystem ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required