Exam1

=Practice Exam 1=

Part 1

 * 1) Name and discuss different views of software architecture
 * 2) Name and discuss different architecture domains
 * 3) Name and discuss the type of software architecture that allow change in computation, if necessary
 * 4) Name and discuss the type of software architecture that allow change in functionality, if necessary
 * 5) Name and discuss briefly the most popular software architecture used at enterprise level

Part 2

 * 1) Discuss 'Factory' and 'Abstract Factory' design patterns and explain how they are different. Give examples.
 * 2) What is 'Singleton' design pattern? Explain with examples.
 * 3) Briefly discuss the following design patterns: Adapter, Bridge, Strategy, Observer & Composite
 * 4) State pattern allows an object to change its behaviour when its internal state changes. Consider the example: three child classes such as //child_movie//, //regular_movie// & //new_release_movie// inherit from a movie abstract class. But this inhertence fails if the movie changes its classification in its life time. How do you solve the problem to implment the price difference between these movies using the //State Pattern//?

Part 3

 * 1) Compare pipe-and-filter architecture and the batch sequential and discuss the differences.
 * 2) For the KWIC program you implemented for SA, you used pipes-and-filter architecture. Are there other possible solutions that you could have adopted?
 * 3) Is it possible to create circular dependencies in pipes-and-filter architecture?
 * 4) In operating windows based computer, you do it through a GUI (Graphical User Interface). But you use externally connected devices when we play some computer games, for example WII. Discuss the difference between these two types in terms of the architecture in building these systems.
 * 5) Web architecture involves communication between your computer and a remote computer(s) through the Internet for any service. Describe the request-response cycle of enterprise web applications
 * 6) Imagine that you are building a television controller which responds to signals from remote control unit.Which architectural style is most appropriate for the given system? Give a sketch of sample architecture for each system.Discuss the reason for selecting a given style for each system.
 * 7) For the Client-Server communication in the Web architecture, asynchronous communication is used for partial page-load. Give an example of a technology that makes such asynchronous communication possible between the client and the server.
 * 8) What is the role of the Data Access Layer in a three tier architecture? Give an example of where there can be dependencies between layers. How could the dependencies be inversed?
 * 9) Imagine that you are building a voice recognition system (assume that the system has to perform segmentation into phoneme, syllable creation, word creation, and dictionary lookup; assume that these tasks cooperate on the recognition problem and there is no simple algorithmic order for performing these tasks; also, the system should be easy to extend with new algorithms). Which architectural style is most appropriate for the given system? Give a sketch of architecture for the system. Discuss the reason for selecting a given style for each system.
 * 10) What is the difference between an Interface and an Abstract class? What design principle is violated in the diagram below

Solution-guidelines