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

Slides:



Advertisements
Similar presentations
Distributed Systems Architectures
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Distributed Systems Architectures
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
SWE Introduction to Software Engineering
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Establishing the overall structure of a software system
Ch 12 Distributed Systems Architectures
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Architectural Design, Distributed Systems Architectures
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Chapter 6: Architectural Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Distributed Software Engineering To explain the advantages and disadvantages of different distributed systems architectures To discuss client-server and.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
CS451 Lecture 13: Architectural Design Chapter 10
Chap 8. Architectural Design
Architectural Design. Recap Introduction to design Design models Characteristics of good design Design Concepts.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13Slide 1 Architectural Design u Establishing the overall structure of a software system.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
Architectural Design, Distributed Systems Architectures
1 소프트웨어공학 강좌 Chap 9. Distributed Systems Architectures - Architectural design for software that executes on more than one processor -
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11Slide 1 Chapter 11 Distributed Systems Architectures.
Distributed Systems Architectures
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
Architectural Design To explain the advantages and disadvantages of different distributed systems architectures To discuss client-server and distributed.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architectural Design 10/24/2015ICS 413 – Software Engineering1.
Software Engineering CSC 342/Dr. Ghazy Assassa Chapter 10, Architectural Design “Sommerville +.. “ Slide 1 CSC 342 Semester II: H ( G)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
CS.436 Software Engineering By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 8 Architectural Design Slide 1 1 Chapter 8 Architectural Design.
 Repository Model  Client-Server Model  Layered Model  Modular decomposition styles  Object Models  Function Oriented Pipelining  Control Styles.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
CS 240, Prof. Sarwar Slide 1 CS 240: Software Project Fall 2003 Sections 1 & 2 Dr. Badrul M. Sarwar San Jose State University Lecture #23.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 11 Slide 1 Architectural Design.
Chapter 7: Architectural Design Chapter 11 in textbook 1.
CSC480 Software Engineering Lecture 10 September 25, 2002.
©Ian Sommerville, Robin Abraham 2004CS 361, Summer 2004 Slide 1 Architectural Design.
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 Distributed Systems Architectures l Architectural design for software that executes on more than one.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
BZUPAGES.COMSoftware Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
IS301 – Software Engineering Dept of Computer Information Systems
Part 3 Design What does design mean in different fields?
CSC 480 Software Engineering
Princess Nourah bint Abdulrahman University
Architectural Design.
Presentation transcript:

Dr D. Greer, Queens University Belfast ) 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

Dr D. Greer, Queens University Belfast ) 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)

Dr D. Greer, Queens University Belfast ) Example: packing E.g. packing different kinds of objects (Sommerville Fig 10.1) Arrows = control/ data

Dr D. Greer, Queens University Belfast ) Repository Model Where data is held centrally for all subsystems E.g. CASE Toolset

Dr D. Greer, Queens University Belfast ) 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

Dr D. Greer, Queens University Belfast ) Client Server Model

Dr D. Greer, Queens University Belfast ) 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

Dr D. Greer, Queens University Belfast ) 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

Dr D. Greer, Queens University Belfast ) 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.

Dr D. Greer, Queens University Belfast ) 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

Dr D. Greer, Queens University Belfast ) 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

Dr D. Greer, Queens University Belfast ) 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

Dr D. Greer, Queens University Belfast ) A multiprocessor traffic control system

Dr D. Greer, Queens University Belfast ) Computers in a C/S network

Dr D. Greer, Queens University Belfast ) 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.

Dr D. Greer, Queens University Belfast ) A client-server ATM system

Dr D. Greer, Queens University Belfast ) 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

Dr D. Greer, Queens University Belfast ) An internet banking system

Dr D. Greer, Queens University Belfast ) 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

Dr D. Greer, Queens University Belfast ) Distributed object architecture

Dr D. Greer, Queens University Belfast ) 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

Dr D. Greer, Queens University Belfast ) 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

Dr D. Greer, Queens University Belfast ) 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

Dr D. Greer, Queens University Belfast ) 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