W2 - Types Of Software Flashcards

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

What is system software?

A

System software is a type of software that helps the computer’s hardware run and is also used for management.

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

What are examples of system software?

A

Disk defragmenter, task manager, the operating system, compression software etc

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

What are the types of system software?

A

Operating Systems - Manages computer hardware and software, provides a Ui, security etc
Utilities - Programs designed to help analyse, configure, optimise or maintain a computer ( like a firewall, task manager etc). It can also be software delivery platforms like Steam or App Store
Device Drivers - Programs that control a particular type of device attached to a computer
Translators - A program (assembler, compiler or interpreter) that translates a program into another language

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

What is application software?

A

Application software is a type of software designed for end users (people need to click/run them for them to be used).

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

What are the types of Application software?

A

General purpose - Photoshop, spreadsheet (off the shelf and cheap)
Special purpose- Video Games, CAD applications, IDEs (more expensive as it has smaller user bases)
Bespoke - Made specifically for the customer so it is usually a lot more expensive.

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 available for all. Large community’s work together to develop these software but there is still a risk of abandonment. They are also essentially free so the developers can’t make much money of them.

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

What are examples of open source code?

A

Linux, chromium (earlier version of chrome), unreal engine etc

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

What are the positives for Open Source software?

A

Large community of developers (bugs are spotted quicker)

Users can modify source code for their own needs

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

What is closed source code?

A

Closed source code means you likely need a licence to own it which costs money so developers can actually make a lot off money off their code. Thais also means the developers are in complete control of this code so it is usually less customisable.

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

What are the negatives of Open Source Software?

A
Risk of abandonment 
Hidden costs
More difficult to make a profit
Code could be “stolen”
Question on reliability and quality of code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are examples of closed source code?

A

Windows, Facebook, IOS etc

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

What are the positives for Closed Source software?

A

Profitable - especially if you have a monopoly on and idea or technology
Protection of intellectual property
Control over what you want to do with the software

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

What are the negatives for Closed Source software?

A
Locked in my to one platform
Limited customisation
Expensive for end users
Compatibility may be an issue
Hidden weaknesses as the developer base is smaller
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is a low level language?

A

A machine-oriantated language which has instructions specific to a family of CPUs meaning it is close to what the processor executes

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

What are examples of low level languages?

A

Assembly language and machine code

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

What are the positives of low level languages?

A

Programmes are efficient and quick to run

Assemblers are simple to write

14
Q

What are the negatives of low level languages

A

Difficult to read, write, maintain and debug

It is processor specific so detailed knowledges of the processor is first needed

15
Q

What is a high level language?

A

A programming language which is further from what the processor executes, a line of code results in a large number of processor instructions being executed

17
Q

What are the positives of high level languages?

A

Quicker and easier to write, read, debug and maintain as it uses natural language elements
Code is independent of CPU instruction set so the program is portable

18
Q

What are the negatives of high level languages

A

Need translation software (interpreter or compiler) that is more complex than and assembler

20
Q

What is a translator?

A

A price of system software that converts source code into executable code

21
Q

What are examples of high level languages?

A

JavaScript, Java and Python

22
Q

What is a compiler?

A

A translator that is designed to go from high level languages to executable code. This include C#, Javan and C++

23
Q

What is an interpreter?

A

A translator that checks lines of source code one at a time instead of translating the whole file at once. Works for high level languages like Python, JavaScript and Ruby

24
Q

What is an assembler?

A

A translator that checks and transforms low level language (assembly language) into executable code (machine code)

25
Q

What are the positives of compilers?

A

Runs a lot faster as translating is done in advanced

Once compiled, it can run without extra software

26
Q

What are the negatives of compilers?

A

Won’t compile unless no errors at all in source code

Need to wait for a program to compile before running (long for large programs)

27
Q

What are the positives of interpreters?

A

Can run with errors which makes debugging easier

28
Q

What are the negatives of interpreters?

A

Source code is visible to the users
Might be errors the programmer hasn’t spotted (causing issues for the users)
Code can run without the interpreters