Software Architecture Design 233
– Scenario 3: Upgrade the database management system Oracle 4 to a higher
version Oracle 6;
– Scenario 4: Change the database management system from Oracle to
– Scenario 5: Change the middleware of the system from CORBA to DCOM.
Another type of change in software environment is the changes in the
software systems that the application interoperates with. For example, suppose that
a graphic editor that enables the user to draw various types of diagrams is designed
to interoperate with a particular word processor. To change the word processor that
the graphic editor is supposed to interact with is a change of the graphic editor’s
software environment. The following are examples of such scenarios.
– Scenario 6: A web-based application that links to a specific website that
provides an online map. The website that provides the online map changes
its web address, and/or the way online maps are requested.
– Scenario 7: A shopbot software agent helps the users to compare the prices
of books that online bookstores on the web offer for online shopping. An
online bookstore that the shopbot links to changes its format of messages in
the way that the prices of books are requested.
9.2.4 Changes of software components
With the rapid development of software component technology and availability of
COTS (Components Off-The-Shelve) components and shareware, more and more
software developers use third-party software components to reduce development
costs and speed up development processes. In house components are also becoming
more and more widely reused in software development. Such components often
evolve for many reasons, such as bugs fixed. An application software system often
needs to be modified due to the changes to the components either to take advantage
of the availability of better components or forced to make modifications because,
say, the component provider is no longer able to provide the support, or a free
component is no longer free, etc. The following are some examples of such
– Scenario 1: The representation of data produced by a new version of a third
party component is changed.
– Scenario 2: The representation of the data required by a new version of a
third party component is changed.
– Scenario 3: The format of messages sent to and received from a new version
of a third party component is modified.