Exam Flashcards

1
Q

There are three structural views that represent a coherent set of architectural elements. They are:

A

Modular, Component-and-connect, and Allocation structural views. All other views are a derivation of the three.

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

The four major architecture elements that concern any Software Architecture design process are:

A

Architecture characteristics(attributes), Structures(styles), Design Principles and Architecture decisions.

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

SDLC is a predictive process, whereas Agile is an adaptive methodology, which means SDLC may:

A

Use a software development process such as waterfall model, incremental model, or V-shaped model.

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

The business context in Software architecture design deals mainly with cost and market, it helps in:

A

Feasibility study, risk analysis, evaluate architectural options, cost estimate and internal planning.

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

The architecture development method defines levels of view for each stakeholder role, such as:

A

Business, Domain, Solution Design, solution construction views to communicate with stakeholders.

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

The benefits of use cases for software development are many, the most notable ones are:

A

Help to define the scope, indicator of a project’s size, validate the requirements and communicate with stakeholders.

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

The elements that describe the expression of the quality attribute scenario are:

A

Environment, Artifact, Response, Response Measure, Source of Stimulus and Stimulus

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

The interoperability is about the degree to which two or more systems can usefully exchange meaningful information, the two important aspects of interoperability are:

A

The consumer discovery of the service and the handling of the response by the service.

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

Performance is a leading driver for system and software architecture, testing performance would focus on:

A

Speed issues, data flow bottlenecking and poor scalability when system adjusts to high load sense

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

System security is a high priority for Software architects, and a costly attribute to test. The major concerns in cloud computing are:

A

Confidentiality, Compliance, Privacy, Auditability and Availability when hosting on a public cloud.

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

According to ISO-9241-11 measuring software usability as a quality attribute involves three areas of concerns. Those are:

A

Efficiency of the solution, Effectiveness on achieving system goals, and Satisfaction of the system being developed

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

We use modelling techniques to analyse Quality attributes. The queueing model for performance, use these parameters:

A

The arrival rate of events, queueing discipline, scheduling algorithm, network topology and network bandwidth.

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

Architecture fitness function are any mechanism that provides an objective integrity assessment of QA’s such as

A

Metrics, Monitors, unit testing libraries, chaos engineering, depending on the way they are used.

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

A case study we presented on qualitative study of architectural design issues in DevOps revealed that the main characteristics of DevOps driven architecture are:

A

Loosely coupled, prioritizing deployability, testability, supportability, modifiability over other quality attributes.

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

Microservices emerged from DevOps practices of companies to improve product quality and deliver software faster by:

A

Offering faster deployment CI/CD, reduce software development cost and time, while improving product quality.

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

In Architects role and collaboration, we keep options open with fixed and variable solution intent, to ensure architecture agility process. The fixed solution intent include:

A

Certain performance specifications, Compliance standards, and Core capabilities defining a solution.

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

In layered architecture , architecture sinkhole anti-pattern is an undesirable behaviour of the system that shows when:

A

Presentation layer passes a request to business and rules layers that do nothing but pass request to persistent layer.

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

If a payment processing is the domain service representing the core system, where each payment method would be separate plug-in components specific to the payment domain. The best suited architecture style is :

A

Microkernel style to provide for simplicity, evolution and less cost.

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

In service based architecture style database coupling can present a problem to database table schema changes:

A

This can be solved by logically partitioning the database and present the partitions through federated shared libraries.

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

In Mickrokernel style Plug-in components are standalone, independent components that contain specialized processing, and additional features, mainly plug-ins provide:

A

Extensibility, adaptability, isolation of application features and custom processing logic from the core system

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

Synchronous system design is less challenging than asynchronous, it is distinguished by:

A

The caller service waits for the response from the callee, in real-time handshaking, under the clock discipline.

22
Q

Microservices style is a distributed architecture, promotes the following architectural feature:

A

Modularity, distributed decoupling, granularity, bounded context and data isolation.

23
Q

The event-driven architectural style is distinguished by:

A

A distributed asynchronous architecture used to produce highly scalable and high-performance applications.

24
Q

The pub-sub style is an extensible real-time distributed style, It decouples the publisher from the subscriber by:

A

Using a third component (the broker) to filter all incoming messages and distribute them correctly to subscribers.

25
Q

There are mainly four principles to make your code more reusable:

A

Modularization, Cohesion, Loose coupling and visible variability features

26
Q

Only one of these are NOT a design principle for software architecture:

A

Incremental predictive iteration, decoupling minimization.

27
Q

The difference between technical and domain top level partitioning of monolithic architecture is:

A

technical partitioning aligns closely to layered architecture style and have higher global coupling.

28
Q

The attribute driven design (ADD) has five design steps, its inputs and outputs are:

A

Inputs: quality attributes, design constraints and functional requirements. Output: software architecture design.

29
Q

The quality attributes can be evaluated using these techniques:

A

simulation with prototyping, or emulation which also considers hardware and interface configurations.

30
Q

The major benefits of conducting an architecture evaluation are:

A

expose any potential risk with design, articulate specific qualities, uncover opportunities and inform stakeholders

31
Q

Utility trees are used to prioritize quality attributes scenarios per business and architecture values, this is part of:

A

ATAM to identify design trade-offs, sensitivity points and risk for a specific architecture quality attribute

32
Q

The architecture design decisions impact several aspects of a specific system quality attribute, such as:

A

sensitivity points, trade-offs, risk and non-risk of a specific quality attribute

33
Q

The hybrid peer-to-peer architecture style introduces two layers in the control plane, they are:

A

Peers connecting to ultrapeers as in client-server and ultrapeers connected with each other via peer-to-peer network.

34
Q

The blockchain or digital ledger technology is built upon a five-layered architecture these layers are:

A

The data layer, network layer, consensus layer, incentive layer, and application layer.

35
Q

The Hyperledger fabric is an open-source community, enterprise grade, distributed ledger platform, its key features are

A

Permissioned architecture, highly modular, pluggable consensus and open smart contract.

36
Q

What does the SPL software Architecture describe?

A

Software product lines (SPLs), or software product line development, refers to software engineering methods, tools and techniques for creating a collection of similar software systems from a shared set of software assets using a common means of production.

37
Q

Software architectural dimensions:

A

Structure, design principles, architecture characteristics, architecture decisions

38
Q

Sandbox:

A

is an isolated testing environment that enables users to run programs or open files without affecting the application, system or platform on which they run

39
Q

Tactics:

A

are design decisions that improve individual quality attribute concerns.
An architectural tactic is a refactoring of an architecture to handle an expected stimulus
and provide a desired response

40
Q

Three principles of cloud-native system:

A

Design for automation, be aware of the state, always be architecting.

41
Q

There are three architect roles:

A

Enterprise, solution, system architect.

42
Q

Quanta

A

An architecture quantum includes all the necessary components to function independently from other parts of the architecture.

43
Q

Design decision criteria:

A

The domain(analysis and implementation), attributes that impact the architecture, data architecture. Then synchronous vs asynchronous.

44
Q

What is SA evaluation:

A

It is the process of determining if an architecture is fit for the purpose for which it is intended. It makes sense to be able to provide assurance that all expectations are met.

45
Q

Availability:

A

is the percentage of time the system is operational. 6-nines. Tactics: fault detection, fault recovery, fault prevention.

46
Q

Performance:

A

: its about time and the software’s ability to meet timing requirements. Common problems: bottlenecking, poor scalability.

47
Q

Security:

A

: A system that provides; Confidentiality(protection from unauthorized access),Integrity,(verifiable data are being delivered as intended) availability(will be available for legitimate use), authentication, auditable(tracks activities), compliance and privacy(rules and regulations)

48
Q

Testability:

A

is to which degree a software or unit under test support its own testing. 30-50% of cost goes to testing.

49
Q

Deployability

A

refers to a property of software indicating that it may be deployed—that is, allocated to an environment for execution—within a predictable and acceptable amount of time and effort. Moreover, if the new deployment is not meeting its specifications, it may be rolled back, again within a predictable and acceptable amount of time and effort.

50
Q

Fault tolerance

A

refers to the ability of a system (computer, network, cloud cluster, etc.) to continue operating without interruption when one or more of its components fail.

51
Q

modularity

A

is the degree to which a system’s components may be separated and recombined, often with the benefit of flexibility and variety in use

52
Q

Scalability.

A

This quality attribute refers to the ability of a software system to handle the increased load without decreasing its performance.