Software architectures, like complex designs in any field, embody tradeoffs made by the designers. However, these tradeoffs are not always made explicitly by the designers and the...
Rick Kazman, Mario Barbacci, Mark Klein, S. Jeromy...
Software architectures are often designed with respect to some architecture patterns, like the pipeline and peer-to-peer. These patterns are the guarantee of some quality attribute...
The use of redundant computational nodes is a widely used design tactic to improve the reliability of complex embedded systems. However, this redundancy allocation has also an effe...
Inspections can be used to identify defects in software artifacts. In this way, inspection methods help to improve software quality, especially when used early in software develop...
Guilherme Travassos, Forrest Shull, Michael Freder...
The design of usable yet secure systems raises crucial questions when it comes to balancing properly security and usability. Finding the right tradeoff between these two quality at...