Software Development (WJEC)

studied byStudied by 10 people
0.0(0)
Get a hint
Hint

Abstraction

1 / 49

50 Terms

1

Abstraction

A technique for managing the complexity of computer systems by breaking down complex problems into more manageable pieces. It allows programmers to focus on high-level operations rather than intricate details.

New cards
2

Agile

A methodology for software development that emphasizes incremental delivery, team collaboration, continual planning, and continual learning. Key practices include daily stand-ups, sprints, and retrospectives.

New cards
3

Algorithm

A step-by-step procedure or formula for solving a problem.

New cards
4

Array

A data structure that can hold a fixed number of values of the same type.

New cards
5

Big Data

Large and complex data sets that traditional data-processing software can't handle efficiently. Techniques and technologies such as Hadoop and Spark are used to process big data.

New cards
6

Binary

A base-2 numeral system that represents numeric values using two symbols: 0 and 1.

New cards
7

Boolean

A data type that has one of two possible values (usually denoted true and false). It is used in logical statements and control flow.

New cards
8

Bug

An error or flaw in software that causes it to produce an incorrect or unexpected result.

New cards
9

Class

A blueprint for creating objects, providing initial values for state (member variables or fields), and implementations of behavior (member functions or methods).

New cards
10

Compiler

A program that converts code written in a high-level programming language into machine code that a computer's processor can execute.

New cards
11

Concurrency

The ability of a system to execute multiple parts of a program simultaneously.

New cards
12

Data Structure

A particular way of organizing and storing data in a computer so that it can be accessed and modified efficiently. Common data structures include arrays, linked lists, stacks, queues, hash tables, and trees.

New cards
13

Database

An organized collection of data, generally stored and accessed electronically from a computer system.

New cards
14

Encapsulation

The bundling of data with the methods that operate on that data, restricting direct access to some of the object's components.

New cards
15

Event-Driven Programming

A programming paradigm in which the flow of the program is determined by events such as user actions (mouse clicks, key presses), sensor outputs, or messages from other programs. Commonly used in graphical user interfaces and real-time systems.

New cards
16

Framework

A platform for developing software applications. It provides a foundation on which software developers can build programs for a specific platform. Examples include Django for Python, Angular for JavaScript, and Spring for Java.

New cards
17

Function

A block of organized, reusable code that performs a single action.

New cards
18

Garbage Collection

The process of automatically freeing memory on the heap by deleting objects that are no longer reachable in the program. Languages like Java and C# have built-in garbage collectors.

New cards
19

Hash Table

A data structure that implements an associative array, a structure that can map keys to values.

New cards
20

IDE (Integrated Development Environment)

A software application that provides comprehensive facilities to computer programmers for software development.

New cards
21

Inheritance

A mechanism in object-oriented programming that allows one class to inherit the properties and methods of another class.

New cards
22

JIT (Just-In-Time) Compilation

A way of executing computer code that involves compilation during execution of a program rather than before execution.

New cards
23

Library

A collection of non-volatile resources used by computer programs, often for software development.

New cards
24

Loop

A sequence of instructions that is continually repeated until a certain condition is reached.

New cards
25

Machine Learning

A subset of artificial intelligence (AI) that enables computers to learn from and make decisions based on data.

New cards
26

Middleware

Software that acts as a bridge between an operating system or database and applications, especially on a network.

New cards
27

Namespace

A container that provides context for the identifiers (names of types, functions, variables, etc.) in a program to avoid naming conflicts.

New cards
28

Normalization

The process of organizing data in a database to reduce redundancy and improve data integrity.

New cards
29

Object

An instance of a class containing both data and methods that manipulate that data.

New cards
30

ORM (Object-Relational Mapping)

A programming technique for converting data between incompatible type systems in object-oriented programming languages.

New cards
31

Polymorphism

The ability of different objects to respond to the same function call in different ways.

New cards
32

Recursion

When a function calls itself in order to solve a problem. Recursion is useful for tasks that can be defined in terms of similar subtasks, such as traversing a directory structure or solving the Fibonacci sequence.

New cards
33

Refactoring

The process of restructuring existing computer code without changing its external behavior to improve its readability and maintainability.

New cards
34

Repository

A central location in which data is stored and managed. In version control systems, a repository is where code and its history are stored.

New cards
35

Responsive Design

An approach to web design that makes web pages render well on a variety of devices and window or screen sizes.

New cards
36

Script

A program or sequence of instructions that is interpreted or carried out by another program rather than by the computer processor.

New cards
37

Scrum

An agile process framework for managing complex knowledge work, with an initial emphasis on software development.

New cards
38

Singleton Pattern

A standardized programming language used to manage relational databases and perform various operations on the data in them. SQL commands include SELECT, INSERT, UPDATE, and DELETE.

New cards
39

Syntax

The set of rules that defines the combinations of symbols that are considered to be correctly structured programs in a programming language.

New cards
40

Thread

The smallest sequence of programmed instructions that can be managed independently by a scheduler.

New cards
41

UML (Unified Modeling Language)

A standardized modeling language consisting of an integrated set of diagrams, developed to help system and software developers specify, visualize, construct, and document the artifacts of software systems.

New cards
42

Unit Testing

A level of software testing where individual units/components of a software are tested.

New cards
43

User Interface (UI)

The space where interactions between humans and machines occur. Includes components such as buttons, menus, and text fields, allowing users to interact with software applications.

New cards
44

Validation

The process of ensuring that a program operates on clean, correct, and useful data. Checks can be performed on user input, data from external sources, and internal computations.

New cards
45

Variable

A storage location identified by a memory address and associated symbolic name (an identifier), which contains some known or unknown quantity of information referred to as a value.

New cards
46

Version Control

A system that records changes to a file or set of files over time so that specific versions can be recalled later. Examples include Git, SVN, and Mercurial.

New cards
47

Virtual Machine (VM)

A software emulation of a physical computer. Run an operating system and applications just like a physical computer. They provide an environment to execute programs in a platform-independent manner.

New cards
48

Waterfall Model

A sequential (non-iterative) process in software development, where progress is seen as flowing steadily downwards (like a waterfall) through phases such as conception, initiation, analysis, design, construction, testing, and maintenance.

New cards
49

Web Service

A standardized way of integrating web-based applications using the XML, SOAP, WSDL, and UDDI open standards over an Internet protocol backbone.

New cards
50

XML (eXtensible Markup Language)

A markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. Commonly used for the representation of arbitrary data structures, such as those used in web services.

New cards

Explore top notes

note Note
studied byStudied by 5 people
... ago
5.0(1)
note Note
studied byStudied by 13 people
... ago
5.0(1)
note Note
studied byStudied by 1 person
... ago
5.0(1)
note Note
studied byStudied by 16 people
... ago
5.0(1)
note Note
studied byStudied by 12 people
... ago
5.0(1)
note Note
studied byStudied by 16 people
... ago
5.0(1)
note Note
studied byStudied by 18 people
... ago
5.0(1)
note Note
studied byStudied by 245 people
... ago
5.0(2)

Explore top flashcards

flashcards Flashcard (86)
studied byStudied by 20 people
... ago
5.0(1)
flashcards Flashcard (102)
studied byStudied by 15 people
... ago
5.0(1)
flashcards Flashcard (59)
studied byStudied by 28 people
... ago
5.0(4)
flashcards Flashcard (53)
studied byStudied by 4 people
... ago
5.0(1)
flashcards Flashcard (49)
studied byStudied by 1 person
... ago
5.0(1)
flashcards Flashcard (179)
studied byStudied by 32 people
... ago
5.0(1)
flashcards Flashcard (82)
studied byStudied by 4 people
... ago
5.0(1)
flashcards Flashcard (41)
studied byStudied by 11 people
... ago
5.0(1)
robot