7. Classifications of Software Flashcards

1
Q

Application Software

A

Can be general purpose, special purpose or bespoke.

Usually it is a piece of software meant to deal with a task relevant to real life events such as entertainment or handle real tasks.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

General Purpose Software

A

e.g. Word processor, Graphics Package.

Can be used for many different purposes.
Cheaper than special purpose software (duh.)
Tend to have less bugs as they could be open-source or have more users as it fits a general criteria.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Special Purpose Software

A

Performs a specific task e.g. Payroll, accounts package, hotel booking systems.

Can be bought ‘off shelf’ or bespoken. Ready made almost always cheaper than commissioning bespoke software.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Systems Software

A

Performs the tasks needed to operate the hardware

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Utility Programs

A

System software designed to optimise the performance of the computer or performance tasks.

e.g. Disk Defrag software, anti-virus, firewall, backing up files, compressing data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Library Programs

A

Collection of programs that do specific jobs.
Programmers can call and use these in their programs.

e.g. A printing routine can be used by a word processor and a spreadsheet program.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Machine Code

A

This is the code that can be directly executed by the computer.

e.g. 101100001011

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Assembly Language

A

Low level language

Same structure/instruction as machine code but used mnemonics instead of numbers.
e.g. Mov A,B

Pros:

  • Occupies little space
  • Executes almost as fast as machine code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

High Level Languages

A

Are languages with strong abstraction from the details of the computer. Allows for programming to be much easier and understandable than low level languages.

e.g. Python, C++, C#, Pascal, VB

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

High Level Languages vs. Low Level Languages

A

HLL are simple to understand for programmers, easy to: debug, maintain and they can be portable like C++.

LLL, can optimise performance or use of hardware ie more memory effecient however it is machine-dependent.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Assemblers

A

Translates an assembly language program into machine code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Compilers

A

Scans the whole code and translates it all into machine code.
No translation takes place when running, so it is much faster.
No extra software required.
Errors only show after compilation, may be tedious, not preffered for debugging.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Interpreters

A

Executes each line of high-level language as they come up one by one.
Breaks once it reaches an error.
Useful for program development as there is no need to recompile code after editing the code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is the relationship between Assembly Language and Machine Code?

A

They’re 1:1, assembly language is just machine code expressed in mnemonics.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Translators

A

A program that converts code from one language to equivalent code in another language

All code needs to be translated to machine code in order to execute

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Name the 3 Translators

A

Interpreter
Compiler
Assembler

17
Q

Bytecode

A

Program code that has been compiled from source code into low-level code for a software interpreter.
It may be executed by a virtual machine (such as a JVM) or further compiled into machine code, which is recognized by the processor.

18
Q

Bytecode Contextualised

A

Java programs are usually compiled into byte code and are interpreted at run time by a Java Virtual Machine. This makes Java platform independent i.e. will run on different machines and platforms provided there is a JVM written for that hardware/operating system combination.

19
Q

Object code

A

Object code is the product of a compiler. The term indicates that the code is the goal or result of the compiling process.