4010-440
Principles of Software Architecture and Design
Unit #2 - Individual Activity #1
Fall 2003 (20031)

The Context

You are a young, eager software engineer at a firm that makes information kiosks for a variety of industries. Examples include:

In addition to providing information to users, the system collects statistics on queries made during sessions to provide usage information to the industry. For example, if queries for books on history and economics occur in clusters, then the bookstore might regroup its offerings or feature books on economic history more prominently.

The company's approach is to bid on a new system, and, if the contract is won, to assemble a team of engineers to design, implement, deliver and maintain the system at the customer's site. Given the wide range of capabilities required, systems are constructed from a variety of hardware and software technologies (Intel, Sun, and Apple hardware; Windows, Unix, and MacOS operating systems; C++, Java, and C#; a variety of database systems, etc.).

While the firm is profitable, its earnings are not rising as rapidly as its competitors, and some notable cost overruns have tarnished its reputation. Recently, the CEO attended a seminar at the Software Engineering Institute where he heard about software product line engineering. Upon return, he asked the Chief Technical Officer (CTO) to brief him on whether or not this technology would be advantageous for kiosk development, and if so, how to proceed. The CTO, having seen that you took a software architecture course, assigns you the responsibility to write a 1 page memo on the topic to help him prepare for the briefing.

Your memo must cover the following points with respect to the kiosk systems the company creates:

You may, of course, address other pertinent issues, but the CTO is notorious for only reading the first page of memos he receives, so it behooves you to be succinct. Use this company memo template for your work.

Your memo will be graded holistically based on the logic of your proposal, the strength of your rationale, the technical bases for your recommendations, and the quality of your writing. In particular, poor English grammar, organization, logic, etc., will be reflected in a poor grade regardless of the technical content.