cs Flashcards

1
Q

What is Compression in Utility Software

A

Compression reduces the size of a file so that it takes up less space and downloads faster over the internet

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

What needs to happen before a compressed file can be read

A

needs to be extracted first

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

What happens when a file is compressed

A

the data may be lost or quality is reduced (e.g image or audio file)
it may be presented in a different way using binary, it will retain the original data but compressed in a different format

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

What is disk fragmentation in Utility software

A

a program that reorganises files on a hard disk, putting fragments of files and free space back together

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

What is the advantage of disk defragmentation

A

reading and writing times are quicker which speeds up the access of files as they are not stored in different parts of memory because of fragmentation when a hard disk become full

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

Why shouldn’t a solid-state drives not be fragmentation

A

They have no moving parts. it is unnecessary and also reduces the drives’s lifespan .

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

Example of anti-malware in utility software and what it does

A

Antivirus checker checks hard drive as its responsible for detecting potential threats​ to the computer by comparing files to know virus definitions alerting the user and removing these threats

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

What is anti-malware in utility software

A

software helps keep your computer and files safe from different types of malware.

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

what does thea utomatic updating in Utility software do

A

This utility ensures the operating system is kept up to date, with any updates being automatically installed when the computer is restarted.

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

What does automatic updating tackle

A

Updates tackle bugs or security flaws so this ensures the system is less vulnerable to malware and hacking threats.

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

What does backup in utility software do

A

The backup utility automatically creates routine copies of specific files selected by the user

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

What type of routines could backup be specified by the user?

A

When: the user wants the files to be backed up, they may specify by requesting automatic or selecting a desired schedule
Where: the destination in which they are stored
what : it wants to back up

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

Why are back ups beneficial in software utility

A

In the event of a power failure, malicious attack or other accident files can be recovered

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

Why is updating important in utility software

A

new viruses and threats are constantly being devised and discovered

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

Why is application software needed to be updated in utility software

A

improvement and bug fixes may be provided

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

types of malware

A

viruses
trojans
worms
spyware

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

Note about back up software

A

it comes with operating system but can also be purchased separately (e.g apps )

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

what are utility softwares designed for

A

keep computer safe
keep it running efficiently
provide with useful tools to manage files and applications

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

What does open/ closed source softwares mean?

A

this refers wether or not the source code is accessible to the public

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

What is a source code ?

A

source code is Witten by a programmer and refers to object code before it has been compiled.

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

Define open source software

A

Open source code can be used by anyone without a license and is ​distributed with the source code​.

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

define close source software

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
23
Q

Advantages of open source software

A

Can be modified and improved by anyone
Technical support from online community
Can be modified and sold on

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

Disadvantage of open source

A

Support available online may be insufficient or incorrect. No user manuals.
Lower security as may not be developed in a controlled environment

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

Disadvantages of closed source software

A

restrictions on how the software can be used
Users cannot modify and improve software themselves
License restricts how many people can use the software at once

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

Advantages of closed source software

A

High levels of security as developed professionally.
Company owning software provides expert support and user manuals
Thorough, regular and well-tested updates

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

How may a user choose wether to used open source or closed software?

A

depends on the sustainability of the software to the task they will be using it for
costs: implementation, maintenance, training of staff , licence
Functionality: feature available, ease of use

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

How may a user choose wether to used open source or closed software?

A

depends on the sustainability of the software to the task they will be using it for
costs: implementation, maintenance, training of staff , licence
Functionality: feature available, ease of use

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

How may a user choose an application?

A

Functionality: if it does what the user wants
hardware: does it run on the available hardware
Availability:is it available off the shelf or does it need to be bespoke (specially written)
cost: how much will it cost
Reliability: has it been tested, well used and are there any bugs.

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

define freeware software

A

Software that is free and anyone can use but the source code is not available

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

advantages to users of using open source software

A
  • software is free
    wide community modification
    users can modify software to suit their needs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Disadvantage to users of open source software

A

can be poorly supported
some feature might not be well tested

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

Advantages to creators of open source software

A

gets their software out there to a wide community
-improvements: anyone can help find security holes

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

Disadvantage to creators of open source software

A

-little-to-no financial gain
users may cause malware on system

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

advantage to users of closed source software

A

well supported, tested and professional built product
reduces risk of other users stealing their work

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

Advantage to user of using closed Source software

A
  • cost or ongoing subscription fee
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

Advantages to creators of closed source software

A

they receive an income for their product

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

Disadvantage to creators of closed source software

A

constant demand from community for more features and improvements
privacy issues

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

Who protects closed source software

A

copyright design and patents act

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

example of open source software

A

Linux and open office

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

3 types of translators

A

interpreters
compilers
assemblers

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

what is a translator ?

A

program that converts high-level source code into low level object code, which Is then ready to be executed by a computer

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

define high-level code

A

code that is written and understood by the programmer but not the computers e.g Python, java

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

what is low level code / language

A

languages that sit close to the computer’s instruction set . An instruction set is the set of instructions that the processor understands
very close to writing actual machine instructions

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

object code is the same as ….

A

machine cose

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

what is compiler

A

translates high-level code into machine code all at once, after carrying out a number of checks and reporting back any errors.

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

define machine code

A

executable binary code produced by a compiler, interpreter or assembler

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

example of machine code

A

1001000100010001000
this type of code is what the cpu understand and will execute its corresponding instruction

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

what is assembly code translated by

A

assembler

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

2 types of low level language

A

assembly language
machine code

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

what happens if changes need to be made in during compiling process

A

the whole program must be recompiled

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

Important thing about compiler

A

once code has been compiled to produce machine code, it can only be executed on certain devices.
a compiled code is specific to a particular processor type and operating system

52
Q

in compilers do translators need to be present

A

code can run without a translator being present

53
Q

what is an interpreter

A

translates and execute code line by line (from high level language to machine code )if there are no syntax errors

54
Q

differences between interpreter and compiler

A

Initially interpreter appear faster than compilers as code is instantly executed, but slower than running compiled code as code must be translated each time it is executed within an interpreter

55
Q

is an interpreter platform dependent?

A

it is platform independent however it must have the correct interpreter required to run on different platforms

56
Q

what are interpreter useful for

A

testing code and pinpointing errors as time is not wasted compiling the entire program, before it has been fully debugged.

57
Q

what does interpreted code require

A

requires an interpreter to tun on different devices. However the code ca be executed on a range of platforms as long as the right interpreter is available which makes the interpreted code more portable

58
Q

who translates assembly code

A

assembler

59
Q

what are interpreters useful for

A

coding ad debugging process as the program,mer does not have to wait for the entire program to compile: the interpreter will atop at a line if it fits an error

60
Q

How does is assembly code translated

A

translated by the assembler which takes the nemonic of assembly code an stranslates them in a one to one relationship directly to machine code which can be executed on a specific processor architecture.

61
Q

how can high level language be translated

A

compiler
or interpreter

62
Q

define assembly code

A

a low level language that uses mnemonic to or single words represent to represent instructions

63
Q

define assembler

A

program that converts assembly code in to machine code

64
Q

what are assembly codes equivalent to

A

Each line of assembly code is equivalent to almost one line of machine code​ so code is translated on almost a one-to-one basis.

65
Q

describe the process in which source code is translating using a compiler as a translator

A
  1. it takes the source code in its entirety
    2.translates it and if successful it produces the machine code output
    3.linker program provides any additional libraires needed
    4a or 4b (one of the 2 could happen)
    4a. the translated machine code will be immediately executed
    4b. additional intermediate state could be created (called intermediate code) and may be further interpreted to tu turn into and run final machine code
66
Q

describe the process in which source code is translating using an interpreter as a translator

A

an interpreter takes on line of source code translates it and executes it (becomes binary code) however stopping and produce error (syntax error) is a line of code contains an error

67
Q

when there are errors in the code what does the compiler do

A

error is presented and won’t run unless all the errors in the code are corrected first

68
Q

when there is an error in code what does the interpreter do

A

program partially executes, but error must be corrected on the line/lines told where the error are and run the program again

69
Q

difference between machine code and binary code

A

they are the same binary code is suggests the numbers it comes with machine code e.g 100010001111010101

70
Q

list the stages of compilation

A

s1.lexical analysis
s2.syntax analysis
s3.code genration
s4. code optimisation

71
Q

Advantages of Assembler

A

programs written in machine language can bebe replaced by mnemonics which are easier to remember
memory efficient
speed of execute is faster
hardware oriented
requires fewer instruction to accomplish the same result
object code produced by a compiler can be distributed or executed without having a compiler present

72
Q

Disadvantage of assembler

A

long programs written in such languages cannot be executed on small computers
takes along time to code or wirier the program (has more complex nature)

73
Q

Advantages og compiler

A

object code produced by a compiler can be distributed or executed without having a compiler present (i.e no need for translation at run time )
speed of execute is faster than compiler
object code is more secure as it cannot be read without a great deal of reverse engineering
original source code is kept secret

74
Q

Advantages of interpreters

A

1, platform independence - the source code can be run. on any machine which has the appropriate interpreter available
2, useful for program development as there is no need for lengthy recompilation each time a error is discovered
3, easy to write source code as the programs will always run stopping when it fid a syntax error
no recompiling when code is changed

75
Q

Disadvantage of interpreters

A

program may run slower because each statement has to be translated to line by line
so if 10 statement is performed 20 times, all 10 and interpreted 20 times
code is not optimised
source code is required

76
Q

when should compilers be used

A

on programs with occasional change

77
Q

what happes in the lexical analysis stage
dont look a level

A

​whitespace and comments are removed​ from the code.

78
Q

functions of lexical analysis
dont look a level

A
  1. remove superfluous spaces
    2,all comments, identified (eg hashtag or //) are removed
  2. performs some simple error checking via lexical analyser
    4.tokens are used to replace keywords, constant, identifiers ,e.g variable, found in source code
79
Q

what are tokens
dont look a level

A

unique symbols (), {},+,=,A,B

80
Q

what is a symbol table
dont look a level

A

where information about the token associated with each keyboard are stored

81
Q

list the different software development methodology

A

waterfall lifecycle
agile methodology
extreme programming
spiral model
rapid application development

82
Q

what is software development lifecycle

A

the number of district phases a programmer goes through when developing a solution for a computer system

83
Q

stages of the software life cycle

A

feasibility : is the problem solvable
requirements: working out what the solution needs to do
analysis and design: working out how the solution needs to do it
Implementation: coding the solution
testing:checking it actually works
deployment: installing it in the target environment
evolution : checking I with the user- is the solution complete
maintenance: ensuring it continues to function properly

84
Q

describe the waterfall model

A

software development methodology that is based on series of stages which are completed in sequence (once must be completed before the next is begun), from start to finish.

85
Q

stages of the waterfall model

A
  1. Analysis (may also include feasibility using TELOS)
  2. design
  3. Implementation
  4. Evaluation
    5.maintenance
86
Q

Disadvantages of waterfall model

A
  • inflexible: of changes are required within the process of development then programmers must revisit all levels again
    unsuitable for projects with changing requirements
    clients: little input after the specific document is agrees, client only involved at the beginning (analysis ) and at the end (evaluation ) of cycle= risk of dissatisfaction and small feedback , may be too late to Make changes
87
Q

what’s TELOS

A

factors that should be evaluated in analysis stage before project is begun

88
Q

List TELOS meaning

A
  • Technical: ​is the project possible considering the technology available and accessible
  • Economic: ​can the project be financed in the short-term and the long-term?
  • Legal: ​can the project be solved within the law?
  • Operational: ​can the project be successfully implemented and maintained?
  • Scheduling: ​can the project be completed given the time available?
89
Q

when to use waterfall model

A
  • the requirements are very clear and fixed
    no ambiguity in requirements
    Technology is well understood
    the project is short
90
Q

what is a spiral model

A

a risk-driven methodology which allows its 4 stages to be passed repeatedly in the software project

91
Q

aim of agile methodology

A

aim to improve the flexibility of software development​ and adapt to changes in user requirements faster​

92
Q

what happens in the loops in agile model

A

each successesive loop around the spiral generates a new more refined prototype until the software meets all the requirements.

93
Q

stages of the spiral model

A
  • analysis (system requirements)
    design
    implements (testing and development)
    Evaluate (feedback to inform next iteration)
94
Q

advantages of spiral model

A
  • sofware produced at an early stage so problems and issues can be identifies early
  • th user gives feedback and each prototype and any required changes can be ,Ade early in the process
    the end result is more likely to be what the user wants
    well define steps to are the project easy to. manage
95
Q

Disadvantage of spiral model

A

time consuming: the process of developing prototypes, getting feedback and refining the prototypes takes time which may take the finished product longer to develop
- more costly because of the time involved (keep making improvements )
- not suitable for smaller projects

96
Q

when to use the spiral model

A

medium to high risk projects
when users are unsure of their needs and what the possibilities are
when requirements are complex
large projects where a long time is requirement is needed and new technology may develop and significant changes occur
high budget

97
Q

what is the agile model

A

a​ collection of methodologies which aim to improve the flexibility of software development​ and adapt to changes in user requirements faster​.

98
Q

note about agile / spiral model

A

less of a focus on documentation​ and more priority is given to ​user satisfaction​.

99
Q

Advantages of agile model

A
100
Q

advantage of agile model

A
  • customer satisfaction (continues feedbacks, input )
    software easily dappled to changing circumstances
    Flexible to changing: even late changed can be implemented
    Produces high quality code
101
Q

disadvantage of agile model

A

Poor documentation: lack of emphasis on design and documentation
project can fail to deliver if the customer is not clear about the final outcome
not suitable for noice programmer (new): experienced are better are making better decisions
- Requires consistent interaction
between user and programme

102
Q

when to use agile model

A

when new changes need to be implemented:small incremental changes can be made frequently and for little cost
business expansion: business where users needs are constant changing an developing

103
Q

what is extreme programming in software development

A

t utilises the Agile Software Development Methodology. XP is intended to improve the software quality and mainly the responsiveness to changing client requirements.

104
Q

aim of extreme programming in software development

A

he aim of paired programming is to produce ​high-quality code​, as the code is written by one person and critiqued by the other so is improved as it is written. Programmers work ​no longer than forty hours a week ​with the aim that quality is not compromised

105
Q

how is the model built

A

using ‘​user stories​

106
Q

Advantages of extreme programming

A
  • Produces high quality code
  • Constant user involvement means high usability
107
Q

disadvantage

A

High cost of two people working on one project
- Teamwork is essential
- End-user may not be able to be present

108
Q

uses of extreme programming

A

Small to medium projects with unclear initial requirements requiring excellent usability.

109
Q

what is a rapid application development

A

an interactive methodology which uses partially functioning prototypes which are continually built -upon.

110
Q

in RAD how are user requirements gathered

A

initially gathered using focus groups and used to develop an incomplete version of the solution which is given to the users to trial

111
Q

in RAD how is the softare improved

A

user feedback is used generate the next, improved prototype until the prototypematches the requirements of the end -users at which point it becomes the final products

112
Q

uses of RAD (rapid application development)

A

commonly used where user requirements are incomplete or unclear at the Start
Small to medium, low-budget projects with short time-frames.

113
Q

advantages of RAD

A

Caters to changing user requirements
- Highly usable finished product
- Focus on core features, reducing development time

114
Q

Disadvantage of RAD

A

Poorer quality documentation
- Fast pace may
reduce code quality (inefficient)t: continuos changes

115
Q

types of testing in software development

A
116
Q

advantages of waterfall model

A

Straightforward to manage
- Clearly documented
simplicity
easy to see if a project is running to schedule

117
Q

different types of test strategies

A
  • black box
  • white box
    -beta testing
    alpha
118
Q

what is black box testing

A

This is a form of testing where the software is tested​ without the testers being aware of the internal structure​ it aims to tests whether an input produces the expected output within the software

119
Q

what is white box testing

A

This is a form of testing ​carried out by software development teams​ in which the test plan is based on the ​internal structure of the program​( code logic).it involves testing the algorithms in the code an d making sure all parts of this algorithms function as intended

120
Q

one thing to note about white box testing

A

All of the ​possible routes of execution through the program are tested.(and compared with other runs)

121
Q

what is alpha testing

A

Alpha testing is ​carried out​ ​in-house​ by the software development teams within the company.reveal errors and bugs a re pinpointed and fixed

122
Q

what is beta testing

A

used in commercial software development (MS. windows,MS word), it is carried out by end-users​ after alpha testing has been completed. ​Feedback from users ​is used to inform the next stage of development.

123
Q

in a SDLC what are things to consider in analysis stage

A

Stakeholders​ state what they require from the finished product
Considering types of data involved including inputs, outputs, stored data and amount of data
(use interviews, questions, observation, documentation)
create system specification (user requirements)

124
Q

what is a system specification document

A

document defines what the system will do but not how it will do it
used to create design and evaluate finished product

125
Q

in a SDLC what are things to consider in design stage

A

Inputs: ​volume, methods, frequency
- Outputs: ​volume, methods, frequency
- Security features: ​level required, access levels
- Hardware set-up: ​compatibility
- User interface: ​menus, accessibility, navigation
​test plan ​may also be designed at this stage.

126
Q

in a SDLC what are things to consider in implementation stage

A

coding and testing software
making the software
writing technical documentation ()how it works
installed onto the users’ systems​.

127
Q

in a SDLC what are things to consider in evaluation stage

A

​effectiveness of the software​ is evaluated against the system requirements​ defined at the analysis stage to evaluate its suitability in solving the problem. Different criteria are considered, including robustness, reliability, portability ​and ​maintainability​.

128
Q

Maintenance stage in a SDLC what are things to consider

A

Any errors or improvements that could be made to the software are ​flagged up by the end-users​
Programmers will regularly send out​ software updates to ​fix any bugs, security issues​ or make any needed improvements.