Computing Higher Software Development Glossary
Terms
undefined, object
copy deck
- Structured listing
- Program listing clearly showing the modules involved complete with commentary and meaningful variable and procedure names.
- Software development environment
- The high level language programming environment that offers tools and techniques to design and implement a software solution.
- Parameter
- An argument of a procedure or function that represents a local variable.
- 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.
- Problem specification
- A document outline of what is to be solved in terms of programming a solution to a given problem.
- Object
- A data item that can be manipulated by a computer system, for example a database record or a file.
- Traditional model
- An alternative name for the waterfall model that details the seven stages of program development.
- Jackson Structured Programming
- A diagrammatic design method for small programs that focuses on sequence, selection and iteration.
- Acceptance testing
- Testing of software outside the development organisation and usually at the client site.
- Software development process
- A series of stages involving defined methods to produce a software project according to an initial specification.
- Boundary testing
- Running a program with test data that represents the extreme upper and lower values. Within this range the program should operate normally.
- Functional specification
- This will detail how the developed program will behave under specified conditions.
- Syntax
- Syntax means structure or grammar of a statement in a given language
- Optimised
- Refinement of code to make it more efficient.
- Testing
- Running a program with test data to ensure a program is reliable and robust.
- Event driven
- A system that responds to an external event such as mouse click or a key press.
- Internal documentation
- The use of comments within source code to describe what it does.
- 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.
- Trace facility
- A method used to debug a program by tracing the change in values of the variables as the program is run.
- Lexical analysis
- Part of the compilation process where the source code is tokenised into symbols and stored in the symbol table.
- 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.
- Module library
- A module library includes code for standard algorithms that can be re-used by programmers.
- Database
- An organised and structured collection of related data.
- 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.
- 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.
- 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.
- Development team
- Generic description of the personnel involved in developing the software solution.
- Parameter passing
- The mechanism by which data is passed to and from procedures and the main program.
- Test plan
- A strategy that involves testing software under verifying conditions and inputs.
- Portable
- The ability of a program to run on different machine architectures with different operating systems.
- Desk checking
- Akin to a dry run where the running of a program is checked without a computer.
- 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.
- Special purpose language
- Languages designed for specific tasks such as prolog for artificial intelligence or C for writing operating systems.
- Bottom-up design
- A method of program refinement that starts with individual modules and builds them up into a complete program.
- Process
- An activity that is performed by a piece of software,
- Java
- A language designed by Sun Microsystems. The language is portable because Java interpreters are available for a wide range of platforms.
- Procedure
- A block of code that, when called from within a program will perform a specific action.
- Test log
- A record of how a program responds to various inputs.
- 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.
- General purpose language
- The language can be used to program solutions covering a broad range of situations.
- Interpreter
- A program that translates a high level program line by line, which it then tries to execute. No independent object code is produced.
- Event driven language
- An event driven language that is designed to handle external events like interrupts, mouse clicks etc
- Human computer interface
- Allows the program to interact with the outside world. The interface is the only part of the program that users see.
- Concatenation
- Joining of Visual Basic string variables to make longer strings using the '&' operator.
- Function
- A block of code like a procedure but a value is returned when the function is used.
- Specification
- A document outlining the program requirements set by the client.
- Test data
- Data that is used to test whether software works properly and that it is reliable and robust.
- Compiler
- A program that translates a complete high level language program into an independent machine code program.
- Feedback
- A looping system where information is fed back in to a computer system. Previous output becomes new input.
- 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.
- Maintenance
- The upkeep of a program by repair and modification.
- 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.
- Pseudo-code
- A notation combining natural language and code used to represent the detailed logic of a program i.e. algorithmic notation.
- Alpha testing
- Testing of software within the development organisation.
- Methodology
- A technique involving various notations that enables the design of software to be implemented.
- Stepwise refinement
- Similar to top-down design of sectioning a large and complex system into smaller and more easily manageable components.
- Repetition
- A process that repeats itself a finite number of times or until a certain condition is met.
- Machine code
- Native computer code that can be understood without translation.
- 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.
- Unusual user activity
- Running a program with exceptional data.
- Exhaustive testing
- Complete testing of a program under every conceivable condition. An expensive method time-wise.
- Structured data
- Data that is organised in some way, for example an array or database.
- Standard algorithm
- An algorithm that appears over and over again in many programs. Also called common algorithms.
- Internal commentary
- The use of comments within source code to describe what it does.
- Intermediate code
- A form of compiled code that is specifically produced for a target computer.
- 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.
- Top-down design
- A design approach of sectioning a large and complex system into smaller and more easily manageable components.
- 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.
- Source code
- The code for a program written in a high level language. This code is then translated into machine code.
- Client
- The person or group that initiates the development process by specifying a problem .
- Reliable
- A program is reliable if it runs well and is never brought to a halt by a design flaw.
- Object oriented design
- A method that centres on objects and the operations that can be performed on them.
- Normal operation
- Running of a program under expected normal conditions.
- Corrective maintenance
- Correction of previously undetected errors during development that is now apparent after installation of the software on the client site.
- 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.
- 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
- Programming team
- A section of the development team responsible for the coding, testing, implementation and maintenance of the software.
- RAD
- Rapid Application Development. An alternative software development model that uses event driven languages for its implementation.
- 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.
- Data
- Unstructured information. A collection of numeric or alphanumeric characters which can be processed by a computer. Raw data is meaningless to people.
- Semantics
- Semantics is the meaning of a statement in a given language.
- Debugging
- The detection, location and removal of errors in a program.
- Executable code
- Independent machine code that can be run without translation.
- High-level language
- A language designed to be easily understood by programmers. They use commands and instructions based on English words or phrases.
- 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.
- Independent test group
- Testing of software by a group out with the development team.
- Stub
- A temporary addition to a program used to assist with the testing process.
- Perfective maintenance
- Takes place when a system has to be enhanced in some way e.g. program run faster.
- Recursion
- A programming technique that is iterative in that a procedure or function can call itself. It is very demanding of computer memory.
- 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.
- Data modeling
- A process used in object oriented languages that identifies objects, how they relate to one another and their manipulation.
- Keyword
- A reserved word with a special meaning in a computer language. For example for, if, dim in Visual Basic.
- Fit for purpose
- The finished program runs to specification and is robust and reliable.
- SSADM
- Structured Analysis and Design Model. An alternative to the waterfall model that deals only with the analysis and design phases of software development.
- Systems developer
- Another name for a systems analyst.
- Waterfall model
- One of the earliest models for software development that incorporates 7 stages from analysis to implementation and maintenance.
- Algorithm
- A detailed sequence of steps which, when followed, will accomplish a task.
- Exceptions testing
- Testing the robustness of a program by entering silly data - character data instead of numeric data, excessive values etc.
- Symbol table
- Part of the compilation process where the tokens created by the lexical analysis phase are stored.
- Structure charts
- A diagrammatic method of designing a solution to solve a software problem.
- 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.
- 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.
- Linear search
- A standard algorithm that perform a sequential search on a list of data items.
- Bugs
- A bug is a program error.
- User guide
- A document intended for people using a system containing information on how to use the software.
- 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.
- Iterative
- An iterative process is one that incorporates feedback and involves an element of repetition.
- Dry run
- A pen and paper exercise to debug a program.
- Beta testing
- Testing of software outside the development organisation using clients or selected members of the public.
- Adaptive maintenance
- Takes place when a program's environment changes, for example a different operating system.