Software Engineering II



Q1. Explain why design conflicts might arise when designing an architecture for which both availability and security requirements are the most important non-functional requirements.Fundamentally, to provide availability, you need to have (a) replicated components in the architecture so that in the event of one component failing, you can switch immediately to a backup component. You also need to have several copies of the data that is being processed. Security requires minimizing the number of copies of the data and, wherever possible, adopting an architecture where each component only knows as much as it needs to, to do its job. This reduces the chance of intruders accessing the data.Therefore, there is a fundamental architectural conflict between availability (replication, several copies) and security (specialization, minimal copies). The system architect has to find the best compromise between these fundamentally opposing requirements.Q2. Suggest and draw the architecture diagram of the following systems:An automated ticket-issuing system used by passengers at a railway stationThe most appropriate architectural structural model would be a centralized model with a shared repository for route and pricing information. Storing all the information in a central location allows for changes to be immediately available to all ticket machines. It's reasonable to assume that there are other subsystems used for administrative functions (such as updating the data in the repository). The centralized system also allows global information (e.g., ticket sales) and route use to be collected and processed. Given the distributed nature of this application, one might be led to consider a client/server architecture. If there is only one server (the repository), the actual structure would be the same (as the repository structure), regardless of what you call it.A computer-controlled video conferencing system which allows video, audio and computer data to be visible to several participants at the same timeThe most appropriate structure here is a client-server model. The client application would be required to do considerable processing to handle the complex multimedia data fed to it from the server(s).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.The most appropriate model is a repository model, with each of the subsystems (wall and obstacle sensors, path planning, vision (perhaps), etc.) placing information in the repository for other sub-systems to use. Robotic applications are in the realm of Artificial Intelligence, and for AI systems such as this, a special kind of repository called a blackboard (where the presence of data activates particular subsystems) is normally used.Q3. Using the basic model of an information system, as presented below, 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.Students should consider the levels in the information system and should identify components that might be included at each level. Examples of these components might be:Level 1 (Database level): Flight database; Flight status database; Airport information;Level 2: (Information retrieval level): Status management; Flight management; Search;Level 3: (User interaction level): Authentication and validation; session management; forms management Level 4 (User interface): browser ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download