chapter 2 Flashcards
what is achieved when moving from problem definition to req specification?
- customer needs
- product purpose
what is achieved when moving from req specification to software arch?
- decomposition of SW into module components
- consideration for tradeoffs
what tradeoffs are considered when designing a SW arch?
- budget vs schedule
- security vs speed
- cost vs robustness
- size vs fault tolerance
during arch design an architect should answer what things?
RELEVANT , EFFECTIVE, TECHNIQUE
- what are the relevant aspects of the SW
- how to effectively represent these aspects
- what techniques to use to implement and preserve their properties
what is arch about and isn’t about?
ABOUT
- components “parts”
- how those components communicate
- how those components fit
NOT ABOUT
- ds, algo, dev’t
what is suggested by traditional design pahses?
- translating the reqs to algorithms so programmers can implement them
what considerations are made by the arch-centric design?
SCOP after Deployment and Post-deployment
- stakeholder needs
- COTS [commercially-off-the-shelf] components
- overarching styles and structures
- primary class structures
- deployment issues
- post-deployment issues
what are the key arch concepts?
3SM
* 3 canonical building blocks
- components
- configuration
- connectors
* subsystems
* modules
what is a subsystem?
a system in its own right, that provides services independent from services provided by other subsystems
what us a module?
component of a system that provides services to other components but is not considered a system itself
what are the 3 fundamental understandings of soft arch?
- arch is not a phase of dev’t
- every app has an arch
- every app has at least 1 architect
what is a SW component?
is an arch entity that encapsulates a subset of a systems functionality, which can then be only accessed through explicitly defined interfaces.
list types of components.
double CM
- computational
- memory
- manager - state
- controller - seq of time
of the 3 canonical BB, which provides app specific and app independent services / facilities?
specific - component
independent - connector
what is a SW conector?
an arch building bloc that regulates interactions among components through rules that govern these interactions
what types of interactions can a connector regulate?
Simple
- procedure calls, shared var access
Complex
- async protocols, client-server protocols
- db access , pipe streams
what is a SW configuration / topology?
is a graph of connected components and connectors that describe arch structure.
composite components are __________ ?
configurations
thoroughly explain what an arch driver is.
- arch drivers are design forces that influence early design decisions that an architect makes.
- they are not all of the sys reqs, but they are the most influential to the design decision
____________ are arch significant reqs?
arch drivers
what are design constraints encountered on arch design?
BCDE TL
- business
- contractual req
- dev’t process
- economy
- technical
- legal
what are levels of a functional req?
system level - input to process for desire output
user level - from users POV
business level - measurable goals of the business
explain the MoSCoW method.
- Must : must, necessary for success
- should - critical, high priority, necessary
- could - desirable but not necessary
- won’t - not desired, maybe considered for future
thoroughly explain FR
- ability of a system to satisfy why it was designed
- basis upon which NFR are built
- related to NFR like correctness, validity, security and interoperability
____________ drives initial decomposition in SA?
FR
__________ is a measurable and testable property of a system?
NFR [ quality attributes ]