Rozanski & woods + Rup Flashcards

(138 cards)

1
Q

What is the R&W equivalent of Rup’s Logical view?

A

Functional View

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

Fill in the missing keywords in this diagram of the Rozanski & Woods viewpoint set.

A

A = Context Viewpoint

B = Functional Viewpoint

C = Information Viewpoint

D = Concurrency Viewpoint

E = Development Viewpoint

F = Deployment Viewpoint

G = Operational Viewpoint

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

What products are present in an Architectural Description (AD) ?

A

the products in an architectural description (AD) include:

  • Views
  • models
  • principles
  • constraints
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Geef een korte omschrijving van de activiteiten in de Elaboration phase

A
  1. Risico’s identificeren en overwinnen
  2. Testen architectuur, kritische UC’s uitwerken,
  3. proof of concepts
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What can be said about the Quality attributes in the RUP/Kruchten 4+1 model ?

A

Quality attributes are less explicit in the RUP/Kruchten 4+1 model

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

Give an example for each level of software pattern

A

architecture (system level) : client/server

design (subsystem level) : observer

language idioms (block level) : how to loop through a list of items in Java

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

Give a description of the event-driven Architectural pattern

A
  • a popular distributed asynchronous architecture pattern used to produce highly scalable applications.
  • self-contained and highly decoupled event processing components that asynchronously receive and process events.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is another name used for Scenarios in the RUP/Kruchten 4+1 model ?

A

Use–Case View

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

Waarom Rup ?

A
  1. Zit conceptueel mooi tussen Waterval en Agile in.
  2. Behandelt meer procesonderdelen dan Scrum.
  3. Heeft eigen sterktes (maar ook zwaktes)
  4. Wordt gebruikt bij veel grote bedrijven
  5. “Op maat maken” dwingt je tot begrijpen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

list the core perspectives

A
  • performance and scalability
  • security
  • availability and resilience
  • evolution
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Give a short description of the development viewpoint in the R & W viewpoint set

A

the development viewpoint describes the architecture that supports the software development process.

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

What can be said about the ease of development of the Microkernel Architectural pattern?

A

It’s low, it requires thoughtful design and contract governance, making it rather complex to implement

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

Give a short description of the context viewpoint in the R & W viewpoint set.

A

the context viewpoint describes the relationships, dependencies and interactions between the system and it’s environment

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

What can be said about the scalability of the Microkernel Architectural pattern?

A

It’s low, often implemented as single units and hence not highly scalable.

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

List the stakeholders of the process view in the RUP/Kruchten 4+1 view model

A

the stakeholders of the process view are:

  • acquirers
  • developers
  • maintainers
  • system integrators
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are the tactics of the Security perspective ?

A
  • apply recognized security principles
  • authenticate the principals
  • authorize access
  • ensure information secrecry
  • ensure information integrity
  • vulnerability analysis
  • application of security technology
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Give a short description of the Deployment view

A

The deployment view shows how the run–time entities are mapped on the execution platform and the hardware.

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

list 5 examples of Quality Properties

A
  • Performance
  • Efficiency
  • Security
  • Maintainability
  • availability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What are the concerns of the Security perspective ?

A
  • authentication
  • authorization
  • confidentiality
  • integrity
  • accountability
  • availability
  • intrusion detection
  • recovery
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Give a description of the DDD Domain Driven Design Architectural pattern

A
  • an approach to software development focused on modelling a business domain and defining business objects
  • domain model is expressed in the language of business domain experts
  • aimed at avoiding communication problems and improving the common domain language
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What is the definition of an architectural tactic?

A

an architectural tactic is an established approach or solution you can use to achieve a particular quality property (QP)

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

What can be said about the flexibility of the Layered Architectural pattern?

A

It’s low.

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

What is an Architectural tactic

A

an architectural tactic is an established approach or solution you can use to achieve a particular quality property (QP)

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

Geef een korte omschrijving van de activiteiten in de Inception phase

A
  1. Inhoud, scope, risico’s en globale planning helder krijgen.
  2. Eens worden over de inhoud / opzet van het project
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
What is the definition of a **stakeholder**?
a stakeholder is a person, group or entity with interest in or concerns about the realization of the architecture.
26
Give a short description of the **Implementation view**
The **implementation view** describes the organization of the software modules and implementation details.
27
What is the ISO/IEC/IEEE defenition of Architecture ?
(System) fundamental concepts or properties of a system in its environment embodied in its elements, relationships, and in the principles of its design and evolution
28
What are the key responsibilities of an **architect**?
1. Create and communicate the vision that aligns to the requirements 2. Create and communicate the road to achieve that vision
29
How do **Architectural patterns** relate to **Architectular tactics?**
an **architectural pattern** often implements _multiple_ **tactics**, usually related to _different_ qualities, in a coherent way
30
What are the elements of the **SAD of Simon Brown**?
1. context 2. functional overview 3. principles 4. SA 5. external interfaces 6. code 7. data 8. infrastructure architecture 9. deployment 10. operation and support 11. decision log
31
Give the definition of a Viewpoint
A viewpoint is a collection of patterns, templates, and conventions for constructing one type of view. It defines the stakeholders whose concerns are reflected in the viewpoint and the guidelines, principles and template models for constructing its views.
32
What can be said about the **Rozanski and Woods** **View set**?
* extension and refinement of Kruchten’s set * aimed at modern, large scale, distributed information systems * renamed & evolved Logical, Process and Physical * added Information and Operational
33
What are the fundamental pieces of the **Logical View**
* subsystems * components * dependencies * interfaces
34
The Rup/Kruchten 4+1 model is: a) rather technically oriented b) rather focused on the users of the system
A
35
What are the 4 phases of the **RUP op maat** method.
1. Inception 2. elaboration 3. construction 4. transation
36
What is the relationship between **architecture** and **design**
architecture frames design, architecture is part of the design process but not all design is architectural.
37
List the stakeholders of the **Logical view** in the RUP/Kruchten 4+1 view model
the stakeholders of the **logical view** are: ## Footnote * acquirers * end users * developers * maintainers of the system
38
Give a short description of the **Use-case view**
The **use-case view** describes Key scenarios that drive the discovery, design and validation of the architecture
39
What is the focus, result and guidance of a Viewpoint ?
**Focus**: a type of structure **Result**: a view – model(s), a primary arch structure **Guidance**: models to create, advice based on practice
40
What are some of the challenges in creating an Architectural Description(AD) ?
some of the challenges in creating an **Architectural Description(AD)** are: ## Footnote * Different stakeholders need different things from the AD * some stakeholders are very knowledgeable, others aren't * you never have enough time to fully document the architecture. * you have to leave some areas undefined or vaguely defined without losing credibility * the AD needs to capture design decisions and the rationale clearly without confusing readers with too many irrelevant details and options. * the AD needs to be sufficiently detailed to unequivocally answer all the important decisions.
41
What is the focus, result and guidance of a **Perspective**?
**focus**: a quality property **Result**: changes to views, supporting artifacts **Guidance**: a process for application, advice based on practice.
42
which of the following statements is correct? ## Footnote 1. A view consists of solely ONE model that represent it 2. using multiple views is essential for both designing and describing an architecture.
only statement 2 is correct. A view consists of **one OR more** models that represent it
43
What can be said about the _ease of development_ of the **event-driven architectural pattern**?
It's **low**, due to the asynchronous nature of the pattern as well as contract creation and the need for advanced error handling.
44
Fill in the missing keywords on positions A,B,C
A = View B = Viewpoint C = Perspective
45
**Architectural views** solve what problem ?
views solve the problem that it is not possible to capture all the functional features (and quality properties) in a single model
46
**"layers refer to _____ structure : organized on the level of \_\_\_\_\_"** Fill in the missing words in the sentence above.
1. logical 2. abstraction
47
What can be said about the _scalability_ of the **Layered Architectural pattern**?
It's **low**, the Layered pattern leads to tightly coupled and monolithic implementations.
48
What are the 9 types of **Architectural patterns**?
1. layered (hierarchical) 2. Data flow 3. Micro kernel 4. Event driven 5. Micro-services 6. Distributed 7. Shared data 8. VM 9. MVC
49
What drives **software** **architectures**?
* Functional requirements * Quality attributes or non functional requirements
50
List the stakeholders of the **Implementation view** in the RUP/Kruchten 4+1 view model
the stakeholders of the **implementation view** are: ## Footnote * developers * software management * configuration management
51
What can be said about the _testability_ of the **Layered Architectural pattern**?
It's **high**, layers can be tested independently of other layers, these other layers can be mocked or stubbed.
52
is the following statement correct ? ## Footnote *"an architectural pattern often implements multiple tactics, usually related to different qualities, in a coherent way"*
yes
53
**"tiers refer to ____ structure : they are ____ deployed on separate computers"** Fill in the missing words in the sentence above.
1. physical 2. layers
54
What are the deliverables of the **Process View** in the RUP/Kruchten 4+1 model?
the deliverables of the **Process view** are: ## Footnote * Activity Diagram * Sequence Diagram
55
What are the deliverables of the **Deployment View** in the RUP/Kruchten 4+1 model?
the deliverables of the **Deployment view** are: ## Footnote * Deployment diagram
56
Give some reasons why quality properties are crucial to stakeholders
* slow functions don't get used * unavailable systems cause business interruption * security problems cause headlines * unmaintainable systems become irrelevant
57
In order to describe a **perspective** several aspects need to be elaborated on. What are those aspects ?
* desired quality * applicability * concerns * activities * tactics * problems and pitfalls
58
what is the definition of Perspectives ?
A perspective is a collection of patterns, templates and guidelines to ensure the system has the right quality properties
59
What is an Architectural Description (AD)?
An architectural description (AD) is a set of products which documents an architecture in a way which is understandable by its stakeholders.
60
What are the 3 levels of **software patterns**?
1. architecture (system level) 2. design (subsystem level) 3. language idioms (block level)
61
What can be said about the _flexibility_ of the **Micro kernel Arhictectural pattern**?
It's **high**, as the application evolves incrementally, add features and functionality
62
Wat zijn de kenmerken van **Rup**?
1. Iteratief en incrementeel 2. Use-case gedreven 3. Geeft stakeholders een stem 4. Architectuur centrisch 5. Risks first 6. Aanpasbaar (op maat) 7. Focus op kwaliteit
63
What is the difference between an Architectural View and a view ?
none, they are synonyms for the same thing.
64
Provide the missing keywords for A, B, C in the following diagram about Architectural Descriptions.
A = Architectural Description B = View C = Viewpoint
65
Give a short description of the **information viewpoint** in the R & W viewpoint set
the **information viewpoint** describes the way that the system stores, manipulates, manages, and distributes information
66
What can be said about the _ease of deployment_ of the **Layered Architectural pattern**?
It's **low**, a small change to a component can require a redeployment of large portion of application.
67
what are the two questions that need to be answered before applying a **perspective**
1. Which perspectives would help you to achieve your quality properties (QP's) ? 2. Where may you have conflicts if applying different relevant perspectives ?
68
Name 3 different kinds of **IT** **architects**
1. Enterprise Architect 2. Software Architect 3. Solutions Architect
69
What can be said about the _performance_ of the **event-driven architectural pattern**?
It's **high**, achieves high performance through its asynchronous capabilities
70
Which of the following statements is/are correct: 1. The R&W viewpoint set is an extension and refinement of the Kruchten's set. 2. The Viewmodel of Rozanski & Woods is aimed at old, large scale and distributed information systems.
Only Statement 1 is correct. The Viewmodel of Rozanski & Woods is aimed at **new**, large scale and distributed information systems.
71
What are the 6 levels of Architecture
The 6 levels of architecture are: ## Footnote * enterprise * application, product * embeded system * infrastructure (system, network) * platform * CPU
72
Give a short description of the **functional viewpoint** in the R & W viewpoint set
the **functional viewpoint** describes the system's run time functional elements, their responsibilities, interfaces, and primary interactions
73
is the following statement correct ? ## Footnote *"You apply perspectives to the architecture to ensure quality properties are acceptable and guide it's development"*
Yes
74
Wat zijn de best practices van Use cases, zoals omschreven door **Cockburn**
1. Schrijf iets leesbaars 2. Beschrijf top-down (breadth first) 3. Gebruik 3 tot 9 stappen per use case ‘refactor’ waar nodig 4. Data en business rules benoemen maar elders beschrijven
75
What are the 3 pattern categories ?
* creational patterns * structural patterns * behavioral patterns
76
What can be said about the _Ease of development_ of the **Layered Architectural pattern**?
It's **high**, layers can be developed independently; but defining an abstract service interface is not easy.
77
Geef een korte omschrijving van de activiteiten in de **Construction phase**
Iteratief ontwerpen, bouwen, testen
78
Name two templates for creating **Architecture**
1. Rup 2. Simon Brown
79
What are the deliverables of the **Logical View** in the RUP/Kruchten 4+1 model.
The deliverables of the **Logical View** are: ## Footnote * Component Diagram * Class Diagram * ERD Diagram
80
Describe the steps in the TOGAF model
Preliminary phase: Frameworks & Principles A: Architecture Vision B: Business Architecture C: Information Systems Architecture D: Technology Architecture E: Opportunities and Solutions F: Migration Planning G: Implementation Governance H: Architecture Change Management
81
list the viewpoints of the Rozanski & Woods viewpoint set.
* Context Viewpoint * Functional Viewpoint * Information Viewpoint * Concurrency Viewpoint * Development Viewpoint * Deployment Viewpoint * Operational Viewpoint
82
Geef een korte omschrijving van de activiteiten in de **Transation phase**
1. Bugfixen, deployen, 2. Trainen, overdragen aan beheer, afsluiting
83
What can be said about the performance of the **Layered Architectural pattern**?
It's **low**, there is a performance overhead from going through layers to service a request.
84
What are the concerns of the **Availability and Resilience** perspective
* classess of service * planned/unplanned downtime * Mean time between failure (MTBF) * Mean time to repair (MTTR) * disaster recovery * redundancy * clustering * failover
85
Give a short description of the **process view**
The **process view** deals with the dynamic aspects of the system, like threads & processes, inter–process communication, scheduling aspects and shared resources.
86
List the stakeholders of the **deployment view** in the RUP/Kruchten 4+1 view model
the stakeholders of the **deployment view** are: ## Footnote * acquirers * system engineers
87
What is another term sometimes used for **Architectural pattern**
Architectural style
88
What is the **R&W** equivalent of **Rup's Implementation view**?
Development
89
What can be said about the _ease of deployment_ of the **event-driven architectural pattern**?
It's **high**, Overall this pattern is relatively easy to deploy due to the decoupled nature of the event-processor components.
90
Give a description of the **Layered** Architectural pattern.
* one of the most common architecture patterns * decomposes application into groups of subtasks, each of which is at a particular level of abstraction * each layer provides services to the layer above it and acts as a client of the layer below * a layer depends only on lower layers, has no knowledge of higher layers * dependencies are kept local, changes can be made within the layer without affecting other layers
91
What are the tactics of the **Evolution perspective**
* contain/encapsulate change * create flexible interfaces * apply change–oriented architectural styles * build variation points into the software (use patterns) * achieve reliable change * preserve development environments * achieve reliable change (configuration management, automated testing, ci, cd)
92
What can be said about _testability_ of the **event-driven architectural pattern**?
It's **low**, Correctness hard to ensure due to the asynchronous nature of this pattern.
93
List the stakeholders of the **Use–Case view** in the RUP/Kruchten 4+1 view model
the stakeholders of the **Use–Case View** are: ## Footnote * users of the system * acquirers * developers * maintainers * testers
94
What are the deliverables of the **Implementation View** in the RUP/Kruchten 4+1 model?
The deliverables of the **implementation view** are: ## Footnote * Package Diagram(s) * File structures * Description of frameworks * libraries * programming language(s)
95
What are the tactics of the **Performance and Scalability** perspective ?
the tactics of the **Performance and Scalability** perspective are: ## Footnote * optimize repeated processing * reduce contention via replication * prioritize processing * consolidate related workload * distribute processing over time * minimize the use of shared resources * partition and parallelize * use asynchronous processing * make design compromises
96
Vul de geblurrde begrippen in onderstaand diagram in.
A = Role B = Artefact C = Activity
97
Give a short description of the **operational viewpoint** in the R & W viewpoint set
the **operational viewpoint** describes how the sytem will be operated, administered, and supported when it is running in its production environment.
98
What is another name used for Physical View ?
Deployment View
99
Why is it wise to create multiple views instead of a single model ?
it is impossible to describe a software architecture by using a single model. such a model is hard to understand and is unlikely to clearly identify the architecture’s most important features. It also tends to poorly serve individual stakeholders because they struggle to understand the aspects that interest them.
100
Give a short description of the **concurrency viewpoint** in the R & W viewpoint set
the **concurrency viewpoint** describes the concurrency structure of the system and maps functional elements to concurrency units to clearly identify the parts of the system that can execute concurrently and how this is coordinated and controlled.
101
Give a short description of the **deployment viewpoint** in the R & W viewpoint set
the deployment viewpoint describes the environment into which the system will be deployed and the dependencies that the system has on elements of it.
102
Software architecture
Software architecture is high–level requirements & design of a software system
103
What are the virtues of a **Software Architect ?**
1. Artistic skill 2. Analytical skills 3. Understanding of the domain 4. Communication skills 5. understanding the capabilities of the development orginasation
104
What are the tactics of the **Availability and Resilience** perspective ?
* select fault–tolerant hardware * use hardware clustering and load balancing * log transactions * apply software availability solutions * select fault–tolerant software * identify backup and disaster recovery solutions
105
What is the definition of Quality Properties
Quality Properties are the _non–functional_ characteristics of the system.
106
What can be said about the _testability_ of the **Microkernel Architectural pattern**?
It's **high**, plug-in modules can be tested in isolation and can be mocked by the core system
107
what are the concerns of the **Performance and Scalability** perspective ?
the concerns of the Performance and Scalability perspective are: ## Footnote * Processing volume * response time * responsiveness * throughput * predictability
108
name 4 structures that can be defined by an **Architecture**
4 structures that can be defined by an **Architecture** are: * Functional structure * information structure * concurrency structure * design time structure
109
What can be said about the _flexibility_ of the **event-driven architectural pattern**?
It's **high**, event-processor components are highly independent and decoupled, so changes are generally isolated
110
What can be said about the _scalability_ of the **event-driven architectural pattern**?
It's **high**, scalability is naturally achieved by highly independent and decoupled event processors.
111
What is the definition of a **software architectecture** as defined by the **software engineering institute**?
The **software architecture** of a program or computing system is the _structure_ or structures of the system, which comprise *software elements*, the *externally visible properties* of those *elements*, and the *relationships* among them.
112
What are the 4 layers in the Enterprise view
the 4 layers in the enterprise view are: ## Footnote 1. Business 2. Data 3. Application 4. Technology
113
What are the concerns of the **Evolution perspective**
* magnitude of change * dimensions of change * likelihood of change * timescale for change * development complexity * preservation of knowledge * reliability of change
114
Enterprise architecture
is an attempt to get to grips with “everything” contains different models with different emphasis is in general top–down starting with the business
115
How do **requirements** relate to **architecture**
requirements are an input to architecture they frame the architectural problem. An architecture is a framework for evaluating requirements
116
how does one apply architectural tactics ? describe the 4 steps that need to be completed in order to do so.
* identify the relevant tactics * evaluate (dis)advantages for implementing the key–drivers * evaluate their relationship (e.g. contradiction) * make appropriate design decisions
117
What are some challenges when dealing with many structures ?
* organization of ideas * understanding different aspects simultaneously * dealing with different aspects equally * consistency
118
Which of the following statements are incorrect? ## Footnote 1. a view is a pattern of a generalized viewpoint 2. a view is the class (or template), the viewpoint is the instance. 3. models (e.g. diagrams) are the artifacts from which the view is made.
statement 1 and statement 2 are incorrect. a **viewpoint** is a pattern or generalization of a **view** the **viewpoint** is the class (or template), the **view** is the instance
119
What are the deliverables of the **Use–case view** in the RUP/Kruchten 4+1 model?
the deliverables of the **Use–case view** are: ## Footnote * Use Case Diagram(s) * Use Case descriptions * Use Case realizations
120
Give the definition of an **Architectural View**
An **architectural view** is a representation of the whole system, as seen through the prism of specific concerns.
121
What can be said about the _ease of deployment_ of the **Microkernel Architectural pattern**
It's **high**, often plug-in modules can be added to the core system at runtime.
122
What is the **R&W** equivalent of **Rup's Process view**?
Concurrency
123
What can be said about the _performance_ of the **Microkernel Architectural pattern**?
It's **high** most applications built using the microkernel architecture pattern perform well because you can customize applications to only include those features you need.
124
What are the 5 views in the Rup / Kruchten 4+1 model ?
1. Logical View 2. Implementation View 3. Use–case View 4. Process View 5. Deployment View
125
Fill in the missing keywords in this diagram of the RUP/Kruchten 4+1 model
A = Logical View B = Implementation View C = Process View D = Deployment View E = Use–Case View
126
How detailed should an Architectural Description(AD) be ?
the architectural description (AD) should show the overall picture, but also decompose into enough detail.
127
Give a short description of the **Logical view**
The **logical view** describes the functional structure and behavior of the system.
128
What can be said about the **RUP / Kruchten 4+1 view set**?
* best known approach * different interpretations exist * rather technically oriented * quality attributes less explicit
129
Give a description of the **MicroKernel** **Architectural pattern.**
1. patterns consists of independent plug-in modules and a basic core system. 2. many operating systems implement the micro-kernel architecture pattern. 3. pattern is typically used for application platforms where different versions of a system need to be supported, i.e. platform must cope with continuous evolution.
130
What is the definition of an **architectural element**?
an architectural element is a clearly identifiable, architecturally meaningful piece of a system
131
Why use an Architecture ?
* shared understanding, the big picture * a framework for evaluating requirements * emphasis is on system's quality attributes (perspectives) * manage complexity * avoiding duplication
132
What is the role of a **Software Architecture**?
1. High level system design 2. system level abstractions 3. Statisfy high priority requirements
133
Give an example of the **Creational pattern category**
an example is the singleton pattern which ensures a class has only one instance.
134
Give an example of the **Structural pattern category**
an example is the **decorator pattern** which is used in java.io classes.
135
Give an example of the **Behavioural pattern category**
an example is the **observer pattern,** a design where observable and observers are loosely coupled
136
Give a description of the **Creational pattern category**
**creational patterns** involve object instantiation and provide a way to decouple client from objects it needs to instantiate
137
Give a description of the **Structural pattern category**
**structural patterns** let you compose classes or objects into larger structures.
138
Give a description of the **Behavioural pattern category**
**behavioral patterns** are concerned with how classes and objects interact and distribute responsibility