Software Engineering Flashcards
Append
add a new record at the end of the file
Automated Testing
where computer-controlled equipment tests programs for functionality and performance
Automatic Formatting of Code
automatically formats code in the right way, for example, automatically indenting code
Back-Up
a second copy of data that can be used to recover data in the vent of data loss
Back-Up Cycle
the frequency with which old breakups are overwritten by newer backups. These are used to restored lost data, most of which are time-dependent, therefore, old backups are of little use
Back-Up Server
a server on which to store backups
Binary File
stores data in non-human readable format
Black Box Testing
a test technique in which the test feeds specific pieces of data into a system, before looking for expected outcome
Branch
requests and independent line of development that stems from a central database
Break Point
causes the program to run up to a point and then pause, allowing for variable inspection
Check In
involves uploading a modified file after making changes locally
Check Out
refers to process by which a developer or user acquires a copy of a specific version of a file
Code Repository
these hold libraries of reusable code or data
CASE
Computer-Aided Software Engineering
the name given to a range of software tools that aid the design, development and testing of different types of software
Lower CASE
provides support in the later stages such as testing
Upper CASE
provide support for the early stages of the system’s development life cycle, providing support for stages such as design
Data Collision
where an algorithm generates the same storage location for more than one key value
Closed Addressing/Chaining
a key is always stored in the bucket it’s hashed to; collisions are dealt with using separate data structures on a per-bucket basis
Open Addressing/Linear Probing
the hash table is searched sequentially that starts from the original location of the hash; if the location is already occupied then we check for the next location
Data Dictionary
a collection of data and attributes about data elements that are being used in a database, describing the meanings and purpose of data elements within the projects context and provides guidance on interpretation
Double Buffering
where two buffers work simultaneously; whilst one buffer is being written to, the other is being written from
File
a data structure that is always stored on a device that is a collection of records
File Locking
mechanism that restricts access to a computer file, or to a region of a file, by allowing only one user or process to modify or delete it
File Processing
usually very repetitive, carried out at off-peak with little, if any, human intervention
File System Snapshot
a snapshot of your files at any point point in time, done using disk mirroring; subsequent snapshots store data blocks that have been changed or added
CDP
Continuous Data Protection
created in real-time, meaning each tiem a change is made, a snapshot is made and saved to snaphsot storage, enabling continuous capturing and tracking of data modififcations, automatically saving every version of the data, however it may have a negative impact on network performance and bandwidth
Clone/Mirroring
an identical copy of the entire volume of storage rather than snapshots of data, allowing easy data recovery, but the process is slow and requires huge storage space
Copy on Write
includes metadata to describe the blocks that have changed, making recovery almost instant, however they are performance intensive as they require three I/O operations for each write, one read and two writes
Redirect on Write
use pointers to reference snapshot-protected blocks, meaning the original copy contains the point-in-time snapshot data whilst the altered data is saved to the snapshot storage. Consumes fewer performance resources since each modified block generates a single I/O operation, however if a snapshot is deleted, recovery becomes complex
Full Backup
where everything is backed up every time, simple and easy to implement but takes a lot of time and is very expensive
Hashing Algorithm
used to calculate the location of a record, where, to find a record, pass the key to a hashing function, then the physical location of the record is returned; if files need to be reorganised, hashing algorithms are used to recreate the file
Folding Method
arrange numbers by size and put them into pairs, concatenate the pairs and find the sum of all the pairs, then mod the sum as a hash value
Hash Strings
apply a series of mathematical operations resulting in a fixed-length string of characters
Mid-Square Method
choose a random seed value, square the seed value and update it by a certain number of digits that occur in the square
Remainder Method
take the item, divide it by the table size, use the remainder as hash value
Incremental Backup
only backs up data that has changed and writes over older backups, useful as it saves storage space and is faster than full backup, but only allows the user to restore the most recent backup and recovery is most complex because you still need a full backup to apply incremental backups to
Indexed Sequential File
where records are stored in key field order, using an index structure to allow direct access to the data, very efficient for batch processing, allows faster access, but index takes up extra storage space and new records must be inserted into the correct place or overflow areas and indexes must be updated
Industrial Strength Backup
where one copy is kept online, one is kept offline, and one is kept online and offsite
Local Backup
where the backup is stored on the same machine as the main data source
Logical Backup
a backup that is stored in binary format, used to move or archive a database or verify database structures
Manual Testing
where a person manually tests programs for functionality and performance
Memory Protection
a way to control memory access rights to a computer, where RAM is set up so that, by default, it cannot access various pieces of data without causing a memory error so that two programs cannot use the same memory location
Mirror Back-up
a normal copy of the selected folders and files at a given instant in time; whilst mirror backups are very fast, they take a lot of storage and are not very secure
Multilevel File
where the top level contains the range of key fields stored and the location of the next level index; the next level index includes a range of key field and the location of the next index; the last index will contain the physical address of the record for each key field allowing us to find the data
Performance Testing
carried out to ensure that a system will be able to cope with the required workload
Physical Backup
a backup of all operating system files, used when you want to restore a database with minimal erros and data loss
Remote Backup
where the backup is stored on a separate location to the main data source
Roll-Back
allows software developers to undo changes made to a system and revert back to a previous version
Run-Time Diagnostics
this creates a virtual machine that emulates a system that the program is designed for when it’s not specifically designed for that platform
Screen Design Software
allows the design of screens
Sequential File
records are stored and accessed in key field order, used when all records need to be processed in one batch, eg bills and payrolls
Serial File
records are stored in no particular order so to find a record you must start at the beginning and read each record in turn until you find the target, meaning searches are slow
Shared Memory
where memory protection does not occur but may lead to memory corruption if it is not made read-only
Software Engineering
an engineering approach to software development and is the process of designing, developing, testing, and maintaining software systems, different to programming due to the focus on engineering, so a software engineer will involve more mathematic and scientific methods
Step Through
steps through program one statement at a time, allowing faults in program logic to be identified
Storage Snapshot
a collection of saved application data and a comprehensive log detailing how the saved data has changed over time, protecting an application’s data in real time, used in highly active systems where it is hard to find a convenient time to perform a full backup
Syntax Highlighting
displays code in different colours and fonts according to categories of terms
System Testing
often carried out by a specialist testing team, who will check that the system as a whole works as required. System testers will not usually be involved in the development of individual programs
Tagging Versions
allows developers to assign a label to a specific point in history, serving as a reference point
Text File
shares data in human readable format
Transaction File
files like bank records and meter readings where data is stored serially, which are easy to program and very efficient, but have slow search times when looking for single records
Unit Testing
often performed by the developer, and check that a program functions as required
Variable Watch
the act of observing a specific variable whilst the program runs, which the programmer can do whilst using variable inspection
Version Numbers
where previous versions are numbered in order to keep track of the current version
Warning Messages
allow early detection of issues such as unused variables optimising performance
Whitebox Testing
tester will feed data into a system that ensure that all path through the code are used and therefore testing
Wire-Framing Software
help map out the user experience, layout, and overall flow, streamlining the design process