Softwaree Engineering Glossary
Softwaree Engineering Glossary
Welcome! This alphabetized glossary contains many of the terms you’ll find within this course. This comprehensive glossary also includes additional industry-
recognized terms not used in course videos. These terms are important for you to recognize when working in the industry, participating in user groups,
and participating in other certificate programs.
Week 4:
2-tier is a computing model in which the server hosts, delivers, and manages most of the resources and
2-tier Architectural
services delivered to the client.
Patterns in Software
The 3-tier pattern organizes applications into three logical and physical computing tiers: the presentation Week 4:
3-tier tier, or user interface, the middle tier which is usually the application tier where business logic is Architectural
processed, and the data tier, where the data is stored and managed. Patterns in Software
Agile is an iterative method of software development. Teams work in cycles, or sprints and unit testing Week 1: Software
Agile happens in each sprint. At the end of each sprint, a chunk of working code is released at a meeting where Development
stakeholders can see the new functionality and provide feedback. Methodologies
Week 1: Building
Alpha release The alpha release is the first functioning version of the system released to a select group of stakeholders.
Quality Software
Week 4:
The API Gateway routes the API from the client to a service. Orchestration handles communication
API gateway Architectural
between services.
Patterns in Software
Week 4: Application
Application deployment An application environment is the combination of the hardware and software resources required to run an
Deployment
environment application.
Environments
Week 2: The
Application Programming importance of
An API is code that allows two programs to communicate.
Interface (API) backend
development
Week 3: Introduction
In an array, a fixed number of elements of the same type are stored in sequential order, starting from
Array to Programming
index zero.
Concepts Part 1
Week 4: Object-
Attributes An object’s properties and data are its attributes. oriented Analysis
and Design
Week 2: Overview
Backend developers deal with everything that happens on the server before the code and data are sent to
Backend developers of Web and Cloud
the client.
Development
Week 4: Software
Behavioral models describe what a system does, without explaining how it does it. The overall behavior
Behavioral models Design and
of a system can be communicated through behavioral models.
Modeling
The beta release, also called a limited release, is given to the stakeholders outside of the developing Week 1: Building
Beta release
organization. Quality Software
Black box testing is a method of testing where the tester does not look at source code or internal Week 1: Software
Black-box testing
structure. Testing
Week 3: Branching
Boolean expression A Boolean expression is a type of programming statement with only two values, either “true” or “false.” and Looping
Programming Logic
Week 3: Branching
Branching logic is where a computer program makes a decision following a different set of instructions,
Branching and Looping
depending on whether certain conditions are met during the program’s execution.
Programming Logic
Week 2: More
Build automation servers Build automation servers execute build automation utilities on a scheduled or triggered basis. Application
Development Tools
Week 2: More
Build automation utilities Build automation utilities generate build artifacts like executables, by compiling and linking source code. Application
Development Tools
Week 4: Production
An application’s business logic dictates things like transaction results and what data is written to and
Business logic Deployment
retrieved from a database.
Components
Cascading Stylesheets (CSS) Developers use CSS to create stylish websites. CSS provides front-end developers with a standard Week 2: Learning
method to define, apply, and manage different sets of style characteristics for a website and each of its Front-end
Video where the
Term Definition
term is introduced
components. CSS ensures uniformity in look and feel, style, colors, fonts, designs and layouts. development
Week 5: Career
Chief Technology Officer The CTO oversees all of the research and development in a company. They monitor the company’s
Paths in Software
(CTO) systems and infrastructure to ensure that they meet company needs and budget.
Engineering
Week 4: Object-
A class is the generic version of an object. The class contains the object’s generic attributes – its
Class oriented Analysis
properties and methods.
and Design
Week 4: Object-
Class diagrams are commonly used to communicate a software system’s structure in OOAD. The class
Class diagram oriented Analysis
diagram shows how the classes in an object-oriented design relate to one another.
and Design
Week 4:
Client-Server Another term for 2-tier. Architectural
Patterns in Software
Compiled languages use a compiler program creates a program file, which runs the software. The Week 3: Interpreted
compiler takes the source code and converts it from the programming language to machine code. Then it and Compiled
Compiled language
is compiled into one executable file. Finally, the program runs when you select the icon or file on your Programming
device. Languages
Week 4: Approaches
A component is an individual unit of encapsulated functionality that serves as a part of an application in
Component to Application
conjunction with other components.
Architecture
Component-based architecture focuses on the decomposition of the design into logical components.
Week 4: Approaches
Component-based Component-based architecture provides a higher level of abstraction than object-oriented designs. A
to Application
architecture component-based architecture should define, compose, and implement loosely coupled independent
Architecture
components so they work together to create an application.
Week 3: Branching
Conditional statement An “if-then” statement that allows computers to use branching logic. and Looping
Programming Logic
Week 3: Introduction
Constant A constant is a data item whose value does not change within a program. to Programming
Concepts Part 1
Continuous Integration / CI/CD refers to the practices of continuous integration and either continuous delivery or continuous
Continuous Delivery or deployment. CI/CD is a best practice for DevOps teams enabling developers to deliver frequent changes Week 2: More
Continuous Integration / reliably. Continuous Integration (CI) ensures that all the code components work together smoothly. Application
Continuous Deployment Continuous delivery (CD) begins where CI ends. The CI process automatically builds and tests your Development Tools
(CI/CD) code, then CD deploys all code changes in a build to a testing or staging environment.
Week 4: Production
Database Management
The DBMS controls a database by connecting the database to users or other programs. Deployment
System (DBMS)
Components
A distributed system is a system with multiple services located on different machines that coordinate Week 4: Approaches
Distributed system interactions by passing messages to each other via a communication protocol such as hypertext transfer to Application
protocol, also known as HTTP. Architecture
Driver/navigator is a pair programming style where one developer is the driver, typing in the code, and Week 2: Pair
Driver/navigator
the other is the navigator, reviewing the code as it’s written and giving directions on where to go next. Programming
Week 2: Overview
Dynamic content Dynamic content is generated each time it is requested by the client. of Web and Cloud
Development
Week 4: Approaches
Encapsulation consists of bundling a component’s data and methods to hide its internal state, so it doesn’t
Encapsulation to Application
expose its specific implementation.
Architecture
The event-driven pattern focuses on producers and consumers of events. Producers listen for and react to
Week 4:
triggers while consumers process an event. The producer publishes the event to an event router. The
Event-driven Architectural
router determines which consumer to push the event to. The triggering event generates a message, called
Patterns in Software
an event notification, to the consumer which is listening for the event.
Week 4: Approaches
Extensibility Extensibility entails the ability to add behavior to a component without changing other components. to Application
Architecture
Week 4: Application
Firewall Firewalls prevent unauthorized access to or from a private network. Deployment
Environments
Framework Frameworks provide a standard way to build and deploy applications. You can think of a framework as Week 2: Introducing
being a skeleton that you can extend by adding your own code, providing a scaffold on which to build Application
Video where the
Term Definition
term is introduced
your apps. Development Tools
Week 2: Overview
Frontend developers deal with everything that happens on the client side. It is everything the user can see
Frontend developers of Web and Cloud
and interact with.
Development
Week 2: Overview
Fullstack developers Fullstack developers have skills, knowledge, and experience in both frontend and backend environments. of Web and Cloud
Development
Week 3: Introduction
A function is a piece of structured, stand-alone, and reusable code that will perform a single specific
Function to Programming
action. Functions take in data as an input, then process the data, and then return the result as an output.
Concepts Part 2
Week 1: Software
Functional testing Functional testing is a type of black box testing which is concerned with testing inputs and outputs.
Testing
Week 1: Building
General availability A stable version of the software intended for all users.
Quality Software
Week 2: Introducing
Git is a code repository where you can track changes, split code into different branches for more focused
Git Application
development, and then merge them back into the main body of code.
Development Tools
Week 4: Application
Hybrid Cloud A mix of both public and private clouds, working together seamlessly, is called a hybrid cloud model. Deployment
Environments
Week 2: Learning
Hypertext Markup HTML is used to create the physical structure of a website. The physical structure contains elements such
Front-end
Language (HTML) as text, links, images/videos, page dividers and buttons.
development
Week 1: Roles in
Information developer Information developer is another term for technical writer. Software
Engineering Projects
Week 4: Object-
A subclass inherits the same properties and methods as its parent class but also may add its own
Inheritance oriented Analysis
additional properties and methods.
and Design
IDEs make it easier to build and manage code. Good IDEs support multiple languages and integrate with Week 2: Overview
Integrated Development
management and storage tools like Git and GitHub. Other useful IDE features include custom extensions of Web and Cloud
Environment (IDE)
and themes for supporting your working style and environment. Development
Integration testing is a testing stage that occurs after unit testing, when the components are integrated into Week 1: Building
Integration testing
a larger product. Quality Software
Interpreted languages are commonly referred to as scripted or scripting languages. Programs written in
Week 3: Interpreted
interpreted or scripted language, like Python and HTML, run through the programming interpreter on
and Compiled
Interpreted language your computer’s operating system or in your web browser. The interpreter takes the human-readable
Programming
scripted code and then translates it into machine code, enabling the computer to complete the requested
Languages
task.
Week 2: Learning
JavaScript is an object-oriented programming language that is used in conjunction with HTML and CSS
JavaScript Front-end
to add interactivity to a website.
development
Week 2: Learning
Learner Stylesheets (LESS) LESS enhances CSS, adding more styles and functions. Front-end
development
Week 2: Introducing
Libraries are collections of code, like standard programs and subroutines, that you can use within your
Library Application
code.
Development Tools
Week 4: Application
Load refers to the number of concurrent users, the number of transactions, and the amount of data
Load Deployment
transferred back and forth between the clients and servers.
Environments
Load balancers distribute network traffic efficiently amongst multiple servers on a network. Load
Week 4: Production
balancers are used to prevent server traffic overload and are located between clients and the servers. A
Load balancer Deployment
load balancer determines which servers are capable of fulfilling those requirements in a manner that
Components
maximizes availability and responsiveness.
Week 3: Branching
Loop A loop is a sequence of instructions that continually repeats until reaching a specific condition. and Looping
Programming Logic
Week 3: Introduction
Method Another term for function. to Programming
Concepts Part 2
Week 4:
Microservices are an approach to building an application that breaks its functionality into modular
Microservices Architectural
components called services.
Patterns in Software
Video where the
Term Definition
term is introduced
Week 1: Software
Minimal Viable Product The MVP is a basic feature set software release given to stakeholders so they can provide feedback on the
Development
(MVP) basic feature set. The MVP contains a feature set to validate assumptions about the software.
Methodologies
Week 4: Approaches
A node is any device on a network that can recognize, process, and transmit data to other nodes on the
Node to Application
network.
Architecture
Non-functional testing tests an application for attributes like performance, security, scalability, and
Week 1: Software
Non-functional testing availability. Non-functional testing checks to see if the SUTs non-functional behavior is performing
Testing
properly.
A programming methodology that is focused on objects rather than functions, which is what procedure-
oriented programming is focused on. The objects themselves will contain data in the form of properties Week 3: Introduction
Object-Oriented
(or attributes) and code in the form of procedures (or methods). The key distinction between the two to Programming
Programming (OOP)
methodologies is that where procedural programming uses methods to operate on separate data structures, Concepts Part
OOP packages them both together, so an object operates on its own data structure.
Week 2: The
Object-Relational Mapping importance of
Tools used to connect the database and retrieve the correct data.
(ORM) backend
development
Week 4: Application
For on-premises software deployments, an organization is responsible for the system, hardware, related
On-premises deployment Deployment
infrastructure, and maintenance required to run the application.
Environments
Week 1: Roles in
Ops engineer Ops engineer is another term for site reliability engineer. Software
Engineering Projects
Week 2: More
Package managers take care of the tasks of finding, installing, maintaining, or uninstalling software
Package manager Application
packages at the user’s request.
Development Tools
Packages are archive files that contain the app files, instructions for installation, and any metadata that Week 2: More
Packages you choose. They have their own metadata, including the package description, package version, and any Application
dependencies, like other packages that need to be installed beforehand. Development Tools
Week 2: Pair
Pair programming Pair programming is an extension of teamwork where two developers work side-by-side at one computer.
Programming
Week 3: Introduction
Parameter The data that is passed into a function. to Programming
Concepts Part 2
Week 4:
The peer-to-peer architecture consists of a decentralized network of nodes that are both clients and
Peer-to-peer (P2P) Architectural
servers. The workload is partitioned among these nodes.
Patterns in Software
Ping-pong is a pair programming style that incorporates test-driven development. For each task, one
Week 2: Pair
Ping-pong developer writes a failing test and then the second developer writes code to pass that test. The two
Programming
developers work together at the end of each task refactoring the successful code to refine and improve it.
A principal engineer is responsible for the architecture and design of a software solution, as well as the Week 5: Career
Principal Engineer development of it. They are expected to create processes and procedures for your team and provide Paths in Software
technical direction. Engineering
With a private cloud, the cloud infrastructure is provisioned for exclusive use by a single organization. Week 4: Application
Private Cloud The software system can be run on-premises, or the infrastructure could be owned, managed, and Deployment
operated by a service provider. Environments
Week 3: Introduction
Procedure Another term for function. to Programming
Concepts Part 2
Week 1: Roles in
Product manager is similar to a product owner. The term product manager is typically used in a waterfall
Product manager Software
or waterfall-like software development project.
Engineering Projects
The product owner has the vision of what the product should look like. They have an intimate
Week 1: Roles in
understanding of the client’s requirements, and the end-user’s needs. They are responsible for leading
Product owner Software
development efforts to create the software and for ensuring the product provides the value stakeholders
Engineering Projects
are looking for.
Week 4: Introduction
The production environment is comprised of the infrastructure that runs and delivers the application to
Production environment to Software
the end-user such as the servers, load balancers, and databases.
Architecture
Video where the
Term Definition
term is introduced
The production environment includes the entire solution stack consisting of both hardware and software Week 4: Application
Production environment on which the application runs as additional infrastructure components. The production environment is Deployment
intended for all users. Environments
A project manager makes sure a project runs smoothly and facilitates communication about the project. Week 1: Roles in
Project manager The project manager often deals with big picture issues such as planning, scheduling, and budgeting, Software
allocating personnel and resources, executing the software plan, and team communication. Engineering Projects
A prototype is a small-scale replica of the end product used to get stakeholder feedback and establish Week 1: Phases of
Prototype
requirements. the SDLC
A proxy server is an intermediate server that sits in between two tiers and handles requests between those Week 4: Production
Proxy server tiers. A proxy server can serve multiple purposes such as load balancing, system optimization, caching, Deployment
acting as a firewall, obscuring the source of the request, encryption, scanning for malware, and more. Components
Week 3:
Pseudocode provides a beneficial bridge to the project code because it closely follows the logic that the Understanding Code
Pseudocode
code will. Organization
Methods
Week 4: Application
The public cloud is when you leverage the software’s supporting infrastructure over the open internet on
Public Cloud Deployment
hardware owned by the cloud provider.
Environments
QA engineers are in-charge of ensuring the quality of the product and that the software solution meets Week 1: Roles in
QA engineer customer requirements. They are responsible for writing and executing test cases to identify bugs or Software
deficiencies and provide this feedback to the development teams. Engineering Projects
Week 1: Software
Prototype A prototype is used to test basic design ideas.
Testing
Regression testing, also called maintenance testing, confirms that a recent change to the application, such Week 1: Software
Regression testing
as a bug fix, does not adversely affect already existing functionality. Testing
Week 2: Learning
Responsive design of a website means that it will automatically resize to the device it is being accessed
Responsive design Front-end
from.
development
Week 4: Application
Scalability is the application’s ability to dynamically handle the load as it or shrinks without it affecting
Scalability Deployment
the application’s performance.
Environments
Week 1: Roles in
Scrum master The scrum master is focused on ensuring team and individual success. Software
Engineering Projects
Week 4: Approaches
A service is like a component, also a unit of functionality, but it is designed to be deployed independently
Service to Application
and reused by multiple systems. A service focuses on a solution to a business need.
Architecture
In a service-oriented architecture, or SOA, services are loosely coupled and interface with each other via Week 4: Approaches
Service-oriented
a communication protocol over a network. SOA supports building distributed systems that deliver to Application
architecture (SOA)
services to other applications through the communication protocol. Architecture
A site reliability engineer, sometimes called an SRE or ops engineer, bridges development and operation
Week 1: Roles in
by combining software engineering expertise with IT systems management. They track incidents and
Site reliability engineer Software
facilitate meetings to discuss them; They also automate systems, procedures, and processes; assist with
Engineering Projects
trouble shooting; and ensure reliability for the customer.
Week 5: Skills
Soft skills are personal characteristics and interpersonal skills. They’re the non-technical skills are harder Required for
Soft skills
to define, quantify, or certify than hard skills. Software
Engineering
Software architecture serves as a blueprint for the software system that the programmers use to develop
Week 4: Introduction
the interacting components of the software. The architecture comprises the fundamental structures of a
Software architecture to Software
software system and explains the behavior of that system. The architecture defines how components
Architecture
should interact with each other, the operating environment, and the principles used to design the software.
The SDD is a collection of technical specifications that indicate how the design should be implemented. Week 4: Introduction
Software design document
It provides a functional description of the software and design considerations such as assumptions, to Software
(SDD)
dependencies, constraints, requirements, objectives, and methodologies. Architecture
Video where the
Term Definition
term is introduced
Software Development The SDLC is a systematic process to develop high-quality software in a predictable timeframe and Week 1: Introduction
Lifecycle (SDLC) budget. The goal of the SDLC is to produce software that meets a client’s business requirements. to the SDLC
A software stack is a combination of technologies that includes software and programming languages.
The set of individual technologies is stacked in a hierarchy and works together to support the execution
of an application. The higher levels in the stack provide tasks or services for the user and the lower levels
Week 2: Introduction
Software stack interact with the computer hardware. Software stacks typically include Frontend technologies such as
to Software Stacks
programming languages, frameworks, and user interface tools. And backend technologies such as
programming languages, frameworks, web servers, app servers, operating systems, messaging
applications, and databases.
A squad is a small team of up to 10 developers. It is likely to consist of: A squad leader who acts as the
Week 2: Teamwork
Squad anchor developer and coach for the squad. And a few software engineers who develop and implement the
and Squads
product features and test cases. It may also include one or two user experience developers or designers.
Week 4: Application
The staging environment is the environment that is as close to replicating the production environment as
Staging environment Deployment
possible but is not meant for general users.
Environments
Week 1: Roles in
The stakeholder is mainly responsible for defining project requirements and providing feedback if team
Stakeholder Software
members need clarification on requirements or if a proposed solution cannot be solved as planned.
Engineering Projects
Standard Operating The SOP is written documentation that explains step-by-step how to accomplish a common, yet complex Week 1: Software
Procedure (SOP) task that is organization specific. Documentation
Week 2: Overview
Static content Static content is content stored on a server. of Web and Cloud
Development
Strong style is a pair programming style junior software engineers to learn from more experienced ones.
Week 2: Pair
Strong style So, the more experienced of the pair is the navigator and the driver learns from witnessing their
Programming
implementation and thought processes.
Week 4: Software
Structured design conceptualizes a software problem into well-organized smaller solution elements called
Structured design Design and
modules and sub-modules. Structured design stresses organization in order to achieve a solution.
Modeling
Week 2: Learning
Syntactically Awesome SASS enables you to use things like variables, nested rules, and inline imports to keep things organized.
Front-end
Stylesheets (SASS) SASS allows you to create style sheets faster and more easily than CSS.
development
The system architect, designs and describes the architecture of a project as well as communicates that Week 1: Roles in
System architect architecture to team members. They are responsible for designing the essential characteristics of the inner Software
structure and technical aspects of the software. Engineering Projects
The SysRS contains system capabilities, interfaces, and user characteristics in addition to what the SRS
System Requirement contains. It may include policy requirements, regulation requirements, personnel requirements, Week 1:
Specification (SysRS) performance requirements, security requirements, and system acceptance criteria. It also outlines Requirements
expectations of the hardware needed for the system in addition to software requirements.
Week 1: Building
System testing System testing is a testing stage that occurs when the application is deemed completed.
Quality Software
Week 1: Software
System Under Test (SUT) The SUT is the software application when it is being tested.
Testing
Week 5: Career
Technical Architect Another term for a principal engineer. Paths in Software
Engineering
Week 5: Career
Technical leads manage a team of developers and engineers developing the software in an organization.
Technical lead Paths in Software
They are responsible for the entire development lifecycle and report to the project stakeholders.
Engineering
Week 1: Roles in
Technical writer The technical writer writes documentation for the end-user. Software
Engineering Projects
Test cases are written to verify the functionality of a software application and ensure requirements have Week 1: Software
Test case
been satisfied. A test case contains steps, inputs, data, and the expected corresponding outputs. Testing
Week 4: Introduction
Unified Modeling Language UML diagrams are diagrams that communicate structure and behavior using common programming
to Software
(UML) diagrams language agnostic notation. UML diagrams will also be discussed in more detail in another video.
Architecture
Video where the
Term Definition
term is introduced
Unit testing is often done by the developer and tests the smallest component of code that can be isolated Week 1: Building
Unit testing
from the rest of the system. Quality Software
A use case is a description of how a user may interact with the software system. A use case tends to be
Week 1:
Use cases more granular than a user story and describes how the system acts rather than the goal of the user’s
Requirements
action.
Week 1: Roles in
User experience (UX) The UX designer balances making software intuitive but also as robust as it needs to be to address
Software
designer requirements. They define how the software behaves from the user’s perspective.
Engineering Projects
A user story is an explanation of a software requirement written from the perspective of the end-user or Week 1:
User stories
customer. A user story is stated in terms of the goal of the user’s actions. Requirements
Variables have assigned values that are passed into a function or subroutine within a more extensive Week 3: Introduction
Variable program. A variable has a value that can change, depending on conditions or information passed to the to Programming
program. Concepts Part 1
Week 3: Introduction
Similar to arrays but vectors have a dynamic size, and they will automatically resize themselves as you
Vector to Programming
add elements to them or remove elements from them.
Concepts Part 1
The V-shape model is a method of software development that contains “validation” phases and Week 1: Software
V-shape model “verification” phases. The V-shape model is like waterfall in that it is also sequential. Each phase in Development
verification corresponds with a validation phase. Methodologies
Week 1: Software
Waterfall is a sequential method of software development where the output of one phase is the input for
Waterfall Development
the next phase of the cycle.
Methodologies