SOFTWARE DESIGN AND ARCHITECTURE

Slides:



Advertisements
Similar presentations
Database System Concepts and Architecture
Advertisements

Prentice Hall, Database Systems Week 1 Introduction By Zekrullah Popal.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Lecture 23: Software Architectures
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
SWE Introduction to Software Engineering
Establishing the overall structure of a software system
Architectural Design, Distributed Systems Architectures
Course Instructor: Aisha Azeem
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Chapter 6 – Architectural Design Lecture 2 1Chapter 6 Architectural design.
The Design Discipline.
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©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
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.
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
Figure – Chapter 6. Figure 6.1 The architecture of a packing robot control system.
Architectural Design, Distributed Systems Architectures
Chapter 6 – Architectural Design Edited by Dr. Issam Al-Azzoni Software Engineering - Sommerville 1Chapter 6 Architectural design.
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
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.
Architecture styles Pipes and filters Object-oriented design Implicit invocation Layering Repositories.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
An application architecture specifies the technologies to be used to implement one or more (and possibly all) information systems in terms of DATA, PROCESS,
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
 Repository Model  Client-Server Model  Layered Model  Modular decomposition styles  Object Models  Function Oriented Pipelining  Control Styles.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
CSC480 Software Engineering Lecture 10 September 25, 2002.
Topic Distributed DBMS Database Management Systems Fall 2012 Presented by: Osama Ben Omran.
CS223: Software Engineering Lecture 14: Architectural Patterns.
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.
Lecture 6 – Architectural Design
Software architecture
Chapter 6 – Architectural Design
Architectural Design.
IS301 – Software Engineering Dept of Computer Information Systems
SOFTWARE DESIGN AND ARCHITECTURE
Software Engineering Architectural Design Chapter 6 Dr.Doaa Sami
Software Design and Architecture
Part 3 Design What does design mean in different fields?
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
Software Engineering Architectural Design Chapter 6 Dr.Doaa Samy
Software Engineering Architectural Design Chapter 6 Dr.Doaa Samy
Chapter 6 – Architectural Design
Princess Nourah bint Abdulrahman University
Introduction to Databases Transparencies
Software Architecture
Chapter 6 – Architectural Design
Architectural Design.
Chapter 6 – Architectural Design
Software models - Software Architecture Design Patterns
Chapter 5 Architectural Design.
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
CS385 T&D Software Engineering Dr.Doaa Sami Khafaga
ICS 52: Introduction to Software Engineering
Chapter 5 Architectural Design.
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
Presentation transcript:

SOFTWARE DESIGN AND ARCHITECTURE LECTURE 11

Review Data Flow Architectures Batch Sequential Pipe and Filter

Outline Shared Data Software Architectures Central Repository Architecture

Shared data Software Architecture

Shared Data Software Architecture Data-centered software architecture is characterized by a centralized data store that is shared by all surrounding software components. The software system is decomposed into two major partitions: data store and independent software component or agents.

Shared Data Software Architecture The connections between the data module and the software components are implemented either by explicit method invocation or by implicit method invocation.

Shared Data Software Architecture In pure data-centered software architecture, the software components don't communicate with each other directly; instead, all the communication is conducted via the data store. The shared data module provides all mechanisms for software components to access it, such as insertion, deletion, update, and retrieval.

Shared Data: The high level design solution is based on a shared data-store which acts as the “central command” with 2 variations: Blackboard style Repository style

Repository architecture

Repository Architecture The repository architecture style is a data-centered architecture that supports user interaction for data processing. The software component agents of the data store control the computation and flow of logic of the system.

Repository architecture All data in a system is managed in a central repository that is accessible to all system components. Components do not interact directly, only through the repository. Lab testing physician diagnosis Patient database accounting & administration pharmacy & drug processing

Repository architecture Organizing tools around a repository is an efficient way to share large amounts of data. There is no need to transmit data explicitly from one component to another.

Repository architecture However, components must operate around an agreed repository data model. Inevitably, this is a compromise between the specific needs of each tool and it may be difficult or impossible to integrate new components if their data models do not fit the agreed schema.

Repository architecture Although it is possible to distribute a logically centralized repository, there may be problems with data redundancy and inconsistency. In practice, it may be difficult to distribute the repository over a number of machines.

Repository Architecture A general picture of the repository architecture. The dashed lines pointing toward repository indicate that repository clients have full control over the logic flow.

Repository Architecture Clients can get data from the data store and put data in the data store. Different clients may have different interfaces and different data access privileges.

Example: Integrated Development Environment

CASE Tools There are many CASE tools surrounding the data store

CASE tools A user of CASE tools can draw a UML design diagram such as a class diagram, collaboration diagram, or sequence diagram, and store the design blueprints in the CASE data store. The biggest advantage of CASE tools is its centralized data with many supporting software tools which can generate different products for different purposes based on the same set of data.

Applicable domains of repository architecture: Suitable for large, complex information systems where many software component clients need to access them in different ways Requires data transactions to drive the control flow of computation

Advantages Components can be independent—they do not need to know of the existence of other components. Changes made by one component can be propagated to all components. All data can be managed consistently (e.g., backups done at the same time) as it is all in one place.

Disadvantages The repository is a single point of failure so problems in the repository affect the whole system. May be inefficiencies in organizing all communication through the repository. Distributing the repository across several computers may be difficult.

Summary Shared Data Software Architectures Central Repository Architecture