软件开发包括什么内容