Software Development Glossary
Lexicon for software development terms
This lexicon explains computer science terms from the areas of web development and software development in a clear and easy-to-understand way.
A
A/B testing
A/B testing, also known as split testing, is a method in digital product development in which two or more versions of an element are compared with each other to find out which version achieves the best results.
Ajax (Asynchronous JavaScript and XML)
A web development technique that makes it possible to update websites dynamically and without completely reloading the page. Ajax uses a combination of JavaScript and XML to enable fast and seamless interactions on websites.
API (Application Programming Interface)
An interface that enables different software applications to communicate with each other and exchange functions or data.
Automated tests
Process for increasing the quality and reliability of the software. Through regular and consistent checks, errors in the software are detected at an early stage and even before release. It includes various methods such as unit testing, integration testing, e2e testing, etc.
B
Backend
The backend of a software application is the technical backbone that works in the background and refers to the server part of a software application or website. It is the part that is not visible to users, but is crucial for the functionality of the application
C
Client
A program or system that runs on a computer or other device and requests services from a server over a network. Clients are typically the end-user interface of applications such as web browsers or email programs.
Cloud-Computing
A model that enables convenient, on-demand access to a shared pool of configurable computing resources (e.g. networks, servers, storage, applications and services) via the internet. Cloud computing is characterized by its flexibility, as resources can be quickly provisioned and scaled to meet the needs of businesses and users. It includes models such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS).
CMS
A system used to create, manage and modify the content of a website, often without the need for specialist technical knowledge. Popular CMSs include WordPress, Typo3 or the django CMS.
Code
The set of instructions and instruction sets written by developers to perform specific tasks in software and applications. Code is the basis of all software and can be written in different programming languages such as JavaScript, TypeScript or PHP.
Code-Review
A process in software development in which the written code is reviewed by one or more developers who are not the authors of the code. The aim is to find errors, improve code quality, promote best practices and increase the common understanding of the code base within the team. Code reviews are an essential part of software quality assurance and promote collaboration and learning within the team.
Containerisierung
Containerization is a method of software deployment in which applications are isolated in so-called containers. These containers contain everything required to run the application - code, runtime environment, system tools, libraries and settings.
Continious Delivery
A software development approach in which code changes are automatically tested and prepared for release, allowing the software to be delivered to the customer faster and more reliably. Continuous delivery makes it possible to publish software in shorter cycles, resulting in greater efficiency and quality.
Continious Integration
A software development approach in which developers regularly merge their changes in a shared repository, often several times a day. Each integration is then tested automatically, which enables early error detection and improved collaboration within the team.
Cross-Site-Scripting (XSS)
A vulnerability that occurs in web applications when an attacker manages to insert malicious code, usually in the form of scripts such as JavaScript, into web pages that other users are viewing. These malicious scripts can then be executed on the client side to steal sensitive data, manipulate user input or perform malicious actions on behalf of the user.
CSS (Cascading Style Sheets)
A stylesheet language used to define the appearance and formatting of documents written in a markup language such as HTML. CSS allows precise control over the layout and design of web pages, from fonts and colors to column layouts and spacing.
D
Database
An organized system for storing, managing and retrieving data. Databases can be structured in different ways, e.g. as relational databases (SQL) or NoSQL databases, and are an essential component of many applications and systems for efficiently managing large amounts of information.
Docker
A platform and tool for building, deploying and running applications in isolated environments, known as containers. Docker allows developers to package and ship applications quickly by combining the required components into a container that can run on any system running Docker.
DOM (Document Object Model)
Domain
The unique name that identifies a website on the Internet. Domains are part of URLs that are used to access websites. They make it easier for users to find and remember websites.
F
Footer
The bottom section of a website that often contains additional information or links. Footers can contain contact information, copyright information, links to privacy policies or social media and other relevant resources and are an integral part of the web design.
Framework
Frameworks offer predefined components and best practices that accelerate and simplify software development by providing reusable modules and a standardized structure. Examples include React for front-end applications and Django for Python-based projects.
Frontend
The front end, often referred to as the "interface" of software applications, is what users see and interact with directly. As an indispensable part of every app, it seamlessly combines technology and design.
G
Git
A widely used, decentralized version control system that allows developers to track changes to code and efficiently manage different versions of a project. Git supports collaboration in teams by facilitating the integration of changes from different sources and helps to avoid conflicts during code development.
H
Header
The upper part of a website, which typically contains the logo, navigation elements and sometimes contact details or search functions. The header is a central element in web design, as it is often the first thing a visitor sees and plays an important role in user guidance.
Hosting
A service that provides storage space, access and maintenance for websites on servers. Hosting is crucial for a website to be accessible on the internet. There are different types of hosting services, including shared hosting, VPS (Virtual Private Server), dedicated hosting and cloud hosting, which differ in performance, storage space and control.
HTML (Hypertext Markup Language)
The standardized markup language for creating and structuring content on the Internet. HTML is used to define websites and their elements such as text, images, links and forms. It is the basis for the appearance and structure of all websites and works together with CSS and JavaScript to enable interactive and stylistically diverse websites.
HTTP/HTTPS (Hypertext Transfer Protocol)
The protocol used for transferring data on the World Wide Web. HTTPS (Hypertext Transfer Protocol Secure) is the secure version of HTTP, which encrypts data transfers and thus improves security and data protection, especially for sensitive transactions such as online banking or shopping.
I
In-Memory-DB
A database that stores data mainly in main memory (RAM) and not on conventional data carriers. This enables faster data access and higher performance, especially in environments where real-time processing and fast data analysis are required.
Infrastructure as a Service (IaaS)
A cloud computing model that provides basic computing infrastructure such as virtual machines, networks and storage via the internet. IaaS allows users to access a flexible, scalable infrastructure without the need to purchase and maintain physical servers. Popular IaaS providers include Amazon Web Services (AWS), Microsoft Azure and Google Cloud Platform.
Iteration
In agile project management, an iteration describes a cyclical process for gradually approaching a project goal.
J
JSON (JavaScript Object Notation)
A lightweight data format used for data exchange between servers and web applications. JSON is easy to read and write and is often used in APIs to transfer data due to its simplicity and efficiency.
K
Kanban
An agile project management method originally developed in the manufacturing industry and adapted to software development. Kanban promotes continuous collaboration and efficient workflows by visualizing progress (often with Kanban boards), moving work items from 'to do' to 'in progress' to 'done'.
Kubernetes
An open source system for automating the deployment, scaling and management of containerized applications. Kubernetes helps with the orchestration of containers running in environments such as Docker and enables applications to be operated more efficiently and with better resource utilization in large, distributed systems.
L
Lighthouse-Score
A Google rating system that measures the quality of websites based on factors such as performance, accessibility, best practices and SEO. A high Lighthouse score indicates that a web application is well optimized.
M
Microservices
Microservices are a form of architecture in which an application is developed as a collection of small, independent services. Each of these services fulfills a specific function and communicates with other services via well-defined interfaces.
Monolith
A monolith is a software architecture in which an application is developed as a uniform and indivisible whole. This structure is characterized by its simplicity and compactness. In a monolithic system, all functions are closely linked and integrated in a single code base.
MVC (Model-View-Controller)
A design pattern in software development that is used for the separation of data (model), user interface (view) and control logic (controller). This separation facilitates the management of complex applications, as it increases modularity and simplifies the maintenance and expansion of applications.
N
Node.js
An open-source, server-side platform based on the JavaScript V8 engine. Node.js makes it possible to create scalable network applications and is particularly valued for its performance in handling concurrent requests in real time. Node.js is popular for the development of web applications, especially APIs.
O
OAuth2
An open standard for access authorization that allows users to securely share private content such as account information without revealing their credentials. OAuth2 is often used by web applications to interact with external services, for example to log in to social media or other online services.
Object-Oriented Programming (OOP)
A programming paradigm based on the concept of "objects", which contain data in the form of fields (often known as attributes) and code in the form of procedures (often known as methods). OOP facilitates the understanding, maintenance and extension of programs by helping to break down complex software into smaller, reusable parts.
Open Source
Software whose source code is publicly available and can be freely used, modified and shared by the community. Open source software promotes collaboration and innovation, as developers worldwide can contribute to improving and expanding the software.
ORM (Object-Relational Mapping)
A programming method that makes it possible to convert data between incompatible systems by creating a virtual object database. ORM is often used in object-oriented programming to simplify and automate database access by converting the data from the relational database into objects that are used in the programming language.
P
PHP (Hypertext Preprocessor)
Platform as a Service (PaaS)
A cloud computing service that provides a platform on which customers can develop, run and manage applications without the complexity of the underlying infrastructure such as servers, storage and networks. PaaS provides tools and services that simplify the development process and is ideal for developers who want to focus on creating software. Examples of PaaS include Heroku, Microsoft Azure and Google App Engine.
Progressive Web Apps (PWA)
A type of web application that combines the best features of traditional websites and mobile apps. PWAs are accessible via the browser and offer features such as offline access, push notifications and fast loading times, similar to a native app on a smartphone or tablet.
Prototype
A software prototype is an early, rudimentary version of software that is used to test design decisions, validate features and visualize potential user experiences. An approach that is closely linked to MVP development in order to achieve a fast time-to-market.
Q
QA (Quality Assurance)
A process in software development that aims to ensure the quality of the end products. QA includes various techniques and procedures, such as software testing, code reviews and adherence to standards, to minimize errors and improve the user experience.
R
Refinement
In software development, the process of detailing and refining requirements and functionalities. Refinement often takes place in agile methodologies such as Scrum, where it serves to better understand, estimate and prepare tasks and user stories so that they can be implemented efficiently.
Release
The publication of a new version of software or a product. A release marks the completion of a development cycle and the provision of new functions, improvements or bug fixes for users.
Repository
A storage location, often in a version control system such as Git, that contains the source code of a project, documentation and other relevant files. Repositories allow development teams to work together on projects, track changes and manage different versions of the code.
Responsive Design
A web design approach in which the layout of a website automatically adapts to the screen size and resolution of the displaying device. This ensures an optimal user experience on a variety of devices, from desktop computers to smartphones and tablets.
REST (Representational State Transfer)
An architectural style for the development of network applications. REST uses standardized HTTP requests to read, create, update and delete data and is often used in the development of web APIs to achieve high performance, reliability and scalability.
Retrospective
A regular meeting in agile development processes such as Scrum, at which the team reflects on and discusses the previous work period (e.g. a sprint) in order to continuously improve work processes and collaboration.
S
Scrum
An agile project management method that is particularly suitable for software development, but is also used in other areas. Scrum promotes team collaboration, fast feedback cycles and adaptability to changing requirements. It is based on iterative work cycles, known as sprints, and roles such as the Scrum Master and the Product Owner, as well as regular meetings such as daily stand-ups, sprint planning, sprint reviews and retrospectives to monitor progress and promote continuous improvement.
Scrum Master
Server Side Rendering (SSR)
A technique in which web pages are rendered on the server before they are sent to the user's browser. This can improve performance, especially on slower network connections, and is beneficial for search engine optimization.
Serverless
A cloud computing model that allows developers to create and run applications without having to worry about managing the server infrastructure. Serverless architectures enable more efficient use of resources and easier scaling.
Single Page Application (SPA)
Single-page applications (SPAs) are web applications that are based on a single HTML page. The key feature here is that when navigating within the application, a new page is not loaded from the server as is traditionally the case. Instead, only the required content is loaded dynamically.
Software as a Service (SaaS)
A software distribution model in which applications are provided as a service via the Internet instead of being installed on individual computers. SaaS solutions are user-friendly and low-maintenance, as the SaaS provider or service provider takes care of the infrastructure, maintenance and software updates.
SQL (Structured Query Language)
A standardized programming language developed specifically for managing and querying data in relational databases. SQL makes it possible to search for, add, update and delete data and is an essential tool for database administrators and developers.
SQL Injection
A security attack in which an attacker inserts malicious SQL code into a database query, often via an input field on a web page. This can result in unauthorized data being retrieved, deleted or modified. Preventing SQL injections is an important aspect of web application security.
SSL/TLS (Secure Sockets Layer/Transport Layer Security)
These are protocols for encrypting information sent over the internet and provide a secure connection between a web server and a browser. SSL, the older of the two protocols, is increasingly being replaced by TLS, the newer and more secure version.
State Management
In software development, state management refers to the handling of the state of an application, particularly in relation to user interactions and data changes. It is a central aspect in the development of dynamic applications, as it helps to keep the current state of the user interface consistent with the underlying data.
T
Technology stacks
A set of technologies that are used together to develop and operate a web or mobile application. A technology stack usually includes programming languages, frameworks, databases, front-end tools, server infrastructures and other relevant components. Well-known examples are the LAMP stack (Linux, Apache, MySQL, PHP/Perl/Python) for web server applications or the MEAN stack (MongoDB, Express.js, AngularJS, Node.js) for JavaScript-based applications.
TypeScript
A programming language developed by Microsoft that is considered an extension of JavaScript. TypeScript adds static typing and object-oriented programming to simplify and improve the development of large applications.
U
UI (User Interface)
The interface through which a user interacts with a digital application or device. A good UI design is intuitive, user-friendly and aesthetically pleasing to ensure an effective and enjoyable user experience.
User Journey
The totality of experiences that a user has when passing through various phases of interaction with a product or service, often represented as a path from initial contact points to the achievement of a specific goal.
User Stories
In agile software development, a method for formulating requirements from the perspective of the end user. User stories help to understand the needs and wishes of users and to focus development on creating value for them.
UX (User Experience)
The overall experience a user has with an application, website or product. UX encompasses all aspects of the user's interaction with the product, including usability, accessibility and emotional response.
V
Version Control System (VCS)
Viewport
The visible area of a web page on the screen of a device. In web development, the viewport refers to the part of the page that the user can see without scrolling, and its size may differ depending on the device (such as desktop, tablet, smartphone).
Virtual DOM
A concept used in modern JavaScript frameworks such as React. It is a lightweight copy of the real DOM (Document Object Model) and enables efficient updates and changes to the user interface by first making changes in the Virtual DOM and then efficiently transferring them to the real DOM.
Vue.js
A progressive JavaScript framework used to create user-friendly and responsive user interfaces and single-page applications. Vue.js is characterized by its simplicity and flexibility and offers reactive data binding and reusable components.
W
Web Security
An essential aspect of Internet technologies that deals with the protection of web applications, websites and user data from threats and attacks. Web security includes measures such as the use of HTTPS to encrypt data traffic, protection against cross-site scripting (XSS) and SQL injection attacks, the implementation of firewalls and regular security audits to identify and eliminate vulnerabilities. The aim is to ensure the integrity, confidentiality and availability of web resources and user data.
Webdesign
The process of planning, creating and arranging content on websites. Web design includes not only aesthetic aspects such as layout, color scheme and typography, but also the user-friendliness and accessibility of the website.
Webserver
Software or hardware that receives requests via the HTTP protocol and delivers websites or other web resources to clients, usually web browsers. Web servers play a central role in the provision of online content and web applications.
X
XML (Extensible Markup Language)
A flexible, structured markup language used for storing, transferring and reconstructing data. XML is valued for its clarity and simplicity in representing complex data structures and is often used in web services and configuration files.
Y
YAML (YAML Ain’t Markup Language)
An easy-to-read data serialization language commonly used for configuration files and data transfer. YAML is valued for its clarity and ease of use, especially in environments where people interact directly with the data.