CpSc 881

Spring 2002

Exam 1

 

Name ________________________________

 

Answer 5 of the 6 questions. All questions count the same amount.

 

  1. In the layered architectural style the layers are separated using the abstraction unit operation. How does this operation affect

 

    1. performance
    2. security
    3. reusability

 

We considered an architecture in which the pipe and filter style was overlayed on the layered style. What does the module formed by the overlap between a layer and a filter represent?

 

Performance – is degraded

Security – is enhanced

Reusability – is enhanced

 

The module serves as a transformer of data as it travels along the pipeline. It also communicates with other modules within the layer. This communication may either be to channel the information from the pipeline to other modules in the layer or to set the state of the filter and change the way it transforms the pipeline data.

  1. The module view of an architecture is the most widely used view.
    1. What are the types of relationships between modules?
    2. How are these relationships affected by the unit operation of is-a decomposition?
    3. Describe at least one relationship between the module view and the process view?

 

a.       The relationships may be data flow, control flow, containment or derivation

b.      The is-a decomposition transfers all of the relationships of the parent to the child

c.       A module is assigned to one and only one process.


 

  1. Consider the module that represents the functionality of all “applications” that run on the wireless device. This includes the phone book, calculator and calendar.
    1. Show two levels of decomposition of the module. 
    2. Show the new modules that result at each layer.
    3. Show the unit operations done to create the modules.
    4. Explain why each unit operation was chosen.

 


  1. What does it mean for an architecture to be “good”?  Describe the process for determining if the architecture is good. Illustrate your answer with examples from the wireless device. How do standards contribute to a “good” architecture?

 

A good architecture is one that meets the expectations of its users.

 

SAAM and ATAM are techniques for determining whether an architecture is good. This is accomplished by having the stakeholders provide scenarios that are used to investigate the architecture.

 

A scenario from a product planning stakeholder might read: The architecture allows the company to produce a high-tier cellphone with streaming video to support video conferencing before any other company can.

 

Standards contribute to a good architecture because they are designed to state the expectations of a user community. They have been thoroughly discussed among the community.

  1. List four quality attributes and describe a way of quantifying each one. Describe how these would be used in the wireless device example.

 

Security – the percentage of entry points into the system for which the architecture defines a means of determining whether that input is authorized.  Identify all of the different radio signals that are checked for authenticity.

Performance – the number of transactions that the system can completely process within a unit of time. For example, how many data packets can the phone accept and translate per second.

Extensibility – the number of hours required to introduce a new functional sub-use case into the system For example, how many hours would it take to add a new service to the user interface.

Modifiability – the number of code files that must be edited to modify a single functional sub-use case. For example, how many files have to be edited to modify how the current ring tone of the phone is set by a user?


 

  1. The architecture process begins with identifying the architectural drivers. Starting with that step, describe each of the steps. What are the deliverables of this process? Explain what role standards played in the architecture we talked about for the wireless device.

 

The architecture business cycle might be used here: If that is the case the steps are:

    1. Creating the business case
    2. Understanding the requirements
    3. Selecting the architecture
    4. Representing and communicating the architecture
    5. Analyzing the architecture
    6. Implementing based on the architecture

 

A technical architecture process can have steps like:

 

  1. Identify drivers
  2. Assume there is one big black box that satisfies those requirements
  3. Apply decomposition techniques (unit operations and styles)
  4. Evaluate the architecture for the degree to which it satisfies the required qualities
  5. Repeat c and d until the modules are sufficiently small
  6. Assign modules to groups
  7. Implement the modules