Key considerations in teaching software architecture | IEEE Conference Publication | IEEE Xplore