{{Short description|Presentation and data access aspecs in software architecture}}
In [[software engineering]], the terms '''frontend''' and '''backend''' (or sometimes referred to aswritten '''back end''' or '''back-end''') refer to the [[separation of concerns]] between the [[presentation layer]] (''frontend''), and the [[data access layer]] (''backend'') of a piece of [[software]], or the physical infrastructure or [[Hardware (computer)|hardware]]. In the [[client–server model]], the [[Client (computing)|client]] is usually considered the frontend and the [[Server (computing)|server]] is usually considered the backend, even when some presentation work is actually done on the server itself.