13.1 Give a definition of architecture in an information systems context.
13.1 Answer System architecture shows the big picture. High-level view of the system. Architecture is the fundamental organization of a system which is modelled in terms of major components and the way they are connected to each other and to the environment.
13.5 How do existing systems influence the architecture of new systems in the same organization?
13.5 Answer Firstly, the choice of existing technical aspects such as operating system, middleware, development language, database and the component or service structure of existing systems will influence those choices for the new system.
13.5 Answer Secondly, where there are reusable assets, such as components or services, the new system will be able to reuse these. Thirdly, there may be existing systems whose architecture does not provide a pattern for future systems, and the architecture of the new system may have to interface to these through some kind of middleware or adapters.
13.6 Explain the difference between a PIM(A platform-independent model) and PSM(platform-specific model ).
13.6 Answer A platform-independent model (PIM) is a model that does not contain any features that restrict it to implementation on a particular platform.
13.6 Answer A platform-specific model (PSM) is a transformation from a PIM to produce a model that can be implemented on a specific platform.
13.8 What are the advantages of dividing a system into a collection of subsystems?
13.8 Answer It has the following advantages: – It produces smaller units of development. – It helps to maximize reuse at the component level. – It helps the developers to cope with complexity. – It improves maintainability. – It aids portability.
13.9 What is the difference between client-server and peer to peer communication?
13.9 Answer Styles of communication between subsystems – Client-server – Peer to peer
13.9 Answer Client–server communication requires the client to know the interface of the server subsystem, but the communication is only in one direction. The client subsystem requests services from the server subsystem and not vice versa.
13.9 Answer Peer-to-peer communication requires each subsystem to know the interface of the other, thus coupling them more tightly. The communication is two way since either peer subsystem may request services from the other.
13.10 Why is an open layered architecture more difficult to maintain?
13.10 Answer Open layered architectures are more difficult to maintain because each layer may communicate with all lower layers hence increasing the degree of coupling in the architecture. A change to one layer may ripple too many layers.
13.11 What are the disadvantages of the closed layered architecture?
13.11 Answer A closed layer architecture many require more processing, as messages have to be passed through intervening layers.
13.15 How do architectural divisions of systems help with project management?
13.15 Answer By breaking a system into subsystems, work can be allocated to teams more easily, with each team responsible for a particular subsystem.
Deciding Application Architecture Data Processing System Transaction Processing System Event Processing System Language Processing System
Deciding Application Architecture Data Processing System – Data-driven – is explicit user interventions during the processing. – Large amount of data – input and outputs are processed from a file or database rather than input from and output to user terminal. – Low functionality(similar operations are carried out on a large amount of data.) – Example applications : market applications,telephone billing system
Deciding Application Architecture Transaction Processing System – Applications that requires the inputs from a user and give outputs back to the user. – Most common type of interactive business systems. – User actions can’t interfere with each other. – The integrity of the database is maintained. – Example applications :interactive banking systems,e-commerce systems,booking systems.
Deciding Application Architecture Event Processing System – Real-time systems – Events can occur unpredictably – Example applications : Games, car parking systems
Deciding Application Architecture Language Processing System – compiler
System Architecture Client\Server Layered Data Centered(Repository architecture)
Client\Server Consider this style if; – The application is Server based and supports multiple clients. – You are creating Web based applications exposed through browser. – You want to centralize data storage, backup and management functions.
Layered Used when – building new facilities on top of existing systems; – There is a requirment for multi-level security. – Development is spread across several teams.
Layered 3 main layers – the Data Access layer – the Business Logic layer – the Graphical User Interface layer
Layered Consider the layered architecture style if; – Your application is complex – You want to improve the maintainability and extensibility of the application – clear separation of responsabilities
Layered User Interface Authentication and Authorization Core Business(system utilities) Database
Data Centered(Repository architecture) All data is accessible to all system components. Components do not interact directly, only through the repository.
Data Centered(Repository architecture) Components are independent. They dont need to know each other. All data can be managed consistently.