Exam prep Flashcards
What is the difference between Orchestrion and Choreography?
Orchestrion is the coordination of multiple services through a mediator. On the other hand with Choreography the services talk to each other.
What is a sidecar in microservices?
Its a tool for upgrading multiple components at ones. If you update the sidecar all these components update based on the sidecar.
What are the two primary topologies in event driven architecture?
Broker and Mediator.
What is “Information Hiding” in SA design principles?
An external part has no access directly to a models data. It can only be accessed through an API(getters and setters). Also called encapsulation.
What is “Cohesion” in SA design principles?
It relates to the degree which the elements inside a module belong together.
They can be ranked.
What is “Separation of Concern” in SA design principles?
Separating features into distinct artifacts to make it easier for developers to find the code and maintain it. Also called Cohesion.
What is “Single Responsibility” in SA design principles?
It states that objects should have only one responsibility and that they should have only one reason to change. It is a principle from OOP. Adding new classes are safer than changing existing. It is a special case of Separation of Concern.
What is “Reusability” in SA design principles and how do you make it more reusable?
Modularization, Visible variable features, cohesion and loose coupling
What is ADD?
Attribute-Driven Design is an iterative method and is supposed to help with:
-Choose a part to design
-Rationalize the ASRs for that part.
-Create and test a design for that part
What is ATAM?
Architecture Trade-Off Analysis Method is a method for evaluating software architectures relative to quality attribute goals.
What is the most important way to measure software complexity?
CC: Cyclomatic Complexity, a metric measurement of the number of linearly independant paths through a programs spurce code. Not need to know but formula is CC=E-N+2, edges minus nodes +2
What are the four steps of ATAM?
Gather scenarios and requirements.
Architectural views and scenario realization
Model Building and analyzes
Tradeoffs
What is a sensitivity point?
A parameter of the architecture to which some quality attribute is highly related.
What is a trade-off point?
An architecture decision that affects multiple quality attributes in opposite direction.
What is the ATAM conceptual flow of business?
Identify Business drivers, get quality attributes from drivers, write scenarios from attributes.
What is the ATAM conceptual flow of architecture?
Identify architectural plan, find architectural approaches, make architectural decisions.
What is blockchain technology?
A P2P architecture style.
What are the three levels of p2p architectures mentioned in blockchains?
Mediated: uses one central server for rules and control but also p2p
Pure: No server, only p2p
Hybrid: uses servers for rules and control but also p2p
What is most important about blockchain for the exam?
Can not be changed due to ledger, there is a source node and a chain of owners.
What is true is based on consensus, most of one opinion wins and is thus the truth.
What is a functional decomposition diagram?
Just imagine it, its the 3 level one we used for the drone, with a lawnmower as example.
What are antipatterns and name one example?
It is patterns that opposite of good practice. Example is Godobject where one object does everything, monolithic.
What are Architectural Drivers?
Design forces that will influence the early design decisions that architects make. They need to be prioritized.
What are ASRs?
Architecture significant requirements are business drivers translated.
What is the difference between Functional, Non-Functional requirements and Constraints?
Functional: WHAT the system does
Non-Functional: HOW the system does it, also includes Quality Attributes
Constraints are what you must adhete to like laws and hardware requirements.
Why would you use MoSCOW
To prioritize requirements
What is a QA?
Measurable or testable property of a system
What are four ways to evaluate QAs?
Scenario-Based, Simulation, Mathematical modelin, experience-based
In QAS: What is stimulus and the source of stimulus?
Stimulus is a condition that require as response, an event
The source is that generated it
In QAS: What is Environment?
In what mode the system was running when the stimulus started, example: normal operation, test, overloaded etc
In QAS: What is Response and response measure?
Response: What mitigation action as undertaken as result of the stimulus
Measure: Measurement of the response that can be tested.
In QAS: What is artifact?
The part of the system that was stimulated.
In QAS: What are the two types of QAS?
General scenario do not belong to any system
Concrete Scenario belongs to a particular system under particular conditions.
What are the most commonly observed problems when performance testing?
Bottlenecking and Poor Scalability
In performance testing:
What is Bottlenecking?
This occurs when data flow is interrupted or halted because there is not enough capacity to handle the workload
In performance testing: What is poor scalability?
If the software cannot handle the desired amount of concurrent tasks unexpected behavior could happen
What are some architectural attributes related to Security?
Confidentiality, Integrity, Availability, Authentication, Auditable, Compliance & Privacy.
Describe conceptual integrity?
It is about creating consistent software. So that even if multiple people worked on the software if seems like it was created by one mind guiding all the work.
In testability: What is an Oracle and what is it used for?
Oracle is the internal state, input and output when performing a test on a program. It is used for evaluation and with either be approved or rejected.
What are the strengths of Layered Architecture?
Cost and Simplicity
What are the weaknesses of Layered Architecture?
Scalability, deployability, fault tolerance and more.
What are the strengths of Pipeline AS?
Cost and Simplicity
What are the weaknesses of Pipeline AS?
Scalability and elasticity(the ability to increase or decrease the resources used)
What are the strengths of Mikrokernel AS?
Foremost cost but also quite strong in simplicity, modularity, deployability and testability
What are the weaknesses of Mikrokernel AS?
Elasticity and Scalability
What are the strenghts and weaknesses of Service-Based AS?
Overall really strong in most areas but weak in elasticity.