0% found this document useful (0 votes)
25 views

Assignment 2

The document discusses a software design pattern called the facade pattern. It provides instructions on implementing the facade pattern by designing an interface, implementing the interface with classes, creating a facade class to wrap the classes, and using the facade class to access the subsystem. It then provides 6 questions as assignments related to software architecture, organizational systems, business goals, availability scenarios, modifiability tactics, and performance scenarios.

Uploaded by

birhanu131313
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

Assignment 2

The document discusses a software design pattern called the facade pattern. It provides instructions on implementing the facade pattern by designing an interface, implementing the interface with classes, creating a facade class to wrap the classes, and using the facade class to access the subsystem. It then provides 6 questions as assignments related to software architecture, organizational systems, business goals, availability scenarios, modifiability tactics, and performance scenarios.

Uploaded by

birhanu131313
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Software Architecture and Design Laboratory(Q1) and Paper Assignments(Q2-Q6)

1. In the UML diagram below, you can see that a BankService class acts as a façade for
Chequing, Saving, and Investment classes. As all three accounts implement the iAccount
interface, the BankService class wraps the account interface and classes, presenting a
simpler“front” for the Customer client class.

[Hint]: Based on the above information, implement the following steps


Step 1: Design the Interface
First, create an interface that will be implemented by the different account classes, but will not be
known to the Customer class.
Step 2: Implement the Interface with one or more classes
Implement the interface with classes that will be wrapped with the façade class. Note that in this
simple example, only one interface is being implemented and hidden, but in practice, a façade
class can be used to wrap all the interfaces and classes for a subsystem.
Step 3: Create the façade class and wrap the classes that implement the interface
The BankService class is the façade. Its public methods are simple to use and show no hint of the
underlying interface and implementing classes. The information hiding principle is used here to
prevent client classes from “seeing” the account objects, and how these accounts behave – note
that access modifies for each Account have been set to private.

1|P age
Step 4: Use the façade class to access the subsystem
With the façade class in place, the client class can access accounts through the methods of the
BankService class. The BankService class will tell the client what type of actions it will allow
the client to call upon, and then will delegate that action to the appropriate Account object.
2. Enumerate one software systems used by your organization. For each of these systems:
a) What are the contextual influences?
b) Who are the stakeholders?
c) How do these systems reflect or impact the organizational structure?
3. What kinds of business goals have driven the construction of the following:
a) The World Wide Web
b) Amazon's EC2 cloud infrastructure
c) Google's Android platform
4. Write a concrete availability scenario for a program like Microsoft Word
5. In a certain metropolitan subway system, the ticket machines accept cash but do not give change.
There is a separate machine that dispenses change but does not sell tickets. In an average station
there are six or eight ticket machines for every change machine. What modifiability tactics do
you see at work in this arrangement? What can you say about availability?
6. Write a performance scenario that describes the average on-time flight arrival performance for an
airline.

General Instructions:
 Last date of submission will be on/before
10/08/2016 E.C

 Copying is not allowed

2|P age

You might also like