Read the following statements. Which of them are true?
- Both statements are true
- Neither statement is true
Which of these UML diagrams might be useful for the logical view of a system? Select the 2 correct answers.
- Class diagram
- State diagram
- Deployment diagram
- Sequence diagram
You need to show how your software elements are mapped to hardware nodes and execution environments. Which view do you need?
- Development view
- Scenario
- Physical view
- Process view
What is the name for a physical result of the development process, such as an executable file?
Which of these sets of keywords might be used on the lines in package diagrams?
- 1. merge, access, import
- 2. request, import, merge
- 3. deploy, merge, include
- 4. interface, export, load
What does the component of ‘component diagram’ refer to?
- the basic parts of the software, which it could not run without
- an independent, encapsulated unit in the system
- a general name for a "part" of the software system. It could be a method, variable, class, object, or grouping of any of these
- an external part of the software system, like a library that must be imported
The "+1" in Kruchten's 4+1 View Model refers to a scenario. What is a scenario?
- a representation of the system-wide state
- an unexpected use case of the software
- a representation of a normal use case
- one of the tools that are used to implement the software
If you have a program language that is largely procedural, which architecture style are you likely to use?
- Event-Based
- Pipe and Filter
- Process Control
- Main Program and Subroutine
What are some disadvantages of Data-Centric Architecture? Select the 2 correct answers.
- Data integrity can be compromised by having it widely accessible
- Considerable overhead for data transfer between data accessors
- The system becomes heavily reliant on the central data
- The existing data schema is difficult to change
Which of these principles is NOT characteristic of a layered system?
- Tight coupling
- Separation of concerns
- Abstraction
- Sandboxing
Which of the following is a common messaging pattern in client/server relationships?
- Handshake
- Solicit-Response
- One-Way
- Request-Response
How does an n-Tier architecture differ from a layered architecture?
- Layered architectures are more loosely coupled
- The interaction between tiers in an n-Tier architecture is strictly message-based
- n-Tier architectures are only found on the Internet
- A layered architecture is limited to three layers, whereas an n-tier can go to
Which of these is NOT a possible use for Interpreters?
- Enhancing resource usage efficiency
- Allowing developers to develop add-ons in a common language
- Giving end users the opportunity to program scripts or macros
- Abstracting away platform details
Which of these is an advantage of event-based architecture?
- Events are processed with more efficiency
- All interactions happen synchronously
- Events trigger responses in a predictable manner
- Event generators and event consumers are loosely coupled
There is a common technique that is used in event architectures to indicate whether or not a particular resource is being accessed by another process at that moment. What is it called?
- Toggle
- Semaphore
- Occupied
- Access Switch
Beverly is asked to develop a way to control a process. There is a device to measure the height of liquid in a tank, and when the tank is almost full, a pump turns on to empty the tank. Which type of process control architecture will she use?
- Open Loop
- Feedforward Loop
- Feedback Loop
- Shooting Control
What are the steps in complex, process control system architectures, such as self-driving cars?
- Analyze, model, plan, act
- Monitor, analyze, plan, execute
- Read, plan, deliver
- Sense, interpret, model, act
Which of these applications would be best suited to a procedural programming paradigm, such as the Main Program and Subroutine architecture?
- Accessing data from a repository
- A user interface, such as a simple poker game
- A self-driving car
- Analyzing data and producing reports
Which of these is NOT an advantage of pipe and filter architectures?
- Data transformation is computationally efficient
- Filters are loosely coupled
- Complex transformations can be broken down into subtasks
- Filters can be reused
Identify the attribute refinements of a system's performance. Select the 2 correct answers.
- Throughput
- Latency
- Maintenance Downtime
- Boot Time
- Simplicity
Guidelines such as "the system should be easy and intuitive to learn," "the system should minimize user errors," and "the system should make it easy for users to complete tasks" fall under which category of quality attribute?
- Usability
- Intuitiveness
- Complexity
- Astonishment
Calum is leading a team of developers and would like to promote conceptual integrity. Which of these is NOT a way he could promote conceptual integrity:
- Establish conventions, such as structural rules or naming conventions
- Adopt good documentation practices
- Split the development team into subteams for each component of the architecture
- Do regular code reviews with the development team
Which of these could be considered under the environment in a quality attribute scenario?
- Send error to external system
- Internal subsystems
- Unrecognized system request
- Recovering from error
Who are the three main groups of people involved in the architecture tradeoff analysis method?
- Evaluation team, outsiders, project team
- Clients, designers, stakeholders
- Peers, outsiders, designers
- Evaluation team, project decision-makers, architecture stakeholders
Leon is analyzing the architecture and notices that under conditions of high numbers of users signing on at the same time, there is a potential that one of the architecturally significant requirements (ASRs) will not be met. What is this called?
- Utility shortfall
- Risk scenario
- Tradeoff
- Non-risk scenario
Maddie's software team is split into two subteams working on two different components that work together. These teams share one large room and are in constant contact. According to Conway's Law, what could happen if Maddie does not physically separate the two subteams?
- The components they produce will be very tightly coupled
- They will not leave sufficient comments, thinking that the other team already knows the relevant details
- Their components will repeat code unnecessarily
- The component interfaces will not be reusable
Which of these is NOT a typical advantage of developing a product line?
- Consistency over the product line
- Reducing time-to-market of later products
- Overall cost reduction
- Greatly reduced up-front development
Andy is planning the development of a product line of eBook readers, and he has to categorize the components that will be handled by each team. There is one product in the line which has a backlight for reading during the night. In the development process, where would you categorize this feature?
- One-Off
- Commonality
- Variation
- Product-Specific
Which of these views show the functional design of the software, usually in the form of objects and the relationships between them?
- Process View
- Development View
- Physical View
- Logical View
Which of these UML diagrams are likely to be part of the process view? Select two correct answers.
- Activity Diagram
- Sequence Diagram
- State Diagram
- Class Diagram
To which view would the Package Diagram belong? Remember that a package diagram shows the packages that make up a software and how they are related.
- Physical View
- Development View
- Logical View
- Process View
Which of these statements about Component Diagrams is true?
- They clarify dependency relationships
- They give a dynamic view of the system
- They are useful for clarifying the artifacts that will be produced from development
- They do not show third-party libraries
Which of these will you NOT find in a deployment diagram?
- Execution Environment
- Component
- Artifact
- Class
- Library
- Device
What is an artifact?
- An unintended effect that the software has on the device
- A part of a device that is nonetheless important to depict on the deployment diagram, like a hard drive
- Part of the development process that is important to the developers but not the end-users
- A physical realization of a software component
What is an abstract data type?
- A data type that dynamically allows the storage of different primitives
- A data schema that is defined by the developer
- A data type that is not actually storing data; instead, it is used to define interfaces
- An interface that defines how to store data in a class
Which of these are advantages of the main program and subroutine architectural style? Select two correct answers.
- Easily mapped to all kinds of real-world problem spaces
- Abstract data types are easy to define and extend
- Promotes function modularity and reuse
- Efficient for computation-focused problems
Select the one accurate statement about layered architecture:
- Enforcing communication only between adjacent layers and within a layer is key to good, layered architecture
- Layered architecture is often based on layers of abstraction
- Passthrough should be avoided at all costs
- Upper layers act as service providers to lower layers
What is the correct term for a machine that hosts a server?
- Server-machine
- Server-tier
- Called by type: e.g. print server or media server
- Server-host
Some programs allow users to record a sequence of inputs - for example, keyboard and mouse inputs - to run later. What are these called?
- Macros
- User recorders
- Input listeners
- Scripts
Data Flow Architecture is also called...
- Cascade Architecture
- Pipe and Filter Architecture
- Data Transformation Architecture
- Black Box Architecture
Which of these is NOT a common component of event-driven architectures?
- Event consumer
- Event processor
- Event bus
- Event generator
Which type of process control that we discussed is typically needed for complex systems?
- MAPE-K
- Feedforward Control + Feedback Control
- Machine Learning
- Feedforward Control
Which of these is a drawback of n-Tier architecture?
- Every tier demands extra resources to manage the client/server relationships
- Only asynchronous messaging is possible, leading to challenging development decisions
- Limited in scale
- More hardware nodes are necessary
Which of these is NOT an example of Interpreter type architecture?
- Excel formulas
- Java Virtual Machine
- The kernel of an operating system
- Scripting and Mac
Which of these terms matches this definition: “The amount of time the system is operational over a set period of time?”
- Performance
- Availability
- Usability
- Interoperability
Which of these quality attributes is most important from the developer's perspective?
- Flexibility
- Security
- Availability
- Usability
General quality attributes like performance and security have more specific components like throughput and latency for performance. What are these called?
- Attribute Refinement
- Architecturally Significant Requirements
- Architecture Specifications
- Sensitivity Points
Which strategy is NOT part of delivering a high-quality system?
- Treat all quality attributes as equally important
- Adopt good documentation practices
- Set rules for design and implementation
- Involve all stakeholders in design
True or False: You should focus on situations that are outside the normal execution path when building a quality attribute scenario.
"Maintenance Downtime" is an attribute refinement of what quality attribute?
- Maintainability
- Conceptual Integrity
- Availability
- Performance
Eliza is planning a product line of media boxes. Some of these will connect to traditional television lines, whereas others will only have internet media like video-streaming services. What is this type of difference between products called?
- Extension
- Adaptation
- Product-Specifics
- Variation
Mozilla Firefox and other browsers have ecosystems of add-ons for their browsers that add functionality, for example by blocking ads or providing tools for online shopping. What is this style of variation called?
- Replacement
- Extension
- Adaptation
- Reference Architecture