Page 191 -
P. 191

174   Chapter 6   Architectural design




                       6.5. Explain why you normally use several architectural patterns when designing the architecture
                           of a large system. Apart from the information about patterns that I have discussed in this
                           chapter, what additional information might be useful when designing large systems?

                       6.6. Suggest an architecture for a system (such as iTunes) that is used to sell and distribute music
                           on the Internet. What architectural patterns are the basis for this architecture?
                       6.7. Explain how you would use the reference model of CASE environments (available on the
                           book’s web pages) to compare the IDEs offered by different vendors of a programming
                           language such as Java.
                       6.8. Using the generic model of a language processing system presented here, design the
                           architecture of a system that accepts natural language commands and translates these into
                           database queries in a language such as SQL.
                       6.9. Using the basic model of an information system, as presented in Figure 6.16, suggest the
                           components that might be part of an information system that allows users to view information
                           about flights arriving and departing from a particular airport.
                      6.10. Should there be a separate profession of ‘software architect’ whose role is to work
                           independently with a customer to design the software system architecture? A separate
                           software company would then implement the system. What might be the difficulties of
                           establishing such a profession?






                  REFERENCES

                      Bass, L., Clements, P. and Kazman, R. (2003). Software Architecture in Practice, 2nd ed. Boston:
                      Addison-Wesley.

                      Berczuk, S. P. and Appleton, B. (2002). Software Configuration Management Patterns: Effective
                      Teamwork, Practical Integration. Boston: Addison-Wesley.

                      Booch, G. (2009). ‘Handbook of software architecture’. Web publication.
                      http://www.handbookofsoftwarearchitecture.com/.

                      Bosch, J. (2000). Design and Use of Software Architectures. Harlow, UK: Addison-Wesley.
                      Buschmann, F., Henney, K. and Schmidt, D. C. (2007a). Pattern-oriented Software Architecture
                      Volume 4: A Pattern Language for Distributed Computing. New York: John Wiley & Sons.
                      Buschmann, F., Henney, K. and Schmidt, D. C. (2007b). Pattern-oriented Software Architecture
                      Volume 5: On Patterns and Pattern Languages. New York: John Wiley & Sons.

                      Buschmann, F., Meunier, R., Rohnert, H. and Sommerlad, P. (1996). Pattern-oriented Software
                      Architecture Volume 1: A System of Patterns. New York: John Wiley & Sons.
   186   187   188   189   190   191   192   193   194   195   196