chapter 2 Flashcards

(65 cards)

1
Q

what is achieved when moving from problem definition to req specification?

A
  • customer needs
  • product purpose
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

what is achieved when moving from req specification to software arch?

A
  • decomposition of SW into module components
  • consideration for tradeoffs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

what tradeoffs are considered when designing a SW arch?

A
  • budget vs schedule
  • security vs speed
  • cost vs robustness
  • size vs fault tolerance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

during arch design an architect should answer what things?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

what is arch about and isn’t about?

A

ABOUT
- components “parts”
- how those components communicate
- how those components fit

NOT ABOUT
- ds, algo, dev’t

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

what is suggested by traditional design pahses?

A
  • translating the reqs to algorithms so programmers can implement them
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

what considerations are made by the arch-centric design?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

what are the key arch concepts?

A

3SM
* 3 canonical building blocks
- components
- configuration
- connectors
* subsystems
* modules

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

what is a subsystem?

A

a system in its own right, that provides services independent from services provided by other subsystems

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

what us a module?

A

component of a system that provides services to other components but is not considered a system itself

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

what are the 3 fundamental understandings of soft arch?

A
  • arch is not a phase of dev’t
  • every app has an arch
  • every app has at least 1 architect
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

what is a SW component?

A

is an arch entity that encapsulates a subset of a systems functionality, which can then be only accessed through explicitly defined interfaces.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

list types of components.

A

double CM
- computational
- memory
- manager - state
- controller - seq of time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

of the 3 canonical BB, which provides app specific and app independent services / facilities?

A

specific - component
independent - connector

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

what is a SW conector?

A

an arch building bloc that regulates interactions among components through rules that govern these interactions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

what types of interactions can a connector regulate?

A

Simple
- procedure calls, shared var access
Complex
- async protocols, client-server protocols
- db access , pipe streams

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

what is a SW configuration / topology?

A

is a graph of connected components and connectors that describe arch structure.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

composite components are __________ ?

A

configurations

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

thoroughly explain what an arch driver is.

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

____________ are arch significant reqs?

A

arch drivers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

what are design constraints encountered on arch design?

A

BCDE TL
- business
- contractual req
- dev’t process
- economy
- technical
- legal

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

what are levels of a functional req?

A

system level - input to process for desire output
user level - from users POV
business level - measurable goals of the business

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

explain the MoSCoW method.

A
  • Must : must, necessary for success
  • should - critical, high priority, necessary
  • could - desirable but not necessary
  • won’t - not desired, maybe considered for future
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

thoroughly explain FR

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
____________ drives initial decomposition in SA?
FR
26
__________ is a measurable and testable property of a system?
NFR [ quality attributes ]
27
what should a quality attribute be?
- objective - detailed - have a value and context [ 180 sec ]
28
what are the central activities an architect?
RAM DD - recovery - assess - maintain - design - document
29
what are the roles of an architect?
CTRL [ comm, tech, risk, lead ] * sw eng lead - solve problems - plan and manage releases - lead by example * facilitate communication - b/n PM, customers and marketing * technology expert * risk mgt
30
what are the soft skills of an architect?
COLT * consulting - empathy, mentor, entrepreneurial * org politics - resilient, d/t view points, patient * leadership - charismatic, motivator, passionate * technical - practical, problem solver, insightful
31
what are traits of an architect?
DC SKL - depth in relevant domain - cross domain proficiency - strong comm, dev't and debugging skills - knowledge of domain patterns - looking for challenging problems
32
what is structure?
is a set of elements as they exist in the system - module structure -> set of modules and their organization
33
why do we use multiple structures?
- SW exists in multiple domains as a set of: ---- > modules , threads, processes, files ... - trying to satisfy reqs using the same arch structure is impossible. - so reqs are grouped in such a way that each group is addressed by a d/t and partly independent software structure
34
give example of how a multiple structure can be implemented for d/t reqs.
runtime - addressed by partitioning SW into threads portability - >> >> into software layers re use - >> >> into modules effective work division - >> >> into subsystems
35
what are the 3 group divisions of arch structures?
- modules structures - component and connectors structures - allocation structures
36
describe a module structure.
- elements are modules, i.e units of implementation. - gives a static view of the system [ not concerned with runtime ] - each module has a functional responsibility - code based view of system - answers questions like [ asameriw ]: * relationships b/n modules? * function of a module * SW used by the module
37
describe a component and connector structure.
- elements are runtime components and connectors - give a dynamic view - answers questions like: * major components * major data stores * which components can run in parallel * which components are replicated
38
describe an allocation structure
- describes relationship b/n SW elements and the external environment it runs in - answers questions like: * what type of processor is used * in what files are elements stored * what elements assigned to dev't teams
39
what is the analogy with building architectures?
There isn't one single interpretation, but many; PET REV - plumbing diagrams - electrical diagrams - traffic diagrams - room layouts - elevation drawings - ventilation diagrams
40
what is a view?
is a representation of coherent arch elements written and read by stakeholders
41
who introduced the 4+1 view model?
Philipe Krutchen
42
how does the 4 + 1 view model work?
by using d/t views to separate stakeholder concerns - widely accepted
43
what does arch mean to network eng, PM, developer and tester?
d/t things [ each is interested in ] - HW and config - schedule and cost - classes for components - scenerios
44
briefly describe the logical view in the 4 + 1 view model.
- elements - key abstractions - system is decomposed into key abstractions taken from the OO world in the form of objects or classes - its a module view
45
what is the focus and content of the logical view?
focus - FR content - seq, class, layer diagrams
46
briefly describe the process view in the 4 + 1 view model.
- addresses concurrency and distribution of functions - is a component and connector view
47
what is the focus and content of the process view?
focus - runtime behaviors: performance, communication, scalability content - Activity diagram
48
briefly describe the dev't [ implementation ] view in the 4 + 1 view model.
- addresses the organization of modules, libraries and subsystems. - an allocation view [ maps SW to dev't ]
49
what is the focus and content of the dev't view?
focus - static org of sw in dev't env't content - package, component diagrams
50
briefly describe the physical view in the 4 + 1 view model.
- aka deployment view - maps elements to communication and processing nodes. - is also an allocation view
51
what is the focus and content of the physical view?
focus - topology, deployment, communication content - deployment diagrams
52
briefly describe the Scenario view in the 4 + 1 view model.
validates if structures were in conflict with each other or if they came together to meet system reqs.
53
what is the focus and content of the scenario view?
focus - use cases to illustrate arch content - use case diagrams
54
which ties the other 4 views together in the 4 + 1 MV?
scenario view
55
what is lifecycle model?
model that shows the arch as iterating with the preliminary reqs
56
explain aspects of arch in the life cycle model.
IBI - iterates over FR and NFR - balances b/n FR and NFR - involves stakeholders
57
briefly explain the 3 step iterative arch model.
DAR, AD, V 1. define arch req : req that will drive arch design 2. arch design - define responsibilities and structure o f components 3. validation - "testing" arch design
58
what are the main sources if arch requirements?
- FR documents or any doc that describes stakeholder needs - some arch req are constraints
59
what are constraints?
impose restriction on arch and are almost always non-negotiable
60
____________ are inputs and outputs of arch design?
arch reqs and [ arch views and design doc ]
61
what are the steps in the processing / design stage of arch design?
- selecting arch style - allocating components
62
what is a prerequisite before selecting an arch style?
understanding how a style will address quality attributes
63
____________ are the major abstractions in our application?
arch components
64
what is the aim of validation in the 3 step iterative model?
- to increase design team confidence on arch
65
what are the 2 ways to effectively validate an arch?
- prototyping - manual testing