designing software

0.0(0)
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/99

flashcard set

Earn XP

Description and Tags

100 Terms

1
New cards
32-bit computer system
a computer system with 32 bits of memory addresses
2
New cards
64-bit computer system
a computer system with 64 bits of memory addresses
3
New cards
application
software used to perform work or complete larger tasks; examples of popular applications include Microsoft Word and Excel, Adobe Photoshop and Mozilla Firefox browser
4
New cards
array
an indexed set of related elements; all elements within an array have a numeric index and are of the same data type
5
New cards
associative array
a collection of (key, value) pairs where each key is unique in the collection
6
New cards
Boolean
a logical data type; can hold on of only two possible values, true or false
7
New cards
camel case
a naming convention used in programming whereby each word or abbreviation in a phrase after the first word begins with a capital letter; there are no spaces or punctuation using camel case
8
New cards
central processing unit (CPU)
the 'brain' of a digital system; the handler of most of a system's data manipulation
9
New cards
character
a data type representing a single letter, number, symbol, punctuation
10
New cards
character encoding
code that allows a computer program to interpret binary digits (0s and 1s) into meaningful units representing characters and numbers. ASCII, UTF and Unicode are types of character encoding
11
New cards
class
a program code template for creating objects in object-oriented programming languages
12
New cards
collision
when two different input values to a hashing function output the same hash value
13
New cards
communication hardware
hardware that transmits data between computers and networked devices
14
New cards
complier
a program that turns source code into machine language that can be executed by a computer processor
15
New cards
complex instruction set computing (CSIC)
a type of microprocessor design that contains large sets of computer instructions; intended to compute complex instructions in an efficient way
16
New cards
constants
fixed (unchanging) values during a program's execution; e.g. pi or the number of Australian states and territories
17
New cards
constraint
a restriction on what can and cannot occur in the creation of a software solution external to the solution itself
18
New cards
data structure
a method of organizing data to allow particular operations to be performed on them efficiently
19
New cards
data type
different forms that variables and data may take, which determine the data that a variable may contain, and how the data or variable may be manipulated
20
New cards
debugger
a tool used to identify errors in computer software
21
New cards
dependent task
a task that requires one or more other tasks to have been completed in order to begin
22
New cards
dequeue
to remove and return a value from the start of a queue
23
New cards
dictionary
an associative array, also referred to as a map or symbol table
24
New cards
digital systems
a elements such as hardware and software that, when connected, form a network
25
New cards
driver
a computer program that controls a particular device that is attached to, or part of, a computer
26
New cards
economic constraint
a constraint on the creation of a software solution that relates either to time or budget, or to both
27
New cards
editor
specialized application software for creating human-readable programming instructions
28
New cards
enqueue
to insert a value at the end of a queue
29
New cards
field
a single data item in a record
30
New cards
first in first out (FIFO)
a type of access to queued data, whereby the first element in a queue is the first element out of the queue
31
New cards
fit for purpose
well suited for a role or purpose
32
New cards
floating point number
computer representation of real numbers, with decimal places
33
New cards
functional requirements
requirements of a digital solution that are directly related to what the solution will do
34
New cards
Gantt chart
a project management tool for displaying project schedule information
35
New cards
graphical user interface (GUI)
a form of user interface that allows users to interact with an application or piece of software
36
New cards
graphics processor unit (GPU) a very fast and expensive processor specifically designed for high-speed image processing in graphics cards
37
New cards
hash function
a function that takes a key value and returns another, related, value that is normally smaller than the original value
38
New cards
hash table
a data structure that uses a hash function to map keys to values by computing an index that is related to, but smaller than, the initial key
39
New cards
high-level programming language
a programming language that is more or less computer-independent, typically using natural language elements
40
New cards
Hungarian notation
a naming convention used in computer programming, in which the name of the variable or function determines its purpose and its data type or structure
41
New cards
imperfect hash
a hash function where two or more keys can be computed to have the same hash index
42
New cards
index
position within an ordered list, such as an array
43
New cards
input devices
instruments and peripherals, such as keyboards, that allow users to give data and commands to software and the operating system
44
New cards
integer
a data type representing whole positive and negative numbers; a number without a fractional or decimal component
45
New cards
integer overflow
a condition occurring as a result of a mathematical operation where the output exceeds the maximum or minimum integer value that can be stored on that computer system
46
New cards
Integrated Development Environment (IDE)
software that provides tools to programmers to aid in programming, such as source code editing, syntax highlighting, code completion, debugging aids, or tools to help construct a user interface
47
New cards
interface
within software, the place where people control the program, enter data and receive output
48
New cards
interpreter
a computer program that directly executes source code without needing to have it compiled beforehand
49
New cards
last in first out (LIFO)
a type of access to stacked data, whereby the last element in a stack is the first element out of the stack
50
New cards
linked list
a data structure containing an ordered set of elements where each element is connected to the next element in the list
51
New cards
low-level programming language
a programming language that is heavily relied on the architecture of a particular computer, with commands closely linked to processor instructions
52
New cards
maintainability
the extent to which a solution is easy to look after once it has been put in place
53
New cards
milestone
the achievement of a significant stage in a project; has zero time duration
54
New cards
mock-up
a sketch showing how a screen or printout will look, which is used to aid in the design of an interface
55
New cards
naming convention
an agreed set of rules by which to name files, folders and source code elements such as variables, functions, classes, methods and objects
56
New cards
NAND RAM
a type of non-volatile storage technology that does not require any power to store data
57
New cards
network-attached storage (NAS)
dedicated file storage that allows multiple users and clients to access data on a centralized disk
58
New cards
node
an element in a linked list; contains a data element and a pointer to the next node in the list
59
New cards
non-functional requirements
characteristics that the user or client would like the solution to have; often tied to solution constraints
60
New cards
non-technical constraints
factors that may limit or restrict solution development, specifically related to legal, social, usability or economic factors
61
New cards
numeric
a data type consisting of whole numbers, referred to as integers, and decimal numbers, referred to as floating point numbers
62
New cards
object
any instantiated class that a program can inspect and/or change, in terms of appearance, behavior or data
63
New cards
operation system (OS)
the software program that manages a computer's hardware and runs programs
64
New cards
output devices
instruments and peripherals that display information from a computer in human-readable form
65
New cards
perfect hash
a hash function where no two keys can be computed to have the same hash index
66
New cards
platform
a combination of operating system (OS) and central processing unit (CPU)
67
New cards
pointer
a variable that stores the memory position of another variable's value
68
New cards
pop
to remove an element of data from the top of a stack, moving all stack elements left over up on one place
69
New cards
portability
the extent to which a solution can easily be used in different operating environments
70
New cards
ports
physical connectors (sockets) for cables
71
New cards
primary storage
random-access memory (RAM), which provides storage for data, information and soft ware during program execution
72
New cards
processing hardware (CPU, GPU)
hardware that runs the operating system, utilities and applications
73
New cards
project plan
a formal document that is used to guide a project's timeline, allowing for the coordination and monitoring of tasks, including their sequencing and the amount of time required to complete each task
74
New cards
properties
characteristics; e.g. width, color, visibility
75
New cards
pseudocode
code that designs algorithms in a clear, human-readable, language-independent format
76
New cards
push
an element of data inserted at the top of a stack, moving all current stack elements down one place
77
New cards
queue
a 'First In First Out' data structure, storing elements to be processed in order
78
New cards
random-access memory (RAM)
a type of computer memory that can be accessed randomly; it is most often volatile memory that is lost if power is removed
79
New cards
record
an indexed set of related elements; all elements within a record have a field index and may be of different data types
80
New cards
reduced instruction set computing (RISC)
a central processing unit (such as ARM) that has smaller instruction sets than complex instruction set computing (CISU) CPUs
81
New cards
reliability
how much a solution can be depended on to function as designed, and for how long
82
New cards
robustness
how well a software solution responds to errors that occur when the software is being used
83
New cards
scope
boundaries or parameters of the solution; what it will it not do
84
New cards
scope creep
when a client changes the scope of a project (by increasing it) during the life cycle of the project
85
New cards
secondary storage
(HDD, SSD) permanent storage
86
New cards
slack time
the length of time that a task can run over time before it affects other tasks
87
New cards
snake case
a naming convention used in programming in which each word or abbreviation in the middle of a phrase is joined to one before it using an underscore
88
New cards
source code
the human-written and human-readable version of a program
89
New cards
stack
a 'Last In First Out' data structure
90
New cards
storage structure
places in memory holding data that is being used by a program; includes variables, arrays, dictionaries and objects such as GUI objects
91
New cards
string
a data type representing a set or sequence (collection) of characters
92
New cards
syntax
the structure of statements in a programming language
93
New cards
system software tools
software tools used by a computer to manage hardware and run the user's programs; for example, the operating system (OS), device drives and communication protocols
94
New cards
task
any activity within a project timeline that needs to be completed within a defined period of time
95
New cards
technical constraints
constraints related to the hardware and software available for a project
96
New cards
thin client
a lightweight computer that has been optimized to work with a server-based computing environment; the server does the majority of the processing and computing
97
New cards
uptime
time during which a machine, solution or application is operational
98
New cards
usability
the extent to which a system is easy to learn and use
99
New cards
utilities
usually small, single-purpose software tools that do a specific job or add functionality to an operating system
100
New cards
variable
a method of storing and labelling data to be referenced and manipulated in a computer program