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
Disadvantages of closed source software
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
26
Advantages of closed source software
High levels of security as developed professionally. Company owning software provides expert support and user manuals Thorough, regular and well-tested updates
27
How may a user choose wether to used open source or closed software?
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
27
How may a user choose wether to used open source or closed software?
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
28
How may a user choose an application?
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.
29
define freeware software
Software that is free and anyone can use but the source code is not available
30
advantages to users of using open source software
- software is free wide community modification users can modify software to suit their needs
31
Disadvantage to users of open source software
can be poorly supported some feature might not be well tested
32
Advantages to creators of open source software
gets their software out there to a wide community -improvements: anyone can help find security holes
33
Disadvantage to creators of open source software
-little-to-no financial gain users may cause malware on system
34
advantage to users of closed source software
well supported, tested and professional built product reduces risk of other users stealing their work
35
Advantage to user of using closed Source software
- cost or ongoing subscription fee
36
Advantages to creators of closed source software
they receive an income for their product
37
Disadvantage to creators of closed source software
constant demand from community for more features and improvements privacy issues
38
Who protects closed source software
copyright design and patents act
39
example of open source software
Linux and open office
40
3 types of translators
interpreters compilers assemblers
41
what is a translator ?
program that converts high-level source code into low level object code, which Is then ready to be executed by a computer
42
define high-level code
code that is written and understood by the programmer but not the computers e.g Python, java
43
what is low level code / language
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
44
object code is the same as ....
machine cose
45
what is compiler
translates high-level code into machine code all at once, after carrying out a number of checks and reporting back any errors.
46
define machine code
executable binary code produced by a compiler, interpreter or assembler
47
example of machine code
1001000100010001000 this type of code is what the cpu understand and will execute its corresponding instruction
48
what is assembly code translated by
assembler
49
2 types of low level language
assembly language machine code
50
what happens if changes need to be made in during compiling process
the whole program must be recompiled
51
Important thing about compiler
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
in compilers do translators need to be present
code can run without a translator being present
53
what is an interpreter
translates and execute code line by line (from high level language to machine code )if there are no syntax errors
54
differences between interpreter and compiler
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
is an interpreter platform dependent?
it is platform independent however it must have the correct interpreter required to run on different platforms
56
what are interpreter useful for
testing code and pinpointing errors as time is not wasted compiling the entire program, before it has been fully debugged.
57
what does interpreted code require
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
who translates assembly code
assembler
59
what are interpreters useful for
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
How does is assembly code translated
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
how can high level language be translated
compiler or interpreter
62
define assembly code
a low level language that uses mnemonic to or single words represent to represent instructions
63
define assembler
program that converts assembly code in to machine code
64
what are assembly codes equivalent to
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
describe the process in which source code is translating using a compiler as a translator
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
describe the process in which source code is translating using an interpreter as a translator
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
when there are errors in the code what does the compiler do
error is presented and won't run unless all the errors in the code are corrected first
68
when there is an error in code what does the interpreter do
program partially executes, but error must be corrected on the line/lines told where the error are and run the program again
69
difference between machine code and binary code
they are the same binary code is suggests the numbers it comes with machine code e.g 100010001111010101
70
list the stages of compilation
s1.lexical analysis s2.syntax analysis s3.code genration s4. code optimisation
71
Advantages of Assembler
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
Disadvantage of assembler
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
Advantages og compiler
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
Advantages of interpreters
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
Disadvantage of interpreters
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
when should compilers be used
on programs with occasional change
77
what happes in the lexical analysis stage dont look a level
​whitespace and comments are removed​ from the code.
78
functions of lexical analysis dont look a level
1. remove superfluous spaces 2,all comments, identified (eg hashtag or //) are removed 3. 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
what are tokens dont look a level
unique symbols (), {},+,=,A,B
80
what is a symbol table dont look a level
where information about the token associated with each keyboard are stored
81
list the different software development methodology
waterfall lifecycle agile methodology extreme programming spiral model rapid application development
82
what is software development lifecycle
the number of district phases a programmer goes through when developing a solution for a computer system
83
stages of the software life cycle
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
describe the waterfall model
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
stages of the waterfall model
1. Analysis (may also include feasibility using TELOS) 2. design 3. Implementation 4. Evaluation 5.maintenance
86
Disadvantages of waterfall model
- 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
what's TELOS
factors that should be evaluated in analysis stage before project is begun
88
List TELOS meaning
- 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
when to use waterfall model
- the requirements are very clear and fixed no ambiguity in requirements Technology is well understood the project is short
90
what is a spiral model
a risk-driven methodology which allows its 4 stages to be passed repeatedly in the software project
91
aim of agile methodology
aim to improve the flexibility of software development​ and adapt to changes in user requirements faster​
92
what happens in the loops in agile model
each successesive loop around the spiral generates a new more refined prototype until the software meets all the requirements.
93
stages of the spiral model
- analysis (system requirements) design implements (testing and development) Evaluate (feedback to inform next iteration)
94
advantages of spiral model
- 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
Disadvantage of spiral model
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
when to use the spiral model
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
what is the agile model
a​ collection of methodologies which aim to improve the flexibility of software development​ and adapt to changes in user requirements faster​.
98
note about agile / spiral model
less of a focus on documentation​ and more priority is given to ​user satisfaction​.
99
Advantages of agile model
100
advantage of agile model
- 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
disadvantage of agile model
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
when to use agile model
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
what is extreme programming in software development
t utilises the Agile Software Development Methodology. XP is intended to improve the software quality and mainly the responsiveness to changing client requirements.
104
aim of extreme programming in software development
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
how is the model built
using ‘​user stories​
106
Advantages of extreme programming
- Produces high quality code - Constant user involvement means high usability
107
disadvantage
High cost of two people working on one project - Teamwork is essential - End-user may not be able to be present
108
uses of extreme programming
Small to medium projects with unclear initial requirements requiring excellent usability.
109
what is a rapid application development
an interactive methodology which uses partially functioning prototypes which are continually built -upon.
110
in RAD how are user requirements gathered
initially gathered using focus groups and used to develop an incomplete version of the solution which is given to the users to trial
111
in RAD how is the softare improved
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
uses of RAD (rapid application development)
commonly used where user requirements are incomplete or unclear at the Start Small to medium, low-budget projects with short time-frames.
113
advantages of RAD
Caters to changing user requirements - Highly usable finished product - Focus on core features, reducing development time
114
Disadvantage of RAD
Poorer quality documentation - Fast pace may reduce code quality (inefficient)t: continuos changes
115
types of testing in software development
116
advantages of waterfall model
Straightforward to manage - Clearly documented simplicity easy to see if a project is running to schedule
117
different types of test strategies
- black box - white box -beta testing alpha
118
what is black box testing
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
what is white box testing
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
one thing to note about white box testing
All of the ​possible routes of execution through the program are tested.(and compared with other runs)
121
what is alpha testing
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
what is beta testing
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
in a SDLC what are things to consider in analysis stage
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
what is a system specification document
document defines what the system will do but not how it will do it used to create design and evaluate finished product
125
in a SDLC what are things to consider in design stage
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
in a SDLC what are things to consider in implementation stage
coding and testing software making the software writing technical documentation ()how it works installed onto the users’ systems​.
127
in a SDLC what are things to consider in evaluation stage
​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
Maintenance stage in a SDLC what are things to consider
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.