Application Generation Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

What is Application Software

A

Software designed to be used by the end-user to perform one specific task. It requires systems software in order to run

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

What is System Software

A
  • Software that is responsible for running the computer system smoothly in the background
  • It interacting with hardware and providing a platform for applications software to run
  • The user does not directly interact with systems software but it ensures high performance for the user
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Describe examples of application software and system software

A
  • Application software - desktop publishing, word processing, spreadsheets, web browsers
  • System software - library programs, utility programs, operating system, device drivers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are Utilities

A

Operations that run in the background and maintain a high-performing operating system. Each has a specific function and each runs without user interaction

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

Describe Examples of System Utilities

A
  • Compression - enable files to be compressed and decompressed. This is used when compressing large files to be transmitted across the Internet and to compress scanned files
  • Disk defragmentation - as the hard disk becomes full files become fragmented (when files are stored in different parts of memory). The disk defragmenter utility rearranges the contents of the hard drive so they can be accessed faster, thus improving performance
  • Antivirus - responsible for detecting potential threats to the computer, alerting the user and removing the threats
  • Automatic updating - ensures the operating system is kept up to date, with any updates being automatically installed when the computer is restarts
  • Backup - this automatically creates routine copies of specific files selected by the user. This means that in the event of a power failure, attack or accident, files can be recovered
  • Task Manager - this allows the user to manage, maintain and control computer resources in order to maximum their CPU time for a specific task
  • Software Firewall - acts as a filter for data entering or leaving a network or computer to stop harmful actions getting access
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is Open Source Code

A

Code that is freely available to edit, ammend or recomplie

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

What is Closed Source Code

A

Closed source code requires the user to hold an appropriate license to use it. Users cannot access the source code as the company owns the copyright license

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

What are the Advantages and Disadvantages of Open and Closed Source Code

A

Open Source

  • Advantages - improved by community effort, technical support from online community, can be modified and sold on
  • Disadvantages - support available online may be insufficient or incorrect, lower security

Closed Source

  • Advantages - regular and well-tested updates, expert support and user manuals, high levels of security as developed professionally
  • Disadvantages - license has restrictions about use, users cannot modify and improve code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Explain why all closed source software is most likely to be compiled rather than run on an interpreter

A
  • Closed Source translate the source code prior to distribution
  • Meaning the user gets an executable program
  • Do not need to check for errors as code is already executable
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the factors to consider when choosing between open and close source code

A
  • Costs - implementation, maintenance, training of staff, license
  • Functionality - features available, ease of use
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is a translator

A

A program that converts high-level source code into low-level object code

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

What are the Three Types of Translators

A
  • Assembler
  • Compiler
  • Interpreter
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is Machine Code

A

A programming language that consists of instructions written in binary

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

What is Higher Level Language

A

A programming language closer to a the programmer’s spoken/written language

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

What is Low Level Language

A

A programming language closer to a computer’s instruction set

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

What is Assembly Language

A
  • A low level language that uses mneomincs to represent instructions
  • The instruction is divided up into operand and opcode
17
Q

What does an Assembler do

A

Translates assembly code into machine code

18
Q

What does a Compiler do

A

Translates high-level code into machine code all at once

19
Q

What does an Interpreter do

A

Translates high-level code into machine code and execute code line-by-line

20
Q

What are the Advantages and Disadvantages of Assemblers, Compilers and Interpreters

A
21
Q

What are the stages of Compilation

A
  • Lexical Analysis
  • Syntax Analysis
  • Code Generation
  • Optimisation
22
Q

What happens during Lexical Analysis

A
  • Whitespace and comments are removed
  • Keywords and identifiers are replaced with tokens
  • Tokens are stored in the symbol table
23
Q

What happens during Syntax Analysis

A
  • Tokens analysed against rules of the programming language
  • Syntax errors are identified and added to a list of errors
  • Details e.g. data types, added to symbol table
  • Abstract syntax tree is produced (a representation of the source code in the form of a tree)
24
Q

What happens during Code Generation

A

Abstract syntax tree used to produce machine code

25
Q

What happens during Optimisation

A
  • Searches through the code for areas it could be made more efficient and faster to execute
  • This is a very time-consuming stage
  • Redundant parts of code are removed
26
Q

What types of things are removed during the Optimisation Stage of Compiling

A
  • Redundnat instructions
  • Subroutines that are never called
  • Variables that are never referenced
27
Q

What is a Linker

A

A piece of software that is responsible for linking external modules and libraries included within the code

28
Q

If a game uses a 2D graphics library, explain why a linker would need to be used after compilation

A
  • The user running the program will not necessarily have the library installed on their machine
  • Therefore the relevant code needs to be included within the final executable
  • It is the job of the linker to combine this code
29
Q

What are the two different types of Linkers

A
  • Static Linker - module/library code is copied directly into the file. Increases the size of the file.
  • Dynamic Linker- Addresses of modules/ libraries are added to the file. External module/library updates automatically feed through to the main file
30
Q

What is the advantage of a Dynamic Linker over a Static Linker

A
  • Files remain small
  • External updates feed through to the main file so there is no need to rewrite the code
31
Q

What are Loaders

A

Programs provided by the operating system that fetch the library/ module from the given memory location

32
Q

What are Libraries

A

Pre-compiled programs which can be incorporated within other programs using either static or dynamic linking

33
Q

What are the advantages of using Libraries

A
  • Error-free
  • Save time and effort of developing and testing modules
  • Can be reused across multiple programs
  • Save programmers from ‘reinventing the wheel’
34
Q

What are the disadvantages of using Libraries

A
  • Must be well written - the library has to be well-written and robust or it will impair all applications making use of it
  • Can be expensive - specialist libraries for engineering, science and finance can be very expensive
  • For run-time loading the library has to be present on the computer running the application
35
Q

What are the Advanatges and Disadvantages of Static and Dynmaic Linkers

A
  • Static -
  • Execution faster because you don’t need to cross local files
  • Compilation takes longer since you are adding to the size of the file

Dynamic -

  • Smaller files in main code
  • Libraries must be preset on any machine using it