Fakultät für Informatik
Refine
Year of publication
Document Type
- Book (7)
- Other (6)
- Conference Proceeding (5)
- Part of a Book (2)
- Contribution to a Periodical (2)
- Doctoral Thesis (1)
Has Fulltext
- no (23)
Is part of the Bibliography
- no (23)
Keywords
- Software Development (5)
- Projektmanagement (3)
- Requirements Engineering (3)
- Software Engineering (3)
- Software- Architektur (3)
- Grundlagen Informatik (2)
- Informatik (2)
- Informatikstudium (2)
- Java (2)
- Model-Driven Architecture (2)
Institute
Nowadays, in software development usually various models and description fragments are created. Some of these artifacts describe the core of the application, such as the data model or the user interaction model. Other artifacts describe cross-cutting concerns, such as security or the requirement: “every change of data has to be confirmed by the user, before it is written into the database”. During the development process these artifacts are combined, transformed, and finally implemented manually or even automatically. For instance a designer may combine a model of a dialog component specifying an action, that changes data, with a common description of a generic confirm dialog. The integrated dialog description may be afterwards implemented by a programmer. The manual combination of both artifacts and the transformation of the combined description into code are errorprone and hard to change. Industry basically tests or actually uses two approaches for the combination today: 1. At the level of code and execution Aspect-Oriented Programming (AOP) is used [KLM+97]. An aspect defines a cross-cutting concern and the weaving instructions. A code weaver provides the actual weaving at compile or runtime. 2. At the level of design models and analysis models Model-Driven Software Development (MDSD) is used [KWB03]. A model in MDSD is a first class development artifact. Thus models are significantly more abstract than the implementation of code. However, these models cannot be executed. Hence, a abstract model is transformed into another, typically more detailed. A series of such transformations results in executable code. Thereby, a model transformer or a code generator reads some of the artifacts. The other artifacts and the combination rules are implemented in transformation rules or code generation templates (or somewhere else in the transformation / generation approach).
Agiles Projektmanagement
(2015)
Components and component-based technologies (componentware) are well-known and widely used in software development. There is a large amount of work and research in componentware. The number of available componentware approaches increases steadily and it is quite difficult to keep track of current trends in this area. In this paper, we survey the current state of the art in componentware, introduce and compare several well-known componentware approaches and classify them according to outstanding characteristics. We discuss a list of open issues in resarch and practical use of componentware and offer some proposals for further development. In our practical considerations we focus on embedded systems and business information systems because most of our partners in industry work in one of these two domains. We hope to start a broader discussion on componentware and to get a common understanding, which open issues are most important in research and industry (as a research agenda).
Creating long-lived software systems requires a technol ogy to build systems with good maintainability. One of the core ideas of the Model Driven Architecture (MDA) is to ease the change of the run-time platform by raising the level of abstraction in which just the business aspects are modelled, and by separating business aspects from techni cal issues and implementation details. This article anal yses the MDA approach with respect to maintainability. We argue that MDA systems will become even harder to maintain because the maintainability depends on the sys tem's (development) environment. MDA, UML and other base technologies are still under development, therefore the tools will change considerably. While the MDA possibly eases the change of the run-time platform, we show that it is quite difficult to exchange a link in the development tool chain. Our argumentation is based on the general proper ties of software evolution and the dependency chains in the development and run-time environments. It is backed by experiences with MDA development as well as by analo gies to general maintenance experiences.
Abstraction is the most basic principle of software engineering. Abstractions are provided by models. Modeling and model transformation constitute the core of model-driven development. Models can be refined and finally be transformed into a technical implementation, i.e., a software system.
The aim of this book is to give an overview of the state of the art in model-driven software development. Achievements are considered from a conceptual point of view in the first part, while the second part describes technical advances and infrastructures. Finally, the third part summarizes experiences gained in actual projects employing model-driven development.
Beydeda, Book and Gruhn put together the results from leading researchers in this area, both from industry and academia. The result is a collection of papers which gives both researchers and graduate students a comprehensive overview of current research issues and industrial forefront practice, as promoted by OMG’s MDA initiative.
Zahlensysteme und binäre Arithmetik – Nachricht und Information – Codierung und Datenkompression – Verschlüsselung – Schaltalgebra, Schaltnetze und Elemente der Computerhardware – Rechnerarchitekturen – Rechnernetze – Betriebssysteme – prozedurale und objektorientierte Programmierung (C und Java) – Automatentheorie und formale Sprachen – Berechenbarkeit und Komplexität – Suchen und Sortieren – Bäume und Graphen – Software-Engineering – Datenbanken – Anwendungsprogrammierung im Internet (HTML, CSS, JavaScript und PHP) – Deep Learning mit neuronalen Netzen
Zahlensysteme und binäre Arithmetik
Nachricht und Information
Codierung und Datenkompression
Verschlüsselung
Schaltalgebra, Schaltnetze und Elemente der Computerhardware
Rechnerarchitekturen
Rechnernetze
Betriebssysteme
Datenbanken
Automatentheorie und formale Sprachen
Berechenbarkeit und Komplexität
Suchen und Sortieren
Bäume und Graphen
prozedurale und objektorientierte Programmierung (C und Java)
Anwendungsprogrammierung im Internet (HTML, CSS, JavaScript und PHP)
Software-Engineering
Das Buch bietet eine umfassende und praxisorientierte Einführung in die wesentlichen Grundlagen und Konzepte der Informatik. Es umfasst den Stoff, der typischerweise in den ersten Semestern eines Informatikstudiums vermittelt wird, vertieft Zusammenhänge, die darüber hinausgehen und macht sie verständlich. Die Themenauswahl orientiert sich an der langfristigen Relevanz für die praktische Anwendung. Praxisnah und aktuell werden die Inhalte für Studierende der Informatik und verwandter Studiengänge sowie für im Beruf stehende Praktiker vermittelt. Die vorliegende fünfte Auflage wurde grundlegend überarbeitet und aktualisiert.