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