• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/79

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

79 Cards in this Set

  • Front
  • Back

What are the 6 levels of Architecture

The 6 levels of architecture are:


  • enterprise
  • application, product
  • embeded system
  • infrastructure (system, network)
  • platform
  • CPU

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

Software architecture

Software architecture is high-level requirements & design of a software


system

What are the 4 layers in the Enterprise view

the 4 layers in the enterprise view are:


  1. Business
  2. Data
  3. Application
  4. Technology

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


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

Why use an Architecture ?


  • shared understanding, the big picture
  • a basis for further design and implementation
  • align stakeholders, make requirements explicit
  • resolve conflicting requirements > tradeoffs
  • a framework for evaluating requirements
  • what-if analysis
  • emphasis on system‟s quality attributes
  • manage complexity
  • avoiding duplication

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

What is the relationship between architecture and design

architecture frames design, architecture is part of the design process but not all design is architectural.

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.

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

the products in an architectural description (AD) include:


  • Views
  • models
  • principles
  • constraints

How detailed should an Architectural Description(AD) be ?

the architectural description (AD) should show the overall picture, but also decompose into enough detail.

What are some of the challenges in creating an Architectural Description(AD) ?

some of the challenges in creating an Architectural Description(AD) are:


  • 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.

name 4 structures that can be defined by an Architecture


  • Functional structure
  • information structure
  • concurrency structure
  • design time structure

What are some challenges when dealing with many structures ?


  • organization of ideas
  • understanding different aspects simultaneously
  • dealing with different aspects equally
  • consistency

What is the difference between an Architectural View and a view ?

none, they are synonyms for the same thing.

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.

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.

which of the following statements is correct



  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

Which of the following statements are incorrect



  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

Provide the missing keywords for A, B, C in the following diagram

Provide the missing keywords for A, B, C in the following diagram about Architectural Descriptions.

A = Architectural Description


B = View


C = Viewpoint

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

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

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

Fill in the missing keywords in this diagram of the RUP/Kruchten 4+1 model

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

Give a short description for each View in the Rup/Kruchten 4+1 model

  1. Logical view: describes the functional structure and behavior of the system.
  2. implementation view: describes the organization of the software modules and implementation details.
  3. Process View: this view deals with the dynamic aspects of the system, like threads & processes, inter-process communication, scheduling aspects and shared resources.
  4. Deployment View: shows how the run-time entities are mapped on the execution platform and the hardware.
  5. Use-Case view: Key scenarios that drive the discovery, design and validation of the architecture

The Rup/Kruchten 4+1 model is:



a) rather technically oriented


b) rather focused on the users of the system

A

What is another name used for Physical View ?

Deployment View

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

Use-Case View

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.

list the viewpoints of the Rozanski & Woods viewpoint set.


  1. Context Viewpoint
  2. Functional Viewpoint
  3. Information Viewpoint
  4. Concurrency Viewpoint
  5. Development Viewpoint
  6. Deployment Viewpoint
  7. Operational Viewpoint

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.

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

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

A = Context Viewpoint


B = Functional Viewpoint


C = Information Viewpoint


D = Concurrency Viewpoint


E = Development Viewpoint


F = Deployment Viewpoint


G = Operational Viewpoint

What is the definition of Quality Properties

Quality Properties are the non-functional characteristics of the system.

list 5 examples of Quality Properties


  1. Performance
  2. Efficiency
  3. Security
  4. Maintainability
  5. availability

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

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

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

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.

is the following statement correct ?



"You apply perspectives to the architecture to ensure quality properties are acceptable and guide it's development"

Yes

Fill in the missing keywords on positions A,B,C

Fill in the missing keywords on positions A,B,C

A = View


B = Viewpoint


C = Perspective

In order to describe a perspective several aspects need to be elaborated on. What are those aspects ?


  1. Desired quality
  2. applicability
  3. concerns
  4. activities
  5. tactics
  6. problems and pitfalls

What is an Architectural tactic

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

how does one apply architectural tactics ? describe the 4 steps that need to be completed in order to do so.


  1. identify the relevant tactics
  2. evaluate (dis)advantages for implementing the key-drivers
  3. evaluate their relationship (e.g. contradiction)
  4. make appropriate design decisions

list the core perspectives


  1. performance and scalability
  2. security
  3. availability and resilience
  4. evolution

what are the concerns of the Performance and Scalability perspective ?

the concerns of the Performance and Scalability perspective are:


  • Processing volume
  • response time
  • responsiveness
  • throughput
  • predictability

What are the tactics of the Performance and Scalability perspective ?

the tactics of the Performance and Scalability perspective are:


  • 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

What are the concerns of the Security perspective ?


  • Authentication
  • authorization
  • confidentiality
  • integrity
  • accountability
  • availability
  • intrusion detection
  • recovery

What are the tactics of the Security perspective ?


  • apply recognized security principles
  • authenticate the principals
  • authorize access
  • ensure information secrecry
  • ensure information integrity
  • vulnerability analysis
  • application of security technology

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

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

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

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)

what are the two questions that need to be answered before applying a perspective


  • Which perspectives would help you to achieve your quality properties (QP's) ?
  • Where may you have conflicts if applying different relevant perspectives ?

is the following statement correct ?



an architectural pattern often implements multiple tactics, usually related to different qualities, in a coherent way

yes

What is the definition of an architectural tactic ?

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

What are the 3 levels of software patterns ?


  1. architecture (system level)
  2. design (subsystem level)
  3. language idioms (block level)

Give an example for each level of software pattern


  1. architecture (system level)
    - client/server
  2. design (subsystem level)
    - observer
  3. language idioms (block level)
    - how to loop through a list of items in Java

What are the 3 pattern categories ?


  1. creational patterns
  2. structural patterns
  3. behavioral patterns

Give a description of each pattern category


  1. creational patterns
    - involve object instantiation and provide a way to decouple client from objects it needs to instantiate
  2. structural patterns
    - let you compose classes or objects into larger structures.
  3. behavioral patterns
    - concerned with how classes and objects interact and distribute responsibility

Give an example of each pattern category


  1. creational patterns
    - e.g. singleton pattern ensures a class has only one instance
  2. structural patterns
    - e.g. decorator pattern is used in java.io classes
  3. behavioral patterns
    - e.g. observer pattern, a design where observable and observers are loosely coupled
What is the definition of an architectural element ?
an architectural element is a clearly identifiable, architecturally meaningful piece of a system
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.
Give a short description of the context viewpoint in the R & W viewpoint set.
the context viewpoint describes the relationships, dependencies and interactions between the system and it's environment
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
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
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.
Give a short description of the development viewpoint in the R & W viewpoint set
the development viewpoint describes the architecture that supports the software development process.
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.
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.
List the stakeholders of the Logical view in the RUP/Kruchten 4+1 view model
the stakeholders of the logical view are:
- acquirers
- end users
- developers
- maintainers of the system
List the stakeholders of the Implementation view in the RUP/Kruchten 4+1 view model
the stakeholders of the implementation view are:
- developers
- software management
- configuration management
List the stakeholders of the process view in the RUP/Kruchten 4+1 view model
the stakeholders of the process view are:
- acquirers
- developers
- maintainers
- system integrators
List the stakeholders of the deployment view in the RUP/Kruchten 4+1 view model
the stakeholders of the deployment view are:
- acquirers
- system engineers
List the stakeholders of the Use-Case view in the RUP/Kruchten 4+1 view model
the stakeholders of the Use-Case View are:

- users of the system


- acquirers


- developers
- maintainers
- testers

What are the deliverables of the Logical View in the RUP/Kruchten 4+1 model.

The deliverables of the Logical View are:


  • Component Diagram

  • Class Diagram
  • ERD Diagram

What are the deliverables of the Implementation View in the RUP/Kruchten 4+1 model?

The deliverables of the implementation view are:


  • Package Diagram(s)
  • File structures
  • Description of frameworks, libraries, programming language(s)

What are the deliverables of the Process View in the RUP/Kruchten 4+1 model?

the deliverables of the Process view are:
  • Activity Diagram
  • Sequence Diagram

What are the deliverables of the Deployment View in the RUP/Kruchten 4+1 model?

the deliverables of the Deployment view are:
  • Deployment diagram

What are the deliverables of the Use-case view in the RUP/Kruchten 4+1 model?

the deliverables of the Use-case view are:
  • Use Case Diagram(s)
  • Use Case descriptions
  • Use Case realizations