Software Eng Flashcards

1
Q

What 3 things are required in a linked list?

A
  • Index to identify the node
  • The data item within the node
  • A pointer to the next node’s index.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Explain the differences between an array and a linked list.

A

Doesn’t need to be predefined before using it

Uses nodes, not elements.

Doesn’t require all nodes to be in the same format.

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

Describe an array and how you would reference data in an array.

A
  • Collection of items
  • All items (elements) are of the same data type
  • Normally, references first element by [0], not [1].
  • Can have multiple dimensions eg:Swimming[0,0], Scores[1,2]
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Explain the purpose of a rouge value.

A

A value outside of the range of suitable values, which is used to indicate to the program that it has reached then end.

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

Describe a record.

A

A record is a data structure that contains a number of variables that hold related data.

It does not require all variables (fields) to be the same data type.

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

What does TELOS stand for?

A

Technical - Do we have enough hardware or knowledge?

Economical - Can the client afford it? Can we afford to build it (extra staff, servers etc.)

Legal - Does it abide by Law in all places it would be used? Data Protection Act ect.

Operational - Does the solution fit into the client’s business & workflow?

Schedule - Can it be built before a deadline?

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

What is a type of Feasibility Study?

A

TELOS

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

What are the 9 stages of the Systems Lifecycle?

A

1 - Feasibility Study

2 - Analysis

3 - Design

4 - Technical Solution (building the system)

5 - Testing

6 - User Manual

7 - Conversion

8 - Maintenance

9 - Appraisal (final sign-off, payment)

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

What is a case tool? Who would use case tools?

A

Computer Aided Software Engineering is the use of computer-assisted tools to organise and manage the development of software projects.

They allow Analysts, Designers, Programmers, Testers and Project Managers to share a common view of how the project is progressing at each development stage.

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

List 8 features of CASE tool.

A

1 . Design and Testing assistance.

  1. Produces a data dictionary.
  2. Produce graphics / diagrams (e.g. charts of statistics)
  3. May include a code generation program.
  4. May include a repository of reusable code.
  5. Project Management Tools
  6. Version Control
  7. Report Generation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

List 5 features of a debugger.

A
  1. Allows a program trace function (step though the program line by line.
  2. Allows you to watch variables, showing their values at each program line.
  3. Allows breakpoints to pause the program at certain points.
  4. Helps find logical errors and errors produced at runtime.
  5. Provides a store dump facility (a copy of the data in current memory, useful for programmers).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Describe some benefits / drawbacks of a fully automated software (train crossing system).

A

Adv - Saves cost once installed - no need for level crossing staff
- Not subject to potentially fatal human error

Disav - May not detect unlikely situation (car on track)
- Could fail with potentially catastrophic results (even in high quality system).

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

List some reasons why software might be labeled highly specialised.

A

Safety critical - human life is at risk if the software fails (has to fail safe if malfunctions).

Likely to be highly complex software & hardware, most likely multiple inputs that must be read in real time (e.g. flight sensors on a plane for autopilot).

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

Describe how a design validation may be carried out

A

Check actual design vs the user specifications / requirements / safety critical aspects.

Check that method to be used is the most suitable technique.

Confirm that the HCI is appropriate for the system in question.

NOT: cost related

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

Explain an advantage & an issue of standardising computer languages

A

Adv - A program written in one environment computer is likely to run on a different computer/environment.

  • Programmers familiar with the language on one computer/environment is able to adapt to working on a different computer/environment.

Issue. - Different manufacturers/developers approach problems differently, so may not be keen to share developments with others for commercial reasons.

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

Describe the purpose and give a benefit of using subprogram libraries.

A

They contain common tasks / utilities

Can can be used by any user, avoiding rewriting code (that has been pretested)

17
Q

Describe the disadvantage of compiling the whole program in one go.

A

Module might be useful in other program, not able to extract if compiled into whole program to use in the new program.

If any errors are corrected, whole program must be recompiled.

May be preferable to test each module before combining into whole program (easier to find errors in small modules).

18
Q

In OOL (object oriented languages), explain it & give a description of (a class) and (a method).

A
  • OOL uses object that include data and processing.
  • Enables production of buttons & icons etc (useful in visual interfaces).

Class - Template specifying methods and properties for objects.

Method: a program (subroutine) within an class/object.

19
Q

List the 6 stages of compilation.

A
  1. Lexical Analysis
  2. Symbol Table Construction
  3. Syntax Analysis
  4. Semantic Analysis
  5. Code Generation
  6. Optimisation
20
Q

Explain what happens in Lexical Analysis.

A

Keywords in code are replaced with tokens (codes).

Spaces, indentations and comments are removed to covert the source code into a compact string of code.

21
Q

Explain what happens in Syntax Analysis. Give an example of something that would be checked at this stage.

A

This is done by the parser, (which completes the processes by parsing. This checks code against rules of the programming language.

Examples: Does an IF statement have an END IF statement after?
- Grammar of expressions are also checked.

22
Q

Explain what Symbol Table Construction means in Compilation.

A

It creates a data structure used to store info on identifiers (names of variables, functions, objects).

It is used to check if an object was declared before use.

23
Q

What is Semantic Analysis?

A

It is the proccess of checking the meaning of instructions for correctness. For example checking for type mismatch errors (

24
Q

Outline the term Scripting Language, give an example of where it may be used.

A

A set of commands understood by the applications software, usually embedded in another language to control aspects of the software,

Eg scripts embedded in a HTML web page that control graphics or animations on the page.