final_deck Flashcards
Cons of Object Oriented Design:
– Provides only one level of encapsulation (the object).– One notion of interface– One type of explicit connector (procedure call) Programming language might dictate important design decisions– Assumes a shared address space
Architecture is a set of ________________ about a software system.
principal design decisions
Treating architecture as a phase _______ its foundation role in _______________.
denies, software devlopment
Our understanding of what works now, and how it works ______________.
affects our wants and perceived needs.
In a “faithful implementation” all of the structural elements found in the architecture are implemented in ____________.
the object code, source code, etc.
Traditional design phase suggests translating _______ into ________, so a programmer can implement them.
requirements into algorithms.
Pros of Object Oriented Design:
– UML modeling notation– Design patterns
Domain Specific Software Architecture (DSSA) captures and characterizes the best solutions and best practices from:
past projects within a domain.
In the implementation phase, the code should be ________ to the architecture.
faithful
The objective of the implementation phase is to create ___________ .
machine-executable source code
In “faithful implementation”, source code must not utilize major _______________ that have no corresponding elements in the architecture.
new computational elements
In “faithful implementation”, source code must not contain __________ between architectural elements that are not found in the architecture.
new connections
In an “unfaithful implementation,” the implementation does have an _________. It is _______, as opposed to what is documented.
architecture, latent
In an “unfaithful implementation,” there is a failure to recognize the distinction between ________ and __________ architecture.
planned, implemented
The earlier an error is detected and corrected, the ______________.
lower the aggregate cost
Implementation strategies include (5):
– Generative techniques– Frameworks– Middleware– Reuse-based techniques– Writing all code manually
The ____________ of a new application begins before the requirements.
perceived need