Term
|
Definition
Defining and understanding Planning and DEsigning Implementing Testing and evaluating Maintaining |
|
|
Term
N O B Needs Objectives Boundaries |
|
Definition
Needs: essential part of the software expressed in general terms Objectives: measurable outcomes for a project based on user requirements Boundaries: the limits and borders that need to be set before project is undertaken |
|
|
Term
|
Definition
a seperate block of instructions that perform a well defined task. it can pass data to and from other modules |
|
|
Term
|
Definition
a value or variable passed to a function or procedure. aka, argument |
|
|
Term
|
Definition
a complete portion of a larger program. data and values can be passes between modules |
|
|
Term
|
Definition
a circle in a DFD, used to show where data is processed |
|
|
Term
|
Definition
a set of agreed actions to be carried out to complete a task |
|
|
Term
|
Definition
a box in DFD, used ti show output or input of data form another system or person
|
|
|
Term
|
Definition
|
|
Term
|
Definition
a value that is passed to a routine (part in brackets after the routine |
|
|
Term
|
Definition
a predefined set of operations which return a value (smaller then a module) |
|
|
Term
|
Definition
a number that is determined entirely by chance |
|
|
Term
|
Definition
the first number that is put into a random numbger generator, usually using the system clock of the computer |
|
|
Term
|
Definition
the creation of a diagram of the system in order to understand it |
|
|
Term
|
Definition
a structures datatype for a frequently used operation that comes with software e.g. random number |
|
|
Term
|
Definition
a sub program for a frequently used operation that comes with software e.g. random number |
|
|
Term
|
Definition
values that determine a choice in an algorithm e.g >16, 16 is the boundary value |
|
|
Term
|
Definition
a structured data type consisting of rows and columns |
|
|
Term
|
Definition
a small part of a program that performs a specific task |
|
|
Term
|
Definition
a debugged routine that is maintained in a program library |
|
|
Term
|
Definition
breaks up a general task into a series of more detailed subtasks |
|
|
Term
|
Definition
problem is broken up into several functions, which can be run simultaneously on different processors |
|
|
Term
|
Definition
Whether a project is woth doing, TOESS |
|
|
Term
|
Definition
A limitation of the project e.g. time or budget |
|
|
Term
|
Definition
how much money is needed and whether it is available |
|
|
Term
|
Definition
whether the skills are available to complete project or whether it meets the organisation's |
|
|
Term
|
Definition
Whether the project can be done in the available time |
|
|
Term
|
Definition
More than one solution to a problem with advantages and disadvantages for each |
|
|
Term
|
Definition
Sending an e mail to a user falsely claiming to be an established legitimate enterprise in an attempt to scam the user into surrendering private information that will be used for identity theft. |
|
|
Term
|
Definition
the theft of intellectual property by the copyright or use of software to which the user had no legal rights |
|
|
Term
Social and Ethical Issues |
|
Definition
Social issues are ones that impact on people or society, ethical issues are wheter it is right or wrong |
|
|
Term
|
Definition
compensation, usually a portion of the proceeds paid to the author for the use of a work |
|
|
Term
|
Definition
the study of the relationships between people and their work environment |
|
|
Term
|
Definition
Strengths, Weaknesses, Opportunities, Threats |
|
|
Term
|
Definition
the moral principle accepted by society as a standard against which individuals can be judged |
|
|
Term
|
Definition
intellectual property plagiarism shareware public domain ownership copyright laws reverse engineering decompilation license conditions network use |
|
|
Term
|
Definition
property resulting from the fruits of manual labor |
|
|
Term
|
Definition
the appropriation or imitating of another’s ideas. Violation copyright. |
|
|
Term
|
Definition
software that is free of charge, however the manufacturer expects a donation (money) |
|
|
Term
|
Definition
software available due to copyright holder relinquishing all rights to software |
|
|
Term
|
Definition
the legal right to produce or reproduce a piece of work (software) |
|
|
Term
|
Definition
analysing an existing systen to identify its components and their interrelationships to allow the creation of a new system |
|
|
Term
|
Definition
a legal document giving official permission to do something |
|
|
Term
|
Definition
an agreement between the manufacturer and the purchaser of software that gives the purchaser the right to use the software |
|
|
Term
|
Definition
a system that allows a number of computers and their peripheral devices to be connected over a distance |
|
|
Term
|
Definition
conversion of executable machine code into assembler code so that it is easily understood by humans |
|
|
Term
|
Definition
software that can be distributed freely as long as distribution is not for profit |
|
|
Term
|
Definition
open source refers to any program whose source code is made available for use or modification as users or other developers see fit |
|
|
Term
|
Definition
compilation incremental compilation interpretation |
|
|
Term
|
Definition
the conversion of source code into object code so that it can be understood by the computer |
|
|
Term
|
Definition
COmplete translation of source code into object code |
|
|
Term
|
Definition
some parts of source code are compiled and some parts are translated line by line |
|
|
Term
|
Definition
the translation line by line into object code to be executed immediately |
|
|
Term
|
Definition
machin readable code e.g. 101110 |
|
|
Term
|
Definition
Code written in a high level language e.g. IF, THEN, ELSE (understood by humans) |
|
|
Term
|
Definition
places in the code which cause a halt in execution, usually providing the line number |
|
|
Term
resetting the variable contents |
|
Definition
changing the value of variables to known values |
|
|
Term
|
Definition
tracking some aspect of the software |
|
|
Term
|
Definition
the source code executes one line at a time and waits for the programmer to indicate when to execute the next line |
|
|
Term
Rights and responsibilities |
|
Definition
authorship reliability quality response to problems code of conduct viruses |
|
|
Term
|
Definition
the original creator of work |
|
|
Term
|
Definition
the expectations that the software will perform its stated task efficiently and without error |
|
|
Term
|
Definition
final quality of product must meet with users' expectations |
|
|
Term
|
Definition
set of procedure used to certify tht a generated product meets specified criteria with respect to quality and reliability |
|
|
Term
|
Definition
developers must respond to problems quickly and efficently levels of problems critical - financial loss majoe - operations but difficultwork around available (3months) normal - operation but workaround available( 6 months) cosmetic - does not affec toperation of software |
|
|
Term
|
Definition
an unauthorised piece of programming code that causes unexpected results |
|
|
Term
|
Definition
direct cut over parallel phased pilot |
|
|
Term
|
Definition
the immediate implementation of a new system without taking immediate steps |
|
|
Term
|
Definition
implementing and operating the new system alongside the current old system (working side by side) |
|
|
Term
|
Definition
the gradual implementation of the old system witht the new system |
|
|
Term
|
Definition
When the new system is fully installed but only used for some of the operations as the old system is still in use |
|
|
Term
|
Definition
one logical task per routine stubs flags isolation of errors debugging output statements elegance of solution writing for subsequent maintenance |
|
|
Term
|
Definition
breakpoints resetting variable contents program traces single line stepping |
|
|
Term
one logical task per subroutine |
|
Definition
ensuring each sub rooutine contains only one logical task |
|
|
Term
|
Definition
a small module used in place of a yet to be coded subroutine |
|
|
Term
|
Definition
a marker placed in the code to signal a change in status. Flags are usually boolean that record whether a condition has been met |
|
|
Term
|
Definition
isolating errors by enhanced use of program traces, setting break points and 'commenting out' sections of the code |
|
|
Term
debugging output statements |
|
Definition
temporary lines of code added to a program or module to display the value of variables at strategic places in the program |
|
|
Term
|
Definition
an elegant solutinon should be efficent in its use of resources and data structures |
|
|
Term
writing for subsequent maintenance |
|
Definition
by having a well structured and documented program makes maintenance is much simpler |
|
|
Term
Detecting and correcting errors |
|
Definition
syntax errors logic errors peer checking desk checking use of expected output runtime errors |
|
|
Term
|
Definition
an error of language resulting from code that does not conform to the syntax of the programming language |
|
|
Term
|
Definition
a logic error is a bug in the program that causes it to operate incorrectly but it will not cause the program to stop working |
|
|
Term
|
Definition
when programmers not involved with the original design are asked to check the logic of an algorithm or program |
|
|
Term
|
Definition
pre determined test data passed manually through the algorithm/source code and this output is compared to the expected output |
|
|
Term
|
Definition
a process manually checking the logic of an algorithm usiong test data |
|
|
Term
|
Definition
inputting the expected variable values manually to test whether the program manipulates that data correctly |
|
|
Term
|
Definition
occur as the object code is being executed. due to error in logic arithmetic overflow division by zero accessing inappropriate memory locations |
|
|
Term
|
Definition
result cannot be stored in nominated memory location due to incorrect use of data types and structure |
|
|
Term
|
Definition
when an undefined arithmetic operation is carried out, usually when program attempts to divide by zero |
|
|
Term
accessing inappropriate memory locations |
|
Definition
if inappropriate memory locations are accessed |
|
|
Term
|
Definition
linear searching binary searching |
|
|
Term
|
Definition
a sequential searh through a data set, where all preceding values must be checked before the item is found |
|
|
Term
|
Definition
an algorithm used to search a set of structured data for a target until the target is either found or shown to be absent |
|
|
Term
|
Definition
Search a sorted array by repeatedly dividing the search interval in half and determining which part the item is most likely to be in |
|
|
Term
|
Definition
bubble sort insertion sort selection sort |
|
|
Term
|
Definition
data elements are are compared in paoirs and the larger of the lements moves towards the end of the array |
|
|
Term
|
Definition
inserting each item in the proper place into an initially empty list by comparing it with each item in the list until it finds the new items successor or the end of the list. |
|
|
Term
|
Definition
used for small list. It starts by comparing the entire list for the lowest item and moves it to the #1 position. It then compares the rest of the list for the next-lowest item and places it in the #2 position and so on until all items are in the required order. |
|
|
Term
|
Definition
outsourcing popular approachespopular languages employment trends networked software customised off the shelf packages |
|
|
Term
|
Definition
contracting work to outside developers, often specialist in their field |
|
|
Term
|
Definition
from process orientated to data orientated and then object orientated. data orientated: use of logical and abstract data types object orientated: allows data abstraction, encapsulation and inhertience, accomadates code reuse CASE tools |
|
|
Term
|
Definition
most code written in 3rd generation growing use of 4th generation e.g. visual basic, visual c++, and delphi, increase programmer productivity |
|
|
Term
|
Definition
many jobs for programmers with knowledge of object orientated languages e.g. java, c++ visual basic contract work like outsourcing rather than full time employement |
|
|
Term
|
Definition
networks of computers esp. internet created a new and growing environment for software developers. |
|
|
Term
customised off the shelf packages |
|
Definition
software that can be purchased and modified to suit particular needs e.g. microsoft office cost effective, high quality and reliable upgradeable |
|
|
Term
|
Definition
Computer aided software engineering tools software systems which enable software developers to automate many aspects of the process of software development software versions data dictionary test data production of documentation |
|
|
Term
|
Definition
allows teams of developers to collaberate and track the changes made to a program, old versions can easily be restored |
|
|
Term
|
Definition
CASE tools used to generate test data for testing a coded solution used to test many/all of the possible data paths |
|
|
Term
production of documentation |
|
Definition
CASE tools can be used for both internal and external documentation CASE tools available for creation diagrams and generate both online and offline user manuals |
|
|
Term
|
Definition
simple data types integer real/floating point character boolean structure data types string one dimensional array multi dimensional array simple record array of records files |
|
|
Term
|
Definition
whole numbers only 1 5874 541 32045 |
|
|
Term
|
Definition
positive or negative numbers with decimal places eg -0.21458 6543.26589 |
|
|
Term
|
Definition
and alphanumeric character or sumbol eg shannon17 |
|
|
Term
|
Definition
two values e.g. true/false yes/no |
|
|
Term
|
Definition
an array of characters used to form words |
|
|
Term
|
Definition
data of same type accessed by index |
|
|
Term
|
Definition
data of same type accessed by co ordinate |
|
|
Term
|
Definition
data of different types in no structured order |
|
|
Term
|
Definition
data of different types accessed by index/co ordinate |
|
|
Term
|
Definition
|
|
Term
|
Definition
IPO diagram storyboards system flow charts screen designs consideration of use of limited prototype |
|
|
Term
|
Definition
Inputs Processes and Outputs a chart showing the data entering the system, calculations and the data that leaves the system |
|
|
Term
|
Definition
an annotated sequence of rough drawings to represent the possible sequence in a proposed application |
|
|
Term
|
Definition
A diagram which shows the path of data through a system. Used for showing relationships between processes |
|
|
Term
|
Definition
used to describe logic and flow of data rectangle = process diamond = decision rhombus = input/output |
|
|
Term
consideration of use of a limited prototype |
|
Definition
allows user to give feedback about program's design before it is actually madeand gives user and idea of how the final program will look |
|
|
Term
|
Definition
structured prototyping rapid application development end user combination |
|
|
Term
|
Definition
clearly defined steps, follows the the software development cycle used in large scale projects with a high budget and alot of time |
|
|
Term
|
Definition
design by creating and refining a prototype through user feedback improved communication wiht the end user used in small scale low budget projects |
|
|
Term
rapid applications development |
|
Definition
use of CASE tools lack of formal stages focused of reusable code constant communication between developers and end user implements the modification of COTS |
|
|
Term
|
Definition
person operating the software develops it themselves lack of formal stages small scale and low budget involves the modification of COTS |
|
|
Term
|
Definition
|
|
Term
|
Definition
text based metalanguage to describe the syntax of a language (typrwriter friendly) non terminal symbols are defined elsewhere and are enclosed in < > e.g. letter:: = A / B / C :: is defined as / or variable ::== <letter> ord::== <letter> <word>/<letter> |
|
|
Term
Extended Backus Naur Form |
|
Definition
improved version of BNF iinstead of ::== for defining it uses = allows repitition by using {} 0 or more repeats grouped elements are ( ) letter = A/B/C variable = <letter> word = <letter> { <letter>} |
|
|
Term
|
Definition
a grapical method of representing the syntax of a language consists of rectangles, circles and lines circle is terminal (used as it appears) rectangle non terminal(defined elsewhere) |
|
|