Software Design and Development
- Created by: Eilidh123
- Created on: 02-04-16 10:44
Acceptance Testing
Name given to the final testing before release - also known as Beta Testing
Accessibility
An assessment of how a program interface may be changed to suit needs of special users. E.g. increasing the contrast, text size or colour scheme or non-screen outputs (e.g. speed synthesis) for visually impared users. Adding 'sticky keys' or non-keyboard inputs (e.g. speech recognition) or allowing a program to use non-standard keyboards fr physical impairments.
Actual Parameter
Variable name (or value) that is used when the sub-program is called into use by the program code.
Agile Methodology
A design methodology that involves interaction with the client at all stages of development. Different groups will work on different areas of a program. Each day will start by the group leaders telling the others of their progress on the previous day and what they will expect to complete that day. It is left to the individual groups to produce their own designs for their assigned task. If a member has an idea they may test it out by building a prototype and putting it to the other groups This allows programs to develop and change as they are built, but within the overall program specification. Often used with rapid application development, especially in the producion of computer games software.
Analysis
The process of identifying the details of a program - its inputs, outputs and processes required.
Array
A set of values grouped under a single name. Each value is held in an element of the array and can be accessed using the name of the array and the index number for the element. In some languages the values of the elements must all be of the same type.
Bit-mapped Graphic
each pixel is stored in memory as a bit or a group of bits. The number of bits used to store the pixel determines the number of colours.
Boolean
A variable that can only hold the vaues of either True or False.
Breakpoint
A marker can be added to a line of code so that when a running program reaches the marker the program will stop and allow the tester to examine (and in some cases change) the values of variables at that point. From there the tester may step, line by line through the running progam, observing what is happening or may continue to the end or to the next breakpoint.
Cache Memory
The cache is either on a seperate chip with a connecting bus to the processor or it is located on the same chip as the processor. This reduces the need to access slower main memory. Fast access cache memory can improve the speed of execution of a program. The amount of cache is an important factor if performance is a key issue. Frequently accessed data/instructions are held in cache.
Closing a Sequential File
Closing a file indicates that the file will no longer be used by the program to read and write data to it. Files should always be closed when reading and writing is finished otherwise if the computer crashes then any file still 'open' may be corrupted.
Compiled Program
When each line of a program written in a high-level language is converted to a low-level language and all of the low-level commands created saved to a separate executable file, the program is said to be compiled. The resulting executable file of low-level commands is then run. While running no more code needs to be transated, so the original high-level commands and the complier program do not need to be present, this makes the code run fast, but if there is an execution error, then this can be difficult to find.
Comprehensive Testing
Comprehensive testing involves testing that all parts of a program are working producing the expeted output from given inputs - but this does not mean that all possible values are entered - that would be exhaustive testing, which is for most programs is impractical.
Counting Occurrences
Algorithm for program code that accepts a value and then compares it to the value of each elemet held in an array and counts the number of times the value is present in the array.
Create a Sequential File
Algorithm for program code that, given a file name, will create a file on storage and prepare it for writing. If the file already exists, then creating a new one will delete the old one.
Declarative Language
Declarative languages consist of commands that tell the computer what it wants to achieve, but not how to do it. It consists as a large knowledge base of facts and rules that can be queried.
Design
The process of turning an analysis into a solution to a problem.
Documentation
The collection of the materials that make up the Technical Guide (the analysis, design, implementation, (program code) testing carried out) along with the User Guide (instructions fo the user to install and use the program.)
Dry Run
Dry runs are carried out using 'pencil and paper' without the program running.
Evaluation
A commentary on how well the finised program meets its analysis and design criteira i.e is it "fit for purpose?" - is it reliable (produces the expected result for any given normal or extreme data input), robust (doesnt crash when given exceptional input or has any execution errors), is effiecient (makes minimum demands on the operating system when running) etc ."Fit for purpose" - is suitable for its intended users in terms of age-range and accessibility.
Execution Error
An error that occurs wile a program is running and causes the program to crash.
Finding the max/min
Algorithm for program code that tests the value of each element in an array to find the largest/smallest value held in the array. The code will return the largest/ smallest value held (and the position of the largest value in the array.)
FPR
Floating Point Representaion. Used to represent real numbers by storing a mantissa and an exponent. The more bits assigned to the mantissa the more accurate the number, the more bits assined to the expoenent the greater the range of numbers.
Formal Parameter
A formal paraeter is the variable name that is used when the sub-program is defined in the program.
Function
A sub-program that can recieve multiple inputs, carries out a sequence of commands and always returns a single value to the code that called it.
Global Variable
A global variable is recognised and can be used by both the main program and any sub-programs within the program code.
Implementation
The process of turning a design into a working program by writing the program code.
Independent Test Team
Programmers who have not been involved in writing the code test the program without showing any bias.
Input Validation
Algorithm for program code that takes in an input, checks if it makes sense; if it does the input is passed back to the calling code in the program, if not then the user is prompted to try to re-enter their data with values that makes sense.
Interface
An electronic circuit that is used to compensate for differences in operating characteristics between a peripheral and the processor.
Interpreted Program
A line of code in a high-level language program is translated into low-level commands and these commands are executed, before the next line is translated and executed. The tranlated code is not saved so the original high-level program and the interpreter program must be present all of the time the program is running, this slows the execution down, but if there is a problem with the code then the translation will stop at the line where the probelm is found, making it easer to debug.
Iteration
The process of repeating a previous stage in the light of new information.
Linear Search
Algotrithm for program code that is used to test if a specified value is present in a set of values held in an array by comparing the specified value to each element in the aray, one by one in turn until it is found or the end of the array is reached. The code will either confirm the fact that there was a match and/or the position of the match in the array or say no match was found.
Local Variable
With a local variable, the scope will only be within the sub-program in which it was defined. The same variable names can thus be used in sub-programs without interfering with each other.
Logic Errors
A program with a logic error will run without crashing, but for a given input, will not produce the expected output e.g. using an incorrect formula.
Maintenance
Making changes to the code after it is completed and in use - corrective, adaptive and perfective.
Object-oriented Language
Every object-oriented program is made up of 'objects' such as windows, buttons, text-boxes, etc. Each object will be assigned properties to make its state and also sub-programs called methods which carry out some function for the object that determines its behaviour. There is no fixed entry point or path through a program for a particular piece of data.
Object
All objects have a state (data) and behaviour (operations). The data can also be called attributes. Operations are sometimes called methods.
Online System
A program that is designed to be permanently connected to the internet and be capable of recieving instructions and collecting and sending data over the world wide web using internet protocols e.g. online banking/shopping, facebook, twitter, ect.
Opening a Sequential File
Algorithm for program code that given a file name, prepares it for reading or writing.
Parameter
A parameter is a value that is passed into or out of a sub-program.
Pass by Reference
When a value of a variable is pased by reference then it is the address in memory of the variable that is passed to the sub-program. Any changes made to the value of the variable by the actions of the sub-program are also made to the the value of the variable outside of the sub-program.
Pass by Value
When a parameter is passed by value to a sub-program, a copy is made of the value and this copy is used by the sub-program, so the value of the variable outside of the sub-program is not changed by the actions of the sub-program.
Procedural Language
A procedural language is a type of imperative language that is made up of commands that tell the processor what to do - every program written in a procedural langage has a definite entry point and path through the program for a given set of data. The program itself may be divided up into a sub-programs to make the code more readable and to allow subprograms to be re-used by different parts of the program.
Procedure
A sub-program that can recieve mulitple inputs, carry out a sequence of commands and return no values or multiple values to the code that called it.
Pseudocode
A step by step description of solution written using plain English. Often used for the detailed planning or step-wise refinement of an individual module rather than for a whole program. Although the pseudocde is not language specific, ideally, each line in the pseudocode should be capable of converting into a single line in the programming language.
RAM
Random Access Memory- This is the principle storage for programs and data when they are in use. The contents of RAM may be changed at any time. Reading the contents leaves the contents unchnged, but writing, will always overwrite the current contents with new contents.
RAD
A development methodology whose aim is to bring a working program to market in as short a time as possible. It does this by identifying the principle elements of the program and producing a prototype with just these elements first and released onto the market. Functionality may be compromised. Additional features are then incorporated and released as a series of updates to the original program - commonly used to produce 'apps' for mobile devices.
Reading a Sequential File
Algorothm for program code to read the data held in a file on storage. The values are read back in the same order as they were originally written.
ROM
Read Only Memory - A type of memory where the contents are set when the memory device is manufactured. Although the contents can be read, they cannot be changed - permanent or non-volatile memory. Versions of ROM are available that come blank and can then be programmed (PROM), or able to be erased at some point and reprogrammed (EPROM or EEPROM).
Scope
The scope of a variable refers to how widely the variable will be recognised by sections of code in a program.
Sequential File
In a sequential file data is stored on the backing store in the same oder as it is written, similarly it is read back into memory in the same oredr as it was written.
SD Enviroment
The package that is used to create new programs. This may consist of a code editor, an interface builder, a translator (interpreter or compiler), debugging software and documenting software.
SD Language
A particular set of commands, data types, structures and syntax that are used to create a program.
Software Specification
A legally binding document that outlines in a clear and unambiguous manner exactly what input, processes and outputs the software will have.
String
A sequence of characters
Structure Chart
A graphical design format which is used for top-down/stepwise refinement in which a problem is broke down into modules, which in turn are broken down into smaller modules. Structured diagrams are useful when designing the overall structure of the program to see how all of the parts go together and how data can move between the different modules. In large progrms the individual modules can be distributed to different programmers to write the code.
Sub-program
A named section of code that can recieve its own inputs and returns its own outputs. This allows the sub-program to be re-used within a program at different points in the program code.
Syntax Error
A mistake in how a program command is formed - possibly a spelling error in the command name, or incorrect punctuation, or the items in the command are in the wrong order.. Syntax errors are dectected by both interpreters and compilers before the line is translated into machine code.
Test Plan
A systemtic approach to test a program chcking the expected outputs result from given inputs. With numeric inputs this should include values that are normal, extreme and exceptional. Where a calculation is involved it should check the outcome against the expected outcome of known inputs.
Top-down Design with Stepwise Refinement
A development methodology that involves extensive analysis and design for the whole program. The problem is then broken down into sub-problems, which in turn are broken down again and again into simpler problems until the level of individual procedures or functions is reached.
Trace Table
A trace table is a record of a dry run test. As values of variables change in the course of a program executing they are recorded in a table. If the results are different from the expected results then the table can be used to backtrack through the program to find where it went wrong.
Vector Graphic
When each object is stored in memory by a list of its attributes
Wire-framming
A line drawing of a user interface for a program or information system. It may be a rough diagram showing the approxiamte position of the major components: text boxes, buttons, etc. or it may be detailed, specifying the exact size and position of each component that will appear in the user interfcae.
Writing a Sequential File
Algorithm for program code that transfers data to a storage medium.
Comments
Report
Report
Report
Report
Report
Report
Report
Report
Report