A persona is a visualization of the demographic info of the end-user(s) of a software application. A persona blends demographic information about an example inidividual with qualitative information, such as a backstory, preferences, and motivations. A user-centered design approach leverages this information to develop specifications for the software prototype, such as the feature list, the "look and feel", etc.
Information to consider includes:
Age range
General educational level
Computer/technology literacy
Technology access (own computer? network connection? broadband?)
Occupation
Environment (work, school, library...)
Socioeconomic group
Gender, Race, or Ethnic group if applicable
Language (specific terminology as well)
Special needs (disabilities)
Cultural preferences
Gathering this information can take several forms - interviews, surveys, and site visits. Clients may have collected data on their constituents as well. When the data is collected it's typically presented in a kind of a table. The template below is a pretty standard example:
https://www3.cs.stonybrook.edu/~tony/ui/personatemplate.jpg
Here are 4 examples of personas for UI/UX projects: