What Does A Software Architect Need To Know