Higher (old) Glossary – Software Development

GLOSSARY – SOFTWARE DEVELOPMENT

Head on over to quizlet to test your knowledge

 

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.

Leave a Reply

Your email address will not be published. Required fields are marked *