Das Duale Studium an der Dualen Hochschule Baden-Württemberg Mannheim
© Ingo Arnold Advanced Software Engineering Duale Hochschule Baden-Württemberg View Models...
-
Upload
berniece-oneal -
Category
Documents
-
view
218 -
download
3
Transcript of © Ingo Arnold Advanced Software Engineering Duale Hochschule Baden-Württemberg View Models...
© In
go
Arn
old
Advanced Software Engineering
Duale Hochschule Baden-Württemberg
View ModelsIntroduction – 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
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
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.
View ModelsLevels
Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 5
earth country
region
town
houseyour place
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
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
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
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
View ModelsLevels
Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 10
Nota bene – places can sometimes be houses!
What is this?
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.
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
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
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
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
View ModelsViews
Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 16
Views in the context of Levels and Stakeholders
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
View ModelsViews
Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 18
How UML et al relates to views
View ModelsView Models
Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 19
View Models are generally comprised of ...• Form
• Method & Process
• Tool
• Content
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
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
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
Questions?
Duale Hochschule Baden-Württemberg – Advanced Software-Engineering 23