SOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA

Size: px
Start display at page:

Download "SOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA"

Transcription

1 SOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA

2 PURPOSE OF THIS CLASS An introduction to software architecture What is an architecture Why it is important How it is represented 2

3 OUTLINE Definition An important activity A difficult activity Representation Conclusion 3

4 SOFTWARE ARCHITECTURE DEFINITION Software architecture is the high level structure of a software system, the discipline of creating such a high level structure, and the documentation of this structure. Documenting Software Architecture Views and Beyond, Clements, Bachmann, Bass, Garlan, Ivers, Little, Merson, Nord, Stafford; Addison-Wesley,

5 THREE TYPE OF VIEWS Module-based Structure as a set of implementation units Packages, Bundles, Jars, Projects Component and Connector (C&C) Structure as a set of elements that have runtime behavior and interactions Allocation-Centric How it relates to non-software elements 5

6 C&C - DEFINITION How a software system is decomposed into functional units in interaction Functional units are called components Interactions are called connectors Call-Return Event 6

7 C&C - DEFINITION What C&C views are for Showing how the system works Guiding development by specifying the structure and the behavior of runtime elements Helping architects and others to reason about runtime system quality attributes, such as performance, reliability and availability 7

8 COMPONENTS - DEFINITION Components Components are the principal computational elements and data stores that execute in a system. Components have interfaces called ports. Ports A port is an interface of a component. A port defines a point of interaction of a component with its environment. 8

9 CONNECTOR - DEFINITION Connector A connector is a runtime pathway of interaction between two or more components. Connectors endpoints are component ports. Role A role is an interface of a connector. A role defines a point of interaction of a connector and indicates how components may use a connector in interactions. 9

10 SOFTWARE COMPONENT - 1 Components Provided and Required functions / ports Properties, constraints (formal or informal) Possible some code Considered independently all along lifecycle Admin APIs provided ports required ports 10

11 SOFTWARE COMPONENT - 2 Two types of components Simple / Primitive / Scalar Contains an implementation Composites Abstract Component Provided functions Required functions Properties Constraints Contains Simple Component code Composite 11

12 CONNECTORS 1 Interaction specification First order objects The role, type of interactions Possibly a middleware to be used Architecture Contains Name Constraints Properties Contains (1,n) (1,n) Component (2,n) Connects (1,n) Connector 12

13 DIFFERENT TYPES OF CONNECTORS Some examples Data-flow Call-Return Eventbased Batch sequential Pipe and filter Client Server Peer to peer Serviceorientation Restful Publishsubscribe Point to point messaging Pipeline Unix Pipe and Filter Multi-tier client server Repository Shared data 13

14 EXAMPLE Logger Evt C/S Firewall Load balancer C/S C/S Web server II Web server I C/S C/S Application server DBMS C/S 14

15 EXAMPLE Logger Evt C/S Firewall C/S C/S Web server II Web server I C/S C/S Application server DBMS C/S 15

16 A SA IS A NEW LEVEL OF ABSTRACTION Used at design time and/or at runtime It does not bother with implementation details It provides relevant properties of components and connectors Abstraction Architectural elements Classes, procedures Data structures Assembly language 16

17 A SOFTWARE ARCHITECTURE IS A MODEL It provides an abstract, simplified view It is focused on some aspects At design time and at runtime Drives implementation and deployment Drives maintenance Execution 17

18 A SA IS A COMPLETE SPECIFICATION It is a guideline for developers/maintainers Must give all the necessary information Possibly used by partners, remote teams, Must be precise No place for fuzzy information Complete regarding the covered aspects! 18

19 ARCHITECTURE AND LIFECYCLE First design step Decompose the system into software components to reduce its complexity 2 Architectural design 1 Specification 3 Analyse Validation Legacy + wrapper 4 Detailed design 19

20 CONCLUSION Architecture explicitly appears in every software process Design time Cornerstone Agile methods stress the role of architecture Also important during maintenance Locate issues / bugs Retro-engineering is often required 20

21 OUTLINE Definition An important activity A difficult activity Representation Conclusion 21

22 A KEY STEP Budget Deadline Specification 22

23 A KEY STEP Communication Project structuration Lead technology choices Impact on quality and business 23

24 COMMUNICATION VECTOR Architecture provides a framework allowing most stakeholders to interact Presentation Negotiation Change requests Project management Quality evaluation, progress assessment Sometimes, too many interactions! 24

25 PROJECT STRUCTURATION Development plan definition Tasks definition Task allocation definition Roles / duties definition Interaction definition How teams are going to interact Methods, documents to be produced 25

26 TECHNOLOGIES DEFINITION Technological choices Technologies to be used JavaEE,.Net, Components to be developed Components to be reused Components to be bought Components Off the Shelves (COTS) Partnership definition IBM, Microsoft support 26

27 EXAMPLE Acquisition Logger Load balancer Evt C/S Firewall Reuse Web server II C/S C/S Open Source Web server I C/S Application server DBMS C/S C/S Internal JavaEE expertise Internal DBMS expertise 27

28 IMPACT ON SOFTWARE QUALITY Architecture has a strong impact on the system final properties An architecture favors or degrades non functional properties Performance and efficiency Security and safety Reliability and availability, A first compromise is made at the architectural level. In a definitive manner 28

29 EXAMPLE Application server DBMS On the same machine + reliability + performance On two different machines + availability (caches, ) + maintainability + large scale performance 29

30 EXAMPLE More examples A small number of components favors performance but not maintainability A large number of components favors maintenance but not performance Redundancy favors safety but not security It is the beginning of design headaches 30

31 IMPACT ON BUSINESS Deployment of an architecture allows the creation of a common assets Reusable components, specialized tools, training sessions Various optimizations Learning curve, infrastructure costs, An enterprise architecture is an infrastructure shared by the whole company Hard to change! 31

32 CONCLUSION Architectural decisions have an important, lasting impact Architectures must be carefully validated as soon as possible Evaluation reviews Prototypes development Key technologies evaluation Architecture influences quality but does not provide any guarantees 32

33 OUTLINE Definition An important activity A difficult activity Representation Conclusion 33

34 MULTIPLE INFLUENCES Organizational factors Technological factors Different actor The architect Starting from the same requirements, two architects will end up with two architectures. Why? 34

35 DEALING WITH PEOPLE, DEALING WITH INFLUENCES User Customer Project Leader Marketing/ Strategy Ops Customer Architect Developers 35

36 MARKETING / STRATEGY User Customer Project Leader Marketing/ Strategy Market tendency Coherence with company plans Coherence with company image (innovative, safe, ) Partnership coherence Ops Customer Architect Developers 36

37 PROJECT LEAD User Customer Project Leader Marketing/ Strategy Customer Overall simplicity Opportunity to assess progress Requirements meeting Mastered technology Structuration in line with existing teams Reuse of internal components and expertise Risk management Architect Ops Developers 37

38 DEVELOPERS User Customer Project Leader Marketing/ Strategy Well defined components, simple interfaces Hot technology No constraints on his components Ops Customer Architect Developers 38

39 OPS User Customer Project Leader Marketing/ Strategy Component isolation Administration oriented interfaces Known technologies Ops Customer Architect Developers 39

40 CUSTOMER User Customer Project Leader Marketing/ Strategy Guarantee of good behavior Efficient, cheap technologies Deadline meetings Ops Customer Architect Developers 40

41 USER User Customer Project Leader Marketing/ Strategy To the job Easiness of use Performance, security, robustness Ops Customer Architect Developers 41

42 EXAMPLE Architect : necessary to meet the requirements I have! User : interface stability? Web server Developer : cool! Ops: no, too instable! Client : no, too expensive! Application server Manager : cool, it is going to cost a lot! 42

43 ORGANIZATIONAL FACTORS Architectural decisions are deeply influenced by the organization goals and strategy Use of existing expertise and targeted expertise Existing internal methods Needs regarding reuse (to amortize past investments) Partnerships 43

44 EXAMPLE ORACLE : DBMS rules. No need for an application server! JBOSS: Application server matters. DBMS is not an issue.! Application server 1 1..* Database server Microsoft : Ok, but forget about Java! IBM : Good! Both are needed (WS et DB2)! 44

45 TECHNOLOGICAL FACTORS Technological changes Centralized vs. Distributed Rich client vs. thin client XML vs. JSON vs. YAML Web services vs. RestFul There is a fashion dimension! 45

46 ARCHITECT INFLUENCE Architects use their past experiences Good experiences will lead to reuse successful solutions Bad experiences will lead them to give up related solutions but conditions have changed Tools, runtimes, technologies evolve a lot! 46

47 ORGANIZATIONAL FACTORS Architectural decisions are deeply influenced by the organization goals and strategy Use of existing expertise and targeted expertise Existing internal methods Needs regarding reuse (to amortize past investments) Partnerships The architect must have a deep knowledge of the development team and technologies 47

48 OUTLINE Definition An important activity A difficult activity Representation Conclusion 48

49 APPLICATION TO SOFTWARE Several views also coexist in software programs (Parnas, 74) Organization, control flow, data flow Different programming tools are provided to express these structures Type definition, loop operators, This has to be applied to software architecture As for any software structure 49

50 SOFTWARE VIEWS - DEFINITION A view provides a focused perspective on a software It deals with a specific aspect It is a model A view defines Software artifacts Relationships between these artifacts Constraints and properties A formalism and a vocabulary Concerned with the target aspect 50

51 USUAL VIEWS A number of different views can be described There is no consensus depends on target domains Most commonly used Module views Code structuration C&C / Structural views How the software is structured into components Dynamic/Behavior views What are the interactions between components at runtime Allocation views Where the components are executed 51

52 SYNTHESIS Architecture = high-level structure Representation = a set of views 52

53 COMPONENT & CONNECTOR VIEW It defines the structure of the architecture Decomposition into functional elements All components and connectors are described Connections are potential Connectors can be complex Component 1 port1 connector port2 Component 2 receiver sender 53

54 C&C What C&C views are for Showing how the system works Showing where are the data Guiding development by specifying the structure and the behavior of runtime elements Helping architects and others to reason about runtime system quality attributes, such as performance, reliability and availability 54

55 C&C Elements Components: principal processing unit and data stored. Connectors: pathways of interaction between components Relations Attachment: component s ports are associated with connector roles to yield a graph of components Interface delegation: component s ports may be associated with one or more ports of a composite Constraints Components are attached to connectors Connectors are attached to components Attachments can be made only between two compatible ports 55

56 COMPONENTS - DEFINITION Components Components are the principal computational elements and data stores that execute in a system. Components have interfaces called ports. Properties (performance, persistence, robustness, ) Constraints Ports A port is an interface of a component. A port defines a point of interaction of a component with its environment. 56

57 CONNECTOR - DEFINITION Connector A connector is a runtime pathway of interaction between two or more components. Connectors endpoints are component ports. Provided service / Required Service Constraints Pre/Post-conditions Ordering, Orchestration 57

58 LOGICAL VIEW: INTERACTIONS Role A role is an interface of a connector. A role defines a point of interaction of a connector and indicates how components may use a connector in interactions. Type Communication: Data-Flow Coordination: Control Flow Mediation: Data Transformation, monitoring, nonfunctional operations Communication modes Procedure Call: CR, RPC, C/S Event-based: broadcast, Publish/Subscribe,... 58

59 TYPES OF CONNECTORS Data-flow Call-Return Eventbased Batch sequential Pipe and filter Client Server Peer to peer Serviceorientation RestFul Publishsubscribe Point to point messaging Pipeline Unix Pipe and Filter Multi-tier client server Repository Shared data 59

60 C&C VIEW: FORMALISM Port component port1 port2 Connector Component 1 port1 Client/server port2 Component 2 receiver sender Type Role 60

61 C&C VIEW: UML FORMALISM Port Connector Role Type 61

62 C&C VIEW: INTERESTS Provides answers to the following questions What are the main computing elements? What are the main data sources? What are the main control flows? What are the critical paths and the performance criteria? What are the possible bottlenecks? What are the needs in terms of computing platforms? What are the levels of coupling and cohesion? 62

63 LOGICAL VIEW: USAGE EXAMPLE Bottlenecks, Not used ports C2 C1 C3 C5 C4 63

64 OUTLINE Definition An important activity A difficult activity Representation Conclusion 64

65 MAJOR POINTS Software Architecture is a model Module C&C Allocation 65

66 MAJOR POINTS Decomposition of a system into components and connectors Hard to remain in sync with developments Hard to recover Hard to change once defined 66

67 SOFTWARE ARCHITECT The architectʼs role is to define architectures and to make them resilient Project and organization level A hard job High technical skills Ability to abstract problems out Good knowledge of SE principles High communication skills 67

68 ARCHITECTURE IMPORTANCE Today recognized as a major step in software production This is reinforced by outsourcing Creation of the software architect position In many companies since 2000ʼs Bill Gates was Microsoft chief architect! 68

69 PROBLEMS A recent, immature domain No standard representation No standard process No evaluation tools Many different types of architectures: functional, technique, etc. Many companies are struggling to define/install guiding processes Ad-hoc solutions today 69

70 REFERENCES Software architecture in practice - second edition Len Bass, Paul Clements, Rick Kazman Addison Wesley, 2003 Pattern-oriented software architecture Buschmann, Meunier, Rohnert, Sommerlad, Stal Wiley, 1996 Applied software architecture Hofmeister, Nord, Soni Addison Wesley, 2000 Design and use of software architectures Jan Bosch Addison Wesley,

Introduction to software architecture Revision : 732

Introduction to software architecture Revision : 732 Introduction to software architecture Revision : 732 Denis Conan Septembre 2018 Foreword The content of these slides is extracted from the following references: L. Bass, P. Clements, and R. Kazman. Software

More information

6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views

6/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 information

CS560 Lecture: Software Architecture Includes slides by I. Sommerville

CS560 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 information

Foundations of Software Engineering

Foundations 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 information

ADD 3.0: Rethinking Drivers and Decisions in the Design Process

ADD 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 information

WHAT IS SOFTWARE ARCHITECTURE?

WHAT 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 information

What is Software Architecture

What 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 information

Foundations of Software Engineering

Foundations of Software Engineering Foundations of Software Engineering Lecture 8: Software Architecture II Christian Kästner (with slides by Ivan Ruchkin) 2 Learning Goals Understand key parts of architectural process Use architectural

More information

Refresher: Lifecycle models. Lecture 22: Moving into Design. Analysis vs. Design. Refresher: different worlds. Analysis vs. Design.

Refresher: Lifecycle models. Lecture 22: Moving into Design. Analysis vs. Design. Refresher: different worlds. Analysis vs. Design. Analysis vs. Design Why the distinction? Design Processes Logical vs. Physical Design System vs. Detailed Design Architectures System Architecture Software Architecture Architectural Patterns (next lecture)

More information

Ch 1: The Architecture Business Cycle

Ch 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 information

Software Architectures. Lecture 6 (part 1)

Software 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 information

Quality-Driven Architecture Design Method

Quality-Driven Architecture Design Method Quality-Driven Architecture Design Method Matinlassi Mari, Niemelä Eila P.O. Box 1100, 90571 Oulu Tel. +358 8 551 2111 Fax +358 8 551 2320 {Mari.Matinlassi, Eila.Niemela}@vtt.fi Abstract: In this paper

More information

Building UAE s cyber security resilience through effective use of technology, processes and the local people.

Building UAE s cyber security resilience through effective use of technology, processes and the local people. WHITEPAPER Security Requirement WE HAVE THE IN-HOUSE DEPTH AND BREATH OF INFORMATION AND CYBER SECURIT About Us CyberGate Defense (CGD) is a solution provider for the full spectrum of Cyber Security Defenses

More information

Engr. 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 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 information

EPL603 Topics in Software Engineering

EPL603 Topics in Software Engineering Lecture 5 Architectural Design & Patterns EPL603 Topics in Software Engineering Efi Papatheocharous Visiting Lecturer efi.papatheocharous@cs.ucy.ac.cy Office FST-B107, Tel. ext. 2740 Topics covered Software

More information

Ch 1: The Architecture Business Cycle

Ch 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 information

Catalogue of architectural patterns characterized by constraint components, Version 1.0

Catalogue of architectural patterns characterized by constraint components, Version 1.0 Catalogue of architectural patterns characterized by constraint components, Version 1.0 Tu Minh Ton That, Chouki Tibermacine, Salah Sadou To cite this version: Tu Minh Ton That, Chouki Tibermacine, Salah

More information

What is a software architecture?

What is a software architecture? What is a software architecture? Peter Eeles, Senior IT Architect, IBM, 15 Feb 2006 There is no doubt that the world is becoming increasingly dependent on software. Software is an essential element of

More information

Chapter 13: Architecture Patterns

Chapter 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 information

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 1 Faculty of Sciences, Lebanese University 2 LINA Laboratory, University of Nantes ABSTRACT:

More information

Architectural Design

Architectural 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 information

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered

5/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 information

Architectural Design. Topics covered. Architectural Design. Software architecture. Recall the design process

Architectural 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 information

Objectives. Architectural Design. Software architecture. Topics covered. Architectural design. Advantages of explicit architecture

Objectives. 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

Accelerate Your Enterprise Private Cloud Initiative

Accelerate Your Enterprise Private Cloud Initiative Cisco Cloud Comprehensive, enterprise cloud enablement services help you realize a secure, agile, and highly automated infrastructure-as-a-service (IaaS) environment for cost-effective, rapid IT service

More information

Software MEIC. (Lesson 20)

Software MEIC. (Lesson 20) Software Architecture @ MEIC (Lesson 20)! Last class C&C styles Publish-subscribe style Shared-data style Communicating processes style Tiers style Today Finish the C&C styles Begin with the Allocation

More information

Designing Component-Based Architectures with Rational Rose RealTime

Designing 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 information

Chapter 6 Architectural Design. Chapter 6 Architectural design

Chapter 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 information

WebSphere Application Server, Version 5. What s New?

WebSphere Application Server, Version 5. What s New? WebSphere Application Server, Version 5 What s New? 1 WebSphere Application Server, V5 represents a continuation of the evolution to a single, integrated, cost effective, Web services-enabled, J2EE server

More information

Software Architecture

Software 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 information

Perfect Balance of Public and Private Cloud

Perfect Balance of Public and Private Cloud Perfect Balance of Public and Private Cloud Delivered by Fujitsu Introducing A unique and flexible range of services, designed to make moving to the public cloud fast and easier for your business. These

More information

Architecture Viewpoint Template for ISO/IEC/IEEE 42010

Architecture Viewpoint Template for ISO/IEC/IEEE 42010 Architecture Viewpoint Template for ISO/IEC/IEEE 42010 Rich Hilliard r.hilliard@computer.org VERSION 2.1b Abstract This is a template for specifying architecture viewpoints in accordance with ISO/IEC/IEEE

More information

Architectural Design

Architectural 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 information

Introduction to Software Engineering 10. Software Architecture

Introduction 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 information

Software Architecture. Lecture 5

Software 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 information

Software Architecture Document

Software Architecture Document Software Architecture Document Clinical Research Chart Cell 1.0 1 of 18 Abstract: This is a software architecture document for CRC (Clinical Research Chart) cell. It identifies and explains the important

More information

Software Architecture

Software Architecture Software Architecture Software Engineering - 2017 Alessio Gambi - Saarland University These slides are based the slides from Cesare Pautasso and Christoph Dorn, and updated from various sources. Architecture

More information

Architectural Blueprint

Architectural 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 information

S1 Informatic Engineering

S1 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 information

MTAT Software Engineering

MTAT Software Engineering MTAT.03.094 Software Engineering Lecture 07: Architecture and Design Part I Dietmar Pfahl Fall 2013 email: dietmar.pfahl@ut.ee Schedule of Lectures Week 01: Introduction to SE Week 02: Requirements Engineering

More information

Review Software Engineering October, 7, Adrian Iftene

Review Software Engineering October, 7, Adrian Iftene Review Software Engineering October, 7, 2013 Adrian Iftene adiftene@info.uaic.ro Software engineering Basics Definition Development models Development activities Requirement analysis Modeling (UML Diagrams)

More information

Software MEIC. (Lesson 4)

Software 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 information

Reference: Java Web Services Architecture James McGovern, Sameer Tyagi, Michael Stevens, and Sunil Mathew, 2003

Reference: Java Web Services Architecture James McGovern, Sameer Tyagi, Michael Stevens, and Sunil Mathew, 2003 CS551: Advanced Software Engineering Service-Oriented Architecture Reference: Java Web Services Architecture James McGovern, Sameer Tyagi, Michael Stevens, and Sunil Mathew, 2003 Yugi Lee STB #560D (816)

More information

Chapter 6 Architectural Design

Chapter 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 information

Seminar report Software reuse

Seminar report Software reuse A Seminar report On Software reuse Submitted in partial fulfillment of the requirement for the award of degree of Bachelor of Technology in Computer Science SUBMITTED TO: www.studymafia.com SUBMITTED BY:

More information

WHITEPAPER. Embracing Containers & Microservices for future-proof application modernization

WHITEPAPER. Embracing Containers & Microservices for future-proof application modernization WHITEPAPER Embracing Containers & Microservices for future-proof application modernization The need for application modernization: Legacy applications are typically based on a monolithic design, which

More information

EUROPEAN ICT PROFESSIONAL ROLE PROFILES VERSION 2 CWA 16458:2018 LOGFILE

EUROPEAN ICT PROFESSIONAL ROLE PROFILES VERSION 2 CWA 16458:2018 LOGFILE EUROPEAN ICT PROFESSIONAL ROLE PROFILES VERSION 2 CWA 16458:2018 LOGFILE Overview all ICT Profile changes in title, summary, mission and from version 1 to version 2 Versions Version 1 Version 2 Role Profile

More information

ESE Einführung in Software Engineering!

ESE 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 information

Architectural Styles I

Architectural 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 information

Rational Software White paper

Rational 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 information

Web Serving Architectures

Web Serving Architectures Web Serving Architectures Paul Dantzig IBM Global Services 2000 without the express written consent of the IBM Corporation is prohibited Contents Defining the Problem e-business Solutions e-business Architectures

More information

An Architectural Strategy for Self-Adapting Systems

An Architectural Strategy for Self-Adapting Systems An Architectural Strategy for Self-Adapting Systems Danny Weyns and Tom Holvoet DistriNet Labs, Department of Computer Science Katholieke Universiteit Leuven Celestijnenlaan 200A, B-3001 Leuven, Belgium

More information

Architectural Design

Architectural 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 information

Let s Teach Architecting High Quality Software

Let s Teach Architecting High Quality Software Let s Teach Architecting High Quality Software Linda Northrop CSEET 2006 2005 by Carnegie Mellon University MY GEOGRAPHY LESSON Hawaii Australia Pittsburgh, PA USA Let s Teach Architecting High Quality

More information

MTAT Software Engineering

MTAT Software Engineering MTAT.03.094 Software Engineering Lecture 07: Architecture and Design Dietmar Pfahl Fall 2015 email: dietmar.pfahl@ut.ee ATI Päev 2015 ICS Day 2015 When? Friday, 16-Oct-2015, 14:00-17:00 http://www.cs.ut.ee/en/ics-day

More information

ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE

ADVANCED 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 information

Middleware and Web Services Lecture 2: Introduction to Architectures

Middleware and Web Services Lecture 2: Introduction to Architectures Middleware and Web Services Lecture 2: Introduction to Architectures doc. Ing. Tomáš Vitvar, Ph.D. tomas@vitvar.com @TomasVitvar http://vitvar.com Czech Technical University in Prague Faculty of Information

More information

Architectural Styles and Non- Functional Requirements

Architectural 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 information

CSCI 3130 Software Architectures 1/3. February 5, 2013

CSCI 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 information

RUP for Systems Z and other Legacy Systems

RUP for Systems Z and other Legacy Systems IBM Software Group RUP for Systems Z and other Legacy Systems Susan M Burk Senior Managing Consultant IBM smburk@us.ibm.com 413-726-9361 2006 IBM Corporation Agenda Objectives A Quick Introduction to RUP

More information

Architectural Styles II

Architectural 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 information

XBS Application Development Platform

XBS Application Development Platform Introduction to XBS Application Development Platform By: Liu, Xiao Kang (Ken) Xiaokang Liu Page 1/10 Oct 2011 Overview The XBS is an application development platform. It provides both application development

More information

Transforming the Internal IT Landscape with APIs. Scott Cranton Director, Application Platform SAs April 2018

Transforming the Internal IT Landscape with APIs. Scott Cranton Director, Application Platform SAs April 2018 Transforming the Internal IT Landscape with APIs Scott Cranton Director, Application Platform SAs April 2018 AGENDA API Domain Overview (very) Brief Technical Overview How to help your API Program Succeed

More information

Examples. Object Orientated Analysis and Design. Benjamin Kenwright

Examples. Object Orientated Analysis and Design. Benjamin Kenwright Examples Object Orientated Analysis and Design Benjamin Kenwright Outline Revision Questions Group Project Review Deliverables Example System Problem Case Studey Group Project Case-Study Example Vision

More information

Building Microservices with the 12 Factor App Pattern

Building Microservices with the 12 Factor App Pattern Building Microservices with the 12 Factor App Pattern Context This documentation will help introduce Developers to implementing MICROSERVICES by applying the TWELVE- FACTOR PRINCIPLES, a set of best practices

More information

Attribute Driven Design (ADD 3.0) Tackling complexity in the heart of Software Architecture. Luis Manuel Muegues Acosta Software Architect at Ryanair

Attribute Driven Design (ADD 3.0) Tackling complexity in the heart of Software Architecture. Luis Manuel Muegues Acosta Software Architect at Ryanair Attribute Driven Design (ADD 3.0) Tackling complexity in the heart of Software Architecture Luis Manuel Muegues Acosta Software Architect at Ryanair Webinair esummit IASA 23 August 2017 Welcome to everyone

More information

Key Ideas. OO Analysis and Design Foundation. Objectives. Adapted from slides 2005 John Wiley & Sons, Inc.

Key Ideas. OO Analysis and Design Foundation. Objectives. Adapted from slides 2005 John Wiley & Sons, Inc. Slide 1 Information Systems Development COMM005 (CSM03) Autumn Semester 2009 Dr. Jonathan Y. Clark Email: j.y.clark@surrey.ac.uk Course Website: www.computing.surrey.ac.uk/courses/csm03/isdmain.htm Course

More information

Data Virtualization Implementation Methodology and Best Practices

Data Virtualization Implementation Methodology and Best Practices White Paper Data Virtualization Implementation Methodology and Best Practices INTRODUCTION Cisco s proven Data Virtualization Implementation Methodology and Best Practices is compiled from our successful

More information

Software Architecture

Software 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 information

Architecting the Right SOA Infrastructure

Architecting the Right SOA Infrastructure Infrastructure Architecture: Architecting the Right SOA Infrastructure Robert Insley Principal SOA Global Technology Services 2007 IBM Corporation SOA Architect Summit Roadmap What is the impact of SOA

More information

Architectural design

Architectural design 6 Architectural design Objectives The objective of this chapter is to introduce the concepts of software architecture and architectural design. When you have read the chapter, you will: understand why

More information

Database Engineering. Percona Live, Amsterdam, September, 2015

Database Engineering. Percona Live, Amsterdam, September, 2015 Database Engineering Percona Live, Amsterdam, 2015 September, 2015 engineering, not administration 2 yesterday s DBA gatekeeper master builder superhero siloed specialized 3 engineering quantitative interdisciplinary

More information

Predictive Insight, Automation and Expertise Drive Added Value for Managed Services

Predictive Insight, Automation and Expertise Drive Added Value for Managed Services Sponsored by: Cisco Services Author: Leslie Rosenberg December 2017 Predictive Insight, Automation and Expertise Drive Added Value for Managed Services IDC OPINION Competitive business leaders are challenging

More information

Building the Enterprise

Building the Enterprise Building the Enterprise The Tools of Java Enterprise Edition 2003-2007 DevelopIntelligence LLC Presentation Topics In this presentation, we will discuss: Overview of Java EE Java EE Platform Java EE Development

More information

Credit where Credit is Due. Goals for this Lecture. Introduction to Design

Credit where Credit is Due. Goals for this Lecture. Introduction to Design Credit where Credit is Due Lecture 17: Intro. to Design (Part 1) Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2002 Some material presented in this lecture is taken

More information

Oracle and Tangosol Acquisition Announcement

Oracle and Tangosol Acquisition Announcement Oracle and Tangosol Acquisition Announcement March 23, 2007 The following is intended to outline our general product direction. It is intended for information purposes only, and may

More information

IBM Rational Software Architect

IBM Rational Software Architect Unifying all aspects of software design and development IBM Rational Software Architect A complete design & development toolset Incorporates all the capabilities in IBM Rational Application Developer for

More information

Practical Model-Driven Development with the IBM Software Development Platform

Practical Model-Driven Development with the IBM Software Development Platform IBM Software Group Practical Model-Driven Development with the IBM Software Development Platform Osmond Ng (ong@hk1.ibm.com) Technical Consultant, IBM HK SWG 2005 IBM Corporation Overview The Challenges

More information

Dog Houses to sky scrapers

Dog 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 information

DATACENTER SERVICES DATACENTER

DATACENTER SERVICES DATACENTER SERVICES SOLUTION SUMMARY ALL CHANGE React, grow and innovate faster with Computacenter s agile infrastructure services Customers expect an always-on, superfast response. Businesses need to release new

More information

Before We Start. How to Represent the Architecture of Your Application Using UML 2.0 and More. O que catchup, x-burger e Peter Pan têm em comum?

Before We Start. How to Represent the Architecture of Your Application Using UML 2.0 and More. O que catchup, x-burger e Peter Pan têm em comum? How to Represent the Architecture of Your Application Using UML 2.0 and More Paulo Merson Software Engineering Institute Pittsburgh, PA pfm@sei.cmu.edu www.sei.cmu.edu/architecture Before We Start O que

More information

The Evolution of Java Persistence

The Evolution of Java Persistence The Evolution of Java Persistence Doug Clarke Oracle Ottawa, Canada Keywords: Java, Persistence, JPA, JAXB, JSON, REST Introduction The data access requirements of today s Java applications keep expanding

More information

Products of Requirements elicitation and analysis. Chapter 6: System design: decomposing the system

Products of Requirements elicitation and analysis. Chapter 6: System design: decomposing the system Products of Requirements elicitation and analysis Chapter 6: System design: decomposing the system Requirements! elicitation! Requirements! Specification! nonfunctional! requirements! functional! model!

More information

Meltem Özturan misprivate.boun.edu.tr/ozturan/mis515

Meltem Özturan misprivate.boun.edu.tr/ozturan/mis515 Meltem Özturan misprivate.boun.edu.tr/ozturan/mis515 1 2 1 Selecting the Best Alternative Major Activities in the Analysis Phase Gather information Define system requirements Prototype for feasibility

More information

Microsoft SharePoint Server 2013 Plan, Configure & Manage

Microsoft SharePoint Server 2013 Plan, Configure & Manage Microsoft SharePoint Server 2013 Plan, Configure & Manage Course 20331-20332B 5 Days Instructor-led, Hands on Course Information This five day instructor-led course omits the overlap and redundancy that

More information

Architectural Design. CSCE Lecture 12-09/27/2016

Architectural 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 information

10조 이호진 이지 호

10조 이호진 이지 호 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 information

webmethods EntireX for ESB: Leveraging Platform and Application Flexibility While Optimizing Service Reuse

webmethods EntireX for ESB: Leveraging Platform and Application Flexibility While Optimizing Service Reuse December 2008 webmethods EntireX for ESB: Leveraging Platform and Application Flexibility While Optimizing Service Reuse By Chris Pottinger, Sr. Manager Product Development, and Juergen Lind, Sr. Product

More information

Bridge Course On Software Testing

Bridge Course On Software Testing G. PULLAIAH COLLEGE OF ENGINEERING AND TECHNOLOGY Accredited by NAAC with A Grade of UGC, Approved by AICTE, New Delhi Permanently Affiliated to JNTUA, Ananthapuramu (Recognized by UGC under 2(f) and 12(B)

More information

Pattern-Based Architectural Design Process Model

Pattern-Based Architectural Design Process Model Pattern-Based Architectural Design Process Model N. Lévy, F. Losavio Abstract: The identification of quality requirements is crucial to develop modern software systems, especially when their underlying

More information

Goal: Offer practical information to help the architecture evaluation of an SOA system. Evaluating a Service-Oriented Architecture

Goal: Offer practical information to help the architecture evaluation of an SOA system. Evaluating a Service-Oriented Architecture Evaluating a Service-Oriented Architecture Paulo Merson, SEI with Phil Bianco, SEI Rick Kotermanski, Summa Technologies May 2007 Goal: Offer practical information to help the architecture evaluation of

More information

A2A EAI. Overview and recommendations Data Transport. Jerome CAPIROSSI. people are keen to argue since they find themselves to be affected.

A2A EAI. Overview and recommendations Data Transport. Jerome CAPIROSSI. people are keen to argue since they find themselves to be affected. . EAI A2A EAI Overview and recommendations Jerome CAPIROSSI Abstract Since customers or corporate users get various terminals (Phone, PDAs, Web, Workstation, ) and therefore various channels for connecting

More information

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

SOFTWARE 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 information

Architectural Styles I

Architectural 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 information

OT TU1 Software Architecture Using Viewpoints and Perspectives

OT TU1 Software Architecture Using Viewpoints and Perspectives Eoin Woods Artechra Limited OT2004 - TU1 Software Architecture Using Viewpoints and Perspectives Nick Rozanski French Thornton eoin.woods@ nick.rozanski@ artechra.com french-thornton.co.uk (C) 2004 Artechra

More information

Software Architecture Document

Software Architecture Document Software Architecture Document Ontology Management Cell 1.3 1 of 21 Abstract: This is a software architecture document for Ontology Management (ONT) cell. It identifies and explains important architectural

More information

Open Source egovernment Reference Architecture. Cory Casanave, President. Data Access Technologies, Inc.

Open Source egovernment Reference Architecture. Cory Casanave, President. Data Access Technologies, Inc. Open Source egovernment Reference Architecture Cory Casanave, President www.enterprisecomponent.com Slide 1 What we will cover OsEra OsEra Overview Model to Integrate From business model to execution Synthesis

More information

J2EE Application Development : Conversion and Beyond Osmond Ng

J2EE Application Development : Conversion and Beyond Osmond Ng IBM Software Group J2EE Application Development : Conversion and Beyond Osmond Ng IBM Software Group Practitioner View Point IBM Rational Application Developer J2EE/EJB Tooling J2EE construction tools

More information

Building a New Rational Web Site with Rational Suite

Building a New Rational Web Site with Rational Suite Building a New Rational Web Site with Rational Suite by Christina Howe Director of Internet Services Rational Software In April of last year, Rational Software determined that its Web site no longer measured

More information

RED HAT ENTERPRISE LINUX. STANDARDIZE & SAVE.

RED HAT ENTERPRISE LINUX. STANDARDIZE & SAVE. RED HAT ENTERPRISE LINUX. STANDARDIZE & SAVE. Is putting Contact us INTRODUCTION You know the headaches of managing an infrastructure that is stretched to its limit. Too little staff. Too many users. Not

More information