Glossary – Software Development | Computing Flashcards
Term
Description
Acceptance testing
Testing of software outside the development organisation and usually at the client site.
Adaptive maintenance
Takes place when a program’s environment changes, for example a different operating system.
Algorithm
A detailed sequence of steps which, when followed, will accomplish a task.
Alpha testing
Testing of software within the development organisation.
Beta testing
Testing of software outside the development organisation using clients or selected members of the public.
Bottom-up design
A method of program refinement that starts with individual modules and builds them up into a complete program.
Boundary testing
Running a program with test data that represents the extreme upper and lower values. Within this range the program should operate normally.
Bugs
A bug is a program error.
Bytecode
This is produced by JavaScript and is a form of machine code that runs under the Java virtual environment. The latter is freeware and enables any computer to run Java programs
Client
The person or group that initiates the development process by specifying a problem .
Compiler
A program that translates a complete high level language program into an independent machine code program.
Concatenation
Joining of Visual Basic string variables to make longer strings using the ’&’ operator.
Corrective maintenance
Correction of previously undetected errors during development that is now apparent after installation of the software on the client site.
COTS
Commercial Off The Shelf software. An alternative software development system that allows programmers to purchase ready-made software. Can be an expensive option.
Data
Unstructured information. A collection of numeric or alphanumeric characters which can be processed by a computer. Raw data is meaningless to people.
Database
An organised and structured collection of related data.
Data modeling
A process used in object oriented languages that identifies objects, how they relate to one another and their manipulation.
Debugging
The detection, location and removal of errors in a program.
Declarative language
Programmers use this type of language to specify what the problem is rather than how to solve it by writing code. The language uses facts and rules to express relationships.
Desk checking
Akin to a dry run where the running of a program is checked without a computer.
Development team
Generic description of the personnel involved in developing the software solution.
Dry run
A pen and paper exercise to debug a program.
Event driven
A system that responds to an external event such as mouse click or a key press.
Event driven language
An event driven language that is designed to handle external events like interrupts, mouse clicks etc
Exceptions testing
Testing the robustness of a program by entering silly data – character data instead of numeric data, excessive values etc.
Executable code
Independent machine code that can be run without translation.
Exhaustive testing
Complete testing of a program under every conceivable condition. An expensive method time-wise.
Explicit declaration
Each variable, for example is declared unambiguously by the user so there is much less room for error in running programs Visual basic.
Feedback
A looping system where information is fed back in to a computer system. Previous output becomes new input.
Fit for purpose
The finished program runs to specification and is robust and reliable.
Function
A block of code like a procedure but a value is returned when the function is used.
Functional language
A language that utilises the evaluation of expressions rather than the execution of commands. It is based on the use of functions from which new functions can be created.
Functional specification
This will detail how the developed program will behave under specified conditions.
General purpose language
The language can be used to program solutions covering a broad range of situations.
High-level language
A language designed to be easily understood by programmers. They use commands and instructions based on English words or phrases.
Human computer interface
Allows the program to interact with the outside world. The interface is the only part of the program that users see.
Implicit declaration
If a variable, for example is not fully declared by the user then it is given default attributes by the Visual Basic language.
Independent test group
Testing of software by a group out with the development team.
Inheritance
The sharing of characteristics between a class of object and a newly created sub class. This allows code re-use by extending an existing class.
Intermediate code
A form of compiled code that is specifically produced for a target computer.
Internal commentary
The use of comments within source code to describe what it does.
Internal documentation
The use of comments within source code to describe what it does.
Interpreter
A program that translates a high level program line by line, which it then tries to execute. No independent object code is produced.
Iterative
An iterative process is one that incorporates feedback and involves an element of repetition.
Jackson Structured Programming
A diagrammatic design method for small programs that focuses on sequence, selection and iteration.
Java
A language designed by Sun Microsystems. The language is portable because Java interpreters are available for a wide range of platforms.
Keyword
A reserved word with a special meaning in a computer language. For example for, if, dim in Visual Basic.
Legal contract
A contract set up between client and development team, the details of which are set out in the requirements specification which becomes legally binding should anything go wrong.
Lexical analysis
Part of the compilation process where the source code is tokenised into symbols and stored in the symbol table.
Linear search
A standard algorithm that perform a sequential search on a list of data items.
Machine code
Native computer code that can be understood without translation.
Macro
A block of code that automates a repetitive task. Rather like a batch file they are normally created within an application then run by activating a key press combination or clicking on an icon.
Maintenance
The upkeep of a program by repair and modification.
Methodology
A technique involving various notations that enables the design of software to be implemented.
Module library
A module library includes code for standard algorithms that can be re-used by programmers.
Normal operation
Running of a program under expected normal conditions.
Object
A data item that can be manipulated by a computer system, for example a database record or a file.
Object oriented design
A method that centres on objects and the operations that can be performed on them.
Object-oriented language
An object-oriented computer language like Java that uses objects rather than actions and data rather than logic. An object is represented by a class that can be extended to involve inheritance.
Optimised
Refinement of code to make it more efficient.
Parameter
An argument of a procedure or function that represents a local variable.
Parameter passing
The mechanism by which data is passed to and from procedures and the main program.
Perfective maintenance
Takes place when a system has to be enhanced in some way e.g. program run faster.
Portable
The ability of a program to run on different machine architectures with different operating systems.
Problem oriented
The focus is on the problem and how it is to be solved rather than on the hardware on which the program will run.
Problem specification
A document outline of what is to be solved in terms of programming a solution to a given problem.
Procedural language
Also known as imperative languages because the programs follow a sequence of steps until they terminate. The code is made up of procedures and functions.
Procedure
A block of code that, when called from within a program will perform a specific action.
Process
An activity that is performed by a piece of software,
Programming team
A section of the development team responsible for the coding, testing, implementation and maintenance of the software.
Project manager
A member of the development team who is responsible for the supervision of the project. The main tasks are to keep the project on schedule and within budget.
Pseudo-code
A notation combining natural language and code used to represent the detailed logic of a program i.e. algorithmic notation.
RAD
Rapid Application Development. An alternative software development model that uses event driven languages for its implementation.
Recursion
A programming technique that is iterative in that a procedure or function can call itself. It is very demanding of computer memory.
Reference parameter
Here the address of the actual parameter is accessed by the formal parameter. Information is passed OUT from the procedure to the main program.
Reliable
A program is reliable if it runs well and is never brought to a halt by a design flaw.
Repetition
A process that repeats itself a finite number of times or until a certain condition is met.
Requirements specification
A document describing what the system must be able to do in order to meet user requirements.
Robust
A program is robust if it can cope with problems that come from outside and are not of its own making.
Scripting language
Used for writing small programs or scripts that enhances existing software. The best example is JavaScript which is used to enhance web pages.
Semantics
Semantics is the meaning of a statement in a given language.
Simulation
Replication of a process by computer that would not be possible to do manually. For example studying the projected traffic analysis of an airport or throwing a die many hundreds of times.
Software development environment
The high level language programming environment that offers tools and techniques to design and implement a software solution.
Software development process
A series of stages involving defined methods to produce a software project according to an initial specification.
Software engineering
A sphere of computing where the emphasis is on the development of high quality, cost effective software produced on schedule and within agreed costs.
Source code
The code for a program written in a high level language. This code is then translated into machine code.
Special purpose language
Languages designed for specific tasks such as prolog for artificial intelligence or C for writing operating systems.
Specification
A document outlining the program requirements set by the client.
SSADM
Structured Analysis and Design Model. An alternative to the waterfall model that deals only with the analysis and design phases of software development.
Standard algorithm
An algorithm that appears over and over again in many programs. Also called common algorithms.
Stepwise refinement
Similar to top-down design of sectioning a large and complex system into smaller and more easily manageable components.
Structure charts
A diagrammatic method of designing a solution to solve a software problem.
Structured data
Data that is organised in some way, for example an array or database.
Structured listing
Program listing clearly showing the modules involved complete with commentary and meaningful variable and procedure names.
Stub
A temporary addition to a program used to assist with the testing process.
Symbol table
Part of the compilation process where the tokens created by the lexical analysis phase are stored.
Syntax
Syntax means structure or grammar of a statement in a given language
Systems analyst
The person responsible for analysing and determining whether a task is suitable for pursuit using a computer. They are also responsible for the design of the computer systems.
Systems developer
Another name for a systems analyst.
Systems specification
An indication of the hardware and software required to run the developed program effectively. It will be the basis of subsequent stages which prepare a working program.
Technical guide
Documentation intended for people using a system containing information on how to install software and details system requirements such as processor, memory and backing storage.
Test data
Data that is used to test whether software works properly and that it is reliable and robust.
Testing
Running a program with test data to ensure a program is reliable and robust.
Test log
A record of how a program responds to various inputs.
Test plan
A strategy that involves testing software under verifying conditions and inputs.
Top-down design
A design approach of sectioning a large and complex system into smaller and more easily manageable components.
Trace facility
A method used to debug a program by tracing the change in values of the variables as the program is run.
Traditional model
An alternative name for the waterfall model that details the seven stages of program development.
Unusual user activity
Running a program with exceptional data.
User guide
A document intended for people using a system containing information on how to use the software.
Value parameter
Here a copy of the actual parameter is passed in to the formal parameter. Information is passed IN to the procedure form the main program.
Waterfall model
One of the earliest models for software development that incorporates 7 stages from analysis to implementation and maintenance.