© ingo arnold advanced software engineering duale hochschule baden-württemberg view models...

23
© I n g o A r n o l d Advanced Software Engineering Duale Hochschule Baden-Württemberg View Models Introduction – Views and Perspectives

Upload: berniece-oneal

Post on 04-Jan-2016

216 views

Category:

Documents


3 download

TRANSCRIPT

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

© In

go

Arn

old

Advanced Software Engineering

Duale Hochschule Baden-Württemberg

View ModelsIntroduction – Views and Perspectives

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

View ModelsOverview

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

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

View ModelsOverview

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

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

View ModelsLevels

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.

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

View ModelsLevels

Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 5

earth country

region

town

houseyour place

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

View ModelsLevels

Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 6

Sys

tem

Lev

elB

uild

ing

-b

lock

Lev

el

Org

anis

atio

n

Lev

el On a high-level three major levels can be distinguished

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

View ModelsLevels

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

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

View ModelsLevels

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

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

View ModelsLevels

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

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

View ModelsLevels

Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 10

Nota bene – places can sometimes be houses!

What is this?

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

View ModelsViews

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.

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

View ModelsViews

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

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

View ModelsViews

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

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

View ModelsViews

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

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

View ModelsViews

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

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

View ModelsViews

Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 16

Views in the context of Levels and Stakeholders

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

View ModelsViews

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

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

View ModelsViews

Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 18

How UML et al relates to views

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

View ModelsView Models

Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 19

View Models are generally comprised of ...• Form

• Method & Process

• Tool

• Content

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

View ModelsView 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

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

View ModelsView Models

Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 21

View Models

MOTIVATION DATA FUNCTION NETWORK

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 Plan E.g. Semantic Model

Ent.: Business EntityRel.: Business Relationship

E.g. Business Process Model

Proc.: Business ProcessIO: Business Resources

E.g. Business Logistics Model

Node: Business LocationLink: Business Relation

Business Rule Model E.g. Logical Data Model

Ent.: Data EntityRel.: Data Relationship

E.g. Application Architecture

Proc.: Application FunctionIO: User Views

E.g. Distributed Systems Architecture

Node: S-FunctionLink: Line characteristics

Rule Design E.g. Physical Data Model

Ent.: Database / TableRel.: Phys. Relationships

E.g. System Design

Proc.: Program FunctionIO: Data Elements, IFs.

E.g. HW-Technology Architecture

Node: HW systemLink: Line Specification

View - Filter

Vie

w -

Lev

el

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

View ModelsView Models

Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 22

View Models

MOTIVATION DATA FUNCTION NETWORK

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 Plan E.g. Semantic Model

Ent.: Business EntityRel.: Business Relationship

E.g. Business Process Model

Proc.: Business ProcessIO: Business Resources

E.g. Business Logistics Model

Node: Business LocationLink: Business Relation

Business Rule Model E.g. Logical Data Model

Ent.: Data EntityRel.: Data Relationship

E.g. Application Architecture

Proc.: Application FunctionIO: User Views

E.g. Distributed Systems Architecture

Node: S-FunctionLink: Line characteristics

Rule Design E.g. Physical Data Model

Ent.: Database / TableRel.: Phys. Relationships

E.g. System Design

Proc.: Program FunctionIO: Data Elements, IFs.

E.g. HW-Technology Architecture

Node: HW systemLink: Line Specification

View - Filter

Vie

w -

Lev

el

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

Questions?

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