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. |