Unit 1 Flashcards
A ______ is an assembly of components that are connected together in an organised way
system
In software development, a _______ is a set of activities/operations that takes one or more inputs, and produces one or more outputs
process
A ______________ system includes software, hardware, other technical components, people, organisations, and other social structures
sociotechnical
A system ________ separates the system to be studied from ‘everything else’.
boundary
An area or field of knowledge characterised by a set of concepts and terminology is known as a ______
domain
How do each of the following characteristics of software contribute to the introduction of errors:
- Malleability
- Complexity
- Size
- Every change introduces the possibility of new errors
- The more complex a piece of software becomes, the higher the liklihood that a change will affect other parts of the software
- The greater the number of lines of code in a piece of software, the greater the number of likely errors
The follwing are essential characteristics of a good software system:
- U_____
- U_____
- R_______
- F_______
- A________
- A_________
- Useful
- Usable
- Reliable
- Flexible
- Available
- Affordable
A good software system is one that meets users’ needs. Give two reasons why might a delivered software fail to do this?
- some needs are missed during requirements capture
- needs may change over time
How might flexibility and affordability be connected?
Flexible software means that it takes less time to implement changes, therefore reducing labour costs.
_______________ is a software quality factor that determines the effort required to understand, locate, and fix errors in a system
Maintainability
An old software system that is still required because it meets some useful purpose to an organisation is called a ______ system.
legacy
The process of splitting a problem into smaller parts until each one can be understood by an individual is known as _____________
decompostion
A ______ is a program unit / component that is used exclusively through an external interface.
module
______ 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
Heroic
__________ is a basic attribute of software. It allows the partition of a set of requirements into a number of intellectually manageable subsets
Modularity
The _________ of a module is a description of the services it provides to its clients
interface
The services that one module needs to use in order to work are called _______ ____________
context dependencies
The process of describing the essential features of a problem and ignoring other details is called ___________
abstraction
The measure of interconnection among modules in a software system is called ________
coupling
________ is a way of describing how closely the activities within a single module are related to each other
Cohesion
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.
architecture
We use the term _________ to denote a unit of reuse or replacement in a software system. It could be a module or class.
component
A _______ is a unit of reuse corresponding to a piece of functionality.
service