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.
   185   186   187   188   189   190   191   192   193   194   195