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
____________ is important for the reconstruction of significant events.
traceability
_____________ records the progress from requirements to implementation and beyond.
In _____ development, it should only be gathered with a purpose, should be easy to use, and it should justify the effort that gathering it required
documentation
agile
A _____ is a simplification of reality that has been created in order to understand a certain _________
model
viewpoint
A modelling language has two kinds of rules:
______ - the rules that determine whether or not a diagram is legal
_________ - the rules that define what a legal diagram means
syntax
semantics
A stardard modelling language should be:
- sufficiently __________
- easy to _____ and ___
- u__________
- ______ used
- supported by suitable _____
expressive
learn, use
unambiguous
widely
tools
__________ models describe objects and their relationships to other objects. Aka ______ models.
_________ models describe what happens over time. Aka _______ models.
structural
static
behavioural
dynamic
______ modelling is concerned with gaining an understanding of the environment in which the system must operate. It includes the production of the following artefacts:
- _______ _______ statement - a description of the problem
- _________ model - a description of the business processes and the behaviour of the domain
- ________ _____ - constraints on the way the above model operates
- ________ - definitions of relevant terms
- __________ ______ model - an initial structural model
Domain (modelling)
- initial problem (statement)
- business (model)
- business rules
- glossary
- initial domain (model)