1 - Approaches to software development Flashcards
A system is an assembly of __________ that are connected in an organised way to perform some ________
components, activity
A ______ is an area of knowledge characterised by a set of ________ and terminology
domain, concepts
The ________ of two combined systems encompasses a (wider/narrower) scope than the combined boundaries of the separate systems
boundary
wider
Three important characteristics of software:
- ____________ - easy to change
- __________ - components are linked to each other by a large number of relationshipts
- ____ - may be measured in terms of lines of code
malleability
complexity
size
Main characteristics of a good software system:
- Meets user’s requirements
- U_____
- U_____
- R_______
- F_______
- A________
- A_________
Uthor Underleaf Rode For Ancient Asshai
Useful
Usable
Reliable
Flexible
Available
Affordable
_______________ is a software quality factor which determines the effort required to understand, locate and fix errors in a system
Maintainability
A ______ system is an old software system that is still required because it meets some useful purpose to an organisation, and it is not considered to be ___________
legacy
replaceable
A legacy system may have started out with all the characteristics of a good software system, over time it starts to lose its ___________. All we can do is put processes in place that allow for __________ ______ to take place.
flexiblility
controlled change
A ______ is a program unit that is used exclusively through an external interface
module
The operations that a software system or module provides to its clients make up its _________
interface
________ describes how closely the activities within a single module are related to each other. We would prefer this to be (high/low).
________ is a measure of interconnection among modules in a software system. We would prefer this to be (high/low)
cohesion - high
coupling - low
The set of structures needed to reason about the system, including software elements, and the relationships between these elements, make up a software’s ____________
architecture
The characteristics of software development that support the claim that it is an engineering discipline:
- it is conerned with meeting clearly defined ____________.
- Uses a defined _______ with clear __________, each of which has at least one identifiable product.
- developers can apply their ______ and __________ to the tasks demanded of them.
- __________ and ____________ are regarded as essential.
- makes use of _____ and ________.
- Follows a ____ of ________.
- requirements
- process, activities
- skills, knowledge
- validation, verification
- tools, standards
- code, practice
A ___________ _______ is a set of rules that defines how a software development project should be carried out.
It incorporates a number of __________, and a _______ model.
development process
activities, process
Project management involves identifying appropriate ____________ for a given set of requirements, controlling the ____ of producing them, and ensuring they are produced __ ____
deliverables
cost
on time