JAX 08: 20 Grundkonzepte der Softwarearchitektur

von Thomas, assono GmbH, Standort Kiel, 23.04.2008



Markus Völter:
20 Grundkonzepte der Softwarearchitektur

Concepts

  • Atomic
  • Combinable
  • Technology Neutral
  • Describable Named
  • (Patterns, Laws, Principles)

Modularize
Procedures, Classes, Components, Services, Users Stories

Encapsulate
Private Members, Frameworks, Facade Pattern, Components, Layers/Rings/Levels, Packed Data Wrapper

Contracts
Interfaces, Pre/Post Conditions, Protocol State Machines, Message Exchange Patterns, Published APIs

Handle
Crosscuts
Aspect Orientation, Interceptors, Application Servers, Exception Handling


Scaling things up

Bootstrapping
(erst Minimalsystem bauen, das nutzen, um größeres zu bauen)
Languages, Compilers (z. B. gcc), IDEs

Standard Library
(kleiner Kern , z. B. Linux-Kernel, plus Standardbibliotheken)
Lisp (Grow a language), Autosar Sys Components, Microkernel OSs

Orthogonality
Closures, Program As Data, Macros, Higher-Order Functions


Conceptualization

Formalize
Language, Contracts, Models, State Machines

Types & Instances
Programming Languages, (Hierarch.) Components, Models & Metamodels, RDBMS/XML Schemas

Spezialize
Currying, Inheritance, State Machines

Notation
UML, Lisp, Java, Ruby,

Go Meta
Translators, Reflection, Meta Programming, AOP

Translate
Compilers, Transformers, Generators, Macros (Lisp, Converge, Boo)

Interpret
Business Process Engines, Data Driven Systems, (Dynamic) Languages

Automate
Build, Test, Translate


Dos and Dont's

Protocols
Transactions, Locking/Synchronization, Resource Access

Limit Freedom
Software Architecture, DSL: expressiveness, MDSD: skeletons, Scade/SystemC

Declaration over Implementation
App Servers (EJB), Plugin RT (Eclipse), Models, Transactional Mamory

Don't Overspecify
Test semantics, not syntax (code gen), Higher Order Functions (map, foreach), Transactional Memory

Avoid Sideeffects
Functional Programming, Concurrency (Sharing), Distribution

Thomas Bahn

Thomas Bahn

Diplom-Mathematiker, IT-Spezialist & Speaker auf Fachkonferenzen

Thomas Bahn ist Mitgründer und Geschäftsführer der assono GmbH. Seit mehr als 20 Jahren berät er erfolgreich Unternehmen aus ganz Deutschland rund um das Thema Software und Digitalisierung. Insbesondere in den Bereichen HCL Notes und Domino (ehemals IBM) als auch bei aktuellen, unternehmensrelevanten KI-Themen wie Chatbots kennt er die neusten Entwicklungen und weiß, wie diese sich gewinnbringend für Unternehmen einsetzen lassen. Aufgrund seines Expertenwissens ist Thomas Bahn regelmäßiger Sprecher auf nationalen und internationalen Fachkonferenzen.

Fachbeitrag Java JavaScript Sonstiges Veranstaltung

Sie haben Fragen zu diesem Artikel? Kontaktieren Sie uns gerne: blog@assono.de

Sie haben Interesse an diesem Thema?

Gerne bieten wir Ihnen eine individuelle Beratung oder einen Workshop an.

Kontaktieren Sie uns

Weitere interessante Artikel