Chapter 4 Flashcards
(32 cards)
Alternative design strategies(5)
standard, cyclic, parallel, adaptive, incremental
what is cyclic design?
process can revert to an earlier stage
what is parallel design?
independent alternatives are explored in parallel
what is adaptive design?
“lay tracks are you go” the next design strategy of the design activity is decided at the end of a given stage.
what is incremental design?
each stage of development is treated as a task of incrementally improving the existing design
concept: how to indentify a viable strategy? (3)
use fundamental design tools: abstraction/modularity, inspiration(where is creativity required?, applying experience
Two types of abstraction:
- look at details and abstract up to concepts 2. choose concepts, then add detailed substructure, move down
definition: abstraction
the act or process of separating in thought, of considering a thing independently of its associations ; or a substance independently of its attributes; or an attribute or quality independently of the substance to which it belongs.
definition: reification
The mental conversion of an abstract concept into a thing.
definition: deduction:
the process of drawing a conclusion from a principle already known or assumed; In logic: inference by reasoning from generals to particulars (opposed to induction)
definition: induction
the process of inferring a general law or principle from the observation of particular instances(oppose to deduction)
what concepts should be chosen at the outset of a design task?
- search for a simple machine that serves as an abstraction of a potential system that will perform the required task.
simple machines __________
provide a plausible first conception of how an application might be built.
every application domain _______
has its common simple machine.
To use abstraction as a tool _________
must choose a level of discourse, and terms of discourse
separation of concerns is __________
the subdivision of a problem into (hopefully) independent parts
separation of concerns: difficulties arise when _____
the issues are either actually or apparently intertwined.
experience can provide _______
that initial feasible set of “alternative arrangements for the design as a whole”
DSSA is an assemblage of software components (3)
- specialized for a particular type of task(domain) 2. generalized for effective use across that domain 3. composed in a standardized structure (topology) effective for building successful applications.
DSSAs are the pre-eminent means for _____
maximal reuse of knowledge and prior development and hence for developing a new architectural design
architectural pattern is a _______
set of architectural design decisions that are applicable to recurring design problem, and parameterized to account for different software development contexts in which that problem appears
architectural pattersn are similar to ______ but ________
DSSAs, applied “at a lower level” and within a much narrower scope
state-logic display: three tiered pattern
display(user interface) -> business logic -> state(database)
Objective of Model-view-controller
separation between information, presentation, and user interaction