I see a back-end as server side code and front-end being the UI layer. But sometimes I see authors using back-end for administration modules, which in my opinion should be called back-office modules.
I view it as a general term without a precice meaning. In its widest sense it includes everything except the UI.
Back-end generally refers to a place where a typical end-user cannot access (whether that be a portion of the application, or the code to the application itself). Beyond that, it depends on the context.
In a strict back-end/front-end stand point, front-end would be everything customer-facing while back-end would be everything else.
Back-end is a subjective term.
The user says the back-end is the admin interface.
The UI people say it's the programming
The programmers say it's the database
The database guys don't talk to anyone (just kidding)
I think we are using those terms for their general signification, and not as if they were describing anything really specific... at least, that's how we use those terms were I work...
Actually, we even quite often just say "back" (for both "backend" and "back-office") and "front" (for both "front end", "front office", "stuff users use", "stuff users see", ...)
If you take a look at Front-end and back-end, it seems to be quite the same there : there is no precise definite definition...
The only thing that really matters, I think, is that those "notions" are kept separated ; what we call them... well... less important.