Typically interface with customers/users/stakeholders, identify and document requirements, and...well, beyond that it varies a lot in different orgs, if its not actually coding, and its involved with the process of developing/maintaining software, there's some organization where someone titled as an "analyst" (usually with a prefix like "business", "system", or something) does it,
In most industries, software analysts are a thing of the past. Scrum has largely replaced them, and project managers, with product owners - the people who have to do both of these jobs for a price of one.