Software Architecture: A quick journey
|
|
- Iris West
- 5 years ago
- Views:
Transcription
1 Software Architecture: A quick journey Session 6 Course ICT Entrepreneurship Prof. dr. Sjaak Brinkkemper Dr. Slinger Jansen
2 Motivation Software systems are rapidly and continously growing in size and complexity Techniques and tools for developing and maintaining such systems typically play catch-up To deal with this problem, many approaches exploit abstraction Ignore all but the details of the system most relevant to a task (e.g., developing the user interface or system-level testing This greatly simplifies the model of the system Apply techniques and tools on the simplified model Incrementally reintroduce information to complete the picture Software architecture is such an approach Applicable to the task of software design
3 What is Architecture? A high-level model of a thing Describes critical aspects of the thing Understandable to many stakeholders architects, engineers, workers, managers, customers Allows evaluation of the thing s properties before it is built Provides well understood tools and techniques for constructing the thing from its blueprint Which aspects of a software system are architecturally relevant? How should they be represented most effectively to enable stakeholders to understand, reason, and communicate about a system before it is built? What tools and techniques are useful for implementing an architecture in a manner that preserves its properties?
4 What is Software Architecture? A software system s blueprint Its components Their interactions Their interconnections Informal descriptions Boxes and lines Informal prose A shared, semantically rich vocabulary Remote procedure calls (RPCs) Client-Server Pipe and Filer Layered Distributed Object-Oriented Service Oriented
5 From Requirements to Architecture From problem definition to requirements specification Determine exactly what the customer and user want Specifies what the software product is to do From requirements specification to architecture Decompose software into modules with interfaces Specify high-level behavior, interactions, and non-functional properties Consider key tradeoffs Schedule vs. Budget Cost vs. Robustness Fault Tolerance vs. Size Security vs. Speed Maintain a record of design decisions and traceability Specifies how the software product is to do its tasks
6 Focus of Software Architectures Two primary foci System Structure Correspondence between requirements and implementation A framework for understanding system-level concerns Global rates of flow Communication patterns Execution Control Structure Scalability Paths of System Evolution Capacity Throughput Consistency Component Compatibility
7 Why Software Architecture? A key to reducing development costs Component-based development philosophy Explicit system structure A natural evolution of design abstractions Structure and interaction details overshadow the choice of algorithms and data structures in large/complex systems Benefits of explicit architectures A framework for satisfying requirements Technical basis for design Managerial basis for cost estimation & process management Effective basis for reuse Basis for consistency, dependency, and tradeoff analysis Avoidance of architectural erosion
8 Why software architecture in ICT Entrepreneurship? Show technical feasibility and expertise Build evolvable systems Communicate with stakeholders Use in your architecture deliverable (deadline 15th of January, about 50% of the doc)?
9 Exercise: Who are your stakeholders? Define a list of stakeholders who will benefit from a clear architecture Define a list of different views required for each stakeholder Tell us about it!
10 Even Simple Software is Complex Source code level view of an application
11 Definitions of Software Architecture Perry and Wolf Software Architecture = {Elements, Form, Rationale} Shaw and Garlan Software architecture involves the description of elements from which systems are built, interactions among those elements, patterns that guide their composition, and constraints on those patterns Kruchten Architecture deals with abstraction, decomposition, composition, style and aesthetics. Canonical Building Blocks What How Why Components, Connectors, Configurations
12 Components A component is a unit of computation or a data store. Components are loci of computation and state. Clients Servers Databases Filters Layers Abstract Data Types (ADTs) A component may be simple or composite. Composite components describe a system.
13 Connectors A connector is an architectural element that models: Interactions among components Rules that govern those interactions Simple interactions Procedure calls Shared variable access Complex and semantically rich interactions Client-Server Protocols Database Access Protocols Asynchronous Event Multicast Piped Data Streams
14 Scope of Software Architectures Every system has an architecture Details of the architecture are a reflection of system requirements and tradeoffs made to satisfy them Possible decision factors Performance Compatibility with legacy software Planning for reuse Distribution profile Current and Future Safety, Security, Fault tolerance requirements Evolvability Needs Changes to processing algorithms Changes to data representation Modifications to the structure/functionality
15 Compiler Architecture Sequential Parallel
16 Compiler Architecture Pros and Cons Sequential + Conceptual Simplicity + Architecture reflects control flow - Performance Parallel + Performance + Adaptability - Synchronization - Coordination Analysis and testing + = Pro, - = Con
17 Sources of Architecture (1) Architecture comes from black magic, people having architectural visions main sources of architecture Intuition Method Theft (i.e., reuse) Blind luck Their ratio varies according to: Architect s experience System s novelty
18 Sources of Architecture (2) Theft From previous similar systems From literature Method Systematic and conscious Possibly documented Architecture is derived from requirements via transformations and heuristics Intuition The ability to conceive without conscious reasoning. Increased reliance on intuition increases the risk
19 Routine Design Method is critical An architecture built with 50% theft and 50% intuition is doomed to fail. Standardized methods Similarity to previous solutions Theft Cheaper, but not optimal Can be done by merely good designers Use architectural patterns Potential pitfall Over-reusing
20 Innovative Design Raw invention Intuition Derivation from abstract principles More optimal More expensive Must be done by great designers Potential pitfall Reinventing the wheel Single point of failure in staffing
21 Software Architecting The architecting problem lies in: Decomposition of a system into constituent elements Composition of (existing) elements into a system Two idealized approaches Top-Down Decompose the large problem into sub-problems Implement or reuse components that solve the sub-problems Bottom-Up Implement new or reuse existing stand-alone components Compose (a subset of) the components into a system A realistic approach will require both.
22 Issues in Decomposition (1) How do we arrive at: Components? Connectors? Their Configuration? What is the adequate component granularity level? What constraints on components are imposed by: Functional requirements Non-functional requirements Envisioned evolution patterns System Scale Computing Environment Customers/Users What assumptions can components make about one another?
23 Issues in Decomposition (2) How do components interact? What are the connectors in the system? What is the role of the connectors? Mediation Coordination Communication What is the nature of the connectors? Type of interaction Degree of concurrency Degree of information exchange
24 Issues in Composition Where does one locate existing: Components? Connectors? Configurations? How do we determine which elements are needed? Both at development time and at reuse time What is the adequate element granularity level? How do we ensure effective composition of heterogeneous elements? How do we know that we have the needed system?
25 Client Server
26 Service Oriented Services Monoliths Structured Client/Server 3-Tier N-Tier Distributed Objects Components Services Source: IBM
27 Peer 2 Peer Peer 1 Peer 2
28 Platform Architecture
29 iphone Architecture
30 UML diagram types
31 UML
32 Non Standard - Block Diagrams Rich UI Web UI Controls Signing Authentication Authorization Service Interface Activity Business Rules Human Workflow Workflow Service Agents DAL Monitoring Log & Trace Exception Management Configuration E-Publish EAI ECM DW OLTP
33 Reusing Other Components You will reuse other components If future of component isn t secure: Wrap it! Build a standard interface for it Buy it Reuse carefully: integration code is on average 3 times harder to write than normal code For example: Tafeltjesavond.nl
34
35 Pragmatic and Opportunistic Reuse in Two Start-up Companies SJ, SB, IvS, CD IEEE Software
36 An Example Software Product Pheme: a product for software knowledge distribution What does it do? Software knowledge distribution from developer to customer Including: system management, tweaking, control Target groups: Software Developing Organizations
37 Pheme serves well in a Software Supply Network Software Developer Cust. 1. Cust. m Software Developer Cust 1. Cust n Operational Environment 1. Operational Environment n. Operational Environment m Slinger Jansen and Wilfried Rijsemus: Balancing Total Cost of Ownership and Cost of Maintenance Within a Software Supply Network, proceedings of the IEEE International Conference on Software Maintenance (ICSM2006, Industrial track), Philadelphia, PA, USA, September, Accepted for publication 37
38 PDFWriter PDFWriter WinAmp Powerpoint MetaEnv Automatically install any incoming updates Store commercial msgs in PDFWriter database automatically Automatically renew license Request user permission for updates (new updates are ready to install) Automatically update if not running PDFWriter Check for new updates every 4 weeks :80 PDFWriter Check for commercial msgs every 3 weeks :81 WinAmp Refresh License every two weeks :80 Powerpoint Send crash reports whenever they appear :80 WinWord Store crash reports in outbox, send when > # :80 MetaEnv Check for new updates twice a day :80 Policies Deployment Policies Push/Pull policies iprovide Pheme 0.1 Architecture MetaEnv151.tar WinWord.zip Licenses to Metaenv To all To vdstorm To all irequire Any new MetaEnvUpdates Any new PDFWriter updates Communication Center Push/Pull Stack Inbox :28 PDFWriter Download any new updates : :35 PDFWriter Download any new commercial msgs : :00 WinAmp Refresh license : :00 WinAmp Refresh license : :30 Powerpoint Send crash report :80 Outbox Pheme Powerpoint Update received PPTUpdate xml MetaEnv Update received MetaEnvBuild141.xml WinWord Bug report WinWordBugReport12455.xml Microsoft Error Server MetaEnv Commercial msg MetaEnvComMSG453.xml All users WinWord Bug report WinWordBugReport12456.xml Microsoft Error Server WinWord Bug report WinWordBugReport12457.xml Microsoft Error Server MetaEnv Commercial msg MetaEnvComMSG452.xml All users with Emacs editor
39 Pheme in Action
40 Current Data model Service 1:n Remote Packages 1:1 1:n 1:1 Channel 1:n downloads Action Action Sequence 1:1 1:n 1:1 1:1 1:1 Policy 1:1 1:1 Vendor Side Customer Side Event executes generates affects Local Packages Pheme Todo Item 40
41 Pheme 1.0 Architecture Web Interface Windows Interface Linux Interface Pheme2Pheme Interface U R M Pheme Server Activity Centre Service Management Package Management Services Packages Policy Management Policies Action Management Actions Users Execution Center User System
42 Pheme 2.0 concept architecture
43 Feature Models Especially relevant for those teams building components
44 Feature Models (2)
45 Architectures are always Outdated Solution: model driven engineering Round trip engineering
46 Why Software Architecture? Software architecture has proven to be a key to: Controlling system development costs Ensuring critical system properties Highlighting major tradeoffs in development Enabling effective deployment, operation, and evolution
47 Summary To effectively leverage architecture, know your: Requirements Constraints Domain Components Connectors Legacy and off-the-shelf Customers/Users Management Developers
48 Checklist for your architecture Sufficient level of detail Sufficient overview Look out for common mistakes Wrapping the wrapper Security flaws Know your users Model your system in its context Feel free to use tools such as Visual Paradigm ArgoUML Etc. Have you considered round-trip software architectures? Architectural patterns Most important: Rationale
49 Note Today we will send out your product definitions at 16:15 to the BoGs. Please send your final version to us before 14:30
Software Architectures
Software Architectures Richard N. Taylor Information and Computer Science University of California, Irvine Irvine, California 92697-3425 taylor@ics.uci.edu http://www.ics.uci.edu/~taylor +1-949-824-6429
More informationWhat is Software Architecture? What is Principal?
What is Software Architecture? Definition: A software system s architecture is the set of principal design decisions about the system Software architecture is the blueprint for a software system s construction
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 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 informationReview Sources of Architecture. Why Domain-Specific?
Domain-Specific Software Architectures (DSSA) 1 Review Sources of Architecture Main sources of architecture black magic architectural visions intuition theft method Routine design vs. innovative design
More informationArchitectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten
Architectural Blueprint The 4+1 View Model of Software Architecture Philippe Kruchten Model What is a model? simplified abstract representation information exchange standardization principals (involved)
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 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 informationEngr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila
Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Software Design and Architecture Software Design Software design is a process of problem-solving
More informationSoftware Reuse and Component-Based Software Engineering
Software Reuse and Component-Based Software Engineering Minsoo Ryu Hanyang University msryu@hanyang.ac.kr Contents Software Reuse Components CBSE (Component-Based Software Engineering) Domain Engineering
More informationMinsoo Ryu. College of Information and Communications Hanyang University.
Software Reuse and Component-Based Software Engineering Minsoo Ryu College of Information and Communications Hanyang University msryu@hanyang.ac.kr Software Reuse Contents Components CBSE (Component-Based
More informationSommerville Chapter 6 The High-Level Structure of a Software Intensive System. Architectural Design. Slides courtesy Prof.
Sommerville Chapter 6 The High-Level Structure of a Software Intensive System Architectural Design Slides courtesy Prof.Mats Heimdahl 1 Fall 2 2013 Architectural Parallels Architects are the technical
More informationCreating and Analyzing Software Architecture
Creating and Analyzing Software Architecture Dr. Igor Ivkovic iivkovic@uwaterloo.ca [with material from Software Architecture: Foundations, Theory, and Practice, by Taylor, Medvidovic, and Dashofy, published
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 INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA
SOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA PURPOSE OF THIS CLASS An introduction to software architecture What is an architecture Why it is important How it is represented
More informationArchitectural Design
Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures PART 1 ARCHITECTURAL DESIGN DECISIONS Recap on SDLC Phases
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 informationLecture 13 Introduction to Software Architecture
Lecture 13 Introduction to Software Architecture Software Systems Design and Implementation ITCS/ITIS 6112/8112 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at
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 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 informationUsing the UML for Architectural Description Rich Hilliard
Using the UML for Architectural Description Rich Hilliard rh@isis2000.com Outline What is IEEE P1471? The IEEE P1471 Conceptual Framework Requirements on Architectural Descriptions Using the UML in the
More informationCapturing Design Expertise in Customized Software Architecture Design Environments
Capturing Design Expertise in Customized Software Architecture Design Environments Robert T. Monroe School of Computer Science, Carnegie Mellon University, Pittsburgh, PA 15213 Abstract: Software architecture
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 informationEstablishing the overall structure of a software system
Architectural Design Establishing the overall structure of a software system Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13 Slide 1 Objectives To introduce architectural design and
More informationArchitectural Design Outline
Architectural Design Outline Prev lecture general design principles. design Today architectural 1. What is a software architecture 2. Components, Connectors, and Configurations 3. Modeling Architectures:
More informationSoftware Interconnection Models. Unit Interconnection
Software Connectors 1 Software Interconnection Models Interconnection Models (IM) as defined by Perry unit interconnection syntactic interconnection semantic interconnection All three are present in a
More informationIntroduction to Software Engineering 10. Software Architecture
Introduction to Software Engineering 10. Software Architecture Roadmap > What is Software Architecture? > Coupling and Cohesion > Architectural styles: Layered Client-Server Blackboard, Dataflow,... >
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 informationIntroduction. ADL Roles
Architecture Description Languages (ADLs) 1 Introduction Architecture is key to reducing development costs development focus shifts to coarse-grained elements Formal architectural models are needed ADLs
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 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 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/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 informationSoftware Engineering
Software Engineering chap 4. Software Reuse 1 SuJin Choi, PhD. Sogang University Email: sujinchoi@sogang.ac.kr Slides modified, based on original slides by Ian Sommerville (Software Engineering 10 th Edition)
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 informationCS560 Lecture: Software Architecture Includes slides by I. Sommerville
CS560 Lecture: Software Architecture 2009 Includes slides by I. Sommerville Architectural Design Design process for identifying the sub-systems making up a system and the framework for sub-system control
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 informationSOFTWARE ARCHITECTURE & DESIGN INTRODUCTION
SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION http://www.tutorialspoint.com/software_architecture_design/introduction.htm Copyright tutorialspoint.com The architecture of a system describes its major components,
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 informationINTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling
User Centred Design 09 INTERACTION ARCHITECTURAL MODELING Lecture 9 Interaction Architectureal Modeling PREVIOUS LESSON(S) Synthetizing User Research Personas Actors / User Roles Scenarios Essential Use
More informationSoftware Architectures. Lecture 6 (part 1)
Software Architectures Lecture 6 (part 1) 2 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements
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 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 informationDog Houses to sky scrapers
CSC40232: SOFTWARE ENGINEERING Professor: Jane Cleland Huang Architecture Wednesday, April 19th sarec.nd.edu/courses/se2017 Department of Computer Science and Engineering Dog Houses to sky scrapers WHY
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 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 informationSOA = Same Old Architecture?
SOA = Same Old Architecture? Gregor Hohpe Software Engineer www.eaipatterns.com Could It Be So Easy? WSDL SOAP WS-* Int MyMethod(String text) { } WebMethod Cut Copy Paste Buzzword compliant, but not a
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 informationESE Einführung in Software Engineering!
ESE Einführung in Software Engineering! 10. Software Architecture! Prof. O. Nierstrasz" Roadmap! > What is Software Architecture?" > Coupling and Cohesion" > Architectural styles:" Layered" Client-Server"
More informationImplementing Architectures
Implementing Architectures Software Architecture Lecture 15 Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Learning Objectives Formulate implementation as a mapping
More informationIntegration With the Business Modeler
Decision Framework, J. Duggan Research Note 11 September 2003 Evaluating OOA&D Functionality Criteria Looking at nine criteria will help you evaluate the functionality of object-oriented analysis and design
More informationDell Storage Point of View: Optimize your data everywhere
Dell Storage Point of View: Optimize your data everywhere Fluid Data Architecture Dell Point of View 1 Executive summary Business moves faster every day. The volume, velocity and value of the data you
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 informationMei Nagappan. How the programmer wrote it. How the project leader understood it. How the customer explained it. How the project leader understood it
Material and some slide content from: - Software Architecture: Foundations, Theory, and Practice - Elisa Baniassad - Reid Holmes How the customer explained it How the project leader understood it How the
More informationCSCI 3130 Software Architectures 1/3. February 5, 2013
CSCI 3130 Software Architectures 1/3 February 5, 2013 Software Architecture What is a Software Architecture? The description of the structure of a software system, which is composed of software elements,
More informationS1 Informatic Engineering
S1 Informatic Engineering Advanced Software Engineering Web App. Process and Architecture By: Egia Rosi Subhiyakto, M.Kom, M.CS Informatic Engineering Department egia@dsn.dinus.ac.id +6285640392988 SYLLABUS
More informationRational Software White paper
Unifying Enterprise Development Teams with the UML Grady Booch Rational Software White paper 1 There is a fundamental paradox at play in contemporary software development. On the one hand, organizations
More informationChapter 2 Distributed Information Systems Architecture
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 informationArchitectural Styles: Definitions
Component-Based Software Engineering ECE493-Topic 4 Winter 2006 Lecture 7 Architectural Styles in CBSE (Part A) Ladan Tahvildari Assistant Professor Dept. of Elect. & Comp. Eng. University of Waterloo
More informationCS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 6403 - SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS 1. Explain iterative waterfall and spiral model for software life cycle and various activities
More informationSoftware Architecture
Software Systems Architecture, Models, Methodologies & Design - Introduction Based on slides and information from a variety of sources Including Booch Software Architecture High level design of large software
More informationDITA PUBLISHING. The true costs of taking your DITA content online. A WebWorks.com White Paper.
DITA PUBLISHING The true costs of taking your DITA content online. A WebWorks.com White Paper. Author: Alan J. Porter VP-Operations WebWorks.com a brand of Quadralay Corporation aporter@webworks.com WW_WP0208_DITApub_TCO.
More informationArchitectures in Context
Architectures in Context Software Architecture Lecture 2 Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Learning Objectives Understand architecture in its relation
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 informationOn ADLs and tool support for documenting view-based architectural descriptions
On ADLs and tool support for documenting view-based architectural descriptions Danny Weyns Alexander Helleboogh SATURN 2008, Software Engineering Institute, CMU DistriNet Labs @ Dept.Computer Science K.U.Leuven
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 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 informationCS 307: Software Engineering. Lecture 10: Software Design and Architecture
CS 307: Software Engineering Lecture 10: Software Design and Architecture Prof. Jeff Turkstra 2017 Dr. Jeffrey A. Turkstra 1 Announcements Discuss your product backlog in person or via email by Today Office
More informationLecture 19 Engineering Design Resolution: Generating and Evaluating Architectures
Lecture 19 Engineering Design Resolution: Generating and Evaluating Architectures Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at
More informationGustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2
Chapter 1: Distributed Information Systems Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ Contents - Chapter 1 Design
More informationWeb Services. Lecture I. Valdas Rapševičius. Vilnius University Faculty of Mathematics and Informatics
Web Services Lecture I Valdas Rapševičius Vilnius University Faculty of Mathematics and Informatics 2014.02.28 2014.02.28 Valdas Rapševičius. Java Technologies 1 Outline Introduction to SOA SOA Concepts:
More informationReliable Distributed System Approaches
Reliable Distributed System Approaches Manuel Graber Seminar of Distributed Computing WS 03/04 The Papers The Process Group Approach to Reliable Distributed Computing K. Birman; Communications of the ACM,
More informationLesson 19 Software engineering aspects
Lesson 19 Software engineering aspects Service Oriented Architectures Security Module 4 - Architectures Unit 1 Architectural features Ernesto Damiani Università di Milano SOA is HAD HAD is an old concept
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 informationAgent-Enabling Transformation of E-Commerce Portals with Web Services
Agent-Enabling Transformation of E-Commerce Portals with Web Services Dr. David B. Ulmer CTO Sotheby s New York, NY 10021, USA Dr. Lixin Tao Professor Pace University Pleasantville, NY 10570, USA Abstract:
More informationIntroduction to Modeling
Introduction to Modeling Software Architecture Lecture 9 Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Objectives Concepts What is modeling? How do we choose
More informationData Model Considerations for Radar Systems
WHITEPAPER Data Model Considerations for Radar Systems Executive Summary The market demands that today s radar systems be designed to keep up with a rapidly changing threat environment, adapt to new technologies,
More informationADD 3.0: Rethinking Drivers and Decisions in the Design Process
ADD 3.0: Rethinking Drivers and Decisions in the Design Process Rick Kazman Humberto Cervantes SATURN 2015 Outline Presentation Architectural design and types of drivers The Attribute Driven Design Method
More informationCS 575: Software Design
CS 575: Software Design Introduction 1 Software Design A software design is a precise description of a system, using a variety of different perspectives Structural Behavioral Packaging Requirements, Test/Validation
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 informationTopics on Web Services COMP6017
Topics on Web Services COMP6017 Dr Nicholas Gibbins nmg@ecs.soton.ac.uk 2013-2014 Module Aims Introduce you to service oriented architectures Introduce you to both traditional and RESTful Web Services
More informationFoundations of Software Engineering
Foundations of Software Engineering Lecture 9: Architecture Documentation, Patterns, and Tactics Christian Kaestner 1 Learning Goals Use notation and views to describe the architecture suitable to the
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 informationLecture 7: Software Processes. Refresher: Software Always Evolves
Lecture 7: Software Processes What is a Software Development Process? The Lifecycle of a Software Project Agile vs. Disciplined Some common approaches: RUP, SCRUM, XP, ICONIX, Where UML fits in (next lecture)
More informationIntroducing Collaboration to Single User Applications
Introducing Collaboration to Single User Applications Abstract Brian Cornell UNC Chapel Hill brian@cs.unc.edu Most research in collaborative systems has been based on designing an ideal system from ground
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 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 information02 - Distributed Systems
02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/58 Definition Distributed Systems Distributed System is
More informationDesigning Component-Based Architectures with Rational Rose RealTime
Designing Component-Based Architectures with Rational Rose RealTime by Reedy Feggins Senior System Engineer Rational Software Rose RealTime is a comprehensive visual development environment that delivers
More information02 - Distributed Systems
02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/60 Definition Distributed Systems Distributed System is
More informationSimplify the Way You Work: Enhancing Microsoft Office with MindManager 7
Simplify the Way You Work: Enhancing Microsoft Office with MindManager 7 2007 Mindjet LLC, USA All rights reserved. Mindjet and MindManager are registered trademarks of Mindjet LLC in the United States
More informationSoftware Design Fundamentals. CSCE Lecture 11-09/27/2016
Software Design Fundamentals CSCE 740 - Lecture 11-09/27/2016 Today s Goals Define design Introduce the design process Overview of design criteria What results in a good design? Gregory Gay CSCE 740 -
More informationAttribute-Driven Design
Attribute-Driven Design Minsoo Ryu Hanyang University msryu@hanyang.ac.kr Attribute-Driven Design The ADD method is an approach to defining a software architecture in which the design process is based
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 informationGood Practices in Parallel and Scientific Software. Gabriel Pedraza Ferreira
Good Practices in Parallel and Scientific Software Gabriel Pedraza Ferreira gpedraza@uis.edu.co Parallel Software Development Research Universities Supercomputing Centers Oil & Gas 2004 Time Present CAE
More informationWhite Paper: Delivering Enterprise Web Applications on the Curl Platform
White Paper: Delivering Enterprise Web Applications on the Curl Platform Table of Contents Table of Contents Executive Summary... 1 Introduction... 2 Background... 2 Challenges... 2 The Curl Solution...
More informationDQpowersuite. Superior Architecture. A Complete Data Integration Package
DQpowersuite Superior Architecture Since its first release in 1995, DQpowersuite has made it easy to access and join distributed enterprise data. DQpowersuite provides an easy-toimplement architecture
More informationService Mesh and Microservices Networking
Service Mesh and Microservices Networking WHITEPAPER Service mesh and microservice networking As organizations adopt cloud infrastructure, there is a concurrent change in application architectures towards
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 informationWhy Consider Implementation-Level Decisions in Software Architectures?
1. Abstract Why Consider Implementation-Level Decisions in Software Architectures? Nikunj Mehta Nenad Medvidović Marija Rakić {mehta, neno, marija}@sunset.usc.edu Department of Computer Science University
More information