0% found this document useful (0 votes)
68 views7 pages

On Tap

The document outlines a study guide for the Software Architecture & Design course, detailing the structure of the exam, which includes multiple-choice questions, short answers, and practical exercises. It lists various topics and questions related to software architecture concepts, quality attributes, architectural patterns, and design patterns. Additionally, it presents a case study for creating an architecture for a Health Surveillance and Monitoring of Patients system, emphasizing the importance of availability and modifiability.

Uploaded by

Thinh Le
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
68 views7 pages

On Tap

The document outlines a study guide for the Software Architecture & Design course, detailing the structure of the exam, which includes multiple-choice questions, short answers, and practical exercises. It lists various topics and questions related to software architecture concepts, quality attributes, architectural patterns, and design patterns. Additionally, it presents a case study for creating an architecture for a Health Surveillance and Monitoring of Patients system, emphasizing the importance of availability and modifiability.

Uploaded by

Thinh Le
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

Câu hỏi ôn tập môn Software Architecture & Design

Cấu trúc đề;

- Trắc nghiệm
- Short Answer 4 điểm (dạng câu 1 -> 28)
- Mô tả thuộc tính QA dạng 6 phần (Q29) (1 -2 điểm)
- Chọn Matching (như câu 31) (1 -điểm)
- Bài tập (4 điểm)
o Chô một đặt tả của Bài toán cụ thể
o Yêu cầu
 Xác định yêu cầu kiến trúc (Architectural Drivers: FR, QA, Constraints)
 Xác định Pattern chọn cho vẽ kiến trúc
 Vẽ UC diagram hoặc System context
 Vẽ C&C, Module view, Allocation view (1 trong 3 hình này)
1. What is Bass, Clements and Kazman’s definition of Software
Architecture?
2. What is the purpose of the Module Views as described in the textbook?
3. What is the purpose of the Component-and-Connector Views as described
in the textbook?
4. What is the purpose of the Allocation Views as described in the textbook?
5. Explain why this statement is either true or false: “Every complex
software system has a software architecture”
6. What is the purpose of the Development View in the 4+1 view model?
7. What are the main influences on an architect designing a software
architecture according to the textbook?
8. Name five important reasons for why software architecture is important
9. Name the three main groups for availability tactics, and give one
example of a specific tactic for every group.
10. What is the purpose of a utility tree, and how is it used in an ATAM
evaluation?
11. What is a tradeoff point in an ATAM evaluation?
12. Name the four groups of modifiability tactics
13. What is the difference of a Sensitivity Point and a Tradeoff Point?
14. What is the purpose of ACDM? What are activities of the first stage
of ACDM?
15. What is availability? Explain general scenario for availability?

16. Discuss the Invariants, Advantages and Disadvantages of Pipes and Filters Architectural Style?

17. What are the qualities of a system? Explain modifiability general scenario?

18. Classify Security Tactics? What are different tactics for resisting attacks?

19. Explain Modifiability Tactics?

20. Explain MVC pattern? Give an example


21. Describe in your own words what a software architecture is?
22. What is the difference between architectural patterns, design patterns, and idioms?
23. What are the advantages of using the Abstract Factory design pattern in a software architecture?
24. How can different stakeholders of a software system influence the software architecture? Give
examples for Developer, Marketing, End-user, Maintainer, and Customer.
25. What is the relationship between functionality and quality attributes?
26. What is a quality attribute scenario and what is the purpose of it?
27. What is an enterprise architecture and how does it relate to the business environment?
28. Describe the 3 main areas availability tactics must cover?
29. Quality Attribute Scenario: System description: A web-
based system for tax return. In this system, the users will correct/change
or add information related to their personal economy in order to compute
how much tax they have to pay or they get refunded from the state. The
user interface of this system can typically look like the following:

a) Create one relevant quality attribute scenario on usability for the system
described above.
b) Create one relevant quality attribute scenario on modifiability for the
system described
above.
c) Create one relevant quality attribute scenario on security for the system
described above.

30. Consider the following quality attributes: maintainability, performance, reuse, and security.
Which of these attributes are observable at run time? Explain why a good software
architecture description is crucial to achieve the quality attributes, which are not observable
at run time, and explain why.

31. Choose the most appropriate architectural pattern


Nominees: (matching)
a) Layered
b) Broker
c) Model-view-controller
d) Pipe-and-Filter
e) Client-Server
f) Peer-to-peer
g) Service-Oriented
h) Publish-Subscribe
i) Map-Reduce
j) Multi-tier

Choose the most appropriate architectural pattern (one) for the 5 descriptions
below.
1. Wants to split a system into a number of computationally independent
execution structures
(groups of software and hardware) such as database, business logic, web
interface and client,
connected by some communication media. The structure is chosen to
provide a specific server environment optimized for operational
requirements and resource usage.
2. Wants to set up a set of equal distributed computational entities that are
connected via a
common protocol to share their services and provide high availability and
scalability.
3. Wants a system that can be divided into reusable, loosely coupled
components that can be
flexibly combined and arranged to transform between various data
formats.
4. Wants a distributed system with a structure that enables that service
users do not need to know the nature or location of service providers.
5. Wants a system that quickly can analyze enormous volumes of data by
sorting the data and
then analyzing the grouped data

Bài tập (Mẫu)


Create an architecture
Read the description below and do the following:
1. Identify the architectural drivers for the system described below (25 points)
2. Choose and describe suitable design and/or architectural patterns for the
problem described below, and describe how the patterns affect the quality
attributes (15 points)
3. Create architecture views of the system described below. The architecture must be
described in two views model:
 Use case view (25 points)
 and Module view (35 points)
Motivate for your choice of quality attributes, architectural drivers, design patterns and
the architectural patterns used in your architecture. State your assumptions.

Health Surveillance and Monitoring of Patients (HSMP) system


The HSMP hardware unit is used at Hoan Mỹ hospitals to monitor the
health of patients. The unit receives signals from various sensors
e.g. temperature and blood pressure, pulse, which will be displayed
on a LCD display, a screen or printed out on a on-device mini printer.
The unit can be operated by buttons, a keyboard or a touch-based
screen, depending on the version of the
unit the customer buys. The operator can set values for when alarms
should be fired off and
enter data about the patient. The hardware unit will use sensors
from various vendors. At
given extreme values specified by the operator or by default values,
the unit will initiate an
alarm using text or symbols on the screen and high sound to warn
that the patient is in a life critical state and need immediate help. A
more expensive version of the unit will also notify
nurses or doctors by sending an SMS to registered cell phone
numbers.
Architectural drivers: The most important architectural drivers are availability
(very
important as the device is used to monitor life-and-death situations), and
modifiability
(different configurations in terms of sensors, functionality, input and output)
b) Architectural tactics and patterns: It is very important to use tactics and
patterns that
promote modifiability and availability. To ensure that the unit is running it
needs some
ping-echo or heartbeat mechanism from an external hardware unit to know
that the
system is alive. Further it needs a mechanism to restart the system if it is
detected to if
it is not working, and fire off an alarm if the system cannot be restarted.
Further the
whole system must use all means available to ensure to make a system with as
little
defaults as possible and catch defaults in the system if found (catch exceptions
etc).
For the modifiability, we can apply the model-view-controller pattern as the
input and
output varies a lot from configuration to configuration. Further, we should apply
an
architectural pattern that allows variations in output, input, sensors, and a
possibility to
add the advanced SMS functionality.

You might also like