Question 1
Question
What keywords describe the Skype architecture in this figure?
Answer
-
peer-to-peer
-
Model-view-controller
-
client-server
Question 2
Question
The above is an example of what type of architecture?
Answer
-
pipe-and-filter
-
peer-to-peer
-
client-server
Question 3
Question
Choosing the architecture of a software late on might be a good idea.
Question 4
Question
The twin-peaks model develops [blank_start]requirements[blank_end] and [blank_start]architecture[blank_end] concurrently.
Answer
-
requirements
-
architecture
Question 5
Question
Can architecture and agile live together? Some agile practitioners fear that architecture is associated with ‘big design up front’ (BDUF), which limits flexibility and runs against the lightweight development ethos of agile.
Question 6
Question
In what ways can architecture contribute to Agile? Select 3.
Answer
-
aiding communication
-
documenting assumptions about the system
-
feeding into subsequent development cycles
-
splitting staff in smaller teams
Question 7
Question
Architecturally significant Requirements do no influence a system's architecture.
Question 8
Question
Architecturally significant requirements can be split into the following 4 characteristics:
- [blank_start]Quality[blank_end] attributes: non-functional requirements such as security,
reliability, availability, usability, maintainability, portability
- [blank_start]Core features[blank_end]: ‘the problem the software is trying to solve’
- [blank_start]Constraints[blank_end]: Technical, budget, time...
- [blank_start]Application[blank_end] environment: the environment in which the system will run.
Answer
-
Quality
-
Core features
-
Constraints
-
Application
Question 9
Question
Select the 4 architectural views introduced in Kruchten's model:
Answer
-
logical
-
process
-
deployment
-
development
-
requirement
-
analysis
Question 10
Question
- The [blank_start]logical[blank_end] (or functional): the system’s main functional elements and their interactions
- The [blank_start]process[blank_end] view: the set of independently executing processes
that will exist at run-time and the communication between them.
- The [blank_start]deployment[blank_end] view describes how the system will be deployed to an operating environment in terms of the physical computers.
- The [blank_start]development[blank_end] view describes how the software will be split into
[blank_start]subsystems[blank_end] that can be allocated to teams of developers.
Answer
-
logical
-
process
-
deployment
-
development
-
subsystems
Question 11
Question
Example stakeholder groups. Fill in the ASR categories they fall into.
- Students and teaching staff will be concerned with core functionality,
usability, availability and performance – [blank_start]core features[blank_end] and [blank_start]qualityattributes[blank_end].
- The examinations section will be particularly concerned with [blank_start]security –quality attributes[blank_end].
- The finance department will be concerned with the cost – [blank_start]constraints[blank_end].
- Management will be concerned with the cost, when the system will be
delivered and its effectiveness – [blank_start]constraints[blank_end], [blank_start]core features[blank_end].
- Designers will be concerned with how the system can be partitioned, what
the run-time elements will be and where they will be deployed – the
[blank_start]application environment[blank_end].
- Programmers will be concerned with the core functionality represented in
the design, how easily the design can be implemented in code and what
language(s) will be used – [blank_start]core features[blank_end], [blank_start]quality attributes[blank_end], [blank_start]constraints[blank_end].
- Testers will be concerned with whether the system is easy to test – [blank_start]qualityattributes[blank_end].
. The IT department will be concerned with the operating environment and
how easy the system is to run – [blank_start]application environment[blank_end].
- Developers responsible for maintaining the system will be concerned with
how easy the system is to modify – [blank_start]quality attributes[blank_end].
Answer
-
core features
-
security - quality attribute
-
constraints
-
application environment
-
quality attributes
-
quality attributes
-
core features
-
constraints
-
security – quality attributes
-
constraints
-
application environment
-
constraints
-
application environment
-
security - quality attributes
-
constraints
-
quality attributes
-
application environment
-
core features
-
quality attributes
-
security - quality attributes
-
application environment
-
constraints
-
core features
-
quality attributes
-
core features
-
application environment
-
quality attributes
-
application environment
-
security - quality attributes
-
constraints
-
quality attributes
-
core features
-
application environment
-
quality attributes
-
core features
-
application environment
-
application environment
-
security - quality attributes
-
quality attributes
-
core features
-
quality attributes
-
core features
-
application environment
Question 12
Question
In software architecture the set of conventions and models appropriate to a
particular view is often referred to as a [blank_start]viewpoint[blank_end].
Question 13
Question
Select 9 common architectural styles.
Answer
-
Client-server
-
Call-return
-
Layered
-
Peer-to-peer
-
Data flow
-
Data-centred
-
Data-oriented
-
Independent components
-
Service-oriented
-
Notification
Question 14
Question
What type of architecture does the figure describe?
Answer
-
call-return
-
peer-to-peer
-
client-server
Question 15
Question
What type of architecture do the figures describe?
Answer
-
Data-centred
-
layered
-
call-return
Question 16
Question
What type of architecture is this?
Answer
-
independent components
-
service-oriented
-
microservices
Question 17
Question
What architecture style is this?
Question 18
Question
What architecture style is this? Select 3 names for it.
Answer
-
publish-subscribe
-
notification
-
implicit invocation
-
call-return
-
register
Question 19
Question
A [blank_start]framework[blank_end] is a segment of [blank_start]architecture[blank_end] and [blank_start]code[blank_end] that can be reused.
Answer
-
framework
-
architecture
-
code
Question 20
Question
A [blank_start]product line[blank_end] is a line of similar products that differ only in [blank_start]detail[blank_end].
Question 21
Question
A software product line is essentially a [blank_start]domain[blank_end]-specific framework.
Question 22
Question
What are the various ingredients that make up a framework? Select 4.
Answer
-
architecture
-
small amount of software for the framework
-
set of components suitable to use within the framework
-
documentation to make use of the framework
-
provided interface
-
required interface
Question 23
Question
- [blank_start]Architectural styles[blank_end] reuse expertise in large-scale architectural design – the types of component used and the patterns of interaction between them.
- [blank_start]Frameworks[blank_end] reuse a particular architecture and a set of software
components suitable for use within it.
- [blank_start]Product lines[blank_end] reuse reference architectures, software components and
expertise about the variations needed to fulfil customer requirements.
Answer
-
Architectural styles
-
Frameworks
-
Product lines
Question 24
Question
What is the name of this design pattern? (Enter the class name in figure)
Question 25
Question
When the Adapter receives a draw() message it simply [blank_start]forwards[blank_end] a render() message to the RoundedSquare and the latter produces the required shape.
Question 26
Question
Which of the below statement are true about adapters? Select 3
Answer
-
the adapter pattern uses inheritance
-
the adapter pattern uses composition
-
the adapter pattern uses a call-return architecture
-
the adapter pattern uses the render() function
-
the adapter pattern is transparent to other classes; neither the Client nor
RoundedSquare is aware of its existence
Question 27
Question
Select all answers that apply to Generalisation relationships. Select 3.
Answer
-
Generalisation expresses a subtyping relationship between classes
-
Generalisation expresses the fact that a class provides an implementation for all operations specified in interface.
-
In Generalisation, the subclass is a specialised subtype of its superclass
-
In Generalisation, the subclass inherits the attributes and operations defined by the superclass
-
In Generalisation, the child class is not a subtype of the interface
-
in Generalisation, boobies.
Question 28
Question
Select all answers that apply to Realisation relationships.
Answer
-
Realisation expresses the fact that a class provides an implementation for all operations specified in interface
-
Realisation is not a subtyping relationship
-
In Realisation, the subclass is a specialised subtype of its superclass
-
Realisation expresses a subtyping relationship between classes
Question 29
Question
[blank_start]Idioms[blank_end] are patterns that apply to a specific programming language – Java has one set of them, Python a different set and so on.
Question 30
Question
- [blank_start]creational[blank_end] patterns deal with ways of creating objects independently of the clients that will use them
- [blank_start]structural[blank_end] patterns deal with relationships among classes and objects
- [blank_start]behavioural[blank_end] patterns deal with how objects communicate and interact.
Answer
-
creational
-
structural
-
behavioural
-
idiom
-
structural
-
behavioural
-
creational
-
idiom
-
behavioural
-
structural
-
creational
-
idiom
Question 31
Question
The adapter pattern is an example of a [blank_start]structural[blank_end] pattern.