软件详细设计文档包含哪些内容