Shared Flashcard Set

Details

Software
Year 12 Half Yearly's
136
Computer Science
12th Grade
04/27/2008

Additional Computer Science Flashcards

 


 

Cards

Term
Stages Of SDD cycle
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
function/subroutine
Definition

a seperate block of instructions that perform a well defined task.  it can pass data to and from other modules

Term
parameter
Definition
a value or variable passed to a function or procedure.  aka, argument
Term
module
Definition
a complete portion of a larger program.  data and values can be passes between modules
Term
Process
Definition
a circle in a DFD, used to show where data is processed
Term
Procedure
Definition
a set of agreed actions to be carried out to complete a task
Term
Entity
Definition

a box in DFD, used ti show output or input of data form another system or person

Term
Calling
Definition
executng a subroutine
Term
Parameter
Definition
a value that is passed to a routine (part in brackets after the routine 
Term
Function
Definition
a predefined set of operations which return a value (smaller then a module)
Term
Random number
Definition
a number that is determined entirely by chance
Term

Initial seed

Definition
the first number that is put into a random numbger generator, usually using the system clock of the computer
Term

Modelling

Definition
the creation of a diagram of the system in order to understand it
Term
Array
Definition
a structures datatype for a frequently used operation that comes with software e.g. random number
Term
Built in function
Definition
a sub program for a frequently used operation that comes with software e.g. random number
Term
Boundary values
Definition
values that determine a choice in an algorithm e.g >16, 16 is the boundary value
Term
2D array
Definition
a structured data type consisting of rows and columns
Term
Module
Definition
a small part of a program that performs a specific task
Term
Library routine
Definition
a debugged routine that is maintained in a program library
Term
Top-down design
Definition
breaks up a general task into a series of more detailed subtasks
Term
Functional decomposition
Definition
problem is broken up into several functions, which can be run simultaneously on different processors
Term
Feasibility
Definition
Whether a project is woth doing, TOESS
Term
Constraints
Definition
A limitation of the project e.g. time or budget
Term
Budget
Definition
how much money is needed and whether it is available
Term
Operational
Definition
whether the skills are available to complete project or whether it meets the organisation's
Term
Schedulling
Definition
Whether the project can be done in the available time
Term
Alternatives
Definition
More than one solution to a problem with advantages and disadvantages for each
Term
Phishing
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
Piracy
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
Royalties
Definition

compensation, usually a portion of the proceeds paid to the author for the use of a work

Term
ergonomics
Definition
the study of the relationships between people and their work environment
Term
SWOT analysis
Definition

Strengths, Weaknesses, Opportunities, Threats

Term
ethics
Definition
the moral principle accepted by society as a standard against which individuals can be judged
Term
piracy and copyright
Definition

intellectual property

plagiarism

shareware

public domain

ownership

copyright laws

reverse engineering

decompilation

license conditions

network use

Term
intellectual property
Definition
property resulting from the fruits of manual labor
Term
Plagiarism
Definition

the appropriation or imitating of another’s ideas. Violation copyright.

Term
Shareware
Definition

software that is free of charge, however the manufacturer expects a donation (money)

Term
Public Domain
Definition

software available due to copyright holder relinquishing all rights to software

Term
Copyright
Definition
the legal right to produce or reproduce a piece of work (software)
Term
Reverse Engineering
Definition

analysing an existing systen to identify its components and their interrelationships to allow the creation of a new system

Term

License

Definition
a legal document giving official permission to do something
Term

License agreement

Definition
an agreement between the manufacturer and the purchaser of software that gives the purchaser the right to use the software
Term

Network

Definition
a system that allows a number of computers and their peripheral devices to be connected over a distance
Term
decompilation
Definition
conversion of executable machine code into assembler code so that it is easily understood by humans
Term
freeware
Definition
software that can be distributed freely as long as distribution is not for profit
Term
Open Source
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
Translation
Definition

compilation

incremental compilation

interpretation

Term
Translation
Definition
the conversion of source code into object code so that it can be understood by the computer
Term
Compilation
Definition
COmplete translation of source code into object code
Term
Incremental compilation
Definition
some parts of source code are compiled and some parts are translated line by line
Term
interpretation
Definition
the translation line by line into object code to be executed immediately
Term
Object code
Definition
machin readable code e.g. 101110
Term
Source Code
Definition
Code written in a high level language e.g. IF, THEN, ELSE (understood by humans)
Term
Breakpoints
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
Program tracing
Definition
tracking some aspect of the software
Term
Single line stepping
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
Authorship
Definition
the original creator of work
Term
Reliability
Definition

the expectations that the software will perform its stated task efficiently and without error

Term
quality
Definition
final quality of product must meet with users' expectations
Term

Quality Assurance

Definition

set of procedure used to certify tht a generated product meets specified criteria with respect to quality and reliability

Term
response to problems
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
Virus
Definition

an unauthorised piece of programming code that causes unexpected results

Term
implementation
Definition

direct cut over

parallel

phased

pilot

Term
Direct cut over
Definition
the immediate implementation of a new system without taking immediate steps
Term
Parallel implementation
Definition
implementing and operating the new system alongside the current old system (working side by side)
Term
Phased implementation
Definition
the gradual implementation of the old system witht the new system
Term
Pilot implementation
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

Program techniques

Definition

one logical task per routine

stubs

flags

isolation of errors

debugging output statements

elegance of solution

writing for subsequent maintenance

Term
Debugging tools
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
stubs
Definition

a small module used in place of a yet to be coded subroutine

Term
flags
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
isolation of errors
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
elegance of solution
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
syntax errors
Definition
an error of language resulting from code that does not conform to the syntax of the programming language
Term
logic errors
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
peer checking
Definition
when programmers not involved with the original design are asked to check the logic of an algorithm or program
Term
deck checking
Definition
pre determined test data passed manually through the algorithm/source code and this output is compared to the expected output
Term
Desk checking
Definition
a process manually checking the logic of an algorithm usiong test data
Term
use of expected output
Definition
inputting the expected variable values manually to test whether the program manipulates that data correctly
Term
runtime errors
Definition

occur as the object code is being executed.  due to error in logic

arithmetic overflow

division by zero

accessing inappropriate memory locations

Term

arithmetic overflow

 

Definition
result cannot be stored in nominated memory location due to incorrect use of data types and structure
Term

division by zero

 

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
Searching
Definition

linear searching

binary searching

 

Term
linear searching
Definition

a sequential searh through a data set, where all preceding values must be checked before the item is found

Term
Linear search
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
binary searching
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
Sorting
Definition

bubble sort

insertion sort

selection sort

 

Term
bubble sorting
Definition
data elements are are compared in paoirs and the larger of the lements moves towards the end of the array
Term

insertion sorting

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
selection sorting
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
current trends
Definition

outsourcing

popular approachespopular languages

employment trends

networked software

customised off the shelf packages

Term
outsourcing
Definition
contracting work to outside developers, often specialist in their field
Term
popular approaches
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
popular languages
Definition

most code written in 3rd generation

growing use of 4th generation e.g. visual basic, visual c++, and delphi, increase programmer productivity

Term
employement trends
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
networked software
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
CASE tools
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

software versions

Definition
allows teams of developers to collaberate and track the changes made to a program,  old versions can easily be restored
Term
test data
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
Data types
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

integer

Definition

whole numbers only

1 5874 541 32045

Term
real/floating point
Definition

positive or negative numbers with decimal places

eg -0.21458 6543.26589

Term
character
Definition

and alphanumeric character or sumbol

eg shannon17

Term
boolean
Definition

two values

e.g. true/false yes/no

Term
string
Definition
an array of characters used to form words
Term
one dimensional array
Definition
data of same type accessed by index
Term
multi dimensional array
Definition
data of same type accessed by co ordinate
Term
simple record
Definition
data of different types in no structured order
Term
array of record
Definition
data of different types accessed by index/co ordinate
Term
files
Definition

sequential

relative

Term
modelling
Definition

IPO diagram

storyboards

system flow charts

screen designs

consideration of use of limited prototype

Term
IPO diagram
Definition

Inputs Processes and Outputs

a chart showing the data entering the system, calculations and the data that leaves the system

Term
Storyboard
Definition
an annotated sequence of rough drawings to represent the possible sequence in a proposed application
Term
Data Flow Diagram
Definition
A diagram which shows the path of data through a system.  Used for showing relationships between processes
Term
systems flowchart
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

Approaches

Definition

structured

prototyping

rapid application development

end user

combination

Term

structured approach

Definition

clearly defined steps, follows the the software development cycle

used in large scale projects with a high budget and alot of time

Term
prototyping approach
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
end user development
Definition

person operating the software develops it themselves

lack of formal stages

small scale and low budget

involves the modification of COTS

Term
Language syntax
Definition

BNF

EBNF

railroad diagrams

 

Term
Backus-Normal Form
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
Railroad diagrams
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)

Supporting users have an ad free experience!