88 Software Development Terms to Know
Learn the essential terms to know for a software development project.
A
- Acceptance Testing: The testing that occurs on the client side.
- Adaptive maintenance: If a program changes to a different operating system or environment, this occurs.
- Agile Software Development: A development approach that involves flexible planning and continuous improvement to deliver the software as fast as possible.
- Algorithm: A sequence of steps that will accomplish a task if followed correctly.
- Alpha testing: The testing that occurs within a software development company.
- API (Application Programming Interface): A tool that provides completed building blocks with functionality that can be put together and into a software.
B
- Backend: A ‘server’ software that users do not interact with directly.
- Beta testing: The testing that happens using client or selected personas’ feedback.
- Bottom-up design: An area of program refinement that starts with smaller modules and builds into a complete software program.
- Bugs: A program error.
C
- Code Refactoring: The process of editing code to reduce or eliminate technical debt.
- Compiler: A program that translates a high-level program into an independent one.
- CI (Continuous Integration): The practice of building software when all working copies of code are merged into one branch.
- Corrective Maintenance: Takes place after a software is installed if previously undetected errors pop up.
- CSS (Cascading Style Sheets): A style sheet language that organizes HTML elements.
D
- Data Abstraction: A principle of data modeling that emphasizes the separation between the external interface and internal implementation.
- Data Modeling: A process used in object-oriented languages that identify objects and how they relate.
- Data Structures: A specialized format for organizing and processing data.
- Debugging: The detection and removal of errors in a program.
- Dependencies: Correlations between tasks that show in which order they should be executed.
- Deploy: Inputting the code into the server so it can run.
E
- End User: The individual that uses a particular product.
- Event Driven: A system that responds to an external event.
- Event Driven Language: Designed to handle external events.
- Executable Code: Code that can be run independently without translation.
F
- Frontend: A ‘client” software that users interact with.
- Functional Language: A language that uses the evaluations of expressions rather than commands.
- Full Stack: A software developer that can work on the frontend and backend.
- Framework: A set of templates for a programming platform.
G
- General Purpose Language: A language that can be used to program solutions that cover a range of situations.
- Git: A system for programmers to manage code content and other versions.
H
- Hardware: Physical parts of a computer or another electronic device.
- High-level Language: A language that is easily understood by programmers and development teams.
- HTML (Hypertext Markup Language): A markup language for the web that sturctures web pages.
- Human Computer Interface: The interface that allows the program to interact with the outside world.
I
- IDE (Integrated Development Environment): An application that facilitates software developers with writing code.
- Independent Test Group: Testing of software by a group outside of the development team.
- Intermediate Code: Compiled code that is produced for a target computer.
- ISO: A quality assurance system for software development.
- Iterative: An iterative process that involves feedback and repetition.
J
- Javascript: A portable language for a wide range of platforms.
K
- Kanban: An approach for managing software development that depicts all planned work to optimize the overall process.
L
- Linear Search: A standard algorithm that performs searches on data items in sequential order.
M
- Machine Code: Native computer code that can be understood without translation.
- Machine Learning: The study of algorithms and models that learn from data sets to make predictions or decisions on new data.
- Maintenance: The upkeep of a software program.
- Markup Language: A text-encoding system that consists of symbols and notations to control a structure or relationship within a program.
- Methodology: A technique that enables the design and development of software to be implemented.
- Metric: In software, the measure of whether a product feature or task is quantifiable or countable.
N
- Normal Operation: Running of a program under expected normal conditions.
O
- Object: A data item that can be manipulated by a computer program or system.
- Object-oriented Programming: A programming system based on the idea that objects that contain both data and code can modify data.
- Open Source: Source code that’s freely available for making changes while being free to download.
- Operating System: The software system that supports a computer or product’s basic functions.
P
- Performance Testing: A form of testing that examines the speed, response time, and usage of software under a particular workload.
- Programmers: A section of a development team that’s responsible for coding, testing, implementation, and maintenance.
- Programming Language: A system of notations for writing software programs.
- Project Manager: Member of the development team that supervises the project.
- Prototype: A simple working version of a software.
- Plugin: An add-on that adds new functionalities to a host program or software without alternating the host itself.
- Pull Request: A notification given by developers when they’re done building a feature.
Q
- QA (Quality Assurance): The process of reviewing a software product to ensure it meets expectations.
R
- Relational Database: A database structured to recognize relations among any stored items or objects.
- Regression Testing: The process of re-running tests to verifying the correctness of software after a change.
- Repository: A place where data is gathered and protected.
- Runtime: The length of time a program takes to run.
S
- SaaS (Software as a service): Type of software delivery model that’s provided over the Internet to the end user by the software owner on demand.
- Scripting Language: Used for writing smaller programs or scripts that enhance existing software.
- Scrum: A project management methodology for effective team collaboration that’s based on Agile software development.
- SDLC (Software Development Life Cycle): The general process of software development that follows a series of steps until completion.
- Software: Programs that help a computer system execute tasks.
- Software Engineering: An area of computing where the emphasis is on the development of high-quality software.
- Source Code: The code for a program that’s written in a high-level language that is then translated into machine code.
- Syntax: The structure or grammar of a statement in a given language.
T
- Testing: Running the program to ensure its reliability.
- Test Plan: A strategy that involves testing software under different conditions.
- Top-Down Design: A design approach that involves putting larger systems into smaller components.
U
- Unit Testing: Testing specific pieces of code in a system.
- Usability: A quality system to determine how easy something is to use.
- User experience: Software design that focuses on usability and user satisfaction.
- User interface: Software design that focuses on the looks and style.
V
- Version Control: A software system used to manage changes to a codebase over time to help recall specific versions later.
W
- Waterfall Model: One of the earliest models for software development that incorporates seven stages.
- Web App: An application program on a server that is delivered over the Internet.
- Website: Collection of web pages that share a domain name.
X
- XML (Extensive Markup Language): A markup language for encoding documents and transmitting them into serialized data.
Y
- YAML: A human-readable data format for storing and transmitting information.
Z