Element: Relations: Topology: no constraints.
|
|
- Clarissa Hawkins
- 5 years ago
- Views:
Transcription
1 The Module Viewtype The Module Viewtype Element: Elements, Relations and Properties for the Module Viewtype Simple Styles Call-and-Return Systems Decomposition Style Uses Style Generalization Style Object-Oriented Systems Layered Style Virtual Machines Relations: Module an implementation unit of software. Properties: Name, Responsibilities, implementation information is-part-of Properties: visibility depends-on Properties: constraints is-a Topology: no constraints. Properties: implementation property 1 (21) - SOFTWARE ARCHITECTURE The Module Viewtype - Sven Arne Andreasson - Computer Science and Engineering 2 (21) - SOFTWARE ARCHITECTURE The Module Viewtype - Sven Arne Andreasson - Computer Science and Engineering Call-and-Return Systems Main Program and Subroutines Synchronous execution: A component calls another component ceases execution and waits until the other component is ready may get a return value continues execution A main program acts as the controller. One or more Subroutines perform specific functions when called by the main program. A single thread of control. The correctness of execution is dependant on the correctness of he main program and all subroutines that are called. is used when the order of computation is fixed. Common forms: Main program and subroutines Client-server systems Object-oriented systems Hierarchical layers 3 (21) - SOFTWARE ARCHITECTURE The Module Viewtype - Sven Arne Andreasson - Computer Science and Engineering 4 (21) - SOFTWARE ARCHITECTURE The Module Viewtype - Sven Arne Andreasson - Computer Science and Engineering
2 Main Program and Subroutines Main Program and Subroutines Hierarchical decomposition Single thread of control Subroutines typically aggregated into subsystems Hierarchical reasoning Old-fashioned, popular in the 1970s to 90s: Jackson Structured Programming, (JSP!) Advantages: Simple to learn and understand. Disadvantages: Correctness depends on the subroutines that are called Tends to have different subroutines doing the same thing, spaghetti code. Does not scale easy to bigger systems. 5 (21) - SOFTWARE ARCHITECTURE The Module Viewtype - Sven Arne Andreasson - Computer Science and Engineering 6 (21) - SOFTWARE ARCHITECTURE The Module Viewtype - Sven Arne Andreasson - Computer Science and Engineering Decomposition Style Decomposition Style Modules with focusing on is-part-of. UML: Examples of uses: Subsystem1 A Hardware-Hiding module Behavior-Hiding module B C D E Software Decision module: Application Data Type module Filter Behavior module Physical Models module Topology... No loops A module can not be part of more than one module. 7 (21) - SOFTWARE ARCHITECTURE The Module Viewtype - Sven Arne Andreasson - Computer Science and Engineering 8 (21) - SOFTWARE ARCHITECTURE The Module Viewtype - Sven Arne Andreasson - Computer Science and Engineering
3 Uses Style Generalization Style Modules with focusing on depends-on. is useful for planning incremental development, system extensions and subsets, debugging and testing, and gauging the effects of specific changes. UML Modules with focusing on is-a. is useful for object-oriented designs, extension and evolution, local change or variation, reuse UML Subsystem1 Subsystem2 A No topology constraints B C 9 (21) - SOFTWARE ARCHITECTURE The Module Viewtype - Sven Arne Andreasson - Computer Science and Engineering 10 (21) - SOFTWARE ARCHITECTURE The Module Viewtype - Sven Arne Andreasson - Computer Science and Engineering Object-Oriented Systems Object-Oriented Systems Advantages Special case of Main Program and Subroutines. 1-1 mapping of the problem domain makes the system easier to understand. Encapsulation Restricted access to information. This is the most important quality of O-O! Structure that follows the Problem Domain. Natural understanding of the system. Dynamic binding Actual operation to call is invoked at runtime. Inheritance Share definition of functionality. Encapsulation Drawbacks 11 (21) - SOFTWARE ARCHITECTURE The Module Viewtype - Sven Arne Andreasson - Computer Science and Engineering 12 (21) - SOFTWARE ARCHITECTURE The Module Viewtype - Sven Arne Andreasson - Computer Science and Engineering
4 Layered Style Hierarchical layers Dividing into modules that are layers. Topology constraint: The layers are partly ordered, If A is above B, B cannot be above A. A hierarchically layered system is partitioned into layers that are put above each other. Each layer act as a virtual machine for the layers above it a client to the layers below it Communication between the layers occurs through well-defined APIs. Special useful for Large Systems that can have several layers 13 (21) - SOFTWARE ARCHITECTURE The Module Viewtype - Sven Arne Andreasson - Computer Science and Engineering 14 (21) - SOFTWARE ARCHITECTURE The Module Viewtype - Sven Arne Andreasson - Computer Science and Engineering Hierarchical layers Example Hierarchical layers Considerations Presentation logic Business logic Middleware System software Special function General function Visibility Dependencies only within current layer and the layer below. Volatility Upper layer affected by requirement changes. Lower layers affected by environment changes. Generality More abstract model elements in lower layers Number of layers Small system: 3-4 layers. Complex system: 5-7 layers. not more than 7 ± 2 15 (21) - SOFTWARE ARCHITECTURE The Module Viewtype - Sven Arne Andreasson - Computer Science and Engineering 16 (21) - SOFTWARE ARCHITECTURE The Module Viewtype - Sven Arne Andreasson - Computer Science and Engineering
5 Hierarchical layers UML Hierarchical layers Example <<layer>> Presentation Logic Five layers: Database Management System, DBMS Set oriented interface (ODBC, SQL,... <<layer>> Business Logic <<layer>> Middleware Library Implementation of the set oriented DB-Interface Implementation of the record oriented DB-Interface Realization of storage structures System buffer management External memory management Record oriented interface Internal record interface Segment interface File interface (UNIX, Windows,..) Device interface 17 (21) - SOFTWARE ARCHITECTURE The Module Viewtype - Sven Arne Andreasson - Computer Science and Engineering 18 (21) - SOFTWARE ARCHITECTURE The Module Viewtype - Sven Arne Andreasson - Computer Science and Engineering Hierarchical layers Advantages Virtual Machines Support designs based on increasing levels of abstraction. Suitable design method. Support maintenance: Only interaction with closest layers. A virtual machine is an emulator that executes on top of a hardware or software platform. Gives the same services as a given hardware but using software rather than hardware. Examples: Supports reuse: Possibility to standard layer APIs. Disadvantages Java VM PC emulator on (old) MAC. Not all systems are appropriate to structure in levels. Even, if so, it might be good for performance to have closer coupling with the basic functions. e.g. the ISO s OSI had to many layers to work well in real-time applications. 19 (21) - SOFTWARE ARCHITECTURE The Module Viewtype - Sven Arne Andreasson - Computer Science and Engineering 20 (21) - SOFTWARE ARCHITECTURE The Module Viewtype - Sven Arne Andreasson - Computer Science and Engineering
6 Provides complete protection of system resources. Still permits sharing of resources. A virtual machine is difficult to implement. Virtual Machines Advantages Disadvantages Must follow a complicated specification. e.g. emulating Windows on a Linux machine. (worse with old MAC!) 21 (21) - SOFTWARE ARCHITECTURE The Module Viewtype - Sven Arne Andreasson - Computer Science and Engineering
Software Architecture
Software Architecture Lecture 5 Call-Return Systems Rob Pettit George Mason University last class data flow data flow styles batch sequential pipe & filter process control! process control! looping structure
More informationCAS 703 Software Design
Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software by Tao et al. (Chapters 9 and 10) (SOA) 1 Interaction
More informationArchitectural Blueprint
IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint
More informationAppendix A - Glossary(of OO software term s)
Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component
More informationCAS 703 Software Design
Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software Architecture by Tao et al. (Chapters 6 and 7) 1
More informationSoftware Architecture
Software Architecture Definitions http://www.sei.cmu.edu/architecture/ published_definitions.html ANSI/IEEE Std 1471-2000, Recommended Practice for Architectural Description of Software- Intensive Systems
More informationObject-Oriented Design
Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration
More informationPresenter: Dong hyun Park
Presenter: 200412325 Dong hyun Park Design as a life cycle activity bonds the requirements to construction Process of breaking down the system into components, defining interfaces and defining components
More informationSoftware Engineering (CSC 4350/6350) Rao Casturi
Software Engineering (CSC 4350/6350) Rao Casturi Recap 1 to 5 Chapters 1. UML Notation 1. Use Case 2. Class Diagrams 3. Interaction or Sequence Diagrams 4. Machine or State Diagrams 5. Activity Diagrams
More informationADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE
ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE Dave Clarke 1 THIS LECTURE At the end of this lecture you will know notations for expressing software architecture the design principles of cohesion
More informationAn Introduction to Software Architecture By David Garlan & Mary Shaw 94
IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion An Introduction to
More informationIndex. Index. More information. block statements 66 y 107 Boolean 107 break 55, 68 built-in types 107
A abbreviations 17 abstract class 105 abstract data types 105 abstract method 105 abstract types 105 abstraction 92, 105 access level 37 package 114 private 115 protected 115 public 115 accessors 24, 105
More informationAn Introduction to Software Architecture
An Introduction to Software Architecture Software Engineering Design Lecture 11 Motivation for studying SW architecture As the size of SW systems increases, the algorithms and data structures of the computation
More informationSOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa
SOFTWARE MODELING AND DESIGN UML, Use Cases, Patterns, and Software Architectures Hassan Gomaa George Mason University, Fairfax, Virginia Ki Cambridge UNIVERSITY PRESS Contents Preface P"U
More informationAn Introduction to Software Architecture
An Introduction to Software Architecture Software Requirements and Design CITS 4401 Lecture 11 Motivation for studying SW architecture As the size of SW systems increase, the algorithms and data structures
More informationXamarin. MS (IT), 4 th Sem. HOD, Dept. Of IT, HOW DOES XAMARIN WORKS?
Xamarin Mandanna B J MS (IT), 4 th Sem Jain University, Bangalore Dr. Suchitra R HOD, Dept. Of IT, Jain University Bangalore Abstract:- It is a technology that brings.net/c# to Android, IOS as well as
More informationAn Introduction to Software Architecture. David Garlan & Mary Shaw 94
An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data
More informationOS and Hardware Tuning
OS and Hardware Tuning Tuning Considerations OS Threads Thread Switching Priorities Virtual Memory DB buffer size File System Disk layout and access Hardware Storage subsystem Configuring the disk array
More informationOS and HW Tuning Considerations!
Administração e Optimização de Bases de Dados 2012/2013 Hardware and OS Tuning Bruno Martins DEI@Técnico e DMIR@INESC-ID OS and HW Tuning Considerations OS " Threads Thread Switching Priorities " Virtual
More informationCh 1: The Architecture Business Cycle
Ch 1: The Architecture Business Cycle For decades, software designers have been taught to build systems based exclusively on the technical requirements. Software architecture encompasses the structures
More informationSoftware Architecture in Practice
Software Architecture in Practice Chapter 5: Architectural Styles - From Qualities to Architecture Pittsburgh, PA 15213-3890 Sponsored by the U.S. Department of Defense Chapter 5 - page 1 Lecture Objectives
More informationObjectives. Architectural Design. Software architecture. Topics covered. Architectural design. Advantages of explicit architecture
Objectives Architectural Design To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural
More informationDistributed Systems Middleware
Distributed Systems Middleware David Andersson, 810817-7539, (D) Rickard Sandell, 810131-1952, (D) EDA 390 - Computer Communication and Distributed Systems Chalmers University of Technology 2005-04-30
More informationXVIII. Software Architectures
XVIII. Software Architectures Software Architectures UML Packages Client-Server vs Peer-to-Peer 3-Tier and 4-Tier Architectures Horizontal Layers and Vertical Partitions The Model-View-Controller Architecture
More informationCOMMUNICATION PROTOCOLS
COMMUNICATION PROTOCOLS Index Chapter 1. Introduction Chapter 2. Software components message exchange JMS and Tibco Rendezvous Chapter 3. Communication over the Internet Simple Object Access Protocol (SOAP)
More informationMastering SOA Challenges more cost-effectively. Bodo Bergmann Senior Software Engineer Ingres Corp.
Mastering SOA Challenges more cost-effectively Bodo Bergmann Senior Software Engineer Ingres Corp. 1 Contents Tell me why? SOA INGRES and SOA SOA Challenges Mastering selected challenges 2 Service-Oriented
More informationIntroduction to Virtual Machines. Michael Jantz
Introduction to Virtual Machines Michael Jantz Acknowledgements Slides adapted from Chapter 1 in Virtual Machines: Versatile Platforms for Systems and Processes by James E. Smith and Ravi Nair Credit to
More informationDAVID M. KROENKE and DAVID J. AUER. DATABASE CONCEPTS, 7 th Edition. Chapter Seven. Database Processing Applications. Chapter Objectives
DAVID M. KROENKE and DAVID J. AUER DATABASE CONCEPTS, 7 th Edition Chapter Seven Database Processing Applications Chapter Objectives Understand and be able to set up Web database processing Learn the basic
More informationWhat is Software Architecture
What is Software Architecture Is this diagram an architecture? (ATM Software) Control Card Interface Cash Dispenser Keyboard Interface What are ambiguities in the previous diagram? Nature of the elements
More informationUtilizing a Common Language as a Generative Software Reuse Tool
Utilizing a Common Language as a Generative Software Reuse Tool Chris Henry and Stanislaw Jarzabek Department of Computer Science School of Computing, National University of Singapore 3 Science Drive,
More informationPatterns and Testing
and Lecture # 7 Department of Computer Science and Technology University of Bedfordshire Written by David Goodwin, based on the lectures of Marc Conrad and Dayou Li and on the book Applying UML and (3
More informationObject-Oriented Design
Object-Oriented Design Lecturer: Raman Ramsin Lecture 10: Analysis Packages 1 Analysis Workflow: Packages The analysis workflow consists of the following activities: Architectural analysis Analyze a use
More informationSeveral major software companies including IBM, Informix, Microsoft, Oracle, and Sybase have all released object-relational versions of their
Several major software companies including IBM, Informix, Microsoft, Oracle, and Sybase have all released object-relational versions of their products. These companies are promoting a new, extended version
More informationArchitectural Design
Architectural Design Objectives To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural
More informationChapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on
Chapter 2: Operating-System Structures Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures 1. Operating System Services 2. User Operating System
More informationReviewing for the Midterm Covers chapters 1 to 5, 7 to 9. Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013
Reviewing for the Midterm Covers chapters 1 to 5, 7 to 9 Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013 2 Things to Review Review the Class Slides: Key Things to Take Away Do you understand
More informationBASIC CONCEPT OF OOP
Chapter-6 BASIC CONCEPT OF OOP Introduction: Object oriented programmingg is the principle of design and development of programs using modular approach. Object oriented programmingg approach provides advantages
More informationOverview of Layered Architectures
Overview of ed Architectures Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Professor of Computer Science Institute for Software Integrated Systems Vanderbilt University Nashville,
More informationObject modeling and geodatabases. GEOG 419: Advanced GIS
Object modeling and geodatabases GEOG 419: Advanced GIS CAD Data Model 1960s and 1970s Geographic data stored as points, lines, and areas No attributes; each feature type stored on a different layer No
More informationUNIT V *********************************************************************************************
Syllabus: 1 UNIT V 5. Package Diagram, Component Diagram, Deployment Diagram (08 Hrs, 16 Marks) Package Diagram: a. Terms and Concepts Names, Owned Elements, Visibility, Importing and Exporting b. Common
More informationSoftware Design and Analysis CSCI 2040
Software Design and Analysis CSCI 2040 Summarize UML Deployment and Component notation. Design a framework with the Template Method, State, and Command patterns. Introduce issues in object-relational (O-R)
More informationDescription of CORE Implementation in Java
Partner s name: Istat WP number and name: WP6 Implementation library for generic interface and production chain for Java Deliverable number and name: 6.1 Description of Implementation in Java Description
More informationDistributed Objects. Object-Oriented Application Development
Distributed s -Oriented Application Development Procedural (non-object oriented) development Data: variables Behavior: procedures, subroutines, functions Languages: C, COBOL, Pascal Structured Programming
More informationOBJECT-RELATIONAL COMPONENT APPROACHES: A COMPARISON
OBJECT-RELATIONAL COMPONENT APPROACHES: A COMPARISON Database & Client/Server World Chicago Tuesday, December 9, 1997 11:00 A.M.-12:15 P.M. David McGoveran Alternative Technologies 13150 Highway 9, Suite
More informationSoftware MEIC. (Lesson 4)
Software Architecture @ MEIC (Lesson 4)! Last class The Architecture Influence Cycle The AIC applied to Fénix Today Revisiting the definition of Software Architecture How to describe a Software Architecture
More informationDr Markus Hagenbuchner CSCI319. Distributed Systems Chapter 3 - Processes
Dr Markus Hagenbuchner markus@uow.edu.au CSCI319 Distributed Systems Chapter 3 - Processes CSCI319 Chapter 3 Page: 1 Processes Lecture notes based on the textbook by Tannenbaum Study objectives: 1. Understand
More informationFlexiNet. A flexible component oriented middleware system. Introduction. Architecting for Components. Richard Hayton, Andrew Herbert. APM Ltd.
FlexiNet flexible component oriented middleware system Richard Hayton, ndrew Herbert. P Ltd. Introduction Generally, research middleware platforms have provided application programmers with facilities
More informationICS 52: Introduction to Software Engineering
ICS 52: Introduction to Software Engineering Fall Quarter 2002 Professor Richard N. Taylor Lecture Notes Week 3: Architectures http://www.ics.uci.edu/~taylor/ics_52_fq02/syllabus.html Copyright 2002, Richard
More informationICS 52: Introduction to Software Engineering
ICS 52: Introduction to Software Engineering Fall Quarter 2004 Professor Richard N. Taylor Lecture Notes Week 3: Architectures http://www.ics.uci.edu/~taylor/ics_52_fq04/syllabus.html Copyright 2004, Richard
More informationINTRODUCTION TO Object Oriented Systems BHUSHAN JADHAV
INTRODUCTION TO Object Oriented Systems 1 CHAPTER 1 Introduction to Object Oriented Systems Preview of Object-orientation. Concept of distributed object systems, Reasons to distribute for centralized objects.
More informationCHAPTER 5 GENERAL OOP CONCEPTS
CHAPTER 5 GENERAL OOP CONCEPTS EVOLUTION OF SOFTWARE A PROGRAMMING LANGUAGE SHOULD SERVE 2 RELATED PURPOSES : 1. It should provide a vehicle for programmer to specify actions to be executed. 2. It should
More informationArchitectural Styles. Software Architecture Lecture 5. Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.
Architectural Styles Software Architecture Lecture 5 Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Object-Oriented Style Components are objects Data and associated
More information6. System Design: Decomposing the System
6. System Design: Decomposing the System Outline! Design! System Design Activities! Determine Design Goals! System Design Concepts! Software Architecture Pattern 1. Design Software Engineering 1.1 Design
More informationChapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies.
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 2 Distributed Information Systems Architecture Chapter Outline
More informationSome popular Operating Systems include Linux Operating System, Windows Operating System, VMS, OS/400, AIX, z/os, etc.
An Operating System (OS) is an interface between computer user and computer hardware. An operating system is software which performs all the basic tasks like file management, memory management, process
More informationLast Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 4, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
More informationObject-Oriented and Classical Software Engineering DESIGN 11/12/2017. CET/CSC490 Software Engineering Design CHAPTER 14. Stephen R. Schach.
Slide 14.1 CHAPTER 14 Slide 14.2 Object-Oriented and Classical Software Engineering DESIGN Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach Overview Slide 14.3 Overview (contd) Slide 14.4 and abstraction
More informationSoftware Architecture and Design I
Software Architecture and Design I Instructor: Yongjie Zheng February 23, 2017 CS 490MT/5555 Software Methods and Tools Outline What is software architecture? Why do we need software architecture? How
More informationSoftware Architecture
Software Architecture Mestrado em Engenharia Informática e de Computadores COMPANION TO THE FIRST EXAM ON JANUARY 8TH, 2016 VERSION: A (You do not need to turn in this set of pages with your exam) 1. Consider
More informationAvancier Methods. Very basic design patterns. It is illegal to copy, share or show this document
Methods Very basic design patterns It is illegal to copy, share or show this document (or other document published at http://avancier.co.uk) without the written permission of the copyright holder Copyright
More informationChapter Outline. Chapter 2 Distributed Information Systems Architecture. Distributed transactions (quick refresh) Layers of an information system
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 2 Distributed Information Systems Architecture Chapter Outline
More informationB.H. Far
SENG 401 Analysis and Design of Large Scale Software II Chapter 5: Architectural Patterns (Styles) Department of Electrical & Computer Engineering, University of Calgary B.H. Far (far@ucalgary.ca) http://www.enel.ucalgary.ca/people/far/lectures/seng401/
More informationInformation System Design (IT60105)
Information System Design (IT60105) Lecture 26 Object-Oriented System Testing Lecture #23 Procedural vs OO paradigms Why not Traditional Testing? Issues Methodology 2 Procedural Vs OO p Procedural Vs OO
More informationChapter 4: Threads. Chapter 4: Threads. Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues
Chapter 4: Threads Silberschatz, Galvin and Gagne 2013 Chapter 4: Threads Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues 4.2 Silberschatz, Galvin
More informationFrom Module To Objects
From Module To Objects It is very difficult to maintain a large monolithic block of code The solution is to divide the code into smaller pieces, called modules What is a Module? A small and manageable
More informationWHAT IS SOFTWARE ARCHITECTURE?
WHAT IS SOFTWARE ARCHITECTURE? Chapter Outline What Software Architecture Is and What It Isn t Architectural Structures and Views Architectural Patterns What Makes a Good Architecture? Summary 1 What is
More informationLogical Architecture & Design Preliminaries
Logical Architecture & Design Preliminaries CSSE 574: Week 2, Part 4 Steve Chenoweth Phone: Office (812) 877-8974 Cell (937) 657-3885 Email: chenowet@rose-hulman.edu From Requirements to Architecture Customer
More informationOS Design Approaches. Roadmap. OS Design Approaches. Tevfik Koşar. Operating System Design and Implementation
CSE 421/521 - Operating Systems Fall 2012 Lecture - II OS Structures Roadmap OS Design and Implementation Different Design Approaches Major OS Components!! Memory management! CPU Scheduling! I/O Management
More informationObject-Oriented Concepts and Design Principles
Object-Oriented Concepts and Design Principles Signature Specifying an object operation or method involves declaring its name, the objects it takes as parameters and its return value. Known as an operation
More informationDescribing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?
Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? CIS 8690 Enterprise Architectures Duane Truex, 2013 Cognitive Map of 8090
More informationSoftware Architecture
Software Architecture Architectural Design and Patterns. Standard Architectures. Dr. Philipp Leitner @xleitix University of Zurich, Switzerland software evolution & architecture lab Architecting, the planning
More informationEvolution of Virtual Machine Technologies for Portability and Application Capture. Bob Vandette Java Hotspot VM Engineering Sept 2004
Evolution of Virtual Machine Technologies for Portability and Application Capture Bob Vandette Java Hotspot VM Engineering Sept 2004 Topics Virtual Machine Evolution Timeline & Products Trends forcing
More informationThe modularity requirement
The modularity requirement The obvious complexity of an OS and the inherent difficulty of its design lead to quite a few problems: an OS is often not completed on time; It often comes with quite a few
More informationCS 32. Lecture 1: oops
CS 32 Lecture 1: oops Textbooks Problem Solving in C++ (CS 16) Chapters 10-18 Data Structures with C++ (CS 24) Chapters 12-14 Reader SBPrinter at UCen Grading Labs 20% Programming Assignments 20% 3 thirdterm
More informationChapter 4: Multithreaded Programming. Operating System Concepts 8 th Edition,
Chapter 4: Multithreaded Programming, Silberschatz, Galvin and Gagne 2009 Chapter 4: Multithreaded Programming Overview Multithreading Models Thread Libraries Threading Issues 4.2 Silberschatz, Galvin
More informationArchitectural Decomposition & Representations Reid Holmes
Architectural Decomposition & Representations Reid Holmes What is SW architecture? Definition: Blueprint for construction and evolution. Encompasses: Structure Behaviour The set of principal design decisions
More informationJAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP
2013 Empowering Innovation DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP contact@dninfotech.com www.dninfotech.com 1 JAVA 500: Core JAVA Java Programming Overview Applications Compiler Class Libraries
More informationbe used for more than one use case (for instance, for use cases Create User and Delete User, one can have one UserController, instead of two separate
UNIT 4 GRASP GRASP: Designing objects with responsibilities Creator Information expert Low Coupling Controller High Cohesion Designing for visibility - Applying GoF design patterns adapter, singleton,
More informationChapter 1: Introduction Operating Systems MSc. Ivan A. Escobar
Chapter 1: Introduction Operating Systems MSc. Ivan A. Escobar What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. Operating system
More informationProgrammazione. Prof. Marco Bertini
Programmazione Prof. Marco Bertini marco.bertini@unifi.it http://www.micc.unifi.it/bertini/ Introduction Why OO Development? Improved structure of software easier to: Understand Maintain Enhance Reusable
More informationSystem Design. Acknowledge: Atlee and Pfleeger (Software Engineering: Theory and Practice)
System Design Acknowledge: Atlee and Pfleeger (Software Engineering: Theory and Practice) C 870: Advanced Software Engineering (System Design): Cheng Design: HOW to implement a system Goals: Satisfy the
More informationIntroduction... ix. Chapter 1: Exploring Fundamental Programming Concepts... 1
Table of Contents Introduction... ix Chapter 1: Exploring Fundamental Programming Concepts... 1 1.1 Exploring the Editors... 2 History of Editors... 2 Exploring the Types of Text Editors... 3 Describing
More informationXVIII. Software Architectures
XVIII. Software Architectures Software Architectures Subsystems, Modules and Connectors Pipes and Filters, Object-Oriented, Layered, Event-Driven, Repository-Based Architectures Client Server Architectures
More informationEEE 435 Principles of Operating Systems
EEE 435 Principles of Operating Systems Operating System Structure (Modern Operating Systems 1.7) Outline Operating System Structure Monolithic Systems Layered Systems Virtual Machines Exokernels Client-Server
More informationChapter 8: Class and Method Design
Chapter 8: Class and Method Design Objectives Become familiar with coupling, cohesion, and connascence. Be able to specify, restructure, and optimize object designs. Be able to identify the reuse of predefined
More informationChapter 10 Web-based Information Systems
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 10 Web-based Information Systems Role of the WWW for IS Initial
More informationChapter 7 Design and Implementation
Chapter 7 Design and Implementation Chapter 7 Design and Implementation Slide 1 Topics covered Object-oriented design using the UML Design patterns Implementation issues Reuse Configuration management
More informationObjectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams
Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop interaction diagrams based on the principles of object responsibility and use case controllers
More informationChapter 1: Distributed Information Systems
Chapter 1: Distributed Information Systems Contents - Chapter 1 Design of an information system Layers and tiers Bottom up design Top down design Architecture of an information system One tier Two tier
More informationThe Myx Architectural Style
The Myx Architectural Style The goal of the Myx architectural style is to serve as an architectural style that is good for building flexible, high performance tool-integrating environments. A secondary
More informationSoftware Paradigms S.H. Kaisler, 440 p., Wiley, Chapters 12-17
SENG 401 Analysis and Design of Large Scale Software II Focus Programming paradigm Program Structure Variables Structures Classes, Objects Data Types Chapter 5: Architectural Patterns (Styles) Department
More informationIntroduction to Java. Lecture 1 COP 3252 Summer May 16, 2017
Introduction to Java Lecture 1 COP 3252 Summer 2017 May 16, 2017 The Java Language Java is a programming language that evolved from C++ Both are object-oriented They both have much of the same syntax Began
More information10조 이호진 이지 호
10 조 200910045 이호진 200911415 이지호 According to the IEEE definition, design is.. The process of defining the architecture, components, interfaces, and other characteristics of a system or component 1.
More informationSub Phase: High-Level Design. From Requirements Analysis to User Manual. System Design
Sub Phase: High-Level Design 1 From Requirements Analysis to User Manual System Design 2 1 Map of design phase HIGH LEVEL DESIGN Module Interfaces Modularization architecture DESIGN Data Persistance Subsystem
More informationOperating System: Chap2 OS Structure. National Tsing-Hua University 2016, Fall Semester
Operating System: Chap2 OS Structure National Tsing-Hua University 2016, Fall Semester Outline OS Services OS-Application Interface OS Structure Chapter2 OS-Structure Operating System Concepts NTHU LSA
More informationVirtual Machines and Dynamic Translation: Implementing ISAs in Software
Virtual Machines and Dynamic Translation: Implementing ISAs in Software Krste Asanovic Laboratory for Computer Science Massachusetts Institute of Technology Software Applications How is a software application
More informationSoftware Architecture. Lecture 5
Software Architecture Lecture 5 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements : tactics
More informationGRASP 2. CSC 440: Software Engineering Slide #1
GRASP 2 CSC 440: Software Engineering Slide #1 GRASP Patterns General Responsibility Assignment Software Patterns Describe fundamental principles of object design and responsibility assignment. Five GRASP
More informationCSC 330 Object Oriented Software Design. Software Design Phase
CSC 330 Object Oriented Software Design Software Design Phase 1 Overview Overview Design and abstraction Action-oriented design Data flow analysis Transaction analysis Data-oriented design Object-oriented
More informationCross-platform software development in practice. Object-Oriented approach.
Cross-platform software development in practice. Object-Oriented approach. Vitaly Repin Maemo Devices, Nokia Maemo March 25, 2010 (Maemo) Cross-platform software development. March 25, 2010 1 / 37 Outline
More information