SLR05 - Application generation

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/30

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 7:20 PM on 5/27/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

31 Terms

1
New cards

Application examples

  • Word processor

  • Spreadsheet

  • Database

  • Web browser

  • Graphics manipulator

2
New cards

Generic application VS Specific application

  • Generic application - (eg. word processor) no narrow process and can be used for general or specific task, more commonly installed

  • Specific application - (eg. database software) highly specific & essential for creating serious database applications

3
New cards

Utility software

  • Program with one purpose

  • Used to maintain the system

4
New cards

Types of utility software

  • Defragmentation

  • Anti-malware

  • Data compression

  • Backup

  • File repair

5
New cards

Defragmentation

  • Reorganises file on hard drive, put fragments of files & empty space together = reduce read/write head across surface disk = speeds up file access

  • Solid state no defragmented, no moving parts

6
New cards

Anti-malware

  • Help keep computer & files safe from malware

7
New cards

Data compression

  • Compression decrease size file = faster download

  • Compressed file must be extracted before read

8
New cards

Backup

  • Can schedule backups

  • Full/increment backups

  • Can backup to of site cloud

  • Can come with OS or purchased separately

9
New cards

File repair

  • File can corrupt

  • File repair software attempts correct issue & restore file

  • Can be built into some software or separate

10
New cards

Open source software

  • Not protected by the Copyright Design & Patents act

  • User access source code

  • Can modify & distributed

  • Can be installed any number of computers

  • Support by community

  • May not be fully tested & quality varied

11
New cards

Open source software Benefits & Drawbacks

  • Software free

  • Wide community modifications

  • Creator gets software out there to wider community

  • Possibly poor supported

  • Some features not tested

  • Little to no financial gain

12
New cards

Closed source software

  • Protected by Copyright Design and Patents Act

  • User cannot modify software

  • Usually paid per licence

  • Supported by devs - not release source code

  • Tested by devs prior to release, may run beta

13
New cards

Closed source software Benefits & Drawbacks

  • Well supported, tested, professionally built products

  • Creator receives income

  • Cost or ongoing subscription

  • Constant demand from community for more featured & improvements

  • Piracy issues

14
New cards

Assembler

  • Translates assembly language to machine code

  • Usually one-to-one process from assembly code to machine code

15
New cards

Assembley benefits & drawbacks

  • Program written in machine language can be replaced with mnemonics - easier to remember

  • Memory efficient

  • Faster speed of execution

  • Hardware oriented

  • Takes long time to code

  • Difficult to remember syntax

  • Long programs cannot be executed on small computers

  • Lack of portability between different computers

16
New cards

Compiler

  • Translate source code from high level language to object code to machine code

  • Whole program translated to machine code before run

17
New cards

Compiler benefits & drawbacks

  • No need for translation run time

  • Executes faster

  • Code optimised

  • Source code kept secrete

  • Program not run with syntax errors = difficult

  • Code need recompiled when changed

  • Designed for specific processor

18
New cards

Interpreter 

  • Translates high level to machine code

  • Translates line by line

19
New cards

Interpreter benefits & drawbacks

  • Stop at syntax error - easier

  • Not recompiled when changed

  • Translation software required

  • Speed slower

  • Code not optimised

  • Source code required

20
New cards

What are the 4 stages of compilation?

  1. Lexical analysis

  2. Syntax analysis

  3. Code generation

  4. Code optimisation

21
New cards

Lexical Analysis

  • Comments and white space removed

  • Lexemes are identified and converted to tokens with token classes eg. [keyword:WHILE]

  • Symbol table created to keep track of tokens such as variables & subroutines

<ul><li><p>Comments and white space removed</p></li><li><p>Lexemes are identified and converted to tokens with token classes eg. [keyword:WHILE]</p></li><li><p>Symbol table created to keep track of tokens such as variables &amp; subroutines</p></li></ul><p></p>
22
New cards

Syntax Analysis

  • Checks syntax of code using language’s rules

  • Errors generated if any tokens break rule

  • Produces abstract syntax tree using tokens from previous stage - tree outlining the syntax the code must follow

23
New cards

Code generation

Abstract syntax tree converted to object code - the machine code generated before the final step (linker) is run

24
New cards

Optimisation

  • Reduces execution time of the program

  • Spots redundant instruction & producing object code that achieves the same effect as source program

  • Removing subroutines, variables, constants that are never referenced

25
New cards

Libraries

  • Complied & tested programs that can be run when needed

  • Typically grouped into software libraries

26
New cards

Benefits of libraires

  • Save time & effort as it can be easily implemented

  • Pre-tested = error free

  • Pre-compiled & optimised

  • Same library can be used in different parts of a project or in different projects

27
New cards

Drawbacks of libraires

  • Adding & tweaking difficult

  • Don’t know how efficient library is

  • Need to trust devs to maintain library

  • Compatibility issues between code & library or multiple libraries

28
New cards

Linkers

  • Combine different code files and libraries into a single executable

  • Resolve references between files, ensuring everything points where it should

<ul><li><p>Combine different code files and libraries into a single executable</p></li><li><p>Resolve references between files, ensuring everything points where it should</p></li></ul><p></p>
29
New cards

Static Linking

  • Libraries are combined with the code at compile time

  • Creating a larger executable

30
New cards

Dynamic linking

  • Libraries are linked at runtime

  • Allowing for more flexibility

  • But requiring the library to be present during execution


31
New cards

Loader

system tools that load executable files into memory so they can be run by the operating system