Arch-1 9.Architecture. Arch-2 What’s Architecture? Description of sub-system –Components/sub-systems –Their interaction Framework for communication.

Slides:



Advertisements
Similar presentations
8.
Advertisements

Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Software Architecture Design Instructor: Dr. Jerry Gao.
©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
1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 11 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8t h Ed.,
SWE Introduction to Software Engineering
Architectural Design, Distributed Systems Architectures
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
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 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.
Architectural Design, Distributed Systems Architectures
 What is an operating system? What is an operating system?  Where does the OS fit in? Where does the OS fit in?  Services provided by an OS Services.
An Introduction to Software Architecture
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
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.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
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.
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Architectural Design Identifying system components and their interfaces.
Chapter 6 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.
CS.436 Software Engineering By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 8 Architectural Design Slide 1 1 Chapter 8 Architectural Design.
Chapter 2 Database System Concepts and Architecture Dr. Bernard Chen Ph.D. University of Central Arkansas.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 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.
1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 10 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
©Ian Sommerville, Robin Abraham 2004CS 361, Summer 2004 Slide 1 Architectural Design.
CSC 480 Software Engineering High Level Design. Topics Architectural Design Overview of Distributed Architectures User Interface Design Guidelines.
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.
©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.
Software architecture
Architecture Brief Pepper
CS 325: Software Engineering
Software Engineering Architectural Design Chapter 6 Dr.Doaa Sami
Software Design and Architecture
CS 425/625 Software Engineering Architectural Design
Architectural Design.
Chapter 6 – Architectural Design
Software models - Software Architecture Design Patterns
An Introduction to Software Architecture
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Chapter 6 – Architectural Design
Presentation transcript:

Arch-1 9.Architecture

Arch-2 What’s Architecture? Description of sub-system –Components/sub-systems –Their interaction Framework for communication

Arch-3 Architectural Design Establishes a basic structural framework Identifies major components of a system Communication between them

Arch-4 Why do you need it? Useful for communication Helps analyze ability to meet requirements Leads to repeatable, reusable concepts

Arch-5 Issues to deal with Potentially conflicting issues Performance –Need to keep inter sub-system communication minimum –Level of granularity of components Security –Each layer has to deal with security –Well protected information in inner layers Safety/validation –Need to isolate into one or a few sub-systems Availability/reliability/redundancies –What about availability, load, failure, fault tolerance Maintainability –Smaller sub-system to make it easier to maintain

Arch-6 Architectural Representation Block diagrams generally used Effective to communicate different sub- systems Not effective to describe sub-system interface Goal: design so that requirement change does not propagate across several sub- systems

Arch-7 Developing Architectural Design Very creative process Job of a system architect Varies based on system, experience, requirements

Arch-8 General Questions Questions and considerations Do we have a template to start with? Style System structure Sub-system decomposition Measure of quality Documentation

Arch-9 Models Client-server model Layered model Combined style Static Structure Model Dynamic Process Model –Processes at runtime Interface Model –Sub-system interface Relationship Model –Dataflow, communication, … Distribution Model –Distribution across processors, computers

Arch-10 Organization Decided by Data Services Functional

Arch-11 Repository Considerations –Efficiency –Format of data –Data Usage –Change to format –Centralization and maintenance –Force on the sub-systems Central StorageMessage Passing

Arch-12 May be on one box May be across machines May be physical distribution or simply logical Client-Server Model ClientServer Different services: File, Printing, Computation, …

Arch-13 Layering How do we structure the application in a way that it is maintainable, robust, reliable, secure and robust? Separate the components into layers The layers will have loose coupling Each layer is cohesive Components in a layer interact with –Components within the layer –Components in layer below it

Arch-14 Layering … In a strict layering, components do not talk to any layer other than the one below it In a more relaxed layering, components may bypass one or two layers below Layer n Layer 3 Layer 2 Layer 1

Arch-15 Tier Distribution Layering is more logical Tier distribution talks about how the application is distributed across different hardware The physical tiers is composed of different computers that share: –Resources Like sockets, disc space, etc. –Operational requirements Security, scalability, –Constraints Location may be dictated by constraints like security

Arch-16 Three-Tier Distribution Client Tier Application Tier (Business Tier) Data Tier ASP.NET/ Win Forms/ Web Services Component Libraries ADO.NET/Database Access