软件开发合同怎么写?关键条款与避坑指南