chapter 2 Flashcards

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
Q

____________ drives initial decomposition in SA?

A

FR

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

__________ is a measurable and testable property of a system?

A

NFR [ quality attributes ]

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

what should a quality attribute be?

A
  • objective
  • detailed
  • have a value and context [ 180 sec ]
28
Q

what are the central activities an architect?

A

RAM DD
- recovery
- assess
- maintain
- design
- document

29
Q

what are the roles of an architect?

A

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
Q

what are the soft skills of an architect?

A

COLT
* consulting - empathy, mentor, entrepreneurial
* org politics - resilient, d/t view points, patient
* leadership - charismatic, motivator, passionate
* technical - practical, problem solver, insightful

31
Q

what are traits of an architect?

A

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
Q

what is structure?

A

is a set of elements as they exist in the system
- module structure -> set of modules and their organization

33
Q

why do we use multiple structures?

A
  • 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
Q

give example of how a multiple structure can be implemented for d/t reqs.

A

runtime - addressed by partitioning SW into threads
portability -&raquo_space;&raquo_space; into software layers
re use -&raquo_space;&raquo_space; into modules
effective work division -&raquo_space;&raquo_space; into subsystems

35
Q

what are the 3 group divisions of arch structures?

A
  • modules structures
  • component and connectors structures
  • allocation structures
36
Q

describe a module structure.

A
  • 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
Q

describe a component and connector structure.

A
  • 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
Q

describe an allocation structure

A
  • 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
Q

what is the analogy with building architectures?

A

There isn’t one single interpretation, but many;
PET REV
- plumbing diagrams
- electrical diagrams
- traffic diagrams
- room layouts
- elevation drawings
- ventilation diagrams

40
Q

what is a view?

A

is a representation of coherent arch elements written and read by stakeholders

41
Q

who introduced the 4+1 view model?

A

Philipe Krutchen

42
Q

how does the 4 + 1 view model work?

A

by using d/t views to separate stakeholder concerns
- widely accepted

43
Q

what does arch mean to network eng, PM, developer and tester?

A

d/t things [ each is interested in ]
- HW and config
- schedule and cost
- classes for components
- scenerios

44
Q

briefly describe the logical view in the 4 + 1 view model.

A
  • 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
Q

what is the focus and content of the logical view?

A

focus - FR
content - seq, class, layer diagrams

46
Q

briefly describe the process view in the 4 + 1 view model.

A
  • addresses concurrency and distribution of functions
  • is a component and connector view
47
Q

what is the focus and content of the process view?

A

focus - runtime behaviors: performance, communication, scalability
content - Activity diagram

48
Q

briefly describe the dev’t [ implementation ] view in the 4 + 1 view model.

A
  • addresses the organization of modules, libraries and subsystems.
  • an allocation view [ maps SW to dev’t ]
49
Q

what is the focus and content of the dev’t view?

A

focus - static org of sw in dev’t env’t
content - package, component diagrams

50
Q

briefly describe the physical view in the 4 + 1 view model.

A
  • aka deployment view
  • maps elements to communication and processing nodes.
  • is also an allocation view
51
Q

what is the focus and content of the physical view?

A

focus - topology, deployment, communication
content - deployment diagrams

52
Q

briefly describe the Scenario view in the 4 + 1 view model.

A

validates if structures were in conflict with each other or if they came together to meet system reqs.

53
Q

what is the focus and content of the scenario view?

A

focus - use cases to illustrate arch
content - use case diagrams

54
Q

which ties the other 4 views together in the 4 + 1 MV?

A

scenario view

55
Q

what is lifecycle model?

A

model that shows the arch as iterating with the preliminary reqs

56
Q

explain aspects of arch in the life cycle model.

A

IBI
- iterates over FR and NFR
- balances b/n FR and NFR
- involves stakeholders

57
Q

briefly explain the 3 step iterative arch model.

A

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
Q

what are the main sources if arch requirements?

A
  • FR documents or any doc that describes stakeholder needs
  • some arch req are constraints
59
Q

what are constraints?

A

impose restriction on arch and are almost always non-negotiable

60
Q

____________ are inputs and outputs of arch design?

A

arch reqs and [ arch views and design doc ]

61
Q

what are the steps in the processing / design stage of arch design?

A
  • selecting arch style
  • allocating components
62
Q

what is a prerequisite before selecting an arch style?

A

understanding how a style will address quality attributes

63
Q

____________ are the major abstractions in our application?

A

arch components

64
Q

what is the aim of validation in the 3 step iterative model?

A
  • to increase design team confidence on arch
65
Q

what are the 2 ways to effectively validate an arch?

A
  • prototyping
  • manual testing