CAS 703 Software Design
|
|
- Helena Lindsay Barker
- 6 years ago
- Views:
Transcription
1 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)
2 1 Data Centered Architecture Architecture Virtual Machine
3 Patterns for Data Centered and Arch. Data Centered Architecture The data centered software architecture Is characterized by a centralized data store The data store is shared by all related software components The software system is decomposed into two major partitions data store independent software component agents The connections between the data modules and software components are implemented by explicit method invocation implicit method invocation based on the repository category Data Centered Architecture Architecture
4 Patterns for Data Centered and Arch. Data Centered Architecture In pure data centered software architecture The software components do not communicate with each other directly All the communications are conducted via data store The shared data module provides all mechanisms for software components to access it insertion deletion update retrieval Data Centered Architecture Architecture
5 Patterns for Data Centered and Arch. Data Centered Architecture There are two categories of data centered architecture (differentiated by the flow control strategy) The data store is passive Clients of the data store are active (software component are taking control of flow logic) Client may access a repository interactively by a batch transaction request is widely used in database management system library information system Computer Aided Software Engineering (CASE) Data Centered Architecture Architecture
6 Patterns for Data Centered and Arch. Data Centered Architecture Data Centered Architecture Architecture Figure: architecture
7 Patterns for Data Centered and Arch. Data Centered Architecture There are two categories of data centered architecture (Continued) The data store in blackboard architecture is active Its clients are passive that the flow logic is determined by the current data status in the data store The clients of a blackboard are called knowledge sources A new data change may trigger events to its listeners (subscribers) Data Centered Architecture Architecture
8 Patterns for Data Centered and Arch. Data Centered Architecture There are two categories of data centered architecture (Continued) (Continued) A new data change may drive the flow logic continually until a goal is reached Most software applications designed in the blackboard architecture are knowledge based systems voice and image recognition system security system Data Centered Architecture Architecture
9 Patterns for Data Centered and Arch. Data Centered Architecture Data Centered Architecture Architecture Figure: architecture
10 Patterns for Data Centered and Arch. Architecture In this architectural style, the system is viewed as a hierarchical structure The software system is decomposed into functional modules (sub-systems) The modules at different levels are connected by explicit method invocations A lower level module provides services to its adjacent upper level modules In procedure orientation, the lower level function and procedures may be organized in a header file or library Data Centered Architecture Architecture
11 Patterns for Data Centered and Arch. Architecture In the object orientation, the lower level services may be organized in a package of classes Many system software (e.g., Unix) are built by hierarchical architecture The services at lower levels provide more specific fundamental utility service The middle layer provides all business logic or core processing services The upper layer provides user with interface Each layer is supported by its lower layer and provides service interface to its upper layer Data Centered Architecture Architecture
12 Patterns for Data Centered and Arch. Architecture Data Centered Architecture Architecture Figure: Unix Architecture
13 Patterns for Data Centered and Arch. Architecture The HA is characterized by explicit method invocation (call-and-return) connection styles It is used in the organization of class library It can be applied to procedure-oriented design, object-oriented design, component-oriented design, domain-specific design, and many others It is hard to see any software that only uses one type architectural style The hierarchical structure is one of the most popular styles that often combine with other styles Data Centered Architecture Architecture
14 Patterns for Data Centered and Arch. It supports user interaction for data processing instead of batch sequential transaction processing The software component agents of the data store control the computation and flow logic of the system Clients can get data from data store and put data in the store Different clients may have different interfaces and different privileges
15 Patterns for Data Centered and Arch. Figure: Student management system (simplified class diagram)
16 Patterns for Data Centered and Arch. The Student class is a data bean class which is backed up by a corresponding table in a database public class Student implements Serializable { String SSN; String Name; public Student() { SSN = ; Name = ; } public Student(String ssn, String name) { SSN = ssn; Name = name; } public void setssn(string ssn) { SSN = ssn; } public String getssn() { return SSN; } public void setname(string name) { Name=name;} public String getname() { return Name; } }
17 Patterns for Data Centered and Arch. The connection between the data bean class and an Oracle database try { } Class.forName( sun.jdbc.odbc.jdbcodbcdriver ); Connection connection = DriverManager.getConnection( "jdbc:odbc:students"); catch(exception e){... }
18 Patterns for Data Centered and Arch. JDBC SQL statement to select all records from the students table and place them in the ResultSet ArrayList studentlist = new ArrayList() ; Statement statement = connection.createstatement () ; ResultSet results = statement.executequery("select * FROM students ) ; Student student = new Student() ; while (results. next ()) { student.setssn(results.getssn(l)) ; student.setname(results.getname(2)) ; studentlist.add(student) ; }
19 Patterns for Data Centered and Arch. Figure: Dynamic view of this repository architecture
20 Patterns for Data Centered and Arch. The relational database management system is a typical design domain for the repository architecture The data store of the repository maintains all types of data including schema (meta-data), data tables, and index files for data tables Many tools available to develop application on the database stored in database management system tools, development tools, maintenance tools, and documentation tools Oracle er, Oracle Developer, Oracle data warehouse, etc. Computer Aided Software Engineering (CASE) system is another design domain for the rep. soft. arch.
21 Patterns for Data Centered and Arch.
22 Patterns for Data Centered and Arch. Applicable domain of repository Large complex information system where many software component clients need to access it in different aspects Information system where data transactions drive the control flow of computation Benefits Data integrity: easy to backup and restore System scalability and Reusability of agents: easy to add new software component Reduce the overhead of transient data between software components
23 Patterns for Data Centered and Arch. Limitations Data store reliability & availability are important issues Centralized repository is vulnerable to failure compared to distributed repository with data replication High dependency between data structure of data store and its agents The changes of data structure have significant impacts on its agents Overhead cost of moving data on network if data is distributed Related Architecture architecture, multi-tier architecture, Model-view-controller (MVC) architecture
24 Patterns for Data Centered and Arch. The word blackboard comes from classroom teaching and learning Teacher and students can share data in solving a hard open problem on classroom blackboard Each student and each teacher plays a role of agent to make their contributions to the problem solving They all can work in parallel and very independently The idea of blackboard architecture is very similar to the classroom blackboard
25 Patterns for Data Centered and Arch. It is a data directed and partial data driven architecture The whole system is decomposed into two major partitions blackboard sub-system used to store data (hypotheses and facts) knowledge source sub-system (domain-specific knowledge is stored) There may be a third sub-system called controller (used to initiate the blackboard and knowledge sources, takes a bootstrap role and overall supervision control)
26 Patterns for Data Centered and Arch. The connections between the two partitions are implicit invocation from the blackboard to a specific knowledge source in the blackboard The data change in the blackboard triggers a matched knowledge source to continue its reasoning The data change may be caused by new deduced conclusion or hypotheses results by some knowledge sources (called publish/subscribe mode)
27 Patterns for Data Centered and Arch. Figure: architecture
28 Patterns for Data Centered and Arch. Many domain specific knowledge sources collaborate together to solve a complex problem such authentication in information security Each knowledge source is relatively independent from other knowledge source No need to interact with each other They only need to interact and respond to the blackboard sub-system Each source only works on a specific aspect of the problem, and contributes a partial solution to the ultimate solution
29 Patterns for Data Centered and Arch. Figure: UML class diagram of rule-based blackboard software architecture
30 Patterns for Data Centered and Arch. Knowledge source (Set of rules) RI: IF animal gives milk THEN animal is mammal R2: IF animal eats meat THEN animal is carnivore R3: IF animal is mammal AND animal is carnivore AND animal has tawny color AND animal has black stripes THEN animal is tiger (The set of facts) F I: animal eats meat F2: animal gives milk F3: animal has black strips F3: animal has tawny color The goal is to recognize an animal (Using forward reasoning or backward reasoning)
31 Patterns for Data Centered and Arch. Figure: Sequence diagram of blackboard architecture
32 Patterns for Data Centered and Arch. Figure: Publish/subscribe relationship between blackboard and knowledge sources
33 Patterns for Data Centered and Arch. Figure: architecture for a travel consulting system
34 Patterns for Data Centered and Arch. Applicable domain Suitable for solving immature and complex problems where non deterministic solutions exist The problem spans multiple disciplines Optimal, partial, or approximate solution is acceptable to the problems Exhausted searching is impossible and impractical since it may take forever Benefits Scalability: easy to add new knowledge source or update existing knowledge source Concurrency: all knowledge sources can work in parallel since they are very independent of each other
35 Patterns for Data Centered and Arch. Benefits (Continued) Supports experimentation for hypotheses Reusability of knowledge source agents Limitations Tight dependency between the blackboard and knowledge source Difficult to make a decision when to terminate reasoning Synchronization of multiple agents is an issue Debugging and testing of the system is a challenge (no clear execution path) Related architecture Implicit invocation architecture such as event-based
36 Patterns for Data Centered and Arch. The main/subroutine design architecture has dominated the software design methodologies for very long time Its purpose is to have maximum reuse of subroutines and make individual subroutine be developed independently In the classical procedure orientation, often all the data are shared by related subroutines at lowest level In the object orientation, the data is encapsulated in each individual object Often M/S style is refered to as the traditional style
37 Patterns for Data Centered and Arch. Figure: Typical hierarchical software architecture
38 Patterns for Data Centered and Arch. A system is decomposed into subroutines hierarchically according to the desired functionality of the system Behaviour hiding (secrets = input formats, screen formats, messages) Software decision hiding (secrets= algorithms and data structures) Machine hiding (secrets= hardware machine, virtual machine, interfaces, etc.) The refinements are conducted vertically until the decomposed subroutine is simple enough
39 Patterns for Data Centered and Arch. Figure: Main/subroutines architecture
40 Patterns for Data Centered and Arch. The main program is the program driver that has a mater control over the sequencing of its subroutines How to map a requirement specification to the design structure? Start from a data flow view (Data Flow Diagram) of the requirements We need to find transform or transaction flows: Transform Flow (flow feeds in an external format, it is transformed into an internal format, and then carried out) Transaction Flow (evaluates its incoming data value, and decides on the path to follow)
41 Patterns for Data Centered and Arch. How to map a requirement specification to the design structure? (Continued) A transform flow is mapped to an M/S architecture with a controlling module for incoming, transform and outgoing information processing A transaction center is located at the fork origin of action paths Classify each action path to transform or transaction flows The transaction centre becomes a dispatcher control module Factoring analysis continues until each module in the software architecture has its sole responsibility
42 Patterns for Data Centered and Arch. Figure: Mapped M/S structure
43 Patterns for Data Centered and Arch. Benefits Easy to decompose the system based on the definition of the tasks in a top down refinements manner This architecture can still be used in a sub-system of 00 Limitation Globally shared data in classical main/subroutines are vulnerable Tight coupling may cause ripple impacts compared to 00
44 Patterns for Data Centered and Arch. Software Architecture The architecture is a variant of the main/subroutine architecture style It supports fault tolerance and system reliability The slaves provide replicated services to the master The master selects a particular result among slaves by certain selection strategy The slaves may perform the same functional task by different algorithms and methods
45 Patterns for Data Centered and Arch. Figure: Block diagram for master/slaves architecture
46 Patterns for Data Centered and Arch. Figure: Class diagram for master/slaves architecture
47 Patterns for Data Centered and Arch. This architecture is suitable for parallel computing and accuracy of computation All slaves can be executed in parallel A task is delegated to several different implementations, inaccurate results can be detected Applicable Domains Software system where the liability is critical Software system where performance is critical (to a certain limit communication overhead )
48 Patterns for Data Centered and Arch. Architecture System is decomposed into a number of higher and lower layers Each layer consists of a group of related classes in a format of package or deployed component (OOD) a group of subroutines in the format of method library or header file Each layer should have its own sole responsibility for the entire system
49 Patterns for Data Centered and Arch. A request to layer i + 1 invokes the services provided by the layer i via the later interface The response may go back to the layer i + 1 if the task is completed by this layer i Otherwise, layer i continually invokes the layer i 1 below for services The interface of each layer encapsulates all detail service implementations in the current layer or below
50 Patterns for Data Centered and Arch. Figure: A partial layered architecture
51 Patterns for Data Centered and Arch. The request from higher layer to the layer below is made via the method invocation and the response goes back up via the method return Each layer has two interfaces up interface provides services to its upper layer low interface requires services from its lower layer In a pure layered hierarchy, each layer only provides services to the adjacent upper layer directly and only requests services from the adjacent layer directly below
52 Patterns for Data Centered and Arch. Figure: Business oriented software architecture
53 Patterns for Data Centered and Arch. Higher layer provides more generic or application oriented services (abstract) Lower layer provides more specific utility type services To encapsulate all the services in one layer, we can deploy each layer in a component format (such as a JAR file (Java ARchive) )) A JAR file is a compressed file which is deployed as a component of a package
54 Patterns for Data Centered and Arch. A jar file includes all the service classes from lower level plus other related classes provided in the same layer and provided by Java API The Java API is the set of classes included with the Java Development Environment These classes are written using the Java language and run on the JVM The Java API includes everything from collection classes to GUI classes
55 Patterns for Data Centered and Arch. Figure: Component-based layered architecture
56 Patterns for Data Centered and Arch. A simple software system may consist of two layers (Interaction& Processing) Interaction Layer It provides user Interfaces to clients It takes requests It validates and forwards request to processing layer for processing It responds to clients Processing Layer It gets the forwarded requests and performs business logic process It accesses database It returns the results to its upper layer It lets upper layer respond to clients (since the upper layer has the GUI interface responsibility)
57 Patterns for Data Centered and Arch. Figure: Object Access Protocol (SOAP) layered architecture
58 Patterns for Data Centered and Arch. Figure: Class diagram for layered architecture
59 Patterns for Data Centered and Arch. Applicable Domains Any system that can be divided between the application specific portions and platform specific portions Applications that have clean divisions between core services, critical services, user interface services Applications that have a number of classes that are closely related to each other so that they can be grouped together to provide the services to others. Benefit Incremental software development based on increasing levels of abstraction Enhanced independence of layers Enhanced reusability Component-based technology is a suitable technology to implement the layered structure (plug-and-play) Promotion of portability: each layer can be an abstract machine deployed independently
60 Patterns for Data Centered and Arch. Limitations Lower runtime performance (a client s request/response goes through many layer) Performance concerns on overhead on the data marshaling and buffering by each layer Many applications can not fit this architecture Exception and error handling is an issue in the layered architecture Related architecture, client/server, virtual machine
61 Patterns for Data Centered and Arch. Virtual Machine Virtual Machine It is built on an existing system It separates a programming language, hardware language, or application from a physical execution platform It plays the role of an emulation software It provides an emulation of the functions of one system using a different system It allows exact reproduction of external behavior of a system
62 Patterns for Data Centered and Arch. Virtual Machine Figure: Unix virtual machine
63 Patterns for Data Centered and Arch. Virtual Machine Figure: Common Language Runtime (CLR) virtual machine in.net platform
64 Patterns for Data Centered and Arch. Virtual Machine Figure: Java virtual machine
65 Patterns for Data Centered and Arch. Virtual Machine Applicable Domain Solving a problem by simulation or translation Interpreters of microprogramming, XML processing, script command language execution, rule-based system execution, Small talk and Java interpreter typed programming language Benefits Portability and machine platform independence Simplicity of the software development Simulation for non-native model
66 Patterns for Data Centered and Arch. Virtual Machine Limitations Slow execution of the interpreter Additional overhead due to the new layer Related architecture Interpreter, repository, layered architecture
67
SFWR ENG 3A04: Software Design II
Outline Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Term 1, 2OO8 2OO9 Acknowledgments: Material based on Software Architecture Design by
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 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 informationArchitectural Styles I
Architectural Styles I Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2015-01-07 Roman Kern (KTI, TU Graz) Architectural Styles I 2015-01-07 1 / 86 Outline 1 Non-Functional Concepts
More information5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered
Topics covered Chapter 6 Architectural Design Architectural design decisions Architectural views Architectural patterns Application architectures Lecture 1 1 2 Software architecture The design process
More informationChapter 6 Architectural Design. Chapter 6 Architectural design
Chapter 6 Architectural Design 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process for identifying
More informationArchitectural Styles I
Architectural Styles I Software Architecture VO/KU (707.023/707.024) Denis Helic, Roman Kern KMI, TU Graz Nov 14, 2012 Denis Helic, Roman Kern (KMI, TU Graz) Architectural Styles I Nov 14, 2012 1 / 80
More informationLecture 1. Chapter 6 Architectural design
Chapter 6 Architectural Design Lecture 1 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process
More informationArchitectural Styles - Finale
Material and some slide content from: - Emerson Murphy-Hill - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture Architectural Styles - Finale Reid Holmes Lecture
More informationPatterns Architectural Styles Archetypes
Patterns Architectural Styles Archetypes Patterns The purpose of a pattern is to share a proven, widely applicable solution to a particular problem in a standard form that allows it to be easily reused.
More informationSOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE
SOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE Tomas Cerny, Software Engineering, FEE, CTU in Prague, 2014 1 ARCHITECTURES SW Architectures usually complex Often we reduce the abstraction
More informationCPSC 410 Advanced Software Engineering Mid-term Examination (Term I ): Solution Instructor: Gail Murphy
CPSC 410 Advanced Software Engineering Mid-term Examination (Term I 2003-2004): Solution Instructor: Gail Murphy Do NOT start until you are informed you can start! This examination has 6 questions. The
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 informationChapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design
Chapter 6 Architectural Design Lecture 1 1 Topics covered ² Architectural design decisions ² Architectural views ² Architectural patterns ² Application architectures 2 Software architecture ² The design
More informationSoftware Architecture Patterns
Software Architecture Patterns *based on a tutorial of Michael Stal Harald Gall University of Zurich http://seal.ifi.uzh.ch/ase www.infosys.tuwien.ac.at Overview Goal Basic architectural understanding
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 informationElement: Relations: Topology: no constraints.
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
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 informationArchitectural Design. Topics covered. Architectural Design. Software architecture. Recall the design process
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 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 information(C) Global Journal of Engineering Science and Research Management
ANDROID BASED SECURED PHOTO IDENTIFICATION SYSTEM USING DIGITAL WATERMARKING Prof.Abhijeet A.Chincholkar *1, Ms.Najuka B.Todekar 2, Ms.Sunita V.Ghai 3 *1 M.E. Digital Electronics, JCOET Yavatmal, India.
More informationDistributed Objects and Remote Invocation. Programming Models for Distributed Applications
Distributed Objects and Remote Invocation Programming Models for Distributed Applications Extending Conventional Techniques The remote procedure call model is an extension of the conventional procedure
More informationArchitectural Design. CSCE Lecture 12-09/27/2016
Architectural Design CSCE 740 - Lecture 12-09/27/2016 Architectural Styles 2 Today s Goals Define what architecture means when discussing software development. Discuss methods of documenting and planning
More informationSoftware Architecture
Software Architecture Lecture 6 Event Systems Rob Pettit George Mason University SWE 443 Software Architecture Event Systems 1 previously data flow and call-return styles data flow batch sequential dataflow
More informationSoftware Architecture
Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment
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 informationArchitectural Patterns. Architectural Patterns. Layers: Pattern. Architectural Pattern Examples. Layer 3. Component 3.1. Layer 2
Architectural Patterns Architectural Patterns Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson dr@inf.ed.ac.uk http://www.inf.ed.ac.uk/ssp/members/dave.htm
More informationArchitectural Patterns
Architectural Patterns Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson dr@inf.ed.ac.uk http://www.inf.ed.ac.uk/ssp/members/dave.htm SAPM Spring 2012:
More informationChapter 6 Enterprise Java Beans
Chapter 6 Enterprise Java Beans Overview of the EJB Architecture and J2EE platform The new specification of Java EJB 2.1 was released by Sun Microsystems Inc. in 2002. The EJB technology is widely used
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 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 informationArchitecture Styles. Instructor: Yongjie Zheng February 7, CS 5553: Software Architecture and Design
Architecture Styles Instructor: Yongjie Zheng February 7, 2017 CS 5553: Software Architecture and Design Architecture styles: a named collection of architecture design decisions that (1) are applicable
More informationSoftware 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 informationChapter 13: Architecture Patterns
Chapter 13: Architecture Patterns SAiP Chapter 13 J. Scott Hawker/R. Kuehl p. 1 Len Bass, Paul Clements, Rick Kazman, Topics What is a Pattern? Pattern Catalog Module patterns Component and Connector Patterns
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 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 informationNotes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title
Notes Ask course content questions on Slack (is651-spring-2018.slack.com) Contact me by email to add you to Slack Make sure you checked Additional Links at homework page before you ask In-class discussion
More informationSoftware Architectures. Lecture 3
Software Architectures Lecture 3 2 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements : tactics
More informationArchitectural Design
Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures Chapter 6 Architectural design 2 PART 1 ARCHITECTURAL DESIGN
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 informationSoftware Architecture. Lecture 4
Software Architecture Lecture 4 Last time We discussed tactics to achieve architecture qualities We briefly surveyed architectural styles 23-Jan-08 http://www.users.abo.fi/lpetre/sa08/ 2 Today We check
More informationChapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.
Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: WSAD. J2EE business topologies. Workbench. Project. Workbench components. Java development tools. Java projects
More informationChapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS Distributed Objects Figure 10-1. Common organization of a remote
More informationArchitectural Patterns
Architectural Patterns Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson dr@inf.ed.ac.uk http://www.inf.ed.ac.uk/ssp/members/dave.htm SEOC2 Spring 2005:
More informationArchitectural Styles II
Architectural Styles II Software Architecture VO/KU (707.023/707.024) Denis Helic, Roman Kern KMI, TU Graz Nov 21, 2012 Denis Helic, Roman Kern (KMI, TU Graz) Architectural Styles II Nov 21, 2012 1 / 66
More informationArchitectural Styles and Non- Functional Requirements
Architectural Styles and Non- Functional Requirements Jan Bosch. Design and Use of Software Architectures. Addison-Wesley, May 19, 2000. 5/18/2007 2007, Spencer Rugaber 1 Performance That attribute of
More informationChapter 18 Distributed Systems and Web Services
Chapter 18 Distributed Systems and Web Services Outline 18.1 Introduction 18.2 Distributed File Systems 18.2.1 Distributed File System Concepts 18.2.2 Network File System (NFS) 18.2.3 Andrew File System
More informationDesign Patterns. Architectural Patterns. Contents of a Design Pattern. Dr. James A. Bednar. Dr. David Robertson
Design Patterns Architectural Patterns Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson dr@inf.ed.ac.uk http://www.inf.ed.ac.uk/ssp/members/dave.htm A
More informationCAS 703 Software Design
Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Other 1 2 3 4 Other Principle of Least Privilege Principle of Fail-Safe Defaults Principle of
More informationVision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1
Umair Javed 2004 J2EE Based Distributed Application Architecture Overview Lecture - 2 Distributed Software Systems Development Why J2EE? Vision of J2EE An open standard Umbrella for anything Java-related
More informationCO Java EE 7: Back-End Server Application Development
CO-85116 Java EE 7: Back-End Server Application Development Summary Duration 5 Days Audience Application Developers, Developers, J2EE Developers, Java Developers and System Integrators Level Professional
More informationVerteilte Systeme (Distributed Systems)
Verteilte Systeme (Distributed Systems) Karl M. Göschka Karl.Goeschka@tuwien.ac.at http://www.infosys.tuwien.ac.at/teaching/courses/ VerteilteSysteme/ Lecture 4: Operating System Support Processes and
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 informationService-Oriented Programming
Service-Oriented Programming by Guy Bieber, Lead Architect, ISD C4I, Motorola ABSTRACT - The Service-Oriented Programming (SOP) model is the most exciting revolution in programming since Object Oriented
More informationMySQL for Database Administrators Ed 3.1
Oracle University Contact Us: 1.800.529.0165 MySQL for Database Administrators Ed 3.1 Duration: 5 Days What you will learn The MySQL for Database Administrators training is designed for DBAs and other
More informationAnnouncements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris
Announcements Email me your survey: See the Announcements page Today Conceptual overview of distributed systems System models Reading Today: Chapter 2 of Coulouris Next topic: client-side processing (HTML,
More informationDistribution and Integration Technologies
Distribution and Integration Technologies Distributed Architectures Patterns and Styles 1 Distributed applications infrastructure ISP intranet wireless backbone desktop computer: server: laptops: tablets:
More informationAdvanced Topics in Operating Systems
Advanced Topics in Operating Systems MSc in Computer Science UNYT-UoG Dr. Marenglen Biba 8-9-10 January 2010 Lesson 10 01: Introduction 02: Architectures 03: Processes 04: Communication 05: Naming 06:
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 informationChapter 6 Architectural Design
Chapter 6 Architectural Design Chapter 6 Architectural Design Slide 1 Topics covered The WHAT and WHY of architectural design Architectural design decisions Architectural views/perspectives Architectural
More informationArchitectural Design. Architectural Design. Software Architecture. Architectural Models
Architectural Design Architectural Design Chapter 6 Architectural Design: -the design the desig process for identifying: - the subsystems making up a system and - the relationships between the subsystems
More informationChapter 6 System Design: Decomposing the System
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 6 System Design: Decomposing the System Requirements Elicitation & Analysis results in; Non-functional requirements and constraints
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 informationOracle SOA Suite 12c: Build Composite Applications. About this course. Course type Essentials. Duration 5 Days
Oracle SOA Suite 12c: Build Composite Applications About this course Course type Essentials Course code OC12GSOABCA Duration 5 Days This Oracle SOA Suite 12c: Build Composite Applications training teaches
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 informationOPENEDGE TRAINING SYNOPSES course synopses for OpenEdge Training.
OPENEDGE TRAINING SYNOPSES 2013 course synopses for OpenEdge Training. CONTENTS DEVELOPMENT AND PROGRAMMING OpenEdge Programming with a Character UI... 3 Persistence and Named Events... 4 Dynamic Query
More informationType of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes
Java CORE JAVA Core Java Programing (Course Duration: 40 Hours) Introduction to Java What is Java? Why should we use Java? Java Platform Architecture Java Virtual Machine Java Runtime Environment A Simple
More informationOracle Fusion Middleware 11g: Build Applications with Oracle Forms
Oracle University Contact Us: +381 11 2016811 Oracle Fusion Middleware 11g: Build Applications with Oracle Forms Duration: 5 Days What you will learn This course teaches students how to use Oracle Forms
More informationUNIT III - JDBC Two Marks
UNIT III - JDBC Two Marks 1.What is JDBC? JDBC stands for Java Database Connectivity, which is a standard Java API for databaseindependent connectivity between the Java programming language and a wide
More informationArchitectural Patterns. Pascal Molli (a System of patterns Buschman et al)
Architectural Patterns Pascal Molli (a System of patterns Buschman et al) Architectural Patterns From MUD to Structure Layers, Pipe and Filters, Blackboard Distributed Systems Broker, Pipe and Filters,
More informationCOPYRIGHTED MATERIAL. Table of Contents. Foreword... xv. About This Book... xvii. About The Authors... xxiii. Guide To The Reader...
Table of Contents Foreword..................... xv About This Book... xvii About The Authors............... xxiii Guide To The Reader.............. xxvii Part I Some Concepts.................. 1 1 On Patterns
More informationArchitectural Styles. Reid Holmes
Material and some slide content from: - Emerson Murphy-Hill - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture Architectural Styles Reid Holmes Lecture 5 - Tuesday,
More informationCHAPTER 4: PATTERNS AND STYLES IN SOFTWARE ARCHITECTURE
CHAPTER 4: PATTERNS AND STYLES IN SOFTWARE ARCHITECTURE SESSION II: DATA-CENTERED, DATA-FLOW, AND DISTRIBUTED SYSTEMS Software Engineering Design: Theory and Practice by Carlos E. Otero Slides copyright
More informationCOPYRIGHTED MATERIAL
Introduction xxiii Chapter 1: Apache Tomcat 1 Humble Beginnings: The Apache Project 2 The Apache Software Foundation 3 Tomcat 3 Distributing Tomcat: The Apache License 4 Comparison with Other Licenses
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 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 informationSNS COLLEGE OF ENGINEERING, Coimbatore
SNS COLLEGE OF ENGINEERING, Coimbatore 641 107 Accredited by NAAC UGC with A Grade Approved by AICTE and Affiliated to Anna University, Chennai IT6503 WEB PROGRAMMING UNIT 03 JDBC JDBC Overview JDBC implementation
More informationFast Track Model Based Design and Development with Oracle9i Designer. An Oracle White Paper August 2002
Fast Track Model Based Design and Development with Oracle9i Designer An Oracle White Paper August 2002 Fast Track Model Based Design and Development with Oracle9i Designer Executive Overivew... 3 Introduction...
More informationIntroduction... xv SECTION 1: DEVELOPING DESKTOP APPLICATIONS USING JAVA Chapter 1: Getting Started with Java... 1
Introduction... xv SECTION 1: DEVELOPING DESKTOP APPLICATIONS USING JAVA Chapter 1: Getting Started with Java... 1 Introducing Object Oriented Programming... 2 Explaining OOP concepts... 2 Objects...3
More informationSocket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.
Gang of Four Software Design Patterns with examples STRUCTURAL 1) Adapter Convert the interface of a class into another interface clients expect. It lets the classes work together that couldn't otherwise
More informationCreational. Structural
Fitness for Future of Design Patterns & Architectural Styles Design patterns are difficult to teach, so we conducted a class collaboration where we all researched and reported on a variety of design patterns
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 informationWatch Core Java and Advanced Java Demo Video Here:
Website: http://www.webdesigningtrainingruchi.com/ Contact person: Ranjan Raja Moble/Whatsapp: +91-9347045052 / 09032803895 Dilsukhnagar, Hyderabad Email: webdesigningtrainingruchi@gmail.com Skype: Purnendu_ranjan
More informationRecalling the definition of design as set of models let's consider the modeling of some real software.
Software Design and Architectures SE-2 / SE426 / CS446 / ECE426 Lecture 3 : Modeling Software Software uniquely combines abstract, purely mathematical stuff with physical representation. There are numerous
More information1Z Oracle. Java Enterprise Edition 5 Enterprise Architect Certified Master
Oracle 1Z0-864 Java Enterprise Edition 5 Enterprise Architect Certified Master Download Full Version : http://killexams.com/pass4sure/exam-detail/1z0-864 Answer: A, C QUESTION: 226 Your company is bidding
More informationOracle Fusion Middleware 11g: Build Applications with ADF Accel
Oracle University Contact Us: +352.4911.3329 Oracle Fusion Middleware 11g: Build Applications with ADF Accel Duration: 5 Days What you will learn This is a bundled course comprising of Oracle Fusion Middleware
More informationOracle SOA Suite 12c : Build Composite Applications
Oracle University Contact Us: Local: 1800 103 4775 Intl: +91 80 67863102 Oracle SOA Suite 12c : Build Composite Applications Duration: 5 Days What you will learn This course teaches you to design and develop
More informationSoftware Engineering
Software Engineering Engr. Abdul-Rahman Mahmood MS, MCP, QMR(ISO9001:2000) Usman Institute of Technology University Road, Karachi armahmood786@yahoo.com alphasecure@gmail.com alphapeeler.sf.net/pubkeys/pkey.htm
More informationOracle 10g: Build J2EE Applications
Oracle University Contact Us: (09) 5494 1551 Oracle 10g: Build J2EE Applications Duration: 5 Days What you will learn Leading companies are tackling the complexity of their application and IT environments
More informationNetBeans IDE Field Guide
NetBeans IDE Field Guide Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table of Contents Extending Web Applications with Business Logic: Introducing EJB Components...1 EJB Project type Wizards...2
More information6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views
1 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES Outline for Today 2 Architecture views C&C Views 1 Components and Connectors (C&C) Styles 3 Elements Relations Properties
More informationChapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.
Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: The IDE: Integrated Development Environment. MVC: Model-View-Controller Architecture. BC4J: Business Components
More informationESPRIT Project N Work Package H User Access. Survey
ESPRIT Project N. 25 338 Work Package H User Access Survey ID: User Access V. 1.0 Date: 28.11.97 Author(s): A. Sinderman/ E. Triep, Status: Fast e.v. Reviewer(s): Distribution: Change History Document
More informationCOWLEY COLLEGE & Area Vocational Technical School
COWLEY COLLEGE & Area Vocational Technical School COURSE PROCEDURE FOR ADVANCED JAVA PROGRAMMING CIS1870 3 Credit Hours Student Level: This course is open to students on the college level in either freshman
More informationCurriculum 2013 Knowledge Units Pertaining to PDC
Curriculum 2013 Knowledge Units Pertaining to C KA KU Tier Level NumC Learning Outcome Assembly level machine Describe how an instruction is executed in a classical von Neumann machine, with organization
More informationSoftware Components and Distributed Systems
Software Components and Distributed Systems INF5040/9040 Autumn 2017 Lecturer: Eli Gjørven (ifi/uio) September 12, 2017 Outline Recap distributed objects and RMI Introduction to Components Basic Design
More informationIn his paper of 1972, Parnas proposed the following problem [42]:
another part of its interface. (In fact, Unix pipe and filter systems do this, the file system playing the role of the repository and initialization switches playing the role of control.) Another example
More informationEJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java
EJB Enterprise Java EJB Beans ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY Peter R. Egli 1/23 Contents 1. What is a bean? 2. Why EJB? 3. Evolution
More informationOracle SOA Suite 12c: Build Composite Applications
Oracle University Contact Us: Landline: +91 80 67863899 Toll Free: 0008004401672 Oracle SOA Suite 12c: Build Composite Applications Duration: 5 Days What you will learn This Oracle SOA Suite 12c: Build
More informationMicrosoft SQL Server Training Course Catalogue. Learning Solutions
Training Course Catalogue Learning Solutions Querying SQL Server 2000 with Transact-SQL Course No: MS2071 Two days Instructor-led-Classroom 2000 The goal of this course is to provide students with the
More information