# Software Edge A software edge refers to the point of interaction between a software system and its external environment. This is where the software communicates with elements outside its own internal logic or boundaries i.e. other systems, users, hardware, or networks. Examples of software edges: - [[UI - User Interface]]: Where users input data or receive output - [[API - Application Programming Interface]]: Where the software talks to other systems or services - [[DB - Database]]: Where data is read from or written to persistent storage - [[FS - File System]]: When a program reads from or writes to files - Hardware interfaces: Sensors, devices, or embedded components In specific areas, software edges is reffered under other names: - Programming: Libraries, packages, modules, functions and objects have a public API, which is the edge of a system, a component - Hexagonal Architecture: ports and adapters are parts of the software edges - Web: Endpoints are parts of APIs - System design: Integration points or system boundaries --- Bibliography: - [Title - website.com](need bibliography)