I think that the word "Science" deserves some attention. I completely respect the data structure side of a data scientist but more often than I'd like I find people addressing themselves as data scientists being very good as software engineers, but not as good as statisticians or model builders.
I may be wrong but I disagree with who says that the difference from a data analyst and a data scientist is that the data scientist is a software engineer.
I would say instead that the difference between a software engineer and a data scientist is that the data scientist is a scientist that has a strong CV in data structures and algorithms, as well as in (maybe pure) science, with experience in statistics, math, or physics, and that knows very well how to work with models, test hypotheses, spot patterns, anomalies etc...