Written by students who passed Immediately available after payment Read online or as PDF Wrong document? Swap it for free 4.6 TrustPilot
logo-home
Document preview thumbnail
Preview 2 out of 10 pages
Exam (elaborations)

Architecture and Design Midterm exam with corret answers

Document preview thumbnail
Preview 2 out of 10 pages

Architecture and Design Midterm exam with corret answersArchitecture and Design Midterm exam with corret answersArchitecture and Design Midterm exam with corret answersArchitecture and Design Midterm exam with corret answersArchitecture and Design Midterm exam with corret answers

Content preview

Architecture and Design Midterm
exam with corret answers




1. What is the definition of a System's Stakeholder? - CORRECT ANSWER-A stakeholder is anyone who has an
interest in seeing the successful delivery of the system.

According to Responsibility Driven Design, what two questions should the designer ask when evaluating the trying to
identify a class to implement some feature or service identified in the requirements? - CORRECT ANSWER-What class
is responsible for providing (doing) the service?
What class is responsible for knowing some information the system manipulates?

Briefly describe the characteristics of applications the three-tier architecture should be applied to. - CORRECT
ANSWER-The three-tier architecture describes how system designs should be partitioned along three types of services
that are usually required by a web-application, or any application that provides both a user interface and uses a
database to maintain persistent information. An important characteristic is that a presentation tier components interact
with application tier services over a network connection.

Briefly describe the Four Structural Qualities of well-designed architectures? - CORRECT ANSWER-1. Cohesive /
Loosely Coupled Components: The architecture should be feature components whose functional responsibilities are
allocated on the principles of information hiding and separation of concerns i.e. encapsulated, cohesive, and loose
coupled designs.

2. Encapsulation w/ Interfaces: Each component should have an interface that encapsulates changeable aspects of the
implementation. Interfaces should allow multiple teams to implement their components independently of each other.

3. Based on Architectural Patterns: The architecture should be based on architectural and design patterns. There
should be a minimum of wheel reinvention when solid, well understood solutions are available.

4. Maintain the Architectural Design's Integrity: The system should do the same things in the same way throughout.
Consistently use the same patterns and control-strategies.

Briefly describe the generic steps of a filter's processing loop. - CORRECT ANSWER-Each filter has a separate thread
that executes a simple processing loop:

1. Read a new data item from its input pipe. The filter process will block if the filter's input pipe is empty (contains no
data) and will remain blocked until an upstream filter places data in its output pipe.
2. Process the input item producing an output item,
3. Write the output item to the filter's output pipe.

Define "Integrity" in a system's design. - CORRECT ANSWER-Put another way, integrity means 'doing the same things
the same way". There are usually 1-2 overarching architectural design patterns that should be adhered to throughout
the system's design. If the pattern is ignored or violated by some aspect of the system's implementation this is a
violation of the architecture's integrity.
For example, if a web application's architecture uses the three-tier architecture, all the components having access to the
database should be located in the 'service tier'. If a developer embeds a database access in the presentation tier (GUI),
it is a violation of the architecture and of the integrity of the system's design. Some other examples on Slide 37.

Describe at a high level the responsibilities and relationships between the Enterpris e Architect and the Application
Architect? - CORRECT ANSWER-The enterprise architect is concerned with the design of enterprise-wide IT
infrastructure i.e. systems or services. These may be communication systems (networks) or databases that are used by

, all of the enterprise's applications. The enterprise architect is also concerned with mandating the development practices
and tools that are used to build the enterprise's application.

Describe how a system's decomposition into services is driven by the system's features / requirements. - CORRECT
ANSWER-The decomposition of the system's features / requirements into services. Each service is 'responsible' for the
implementation of at least one, and likely several of the system's requirements. These responsibilities are met by the
services (methods in implementation) each service makes available to other system services and to clients of the
system (i.e. users).

Describe how an architect's prior experience that can influence the decisions they make when designing the
architecture of a new system. Hint: Similarity - CORRECT ANSWER-The most obvious will be the experiences the
architect had with a particular technology in a previous project / architecture. If the project was successful, the architect
may wish to utilize the same design in a new project, especially if the new project is similar to the previous successful
project.

Describe how client - server component design can increase reusability in the system's design. Hint: Consider multiple
components responsible for implementing the same service. - CORRECT ANSWER-If we include the use-of and
implementation of a service in a single component we will have embedded the service's implementation in the same
component requiring the service. But what if the service is needed by a second or third component in the design? Do we
duplicate the service in each of the component requiring the service? Duplicating code is always a poor decision as it
increases the size of the code base and makes maintaining (bug fixes, etc.) the service prone to error.
When we decompose a component and spit the client from the service (server), we can reuse the service in other
situations i.e. we make the service available to other clients in the system's design. This produces a system that is
easier to maintain and opens the possibility of reusing the service in other systems.

Describe how each of the following implements a relationship between components.
Client - Server, Shared Information Repository, Asynchronous Messaging.

Hint: How is information shared between components? - CORRECT ANSWER-Client-server implements its relationship
between components using a synchronous message passing. The client requires a reference to the server and invokes
a method on the server. This method is 'synchronous' because between the time the client requests the service and the
service delivers a response, the two components are synchronized.

Asynchronous Messaging allows two components to exchange messages without any coupling. One component has
the role of information producer and the other component information consumer. Producer and Consumer are not
coupled because the producer does not know which component will consume the message it produces.

Shared Information Repositories are services that allow components to save information that can be later retrieved by
other components. Generally, these repositories are persistent, but not necessarily in all cases. There are several
models for storing and retrieving information. A Relational Database stores rows in tables that can be identified and
retrieved using unique ID (names) assigned to each row.

Describe how the Batch Processing strategy is used to delay data processing until off-peak hours. - CORRECT
ANSWER-During the system's busy hour, work (data) can be collected into a batch e.g. a file or database repository.
Processing of the batched data can be scheduled during off-peak hours to make better overall use of the enterprise
compute resources (either on-site or in the cloud). This approach can be contrasted with a Pipes & Filters design where
the arriving data is processed in real-time (as it arrives) and not accumulated in a repository.

Describe how two processes share information via pipes in Unix-based operating systems. Your answer should include
the concept of streams. You will need to research this question. - CORRECT ANSWER-In Unix, each process is given
three streams: An input stream (stdin) it can read from. An output stream it can write to (stdout). An error stream it uses
to write error messages and other non-standard communications.

Two processes pass information across a pipe which is a communications channel provided by the operating system. If
ProcessA is providing information to ProcessB, A will write the information to its stdout stream and B will read the
information from its stdin stream. The pipe is placed between A and B which passes the information written by A to B.

Describe the difference between stateful and stateless services. - CORRECT ANSWER-A stateful service maintains a
persistent connection between the service and each of its individual client. Individual clients (users) start a new session
with a unique instance of the service. The service instances is not shared with other clients and so can maintain
session-specific values (state) that are retained between service requests. SSH is stateful because the SSH client is
connected to a shell process across a persistent connection. Each client command is processed by the same shell
process, and the process is not shared with any other client.

Describe the example of each from the slides. - CORRECT ANSWER-A stateless service does not maintain a persistent
connection with its clients between client request/response exchanges. Because individual clients share a single
instance of the service class, a stateless service cannot maintain client-specific state information. HTTP is defined as a
stateless protocol i.e. the connection between client and server does not persist between client requests. So web
services which rely on HTTP cannot be assured of accessing the same service instance.

Document information

Uploaded on
November 1, 2024
Number of pages
10
Written in
2024/2025
Type
Exam (elaborations)
Contains
Questions & answers
$11.49

Wrong document? Swap it for free Within 14 days of purchase and before downloading, you can choose a different document. You can simply spend the amount again.
Written by students who passed
Immediately available after payment
Read online or as PDF

Seller avatar
Reputation scores are based on the amount of documents a seller has sold for a fee and the reviews they have received for those documents. There are three levels: Bronze, Silver and Gold. The better the reputation, the more your can rely on the quality of the sellers work.
solutionsstudy
4.0
(2)
Sold
23
Followers
2
Items
599
Last sold
2 months ago



Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Working on your references?

Create accurate citations in APA, MLA and Harvard with our free citation generator.

Working on your references?

Frequently asked questions