Applications generation Flashcards
software and software development
Define applications software (AS)
A software that allows a user to perform a task or produce something
What is a word processor (AS)
Used for writing letters, reports and other documents
what are spreadsheet packages (AS)
These allow a user to model complex situations, and are often used for financial calculations
what is presentation software (AS)
Used to make onscreen slide shows to accompany presentations
what is desktop publishing software (AS)
Used for documents where the layout is
important, such as newsletters
what are image editors (AS)
Used to alter and amend images such as photographs
What are Web browsers
Allow a user to browse the World Wide Web
Give some examples of specialist applications and define
- Computer-aided design packages allow engineers to build designs
- Management information systems allow data to be stored and processed
- video games provide entertainment
define utility software
small programs designed to help with the maintenance of a system.
name three examples of utility software
- Anti-malware
- Disk defragmentation
- Backup
What is the purpose of anti-malware
Used to detect and remove malware on the system
How does disk defragmentation software help the computer
rearranges where data is held on the hard disk drive so that files load quicker
How does backup software operate
Used to make copies of data to an alternative device or location, this can be set to occur automatically
Define Source code
The program code written by the programmer, usually written in high level language
what is closed-source software
- Software that is only distributed as executable machine code
most users do not need the program’s machine code
what is machine code
Instructions and data are stored in binary, directly readable by the CPU
What is open-source software (OSS)
- Software where the source code is made publically available
- Users can modify it to their needs
Grants anyone permission to amend, recompile and distribute
Advantages of open-source software
- Free
- Users can change the source code of OSS and adapt it to their needs
- Anyone can help find security holes in the program
Advantages of closed-source software
- Tends to be more polished than OSS (developed by companies with lots of resources)
- Can be developed by huge teams of volunteers who do not need to consider the aims of the project
- People cannot exploit security holes before they are fixed
A03 open-source VS. closed-source
Open source
- Trust (Client can see exactly what the company is doing)
- Other people can steal
- Different types of open-source software
How are instructions represented
Machine code - They are binary and are made up of the opcode (the instruction itself) and operand (the data it acts on)
Computers only understand machine code
What is assembly code
A low-level language that uses single words or mnemonics to represent instructions
The opcode is represented in denary or hexadecimal
How is assembly code converted to machine code
An assembler is used to convert each line of assembly of code into machine code
what is a low-level language
These are languages closely
tied to the architecture
of the CPU. They use the
CPU’s instruction set.
- The lowest-level language is
machine code, which is
directly readable by the
CPU.
What is a high-level language
These are designed for humans to read easily. They tend to use a combination of English words and mathematical notation
How can a computer run code written in high-level languages
The program must be converted into machine code using a compiler or an interpreter
What is a compiler
A program that converts the entire high-level source code into an executable machine code file that is then executed
What is an interpreter
A program that reads and executes high-level source code line by line
Advantages/Disadvantages of a compiler
dis
- Can take a while to perform
adv
- Once the executable file is built it can be run immediately
Advantages/Disadvantages of an interpreter
adv
- Can start running the program straight away
- Useful during the coding and debugging process as the programmer doesn’t have to wait for the entire program to compile
dis
- Run more slowly than it would if it were complied as the interpreter has to translate each line as it is run
What are the steps of compilation
- Lexical analysis
- Syntax analysis
- Code generation
- Code optimisation
Describe the first stage of compilation (lexical analysis)
Identifies the parts that make up the program
- Comments and whitespace are removed from the program #
- The remaining code is turned into a series of tokens (each representing a part of the program)
- A symbol table is created to keep track of variables and subroutines
Describe the second stage of compilation (syntax analysis)
The syntax is the structure of a language
- A syntax tree is built from the tokens produced during lexical analysis
- If any tokens break the rules of the language, syntax errors are generated
Describe the third stage of compilation (code generation)
The abstract code tree is converted to object code
What is object code
When code is complied but yet to be run through a linker.
Describe the fourth stage of compilation (code optimisation)
This tweaks the code so it is run as efficiently as possible.
This might mean optimising for :
- Speed of execution
- Using as little memory as possible
What is a library
Code that has already been written and usually complied. Other programmers can reuse this code
Advantages of libraries
- They can save time(no need to rewrite code)
- They can cover complex areas (prewrite code that would be too time-consuming to learn how to do yourself)
- A library coded in one language can be used in other languages
What is a linker used for
It is used to combine compiled code with that from a library into a single executable file
What is the loader used for
A loader is part of the operating system and is responsible for loading a program into memory