Design or evaluate software systems from requirements through boundaries, data, interfaces, quality attributes, operations, and evolution. Apply when a change requires system-level structure or cross-cutting architectural decisions; use focused implementation skills when the problem is local to one component.