Title: Software Architecture : the Hard Parts