0% found this document useful (0 votes)
7 views

Software Engineering Glossary

The document is a comprehensive glossary of software engineering terms, providing definitions and context for various concepts relevant to the field. It includes terms related to software development methodologies, programming languages, application architecture, and testing practices. Each term is accompanied by references to course materials where they are introduced, making it a useful resource for learners and professionals alike.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Software Engineering Glossary

The document is a comprehensive glossary of software engineering terms, providing definitions and context for various concepts relevant to the field. It includes terms related to software development methodologies, programming languages, application architecture, and testing practices. Each term is accompanied by references to course materials where they are introduced, making it a useful resource for learners and professionals alike.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

8/15/24, 8:26 PM about:blank

Software 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.

Video where the


Term Definition
term is introduced
2-tier is a computing model in which the server hosts, delivers, and manages most of the resources and services Week 4: Architectural
2-tier
delivered to the client. Patterns in Software
The 3-tier pattern organizes applications into three logical and physical computing tiers: the presentation tier, or
Week 4: Architectural
3-tier user interface, the middle tier which is usually the application tier where business logic is processed, and the data
Patterns in Software
tier, where the data is stored and managed.
Agile is an iterative method of software development. Teams work in cycles, or sprints and unit testing happens inWeek 1: Software
Agile each sprint. At the end of each sprint, a chunk of working code is released at a meeting where stakeholders can see
Development
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
The API Gateway routes the API from the client to a service. Orchestration handles communication between Week 4: Architectural
API gateway
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
An API is code that allows two programs to communicate. importance of
Interface (API)
backend development
Week 3: Introduction
Array In an array, a fixed number of elements of the same type are stored in sequential order, starting from index zero. to Programming
Concepts Part 1
Week 3: Query and
Assembly
Assembly language Assembly language is a low-level programming language that uses a set of symbols to represent machine code.
Programming
Languages
Week 4: Object-
Attributes An object’s properties and data are its attributes. oriented Analysis and
Design
Week 2: Overview of
Backend developers Backend developers deal with everything that happens on the server before the code and data are sent to the client. Web and Cloud
Development
Behavioral models describe what a system does, without explaining how it does it. The overall behavior of a Week 4: Software
Behavioral models
system can be communicated through behavioral models. Design and Modeling
Week 1: Building
Beta release The beta release, also called a limited release, is given to the stakeholders outside of the developing organization.
Quality Software
Week 1: Software
Black-box testing Black box testing is a method of testing where the tester does not look at source code or internal 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, depending
Branching and Looping
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 retrieved
Business logic Deployment
from a database.
Components
Developers use CSS to create stylish websites. CSS provides front-end developers with a standard method to Week 2: Learning
Cascading Stylesheets (CSS) define, apply, and manage different sets of style characteristics for a website and each of its components. CSS Front-end
ensures uniformity in look and feel, style, colors, fonts, designs and layouts. development
Week 5: Career Paths
Chief Technology Officer The CTO oversees all of the research and development in a company. They monitor the company’s systems and
in Software
(CTO) 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 properties and
Class oriented Analysis and
methods.
Design
Week 4: Object-
Class diagrams are commonly used to communicate a software system’s structure in OOAD. The class diagram
Class diagram oriented Analysis and
shows how the classes in an object-oriented design relate to one another.
Design
Week 4: Architectural
Client-Server Another term for 2-tier.
Patterns in Software

about:blank 1/6
8/15/24, 8:26 PM about:blank
Video where the
Term Definition
term is introduced
Week 3: Interpreted
Compiled languages use a compiler program creates a program file, which runs the software. The compiler takes
and Compiled
Compiled language the source code and converts it from the programming language to machine code. Then it is compiled into one
Programming
executable file. Finally, the program runs when you select the icon or file on your 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. Component-
Week 4: Approaches
Component-based based architecture provides a higher level of abstraction than object-oriented designs. A component-based
to Application
architecture architecture should define, compose, and implement loosely coupled independent components so they work
Architecture
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 deployment.
Continuous Delivery or CI/CD is a best practice for DevOps teams enabling developers to deliver frequent changes reliably. Continuous Week 2: More
Continuous Integration / Integration (CI) ensures that all the code components work together smoothly. Continuous delivery (CD) begins Application
Continuous Deployment where CI ends. The CI process automatically builds and tests your code, then CD deploys all code changes in a Development Tools
(CI/CD) build to a testing or staging environment.
Week 3: Query and
Create, Read, Update, Delete Assembly
CRUD is shorthand referring to the most common types of queries: create, read, update, and delete.
(CRUD) Programming
Languages
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 interactions Week 4: Approaches
Distributed system by passing messages to each other via a communication protocol such as hypertext transfer protocol, also known to Application
as HTTP. Architecture
Driver/navigator is a pair programming style where one developer is the driver, typing in the code, and the other is Week 2: Pair
Driver/navigator
the navigator, reviewing the code as it’s written and giving directions on where to go next. Programming
Week 2: Overview of
Dynamic content Dynamic content is generated each time it is requested by the client. 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 expose
Encapsulation to Application
its specific implementation.
Architecture
The event-driven pattern focuses on producers and consumers of events. Producers listen for and react to triggers
while consumers process an event. The producer publishes the event to an event router. The router determines Week 4: Architectural
Event-driven
which consumer to push the event to. The triggering event generates a message, called an event notification, to the Patterns in Software
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
Week 2: Introducing
Frameworks provide a standard way to build and deploy applications. You can think of a framework as being a
Framework Application
skeleton that you can extend by adding your own code, providing a scaffold on which to build your apps.
Development Tools
Week 2: Overview of
Frontend developers deal with everything that happens on the client side. It is everything the user can see and
Frontend developers Web and Cloud
interact with.
Development
Week 2: Overview of
Fullstack developers Fullstack developers have skills, knowledge, and experience in both frontend and backend environments. 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 action.
Function to Programming
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
Hypertext Markup Language HTML is used to create the physical structure of a website. The physical structure contains elements such as text, Week 2: Learning
(HTML) links, images/videos, page dividers and buttons. Front-end
about:blank 2/6
8/15/24, 8:26 PM about:blank
Video where the
Term Definition
term is introduced
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 additional
Inheritance oriented Analysis and
properties and methods.
Design
IDEs make it easier to build and manage code. Good IDEs support multiple languages and integrate with Week 2: Overview of
Integrated Development
management and storage tools like Git and GitHub. Other useful IDE features include custom extensions and Web and Cloud
Environment (IDE)
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 a larger Week 1: Building
Integration testing
product. Quality Software
Interpreted languages are commonly referred to as scripted or scripting languages. Programs written in interpreted Week 3: Interpreted
or scripted language, like Python and HTML, run through the programming interpreter on your computer’s and Compiled
Interpreted language
operating system or in your web browser. The interpreter takes the human-readable scripted code and then Programming
translates it into machine code, enabling the computer to complete the requested task. Languages
Week 2: Learning
JavaScript is an object-oriented programming language that is used in conjunction with HTML and CSS to add
JavaScript Front-end
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
Library Libraries are collections of code, like standard programs and subroutines, that you can use within your code. Application
Development Tools
Week 4: Application
Load refers to the number of concurrent users, the number of transactions, and the amount of data transferred back
Load Deployment
and forth between the clients and servers.
Environments
Load balancers distribute network traffic efficiently amongst multiple servers on a network. Load balancers are
Week 4: Production
used to prevent server traffic overload and are located between clients and the servers. A load balancer determines
Load balancer Deployment
which servers are capable of fulfilling those requirements in a manner that maximizes availability and
Components
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
Microservices are an approach to building an application that breaks its functionality into modular components Week 4: Architectural
Microservices
called services. Patterns in Software
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 basic
Development
(MVP) feature set. The MVP contains a feature set to validate assumptions about the software.
Methodologies
Week 4: Approaches
Node A node is any device on a network that can recognize, process, and transmit data to other nodes on the network. to Application
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 properly. Testing
OOAD is is an approach for analyzing and Week 4: Object-
Object-oriented Analysis and
oriented Analysis and
Design (OOAD) designing a software system when the system will use object-oriented programming languages to develop it. Design
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 (or attributes) and Week 3: Introduction
Object-Oriented
code in the form of procedures (or methods). The key distinction between the two methodologies is that where to Programming
Programming (OOP)
procedural programming uses methods to operate on separate data structures, OOP packages them both together, Concepts Part
so an object operates on its own data structure.
Week 2: The
Object-Relational Mapping
Tools used to connect the database and retrieve the correct data. importance of
(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 packages at
Package manager Application
the user’s request.
Development Tools
Packages are archive files that contain the app files, instructions for installation, and any metadata that you choose. Week 2: More
Packages They have their own metadata, including the package description, package version, and any dependencies, like Application
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

about:blank 3/6
8/15/24, 8:26 PM about:blank
Video where the
Term Definition
term is introduced
Week 3: Introduction
Parameter The data that is passed into a function. to Programming
Concepts Part 2
The peer-to-peer architecture consists of a decentralized network of nodes that are both clients and servers. The Week 4: Architectural
Peer-to-peer (P2P)
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 developer
Week 2: Pair
Ping-pong writes a failing test and then the second developer writes code to pass that test. The two developers work together
Programming
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 Paths
Principal Engineer development of it. They are expected to create processes and procedures for your team and provide technical in Software
direction. Engineering
With a private cloud, the cloud infrastructure is provisioned for exclusive use by a single organization. The Week 4: Application
Private Cloud software system can be run on-premises, or the infrastructure could be owned, managed, and operated by a service Deployment
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 or
Product manager Software Engineering
waterfall-like software development project.
Projects
The product owner has the vision of what the product should look like. They have an intimate understanding of the Week 1: Roles in
Product owner client’s requirements, and the end-user’s needs. They are responsible for leading development efforts to create the Software Engineering
software and for ensuring the product provides the value stakeholders are looking for. Projects
Week 4: Introduction
The production environment is comprised of the infrastructure that runs and delivers the application to the end-
Production environment to Software
user such as the servers, load balancers, and databases.
Architecture
Week 4: Application
The production environment includes the entire solution stack consisting of both hardware and software on which
Production environment Deployment
the application runs as additional infrastructure components. The production environment is intended for all users.
Environments
A project manager makes sure a project runs smoothly and facilitates communication about the project. The Week 1: Roles in
Project manager project manager often deals with big picture issues such as planning, scheduling, and budgeting, allocating Software Engineering
personnel and resources, executing the software plan, and team communication. 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 tiers. A Week 4: Production
Proxy server proxy server can serve multiple purposes such as load balancing, system optimization, caching, acting as a Deployment
firewall, obscuring the source of the request, encryption, scanning for malware, and more. Components
Week 3:
Understanding Code
Pseudocode Pseudocode provides a beneficial bridge to the project code because it closely follows the logic that the code will.
Organization
Methods
Week 4: Application
The public cloud is when you leverage the software’s supporting infrastructure over the open internet on hardware
Public Cloud Deployment
owned by the cloud provider.
Environments
QA engineers are in-charge of ensuring the quality of the product and that the software solution meets customer Week 1: Roles in
QA engineer requirements. They are responsible for writing and executing test cases to identify bugs or deficiencies and provide Software Engineering
this feedback to the development teams. Projects
Week 3: Query and
Assembly
Query A query uses predefined and understandable instructions to make a request to a database.
Programming
Languages
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 as a bug Week 1: Software
Regression testing
fix, does not adversely affect already existing functionality. Testing
Week 2: Learning
Responsive design Responsive design of a website means that it will automatically resize to the device it is being accessed from. Front-end
development
Week 4: Application
Scalability is the application’s ability to dynamically handle the load as it or shrinks without it affecting the
Scalability Deployment
application’s performance.
Environments
Week 3: Query and
Assembly
Scripting language Another term for an interpreted language.
Programming
Languages
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 and
Service to Application
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 a Week 4: Approaches
Service-oriented architecture
communication protocol over a network. SOA supports building distributed systems that deliver services to other to Application
(SOA)
applications through the communication protocol. Architecture
about:blank 4/6
8/15/24, 8:26 PM about:blank
Video where the
Term Definition
term is introduced
A site reliability engineer, sometimes called an SRE or ops engineer, bridges development and operation by
Week 1: Roles in
combining software engineering expertise with IT systems management. They track incidents and facilitate
Site reliability engineer Software Engineering
meetings to discuss them; They also automate systems, procedures, and processes; assist with trouble shooting;
Projects
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 to
Soft skills Required for
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 the
Week 4: Introduction
interacting components of the software. The architecture comprises the fundamental structures of a software
Software architecture to Software
system and explains the behavior of that system. The architecture defines how components should interact with
Architecture
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. It Week 4: Introduction
Software design document
provides a functional description of the software and design considerations such as assumptions, dependencies, to Software
(SDD)
constraints, requirements, objectives, and methodologies. Architecture
Software Development The SDLC is a systematic process to develop high-quality software in a predictable timeframe and budget. The Week 1: Introduction
Lifecycle (SDLC) goal of the SDLC is to produce software that meets a client’s business requirements. to the SDLC
Software Requirement Week 1: Phases of
A document that combines and lists stakeholders’ requirements for an application.
Specification (SRS) 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 interact with the computer Week 2: Introduction
Software stack
hardware. Software stacks typically include Frontend technologies such as programming languages, frameworks, to Software Stacks
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 anchor
Week 2: Teamwork
Squad developer and coach for the squad. And a few software engineers who develop and implement the product features
and Squads
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 possible
Staging environment Deployment
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 members
Stakeholder Software Engineering
need clarification on requirements or if a proposed solution cannot be solved as planned.
Projects
Standard Operating The SOP is written documentation that explains step-by-step how to accomplish a common, yet complex task that Week 1: Software
Procedure (SOP) is organization specific. Documentation
Week 2: Overview of
Static content Static content is content stored on a server. Web and Cloud
Development
Strong style is a pair programming style junior software engineers to learn from more experienced ones. So, the
Week 2: Pair
Strong style more experienced of the pair is the navigator and the driver learns from witnessing their implementation and
Programming
thought processes.
Structured design conceptualizes a software problem into well-organized smaller solution elements called modules Week 4: Software
Structured design
and sub-modules. Structured design stresses organization in order to achieve a solution. Design and Modeling
Week 3: Query and
Structured Query Language Assembly
The most popular language used to query databases.
(SQL) Programming
Languages
Week 2: Learning
Syntactically Awesome SASS enables you to use things like variables, nested rules, and inline imports to keep things organized. SASS
Front-end
Stylesheets (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 architecture Week 1: Roles in
System architect to team members. They are responsible for designing the essential characteristics of the inner structure and Software Engineering
technical aspects of the software. Projects
The SysRS contains system capabilities, interfaces, and user characteristics in addition to what the SRS contains.
System Requirement It may include policy requirements, regulation requirements, personnel requirements, performance requirements, Week 1:
Specification (SysRS) security requirements, and system acceptance criteria. It also outlines expectations of the hardware needed for the Requirements
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 Paths
Technical Architect Another term for a principal engineer. in Software
Engineering
Week 5: Career Paths
Technical leads manage a team of developers and engineers developing the software in an organization. They are
Technical lead in Software
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 been Week 1: Software
Test case
satisfied. A test case contains steps, inputs, data, and the expected corresponding outputs. Testing
Unified Modeling Language UML diagrams are diagrams that communicate structure and behavior using common programming language Week 4: Introduction
(UML) diagrams agnostic notation. UML diagrams will also be discussed in more detail in another video. to Software
about:blank 5/6
8/15/24, 8:26 PM about:blank
Video where the
Term Definition
term is introduced
Architecture
Unit testing is often done by the developer and tests the smallest component of code that can be isolated from the Week 1: Building
Unit testing
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 more Week 1:
Use cases
granular than a user story and describes how the system acts rather than the goal of the user’s action. Requirements
User Acceptance Testing Week 1: Building
UAT is a testing stage where the software is tested by the intended user.
(UAT) Quality Software
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 requirements.
Software Engineering
designer They define how the software behaves from the user’s perspective.
Projects
User Requirement Week 1:
The URS describes the business needs and expectations of the end-users of the software system.
Specification (URS) Requirements
A user story is an explanation of a software requirement written from the perspective of the end-user or customer. Week 1:
User stories
A user story is stated in terms of the goal of the user’s actions. Requirements
Week 3: Introduction
Variables have assigned values that are passed into a function or subroutine within a more extensive program. A
Variable to Programming
variable has a value that can change, depending on conditions or information passed to the program.
Concepts Part 1
Week 3: Introduction
Similar to arrays but vectors have a dynamic size, and they will automatically resize themselves as you add
Vector to Programming
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 “verification” Week 1: Software
V-shape model phases. The V-shape model is like waterfall in that it is also sequential. Each phase in verification corresponds Development
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 the next
Waterfall Development
phase of the cycle.
Methodologies

about:blank 6/6

You might also like