University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 1 after designing to meet functional requirements, design the system.

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Chapter 13 Review Questions
Database Architectures and the Web
CS 432 Object-Oriented Analysis and Design
SS ZG653Second Semester Topic Architectural Patterns – Review of Patterns.
8.
Technical Architectures
1 Chapter 2 Database Environment Transparencies © Pearson Education Limited 1995, 2005.
Moving from Analysis to Design. Overview ● What is the difference between analysis and design? ● Logical v. physical design ● System v. detailed design.
Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 6 Software Design Section 10.3 (except )
System Design: Decomposing the System
Lecture 23: Software Architectures
03/12/2001 © Bennett, McRobb and Farmer System Design Based on Chapter 13 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
Protocols and the TCP/IP Suite
Introduction to Databases Transparencies
Data Communications Architecture Models. What is a Protocol? For two entities to communicate successfully, they must “speak the same language”. What is.
Ch 6: Sys. Architecture Design: System Decomposition
Chapter 9: Moving to Design
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Course Instructor: Aisha Azeem
Enterprise Resource Planning
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system design 1 what is systems design? preparation of the system’s specifications with.
Chapter 10 Architectural Design
Chapter 9 Elements of Systems Design
The Design Discipline.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Protocol Layering Chapter 10. Looked at: Architectural foundations of internetworking Architectural foundations of internetworking Forwarding of datagrams.
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
Protocol Architectures. Simple Protocol Architecture Not an actual architecture, but a model for how they work Similar to “pseudocode,” used for teaching.
Database Architecture Introduction to Databases. The Nature of Data Un-structured Semi-structured Structured.
CSC271 Database Systems Lecture # 4.
An Introduction to Software Architecture
CSE323 การวิเคราะห์และออกแบบระบบ (Systems Analysis and Design) Lecture 08: Lecture 08: System Architecture.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Lecture # 3 & 4 Chapter # 2 Database System Concepts and Architecture Muhammad Emran Database Systems 1.
 Repository Model  Client-Server Model  Layered Model  Modular decomposition styles  Object Models  Function Oriented Pipelining  Control Styles.
Krista Lozada iAcademy First Term 2009
9 Systems Analysis and Design in a Changing World, Fourth Edition.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Rehab AlFallaj.  OSI Model : Open system Interconnection.  is a conceptual model that characterizes and standardizes the internal functions of a communication.
John D. McGregor Class 4 – Initial decomposition
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
1 CMPT 275 High Level Design Phase Modularization.
DATABASE MANAGEMENT SYSTEM ARCHITECTURE
Lecture 18: Object-Oriented Design
CHAPTER 4 PROTOCOLS AND THE TCP/IP SUITE Acknowledgement: The Slides Were Provided By Cory Beard, William Stallings For Their Textbook “Wireless Communication.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
Slide 1 What the business needs  How to build it Functional requirements  + Nonfunctional requirements Performance System environment issues Problem.
CSC 480 Software Engineering High Level Design. Topics Architectural Design Overview of Distributed Architectures User Interface Design Guidelines.
Feb. 9, 2004CS WPI1 CS 509 Design of Software Systems Lecture #4 Monday, Feb. 9, 2004.
Chapter 2 Database Environment.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Introduction. System Design Hardware/Software Platform Selection Software Architectures Database Design Human-Computer Interaction (HCI) Interface Object.
9 Systems Analysis and Design in a Changing World, Fifth Edition.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
Networking Using the OSI Model.
OO Methodology OO Architecture.
Software Design and Architecture
CT1303 LAN Rehab AlFallaj.
Protocols and the TCP/IP Suite
Software models - Software Architecture Design Patterns
An Introduction to Software Architecture
Protocols and the TCP/IP Suite
Computer Networking A Top-Down Approach Featuring the Internet
Design Yaodong Bi.
Chapter 6: Architectural Design
Presentation transcript:

University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 1 after designing to meet functional requirements, design the system to meet non-functional requirements identify subsystems and components identify concurrency requirements allocate subsystems to processors select data management strategy select human-computer interface strategy/standards specify code development standards, style guides specify all control aspects set priorities for design tradeoffs identify testing and implementation requirements system architecture

University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 2 system architecture design of all system aspects: software, hardware, human... software architecture organization of classes into subsystems to satisfy non-functional requirements physical architecture maps the software onto the hardware components type of examples of examples of architecture elements relationships conceptual components/classes connectors module sub-systems, modules data exports, imports code files, libraries, directories includes, contains execution object interactions, tasks, uses, calls threads architecture

University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 3 they should have:  clearly defined boundaries  fully defined interfaces with other subsystems so that:  they can be designed and constructed independently of each other  the system complexity is reduced  changes are localized during system maintenance  afford efficient/effective processor allocation  maximize reuse and portability O-O subsystems encapsulate a coherent set of responsibilities

University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 4 > subsystemA > subsystemB > subsystemC > subsystemC communication between subsystems changes to the client do not affect the server if the communication remains the same more tightly coupled and may require both to be changed divide into subsystems by... layering separate into different levels of abstraction, layers of service e.g. database handling VS application logic partitioning separate into different types of functionality e.g. sales VS financial

University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 5 layer 1 layer 2 layer 3 layer 4 closed architecture open architecture layer 1 layer 2 layer 3 layer 4 layered subsystems layer 2 subsystem layer 3 subsystem layer 2 uses the services of layer 3 minimum dependencies between layers reduces the impact of change more compact, possibly better performance, but change is more complex

University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 6 presentation application logic domain database boundary classes - specific to an application control classes - specific to an application entity classes - possibly shared by several applications DBMS - very often shared by several applications examples different levels of abstraction layering options within applications presentation business logic database commonly used for business-oriented information systems

University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 7 application presentation session transport network data link physical misc. protocols for common activities structures information and attaches semantics dialogue control and synchronization facilities breaks messages into packets, ensures delivery selects route from sender to receiver detects/corrects errors in bit sequences transmits bits OSI 7 layer model covers every aspect of communication between two applications, incl. application processes and network hardware device control with well-defined interface controls and standards, you can change some layers without affecting others Open Systems Interconnection

University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 8 > data application logic user interface shared 2-tier and 3-tier architecture

University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 9 customer maintenance order maintenance shipping sales domain sales database partitions partitioning and distributing

University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 10 MVC architecture is the foundation for Mac interfaces, Windows, various Unix-based GUI environments model-view-controller model controller A view Bview A controller B > main/core functionality user interfaces manage updates to views supports tailoring to users’ needs

University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 11 model: central functionality, implement the application logic, aware of dependent view and controller components view: presentation to user, handles the output, gets data from model, creates associated controller controller:handles the input, trigger updates to views propagation mechanism:enables model to inform each view that the model data has changed this MVC separation allows you to plug in different front-end clients and also provides a separation in development model is driven by data design controller is driven by process design view is driven by screen design model-view-controller

University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 12 Reference Framework Architecture Technologies JavaOne2002_2645.ppt

University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 13 (distributed processing) :Client :ClientSide Proxy :Broker :ServerSide Proxy :Server broker: decouples client and server components, forwards service requests to appropriate servers proxies: insulate clients and servers from broker distributed systems

University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 14 for each thread of control, we need different logical processors but do we need: different physical processors multi-tasking operating systems a scheduler subsystem to handle constraints in response times multi-threaded programming language another solution? concurrency

University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 15 consider: the number or users and their locations varied needs for operating systems, special servers, special workstations... Internet, intranet... processing power needed concurrency requirements throughput requirements response time processor allocation

University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 16 your choices are: file-based with application-controlled storage/retrieval database management system: relational for large data volumes and various access requirements object-oriented for fast access and complex data structures object-relational (new!) data management number of users response time requirements volumes of data throughput requirements etc. consider:

University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 17 support: different views of the data by different users control of multi-user access to data distribution of data over different platforms security enforcement of integrity constraints access to data by various applications data recovery portability across platforms data access via query language query optimization database management systems but have significant performance overhead and enforce standard data access mechanisms