Page 190 -
P. 190
Chapter 6 Exercises 173
FURTHER RE ADING
Software Architecture: Perspectives on an Emerging Discipline. This was the first book on
software architecture and has a good discussion on different architectural styles. (M. Shaw and
D. Garlan, Prentice-Hall, 1996.)
Software Architecture in Practice, 2nd ed. This is a practical discussion of software architectures that
does not oversell the benefits of architectural design. It provides a clear business rationale
explaining why architectures are important. (L. Bass, P. Clements and R. Kazman, Addison-Wesley,
2003.)
‘The Golden Age of Software Architecture’ This paper surveys the development of software
architecture from its beginnings in the 1980s through to its current usage. There is little technical
content but it is an interesting historical overview. (M. Shaw and P. Clements, IEEE Software,
21 (2), March–April 2006.) http://dx.doi.org/10.1109/MS.2006.58.
Handbook of Software Architecture. This is a work in progress by Grady Booch, one of the
early evangelists for software architecture. He has been documenting the architectures of a range of
software systems so you can see reality rather than academic abstraction. Available on the Web and
intended to appear as a book. http://www.handbookofsoftwarearchitecture.com/.
E XERCISES
6.1. When describing a system, explain why you may have to design the system architecture
before the requirements specification is complete.
6.2. You have been asked to prepare and deliver a presentation to a non-technical manager to
justify the hiring of a system architect for a new project. Write a list of bullet points setting out
the key points in your presentation. Naturally, you have to explain what is meant by system
architecture.
6.3. Explain why design conflicts might arise when designing an architecture for which
both availability and security requirements are the most important non-functional
requirements.
6.4. Draw diagrams showing a conceptual view and a process view of the architectures of the
following systems:
An automated ticket-issuing system used by passengers at a railway station.
A computer-controlled video conferencing system that allows video, audio, and computer data
to be visible to several participants at the same time.
A robot floor cleaner that is intended to clean relatively clear spaces such as corridors. The
cleaner must be able to sense walls and other obstructions.