Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dr D. Greer, Queens University Belfast ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand.

Similar presentations


Presentation on theme: "Dr D. Greer, Queens University Belfast ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand."— Presentation transcript:

1 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand and be able to define what Software Architecture is Appreciate and understand a range of common software architectures and choose from these

2 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) What is Architectural Design? Describing the structure of a system, its major components and how they communicate Before detailed design we need –a model showing subsystems/components –a model showing how the system behaves –A model showing how each sub-system is interfaced to Software Architecture (note UML has diagrams for this but we will use simple block diagrams)

3 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) Example: packing E.g. packing different kinds of objects (Sommerville Fig 10.1) Arrows = control/ data

4 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) Repository Model Where data is held centrally for all subsystems E.g. CASE Toolset

5 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) Repository Model Advantages –Efficient way to share large amounts of data –Sub-systems need not be concerned with how data is produced Centralised management e.g. backup, security, etc. Sharing model is published as the repository schema Disadvantages –Sub-systems must agree on a repository data model. Inevitably a compromise –Data evolution is difficult and expensive –Difficult to distribute efficiently

6 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) Client Server Model

7 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) Client Server Model Advantages –Distribution of data is straightforward –Makes effective use of networked systems - cheaper hardware –Easy to add new servers or upgrade existing servers Disadvantages –No shared data model so sub-systems use different data organisation. data interchange may be inefficient –Redundant management in each server –No central register of names and services - it may be hard to find out what servers and services are available

8 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) Abstract machine model Used to model the interfacing of sub-systems Organises the system into a set of layers (or abstract machines) each of which provide a set of services –When a layer interface changes, only the adjacent layer is affected e.g. version management system

9 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) Control models - Centralised control A control sub-system takes responsibility for managing the execution of other sub-systems Call-return model –Top-down subroutine model where control starts at the top of a subroutine hierarchy and moves downwards.

10 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) Event-driven systems – Broadcast driven different sub-systems on a network Sub-systems register an interest in specific events. When these occur, control is transferred to the sub- system which can handle the event will be handled

11 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) Event-driven systems – Interrupt driven real-time systems - fast response is essential –known interrupt types each with a handler defined –Each type is associated with a memory location and a hardware switch causes transfer to its handler

12 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) Distributed systems architectures Client-server architectures –Distributed services which are called on by clients. Servers that provide services are treated differently from clients that use services Distributed object architectures –No distinction between clients and servers. Any object on the system may provide and use services from other objects

13 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) A multiprocessor traffic control system

14 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) Computers in a C/S network

15 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) Thin and fat clients Thin-client model –In a thin-client model, all of the application processing and data management is carried out on the server. The client is simply responsible for running the presentation software. Fat-client model –In this model, the server is only responsible for data management. The software on the client implements the application logic and the interactions with the system user.

16 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) A client-server ATM system

17 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) Three-tier architectures In a three-tier architecture, each of the application architecture layers may execute on a separate processor Allows for better performance than a thin-client approach and is simpler to manage than a fat-client approach A more scalable architecture - as demands increase, extra servers can be added

18 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) An internet banking system

19 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) Distributed Object Architecture clients and servers – no distinction Each distributable entity is an object that provides services to other objects and receives services from other objects Object communication is through a middleware system called an object request broker (software bus) However, more complex to design than C/S systems

20 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) Distributed object architecture

21 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) Advantages of Distributed Object Architecture It allows the system designer to delay decisions on where and how services should be provided It is a very open system architecture that allows new resources to be added to it as required The system is flexible and scaleable It is possible to reconfigure the system dynamically with objects migrating across the network as required

22 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) Distributed Object Architecture - CORBA/ DCOM CORBA is an international standard for an Object Request Broker - middleware to manage communications between distributed objects DCOM is an alternative approach by Microsoft to object request brokers CORBA has been defined by the Object Management Group

23 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) CORBA objects CORBA objects are comparable, in principle, to objects in C++ and Java They MUST have a separate interface definition that is expressed using a common language (IDL) similar to C++ There is a mapping from this IDL to programming languages (C++, Java, etc.) Therefore, objects written in different languages can communicate with each other The ORB handles object communications. It knows of all objects in the system and their interfaces

24 Dr D. Greer, Queens University Belfast (Email:des.greer@qub.ac.uk ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand and be able to define what Software Architecture is Appreciate and understand a range of common software architectures and choose from these


Download ppt "Dr D. Greer, Queens University Belfast ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand."

Similar presentations


Ads by Google