© Ingo Arnold Advanced Software Engineering Duale Hochschule Baden-Württemberg View Models Introduction – Views and Perspectives.

Slides:



Advertisements
Similar presentations
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Advertisements

Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
An Integrated Approach to Enterprise Architecture LIACS, Martijn Wiering 23 juni ‘04.
UML Static diagrams. Static View: UML Component Diagram Component diagrams show the organization and dependencies among software components. Component:
Object-Oriented Analysis and Design
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Introduction to UML Visual modeling Models and its importance
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 71 System models l Abstract descriptions of systems whose requirements are being analysed.
Using Architecture Frameworks
The Use of Zachman Framework Primitives for Enterprise Modeling
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
© Copyright Eliyahu Brutman Programming Techniques Course.
Foundations This chapter lays down the fundamental ideas and choices on which our approach is based. First, it identifies the needs of architects in the.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Object Oriented Analysis and Design Using the UML
Domain-Specific Software Engineering Alex Adamec.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Tool support for Enterprise Architecture in System Architect Architecture Practitioners Conference, Brussels David Harrison Senior Consultant, Popkin.
Geog 463: GIS Workshop May 15, 2006 Information Systems Architecture Reading: Zachman 1987.
Developing Enterprise Architecture
UML - Development Process 1 Software Development Process Using UML (2)
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
TDT4252/DT8802 Exam 2013 Guidelines to answers
Initiative for an open method   +33 (0) 
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Changing Perspective From Structured to Object-oriented.
An Introduction to Software Architecture
ArchiMate Authors : eSchoolink Group - ITNLU. Contents 1. What’s ArchiMate ? 2. Why ArchiMate ? 3. Main Benefits of ArchiMate 4. Layers of ArchiMate 5.
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Basic Concepts Software Architecture. What is Software Architecture? Definition: – A software architecture is the set of principal design decisions about.
10 Software Architecture CSCU 411 Software Engineering.
Chapter 7 System models.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Chapter 6 Architectural Design.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Enterprise Systems Architectures EGN 5621 Enterprise Systems Collaboration (Professional MSEM) Fall, 2012.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
TAL7011 – Lecture 4 UML for Architecture Modeling.
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
Agenda, Objectives, Approach Lecture Introduction © Ingo Arnold Advanced Software Engineering Duale Hochschule Baden-Württemberg.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Enterprise Architectures Course Code : CPIS-352 King Abdul Aziz University, Jeddah Saudi Arabia.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Understanding Enterprise Architecture
System Modeling Chapter 4
Enterprise Data Model Enterprise Architecture approach Insights on application for through-life collaboration 2018 – E. Jesson.
Software Engineering Architectural Design Chapter 6 Dr.Doaa Samy
Unified Modeling Language
An Introduction to Software Architecture
Systems Architecture & Design Lecture 3 Architecture Frameworks
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

© Ingo Arnold Advanced Software Engineering Duale Hochschule Baden-Württemberg View Models Introduction – Views and Perspectives

View Models Overview Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 2  Levels are like different zooms. The observed object remains the same – it’s the level of detail which varies

View Models Overview Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 3  Views are like filters, which ignore (on a given zoom-level) certain aspects while exclusively focussing others

View Models Levels Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 4  Systems can be analyzed, described and understood on different levels of abstraction (Architecture Levels).  On Architecture Levels the according architectural decisions are taken as well as appropriate artefacts would be positioned.  An Architect should always be well aware of the Architec- ture Level that he acts upon.

View Models Levels Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 5 earthcountry region town house your place

View Models Levels Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 6 System Level Building- block Level Organisation Level  On a high-level three major levels can be distinguished

View Models Levels Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 7  Organisation Level Examples Data-exchange protocol between IT-Systems is SQLNet Enterprise canonical data-format defines data exchange format Remoting protocol for functional invocations is IIOP All IT-Systems have to be documented according to guideline X Data-exchange communication style must be asynchronous based on corporate MOM infrastructure Corporate development process is mandated for life-cycle mana- gement of all IT-Systems Corporate roles must be mapped to IT-Systems’ actors

View Models Levels Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 8  System Level Examples Data-exchange protocol between Building-blocks is serialized Java IT-System canonical data-format defines data exchange format that must be used between Building-blocks Remoting protocol for functional invocations across Building- blocks is Java-RMI All Building-blocks have to be documented according to JavaDoc standard Data-exchange communication style between Building-blocks can be either synchronous (for strongly coupled Building-blocks) or asynchronous (for loosely coupled Building-blocks) Building-blocks’ roles must be tracable to corporate roles

View Models Levels Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 9  Building-block Level Examples All inter-class communication is abstracted via Java-Interfaces Programming environment Java for business logic Building-blocks, ASP.NET for all web-facing Building-blocks Inter-thread communication via thread-safe data-objects Code-level documentation standard to follow is XDocLet JAAS-standards to follow for implementation of security model

View Models Levels Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 10  Nota bene – places can sometimes be houses! What is this?

View Models Views Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 11  It‘s difficult to cover all aspects of a given IT-System with a singular view  Not all aspects are always relevant  Architecture views help the architect to reduce the number of aspects made visible at a given moment in time  Architecture Levels are an organisational tool – views make architecture tangible  Architecture models like Zachman or Togaf use the con- cept of Levels to orderly arrange and frame views.

View Models Views Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 12  Such models also describe how views have to be used in conjunction in order to provide overviews tailored to ap- propriate stakeholders  The view concept is used to express actual content and show the aspect of current interest of a given whole  Complementary views are organized within Architecture Models (e.g. Zachmann, TOGAF)  Architecture views help to gain architectural completeness with regards to a given aspect  Typically Architecture views are incrementally developed

View Models Views Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 13  Examples of aspects that can be observed within views Logical building-blocks Physical building-blocks Deployment of building-blocks to operational nodes Security Physical infrastructure Locations and data-centres IT-System interdependencies Datapaths System-Management components

View Models Views Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 14  A complete set of views should address the following aspects Architectural context Architectural building blocks as well as the relationship amongst these Relationships between views Process of developing a specific view for a given IT-System  Ideally Architecture views are disjunct and loosly coupled

View Models Views Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 15  An IT-System‘s architectural description is the sum of all architecture views – thus it is multi-dimensional

View Models Views Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 16  Views in the context of Levels and Stakeholders

View Models Views Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 17  How UML et al relates to views Class diagrams model static structure of a system Class diagrams can be used to sketch business concepts as well as to express class-level designs You need to always understand view-point, first. The fact that a class-diagram was used doesn’t tell you on which abstraction level you are Business concepts IT-System Design

View Models Views Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 18  How UML et al relates to views

View Models Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 19  View Models are generally comprised of... Form Method & Process Tool Content

View Models Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 20  View Models are generally comprised of... Form determines what to describe and capture  views and element types Method & Process determine why and how to capture  check-lists and cookbooks Tool determines whereby to capture  repository management, notions and reporting Content is what was actually captured  objects of element types

View Models Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 21  View Models MOTIVATIONDATAFUNCTIONNETWORK SCOPE BUSINESS APPLICATION TECHNOLOGY List of business goals / strategies List of things important to the business List of processes the business performs List of locations in which the business operates Business PlanE.g. Semantic Model Ent.: Business Entity Rel.: Business Relationship E.g. Business Process Model Proc.: Business Process IO: Business Resources E.g. Business Logistics Model Node: Business Location Link: Business Relation Business Rule ModelE.g. Logical Data Model Ent.: Data Entity Rel.: Data Relationship E.g. Application Architecture Proc.: Application Function IO: User Views E.g. Distributed Systems Architecture Node: S-Function Link: Line characteristics Rule DesignE.g. Physical Data Model Ent.: Database / Table Rel.: Phys. Relationships E.g. System Design Proc.: Program Function IO: Data Elements, IFs. E.g. HW-Technology Architecture Node: HW system Link: Line Specification View - Filter View - Level

View Models Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 22  View Models MOTIVATIONDATAFUNCTIONNETWORK SCOPE BUSINESS APPLICATION TECHNOLOGY List of business goals / strategies List of things important to the business List of processes the business performs List of locations in which the business operates Business PlanE.g. Semantic Model Ent.: Business Entity Rel.: Business Relationship E.g. Business Process Model Proc.: Business Process IO: Business Resources E.g. Business Logistics Model Node: Business Location Link: Business Relation Business Rule ModelE.g. Logical Data Model Ent.: Data Entity Rel.: Data Relationship E.g. Application Architecture Proc.: Application Function IO: User Views E.g. Distributed Systems Architecture Node: S-Function Link: Line characteristics Rule DesignE.g. Physical Data Model Ent.: Database / Table Rel.: Phys. Relationships E.g. System Design Proc.: Program Function IO: Data Elements, IFs. E.g. HW-Technology Architecture Node: HW system Link: Line Specification View - Filter View - Level

Questions? Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 23