CpSc 881
Spring 2002
Exam 2
Name ________________________________
Answer 5 of the 6
questions. All questions count the same amount. If you answer all 6 questions I
will count the 5 WORST scores.
- The architecture
creation process fits into the overall software development process
between the requirements and detailed design phases.
- Give
a detailed description of the generic architecture creation process.
- Describe
how this process would be modified to produce the architecture for the
system that runs an e-commerce web site.
- What
benefit does the availability of a reference architecture that fits the
problem at hand bring to the project creating the architecture?
- The
steps include:
Identification
of architectural drivers (requirements)
Identification
and prioritization of quality attributes involving stakeholders
Architecture
definition by applying unit operations/styles/patterns
Architectural
evaluation
Architecture
packaging and documentation
Architecture
refinement
- Since
web sites are architecturally very similar, the process would begin with
the J2EE reference architecture. Also, the quality attributes for this
system would have different priorities from other types of systems. For
example, security would have a very high priority.
- A
reference architecture provides a head start. It provides a decomposition
that already has several features, such as the 4 layers in the J2EE
architecture. It also provides a set of patterns that guide further
decomposition.
- The
purpose of an architecture is to communicate a vision of the structure of
the software to all of the stakeholders. The architecture encompasses much
information with many different perspectives.
- Describe
how UML is used to document the architecture.
- Describe
how the performance quality attribute would be documented in the
architecture description.
- Describe
how a required function is documented in the architecture description.
- Component
interfaces can be defined using the class diagram syntax. This diagram
also shows the structural connections among components. The deployment
diagram is used for the physical view. The task diagram is used for the
process view. Dynamic relationships are shown using sequence diagrams.
- The
performance attribute could be documented by two parts. Each component
interface can define the worst case latency for implementations of the
interface. Each connector can also be labeled with the worst case latency
for that flow. The overall performance of an algorithm would be the sum of
the pieces along the path.
- A
required function is first captured in a use case as a requirement. Then
the function appears as a method specification in some interface
specification.
- A
software product line provides an environment in which there is
significant reuse of software. The organization is divided into two parts:
those who create assets and those who use assets to create products.
- Describe
the differences between an architecture intended for a product line and
an architecture intended for one specific product in the product line.
- How
can variations between products be shown in the product line architecture?
- How
does the product line architecture enhance reuse in building products?
- The
architecture intended for a product line describes points at which
variation is possible and describes the allowable alternatives at each
point. The architecture for a product
shows the variations that have been chosen for this particular product.
- Variations
are shown by using the specialization relationship among a set of
interfaces. The process diagram shows a general process and then the set
of processes that are possible replacements for the general process.
- The
product line architecture provides more general interface definitions that
cover a wider scope than a single product architecture and are the basis
for implementing the set of reusable components. {The question asks about ENHANCING reuse not just how to
reuse.}
- Unit
operations, styles and patterns are devices that allow the reuse of
architecture knowledge.
- The
unit operation, part/whole, is used to take the overall user interface
and create View and Controller modules. What functionality is placed in
each module? What quality attributes are enhanced by applying this
operation?
- Which
quality attributes are enhanced by applying the layered style? Which are
degraded?
- The
pipe and filter style could be used to represent the path of a
transaction from the customer to the database. Give a detailed
description of the application of this style to the transactions in the
e-business project.
- The
View module contains the functionality to present information to the human
user. The Controller module provides the functionality related to
interaction with the user such as mouse events. Modifiability and
extensibility are enhanced for this transformation.
- The
layered style enhances modularity, modifiability and extensibility. The layered style degrades performance
and security.
- The
pipe and filter style handles transactions by transforming the data at the
filters and passing data to the next transformation via a pipe. Pipes may
be inter-process or intra-process. The filters for transactions include
security authentication, product selections, query construction, and
payment verification.

- The architecture
community has defined three levels of architecture. The lowest level is
the specific architecture for a product. The second level is a reference
architecture that generalizes on specific architectures. The third level
is a reference model, which generalizes even further.
- What
are the implications of having a reference model for a market in
components? Which is more likely to promote an active component market, a
reference model or a reference architecture?
- Consider
the CORBA reference model below. Each box is a conceptual module that
would be broken into more specific modules, each of which provides some
of the functionality of the conceptual module. What unit operation is
used to create the new modules.

- What
quality attributes are enhanced by the use of IDL? Are any degraded? If
so, which ones?
- A
reference model is more general than a reference architecture. Therefore a
reference architecture promotes a component market while a reference model
promotes a market of complete products.
- Operations
such as abstraction and layering would be used. Part/whole is used to
provide details within each module rather than to create new modules.
- Interoperability
and modifiability are enhanced. Performance can be degraded.
- The
second project was an e-business system that was structured using the J2EE
4-tiered architecture.
- Describe
the quality attributes that were enhanced by moving from a 3-tiered
architecture to a 4-tiered architecture.
- Where
in the architecture is the module that would use the customer’s
characteristics to determine which of the available insurance policies
should be shown to the customer for consideration?
- Describe
one pattern that you used in the architecture definition. Why did you use
it? What attributes did it enhance?
- Modifiability
is enhanced and performance is enhanced if different layers are placed on
different processors. Maintainability is also upgraded.
- The
business tier includes business logic about which attribute values map to
which products.
- Your
choice