Unit 1 Flashcards

1
Q

A ______ is an assembly of components that are connected together in an organised way

A

system

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

In software development, a _______ is a set of activities/operations that takes one or more inputs, and produces one or more outputs

A

process

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

A ______________ system includes software, hardware, other technical components, people, organisations, and other social structures

A

sociotechnical

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

A system ________ separates the system to be studied from ‘everything else’.

A

boundary

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

An area or field of knowledge characterised by a set of concepts and terminology is known as a ______

A

domain

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

How do each of the following characteristics of software contribute to the introduction of errors:

  1. Malleability
  2. Complexity
  3. Size
A
  1. Every change introduces the possibility of new errors
  2. The more complex a piece of software becomes, the higher the liklihood that a change will affect other parts of the software
  3. The greater the number of lines of code in a piece of software, the greater the number of likely errors
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

The follwing are essential characteristics of a good software system:

  1. U_____
  2. U_____
  3. R_______
  4. F_______
  5. A________
  6. A_________
A
  1. Useful
  2. Usable
  3. Reliable
  4. Flexible
  5. Available
  6. Affordable
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

A good software system is one that meets users’ needs. Give two reasons why might a delivered software fail to do this?

A
  • some needs are missed during requirements capture
  • needs may change over time
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

How might flexibility and affordability be connected?

A

Flexible software means that it takes less time to implement changes, therefore reducing labour costs.

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

_______________ is a software quality factor that determines the effort required to understand, locate, and fix errors in a system

A

Maintainability

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

An old software system that is still required because it meets some useful purpose to an organisation is called a ______ system.

A

legacy

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

The process of splitting a problem into smaller parts until each one can be understood by an individual is known as _____________

A

decompostion

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

A ______ is a program unit / component that is used exclusively through an external interface.

A

module

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

______ programming is a a form of software development where a single person attemts to have in mind everything concerning a given problem and its eventual solution

A

Heroic

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

__________ is a basic attribute of software. It allows the partition of a set of requirements into a number of intellectually manageable subsets

A

Modularity

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

The _________ of a module is a description of the services it provides to its clients

A

interface

17
Q

The services that one module needs to use in order to work are called _______ ____________

A

context dependencies

18
Q

The process of describing the essential features of a problem and ignoring other details is called ___________

A

abstraction

19
Q

The measure of interconnection among modules in a software system is called ________

A

coupling

20
Q

________ is a way of describing how closely the activities within a single module are related to each other

A

Cohesion

21
Q

The software ____________ of a system is the set of structures needed to reason about the system.

These structures include software elements, relations between them, and the properties of those elements and relations.

A

architecture

22
Q

We use the term _________ to denote a unit of reuse or replacement in a software system. It could be a module or class.

A

component

23
Q

A _______ is a unit of reuse corresponding to a piece of functionality.

A

service