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

Software Engineering

Uploaded by

mepixoy924
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)
43 views

Software Engineering

Uploaded by

mepixoy924
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/ 8

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

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 tier, Week 4:
3-tier or user interface, the middle tier which is usually the application tier where business logic is processed, and Architectural
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 between
API gateway Architectural
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 index
Array to Programming
zero.
Concepts Part 1

Week 3: Query and


Assembly language is a low-level programming language that uses a set of symbols to represent machine Assembly
Assembly language
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 deal with everything that happens on the server before the code and data are sent to the
Backend developers Web and Cloud
client.
Development

Week 4: Software
Behavioral models describe what a system does, without explaining how it does it. The overall behavior of a
Behavioral models Design and
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

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,
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
Video where the
Term Definition
term is introduced

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
in Software
(CTO) 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 properties
Class oriented Analysis
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

Week 3: Interpreted
Compiled languages use a compiler program creates a program file, which runs the software. The compiler
and Compiled
Compiled language takes the source code and converts it from the programming language to machine code. Then it is compiled
Programming
into one 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.
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 code, Development Tools
(CI/CD) then CD deploys all code changes in a 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 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 the Week 2: Pair
Driver/navigator
other is 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
Encapsulation to Application
expose its specific implementation.
Architecture
Video where the
Term Definition
term is introduced

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 router
Event-driven Architectural
determines which consumer to push the event to. The triggering event generates a message, called an event
Patterns in Software
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

Week 2: Introducing
Frameworks provide a standard way to build and deploy applications. You can think of a framework as being
Framework Application
a 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

Week 2: Learning
Hypertext Markup HTML is used to create the physical structure of a website. The physical structure contains elements such as
Front-end
Language (HTML) 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 additional
Inheritance oriented Analysis
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 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 Week 1: Building
Integration testing
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 your and Compiled
Interpreted language
computer’s operating system or in your web browser. The interpreter takes the human-readable scripted code Programming
and then 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
JavaScript Front-end
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
Library Libraries are collections of code, like standard programs and subroutines, that you can use within your code. Application
Development Tools
Video where the
Term Definition
term is introduced

Week 4: Application
Load refers to the number of concurrent users, the number of transactions, and the amount of data transferred
Load Deployment
back and forth between the clients and servers.
Environments

Load balancers distribute network traffic efficiently amongst multiple servers on a network. Load balancers
Week 4: Production
are used to prevent server traffic overload and are located between clients and the servers. A load balancer
Load balancer Deployment
determines which servers are capable of fulfilling those requirements in a manner that maximizes availability
Components
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

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 properly. Testing

OOAD is is an approach for analyzing and Week 4: Object-


Object-oriented Analysis and
oriented Analysis
Design (OOAD)
designing a software system when the system will use object-oriented programming languages to develop it. and 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 Week 3: Introduction
Object-Oriented
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 packages
Package manager Application
at the user’s request.
Development Tools

Packages are archive files that contain the app files, instructions for installation, and any metadata that you Week 2: More
Packages 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 servers.
Peer-to-peer (P2P) Architectural
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 developers
Programming
work together at the end of each task refactoring the successful code to refine and improve it.
Video where the
Term Definition
term is introduced

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 Deployment
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 or
Product manager Software
waterfall-like software development project.
Engineering Projects

The product owner has the vision of what the product should look like. They have an intimate understanding Week 1: Roles in
Product owner of the client’s requirements, and the end-user’s needs. They are responsible for leading development efforts to Software
create the software and for ensuring the product provides the value stakeholders are looking for. Engineering Projects

Week 4: Introduction
The production environment is comprised of the infrastructure that runs and delivers the application to the
Production environment to Software
end-user such as the servers, load balancers, and databases.
Architecture

The production environment includes the entire solution stack consisting of both hardware and software on Week 4: Application
Production environment which the application runs as additional infrastructure components. The production environment is intended Deployment
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
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, acting Deployment
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 code Understanding Code
Pseudocode
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 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 Week 1: Software
Regression testing
bug 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
Video where the
Term Definition
term is introduced

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 to Application
(SOA)
other applications through the communication protocol. Architecture

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
meetings to discuss them; They also automate systems, procedures, and processes; assist with trouble
Engineering Projects
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 to Required for
Soft skills
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
Architecture
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. It Week 4: Introduction
Software design document
provides a functional description of the software and design considerations such as assumptions, to Software
(SDD)
dependencies, 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. Week 1: Introduction
Lifecycle (SDLC) The 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 Week 2: Introduction
Software stack
with the computer hardware. Software stacks typically include Frontend technologies such as programming to Software Stacks
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 anchor
Week 2: Teamwork
Squad developer and coach for the squad. And a few software engineers who develop and implement the product
and Squads
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 task Week 1: Software
Procedure (SOP) that 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,
Week 2: Pair
Strong style the more experienced of the pair is the navigator and the driver learns from witnessing their implementation
Programming
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 3: Query and


Structured Query Language Assembly
The most popular language used to query databases.
(SQL) Programming
Languages
Video where the
Term Definition
term is introduced

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, performance Week 1:
Specification (SysRS) requirements, security requirements, and system acceptance criteria. It also outlines expectations of the Requirements
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 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
Technical lead in Software
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 been Week 1: Software
Test case
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 language
to Software
(UML) diagrams agnostic notation. UML diagrams will also be discussed in more detail in another video.
Architecture

Unit testing is often done by the developer and tests the smallest component of code that can be isolated from Week 1: Building
Unit testing
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 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
Software
designer requirements. They define how the software behaves from the user’s perspective.
Engineering 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 Week 1:
User stories
customer. 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.
Variable to Programming
A 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
Waterfall Development
next phase of the cycle.
Methodologies

You might also like