How To Design Software
|
|
- Wolfgang Fromm
- vor 3 Jahren
- Abrufe
Transkript
1 Bad Designs und ihre Konsequenzen Seminar Software-Entwurf B.Sc. Sebastian Intas WS 2004/05
2 Gliederung Motivation Einordnung Hauptursachen AntiPatterns AntiPatterns vs. Patterns AntiPattern-Schablone Perspektiven Ausgewählte AntiPatterns Literatur Zusammenfassung 2
3 Motivation Was ist Software-Design? (wesentliche) Die Struktur einer Software (entwickeln) Schwierig zu beantworten! Was ist Bad Design? Wird erst durch Probleme sichtbar? Beispiel: Transition Netscape 4.x Mozilla 1998: Code base von Netscape Communicator als Open Source Durch Browserwar mit Microsoft code base sehr aufgebläht Viele Bugs, keine einheitliche Entwicklung für verschiedene OS Mozilla-Entwickler entschieden sich alles neu zu schreiben Mozilla 1.0 wurde 2002 veröffentlicht 3
4 Motivation Software wird immer komplexer Probleme Wartung, Testbarkeit, Skalierbarkeit Studie von J. Johnson Creating Chaos (1995) Untersuchung hunderter Software-Projekte 5/6 aller Projekte sind als Misserfolg zu betrachten 1/3 aller Software-Projekte werden gestoppt Rest: doppeltes Budget oder längere Entwicklungszeit Komplexität erfordert neue Software-Methoden Früher: höhere Programmiersprachen, strukt. Programmierung Heute: OO-Sprachen, OOA, OOD Neuer Trend: Wiederverwendung Expertenwissen Entwicklung von Patterns und Pattern-Sprachen 4
5 Einordnung AntiPatterns Lösen bestehende Probleme 5
6 Hauptursachen Basieren auf: sieben Todsünden [Bates 96] Hast Desinteresse Engstirnigkeit Faulheit Habsucht Ignoranz Stolz Ich habe Pass wirklich auf-wiederverwenden? nicht die Zeit, das alles zu lesen Bereinige den Code, Wer wird diesen Schreib mir doch eine kurze Morgen ist Ich Abgabe!!! muss verdammten das nicht Code wissen jemals Gut Das Zusammenfassung, sieht sehr vielleicht wiederverwenden? kompliziert aus! Unsere eine Kunden Seite und Ich will das NIEMAND! werden ganz begeistert sein! nicht wissen Gut gemacht, Meier! Dummy 6
7 Was sind AntiPatterns? Probleme von Patterns in der Praxis Anwendbarkeit oft schwierig zu entscheiden, da sehr abstrakt Unangemessener und falscher Einsatz Ein AntiPattern ist eine typisch negative Lösung aus der Praxis, die mehr Probleme verursacht, als sie löst! Was bringen AntiPatterns? Wissen zum Verhindern von negativen Lösungen Hilfestellung zum Beseitigen oder Mindern von Missständen Praxiserprobte Lösungsvorschläge Löschen einer bestehenden Software-Brandstelle 7
8 Patterns vs. AntiPatterns Design Patterns AntiPatterns Problem Kontext & Ursachen Kontext & Vorgaben Lösung Zeitverlauf Vorteile AntiPattern- Lösung Konsequenzen Refactoring der Lösung Vorteile Konsequenzen Vorteile Konsequenzen 8
9 AntiPattern-Schablone Name Eindeutig, oft abwertend Hauptursachen Die oben Erläuterten Allgemeine Form Hintergrundinformationen Symptome und Konsequenzen Gegliederte Aufführung Typische Ursachen Zur Ergänzung der Hauptursachen Refactoring Eine Lösung, aber nicht die einzige! 9
10 Perspektiven 10
11 Aufteilung von AntiPatterns Software-Entwicklung Behandeln Fehler während der Programmierung Beispiele: Spaghetti-Code, Cut-and-Paste-Programmierung, Mushroom-Management, Golden-Hammer, Lava-Flow, Heute: The Blob Software-Architektur Behandeln Fehler in der Struktur von Systemen Beispiele: Vendor Lock-In, Swiss Army Knife, Reinvent the Wheel, Heute: Design by Committee Software-Projektmanagement Behandeln Probleme organisatorischer Natur Beispiele: Analysis-Paralysis, Death by Planning, Project Mismanagement, Heute: Corncob 11
12 Software-Entwicklung: The Blob Name: The Blob Hauptursachen: Faulheit, Hast Allgemeine Form Diese Klasse ist das Herzstück unserer Architektur Eine Klasse monopolisiert die Verantwortung Andere Klassen nur zum Daten einkapseln Design eher prozedural Tritt oft bei GUI-zentrierter Programmierung auf 12
13 Software-Entwicklung: The Blob Symptome und Konsequenzen Klasse mit vielen Attributen und/oder Operationen Eine einzige Controller-Klasse mit assoziierten einfachen Datenobjektklassen Fehlen eines objektorientierten Designs Beeinträchtigt die Vorteile objektorientierten Designs Zu komplex für Wiederverwendung und Tests Hoher Verbrauch von Ressourcen Typische Ursachen Keine (objektorientierte) Architektur Mangelnde Umsetzung der Architektur Zu geringe Bereitschaft zur Erweiterung 13
14 Software-Entwicklung: The Blob Refactoring 14
15 Software-Entwicklung: The Blob Refactoring Identifizieren oder kategorisieren von ähnlichen Attributen und Operationen 15
16 Software-Entwicklung: The Blob Refactoring Eigenheime für Vertragspartner finden und diese umsiedeln 16
17 Software-Entwicklung: The Blob Refactoring Entfernen von Fernverbindungen Zusammengefasste Gruppen verschieben 17
18 Software-Architektur: Design by Committee Name: Design by Committee Hauptursachen: Stolz, Habgier Allgemeine Form Sehr komplexes Design als Ergebnis eines Komitee-Prozesses Volle Umsetzung bzw. Test in angemessener Zeit nicht machbar Fehlende konzeptionelle Linie Symptome und Konsequenzen Designdokumentation zu komplex Ineffektive Entscheidungsfindung Design wird unterschiedlich interpretiert Designentwicklung übersteigt Budget/Zeit 18
19 Software-Architektur: Design by Committee Typische Ursachen Kein designierter Projektleiter Ineffizienter und veralteter Software-Entwicklungsprozess Schlechte Meetings Versuch jeden glücklich zu machen und zu berücksichtigen Keine Trennung von Bereichen Refactoring Effektivere Nutzung der Zeit Sichtbare Darstellung der Meetingziele Warum sind wir hier? Was soll bei dem Meeting herauskommen? Rollenzuweisung: Moderator, Architekt, Entwickler, 19
20 Software-Projektmanagement: Corncob Name: Corncob Hauptursachen: Habgier, Stolz, Engstirnigkeit Allgemeine Form Quertreiber verursacht Probleme Durchsetzung von Interessen ist Machtspiel Symptome und Konsequenzen Projekt macht keine Fortschritte Ständige Einwände Projekt reagiert anstatt zu agieren Schon vorhandene Probleme werden verschärft Typische Ursachen Management unterstützt destruktives Verhalten Quertreiber verfolgt eigene Ziele 20
21 Software-Projektmanagement: Corncob Refactoring Taktische Lösung: Übertragung von Verantwortung Isolierung des Problems Fragen in Frage stellen Operative Lösung: Einzelgespräch Freundliche Kündigung Strategische Lösung: Selbsthilfegruppe Das leere Büro Aus dem Team werfen 21
22 Zusammenfassung Name AntiPattern-Lösung Refactoring The Blob Design by Committee Corncob Ein Objekt mit zahlreichen Verantwortlichkeiten Übrige Objekt nehmen nur Daten auf Design zu komplex Fehlende architektonische Vision Schwierige Mitarbeiter behindern Software- Entwicklungsprozess Verantwortlichkeiten einheitlicher verteilen Auswirkungen von Änderungen beschränken Verbesserte Meetings mit klarer Aufgabenverteilung Verhalten durch taktische, operative und strategische Maßnahmen unterbinden 22
23 Literatur Brown, Malveau, McCormick, Mowbray AntiPatterns: Entwurfsfehler erkennen und vermeiden 23
24 Zusammenfassung AntiPatterns sind eine verständlichere Form von Patterns Vielen Dank für die Aufmerksamkeit! Jedes AntiPattern enthält ein Lösungspaar Lösung erzeugt hauptsächlich negative Konsequenzen Überarbeitete Lösung erzeugt positiven Nutzen Und ein schönes AntiPatterns sind nützlich um Vorhandenes zu verbessern Weihnachtsfest! 24
Die 7 Todsünden der Softwareentwicklung Sascha Kohlmann 7 Todsünden der Softwareentwicklung
Die 7 Todsünden der Softwareentwicklung Die christlichen Todsünden Die christlichen 7 Todsünden gehen auf Evagrius Ponticus zurück Mönch im 4. Jahrhundert n. Chr. Ursprung 8 Dämonen: Völlerei, Unkeuschheit,
MehrAnti-Patterns. Zuverlässige Software SS2009 Friedrich Gensicke
Anti-Patterns Zuverlässige Software SS2009 Friedrich Gensicke Gliederung 1. Einführung Was sind Anti Patterns? Unterschiede Design Pattern Anti Pattern Grundursachen Klassifizierung 2. Anti Patterns in
Mehr- Antipatterns - der Softwareentwicklung. Tanja Brockmeier
- Antipatterns - der Softwareentwicklung Tanja Brockmeier Antipatterns Definition Antipatterns: sind eine häufige wiederkehrende Lösungen, die fehlerhaft sind und Merkmale mit sich bringen, die unerwünscht
Mehr7. Zusammenfassung (1)
Typisierung in OO-Sprachen Subtyping vs. Subclassing Untertypen für Typkonstrukte Funktionsuntertypen und Überschreiben Generik Einsatz von Vererbung konzeptioneller Entwurf: Abstraktion Spezialisierung
MehrModel-View-Controller
Software Design Pattern Model-View-Controller Michael Lühr Gliederung Einführung und Problemstellung Ansatz durch MVC Detaillierte Darstellung der Komponenten Model View Controller Vor- und Nachteile Zusammenfassung
MehrObjektorientierte Programmierung (OOP)
orientierte Programmierung (OOP) 1. Motivation Die objektorientierte Sichtweise der Welt Als Motivation für die OOP sieht man sich am besten die reale Welt an: Die reale Welt besteht aus "en", z. B.: Gegenstände,
MehrArchitekturrefactorings
Architekturrefactorings Henrik Holle Universität Bremen holle@tzi.de Abstract Architekturrefactorings sind semantikerhaltende Transformationen, welche die Architektur der Software verbessern. Im Gegensatz
MehrVerhaltensmuster. Entwurfsmuster - Design Patterns. HAW Hamburg Fakultät Technik und Informatik Department Informations- und Elektrotechnik
Entwurfsmuster - Design Patterns HAW Hamburg Fakultät Technik und Informatik Department Informations- und Elektrotechnik 27. November 2009 Gliederung 1 Einführung 2 Strategie-Muster 3 Beobachter-Muster
MehrTimo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET
Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET Überblick 1.Einfürung in die Multi-Tier Architektur 2.Ausgangspunkt und Probleme 3.Rundgang durch die Architektur 4.Architektur
MehrCreational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05.
Creational Patterns Seminar Software-Entwurf WS 2004/05 Thomas Liro Inhaltsüberblick Einordnung des Themas Beschreibung von Design Pattern Auswahl von Design Patterns Was sind Creational
MehrSoftwaretechnik 2015/2016
Softwaretechnik 2015/2016 PST Lehrstuhl Prof. Dr. Matthias Hölzl HAUPT-/ BACHELOR- SEMINAR ADAPTIVE SYSTEME PST Joschka PROF. DR. Rinke WIRSING 14. JUNI 2009 VORNAME NAME AGENDA Übung 11: 14.01.2016 Schon
MehrWeb Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H)
Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Dominik Kirsten Daniel Schäferbarthold Trier, 21.01.2008 1 Gliederung 1. Einführung 1.1 Anforderungen an
MehrNicolai Josuttis. SOA in der Praxis. System-Design für verteilte Geschäftsprozesse. dpunkt.verlag
Nicolai Josuttis SOA in der Praxis System-Design für verteilte Geschäftsprozesse dpunkt.verlag Vorwort ix 1 Motivation 1 1.1 Kennzeichen großer Systeme 3 1.2 Das Märchen vom»magischen Bus«5 1.3 Was man
MehrModel-View-Controller
Model-View-Controller Seminar Software-Entwurf Leif Singer Gliederung Einordnung Überblick & Geschichte Aufgabenverteilung & Beispiel Model View Controller Zusammenspiel Web Anwendungen
Mehr7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik
7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik:
MehrEffizientes Programmieren
Effizientes Programmieren Heutiges Thema: Refactorings Michaela Rindt (mrindt@informatik.uni-siege.de) Refactoring - Entwicklungsmethode - Bild-Quelle: http://www.goldbachinteractive.com/aktuell/kurzbeitraege/next-step-of-evolution
MehrDesign Patterns (dt. Entwurfsmuster)
Design Patterns (dt. Entwurfsmuster) Michael Svoboda 25. Mai 2007 Ein fortgeschrittener bzw. erfahrener Softwareentwickler hat oftmals während der Analyse eines Problems bei der Erstellung eines Entwurfs
Mehr10. Programmierungs-Phase: Objektorientierung Software Engineering
10. Programmierungs-Phase: Objektorientierung Software Engineering Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 15. Dezember 2005 Einordnung in den Kontext
MehrEinleitung. Wozu benötigen wir Entwurfsmuster? Warum ein weiteres Buch über Entwurfsmuster? Warum ein weiteres Buch über Entwurfsmuster?
Warum ein weiteres Buch über Entwurfsmuster? Einleitung This book is meant to be played, rather than to be read in an armchair. Jerry Coker et. al: Patterns for Jazz, Studio P/R, 1970 Wozu benötigen wir
MehrEntwurfsmuster. Tao Zhang Technische Universität München Lehrstuhl für Angewandete Softwaretechnik
Entwurfsmuster Tao Zhang Technische Universität München Lehrstuhl für Angewandete Softwaretechnik Information über Entwurfsmuster Die heutige Vorlesung: Einführung in die Thematik Die Vorlesung am 12.01:
Mehr3-Tier-Architecture und J2EE
3-Tier-Architecture und J2EE Oliver Müller Seminar Software-Entwurf WS 2004/05 3-Tier, was war das noch gleich? NEIN, das nicht!!! 2 Die Lage - Applikationen laufen
MehrRefactoring. Uschi Beck
Refactoring Uschi Beck uschibeck@web.de Gliederung Was ist Refactoring Definition, Einordnung in das Seminar Motivation Testen Code-Smells Katalog von Refactorings Aufbau, Beispiele Design Patterns als
MehrInhaltsverzeichnis. Teil I Grundlagen 1
xv Teil I Grundlagen 1 1 Modelle und Modellierung 3 1.1 Modelle, die uns umgeben.................................. 3 1.2 Modelltheorie........................................... 5 1.3 Ziele beim Einsatz
MehrDOORS Schema IBM Rational DOORS Start-Up Training - Teil 3
DOORS Schema IBM Rational DOORS Start-Up Training - Teil 3 Inhalt: Anforderungen an ein Schema Design eines Schemas Schrittweises Vorgehen Strukturierung und Design der Daten in DOORS Voraussetzung für
MehrCompleting SDN The Northbound API
Lehrstuhl Netzarchitekturen und Netzdienste Institut für Informatik Technische Universität München Completing SDN The Northbound API Patrick Holl Seminar Innovative Internettechnologien und Mobilkommunikation
MehrOpen Source als Internet-Basisinfrastruktur
Open Source als Internet-Basisinfrastruktur Beitrag zu großen Projekten am Beispiel OpenStack 18.12.2018 Josephine Seifert Gliederung Internet-Basisinfrastruktur Was ist das? Die Cloud OpenStack Beitrag
MehrEinführung in Software Engineering
Einführung in Software Engineering Die Katze auf der Terrasse Mit Python-Objekten ist es wie mir der Katze, die du irgendwann schlafend auf deiner Terrasse vorfindest. Ganz wie ein Python-Objekten kann
MehrFACHHOCHSCHULE MANNHEIM
Objektorientierte Programmierung 3. Vorlesung Prof. Dr. Peter Knauber FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Wiederholung: Begriffsübersicht Strukturierte vs. objektorientierte Programmierung
MehrAspektorientierte Programmierung mit.net
Aspektorientierte Programmierung mit.net David Hahn & Viktor Steinwand 1 1. 2. 3. 4. 5. Vorgehen beim AOP 6. 7. durch AOP 8. 9. 10. 2 1. AOP ist ein mächtiges Werkzeug für den Entwickler-Werkzeugkoffer
MehrSoftware Engineering
Jochen Ludewig Horst Lichter Software Engineering Grundlagen, Menschen, Prozesse, Techniken 3., korrigierte Auflage dpunkt.verlag Teil i Grundlagen 1 1 Modelle und Modellierung 3 1.1 Modelle, die uns umgeben
MehrGliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung
Gliederung n Teil I: Einleitung und Grundbegriffe l 1. Organisatorisches l 2. Grundlagen von Programmiersprachen n Teil II: Imperative und objektorientierte Programmierung l 1. Grundelemente der Programmierung
MehrSeminare Softwaretechnik - Einführungsveranstaltung
Seminare Softwaretechnik - Einführungsveranstaltung Stefan Malich Sommersemester 2005 Version 1.0 Lehrstuhl für Wirtschaftsinformatik und Softwaretechnik Prof. Dr. Stefan Eicker 1 Agenda Einführung und
MehrEntwurfsmuster. Marc Monecke
Entwurfsmuster Marc Monecke monecke@informatik.uni-siegen.de Praktische Informatik Fachbereich Elektrotechnik und Informatik Universität Siegen, D-57068 Siegen 20. Mai 2003 Inhaltsverzeichnis 1 Grundlagen
MehrEin Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch
Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,
MehrEinführung in die objektorientierte Programmierung
Einführung in die objektorientierte Programmierung Seminarunterlage Version: 4.04 Copyright Version 4.04 vom 17. Juni 2016 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten.
MehrTränen lügen nicht Dashboards schon!
Tränen lügen nicht Dashboards schon! HARM GNOYKE, EMBARC JavaLand, Phantasialand Brühl 08.03.2016 0 Tränen lügen nicht Dashboards schon! "Und dann war da noch der Mann, der beim Durchqueren eines im Durchschnitt
MehrVorlesung Methodische Grundlagen des Software-Engineering im Sommersemester 2013
Vorlesung des Software-Engineering im Sommersemester 2013 Prof. Dr. Jan Jürjens TU Dortmund, Fakultät Informatik, Lehrstuhl XIV Teil 2.9: Werkzeugunterstützung v. 13.05.2013 1 [mit freundlicher Genehmigung
MehrDas Kommunikations-Problem Architekten, Entwickler und die Code-Basis Zusammenfassung
Das Kommunikations-Problem Architekten, Entwickler und die Code-Basis Zusammenfassung Miteinander, Nebeneinander, Durcheinander Kommunikation und Koordination in Softwareprojekten Kommunikation Übertragung
MehrLehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++
Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung welche Objekte bzw. Klassen werden benötigt? welche Information wird benötigt, um ein Objekt zu beschreiben? welche Beziehungen bestehen
MehrRefactorings in großen Softwareprojekten
Refactorings in großen Softwareprojekten (C) 2004 Martin Lippert lippert@acm.org Stefan Roock stefan@stefanroock.de Was ist Refactoring? A change made to the internal structure of software to make it easier
MehrLanglebige Softwarearchitekturen - technische Schulden beherrschen und abbauen
Langlebige Softwarearchitekturen - technische Schulden beherrschen und abbauen Dr. Carola Lilienthal, cl@wps.de, @cairolali www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG 1 Business-Software
MehrMathematik Seminar WS 2003: Simulation und Bildanalyse mit Java. Software-Architektur basierend auf dem Plug-in-Konzept
Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java Software-Architektur basierend auf dem Plug-in-Konzept Aufteilung: Probleme mit normaler/alter Software Ziele des Software Engineerings Die
MehrAgile Methoden. David Tanzer. Oliver Szymanski
Agile Methoden David Tanzer Oliver Szymanski Ziel von Softwareentwicklung Anforderungen zuverlässig und effizient in lauffähige Software verwandeln. Ziel von Softwareentwicklung Bedürfnisse des Kunden
MehrTechnische Schulden in Architekturen erkennen und beseitigen
Technische Schulden in Architekturen erkennen und beseitigen Dr. Carola Lilienthal Carola.Lilienthal@wps.de, @cairolali www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG Business-Software, die
MehrSoftwareentwicklung in der Wissenschaft Steffen Göttsch
Softwareentwicklung in der Wissenschaft 9.12.2010 Steffen Göttsch Gliederung Motivation Prinzipien guter Softwareentwicklung Praxis in der SiW Programmiermethoden Zusammenarbeit SE und Wissenschaft Open
MehrSeminar zu Ursachen und Vermeidung von Fehlern in der Software-Entwicklung
Seminar zu Ursachen und Vermeidung von Fehlern in der Software-Entwicklung Semantische Validierung der objektorientierten Analyse Berlin, 4. April 2006 Inhalt Einleitung Psychologische und objektorientierte
MehrRefactoring Transformationen. Martin Freund Januar 2003 Seminar Refactoring in extreme Programming AG Kastens Universität Paderborn
Refactoring Transformationen Martin Freund bbl@upb.de Januar 2003 Seminar Refactoring in extreme Programming AG Kastens Universität Paderborn Gliederung 1. Transformationen-Übersicht 2. Beispiel: Methode
MehrSoftwaretests mit Junit
Softwaretests mit Junit Techniken der testgetriebenen Entwicklung Bearbeitet von Johannes Link überarbeitet 2005. Taschenbuch. XVI, 416 S. Paperback ISBN 978 3 89864 325 2 Format (B x L): 16,5 x 24 cm
MehrJochen Ludewig Horst Lichter. Software Engineering. Grundlagen, Menschen, Prozesse, Techniken. dpunkt.verlag
Jochen Ludewig Horst Lichter Software Engineering Grundlagen, Menschen, Prozesse, Techniken dpunkt.verlag Inhaltsverzeichnis 1 Modelle und Modellierung 1.1 Modelle, die uns umgeben 1.2 Modelltheorie 1.3
MehrIT-Projekt-Management
IT-Projekt-Management email: av@dr-vuong.de http: www.dr-vuong.de Datum 13.10.2005 2005 by, Bielefeld Seite 1 Projekt-Ablauf und - Organisation Datum 13.10.2005 2005 by, Bielefeld Seite 2 IT-Projekte:
Mehr» Wege zu einer besseren Projekt- und Arbeitsorganisation «
Agile Methoden» Wege zu einer besseren Projekt- und Arbeitsorganisation «Berlin, im April 2016 Kirchner + Robrecht GmbH management consultants info@kirchner-robrecht.de www.kirchner-robrecht.de Büro Berlin:
MehrVerbesserung der Architektur der DPP- Software Saros (Vortrag 2) Slawa Belousow Institut für Informatik FU Berlin
Verbesserung der Architektur der DPP- Software Saros (Vortrag 2) Slawa Belousow Institut für Informatik FU Berlin 03.02.2011 Inhalt der Präsentation 1.Arbeit und Vortrag 1 2.Aktuelle Saros-Architektur
MehrVisualisierung von Softwaremetriken
Visualisierung von Softwaremetriken Georgi Georgiev Seminar Softwarevisualisierung TU Kaiserslautern SS 2006 Betreuer: Dr. A. Kerren 21.07.2006 Inhalt 1. Softwaremetriken 2. Vorgehensweise 3. Ikonevisualisierung
MehrMVC-Architektur am Beispiel von OLAT
MVC-Architektur am Beispiel von OLAT Marvin Frommhold 12. Januar 2009 Gliederung Begriffe Entwurfsmuster Umsetzung in OLAT Aufbau des Brasato-Frameworks Quellen Begriffe I MVC bezeichnet ein Architekturmuster
MehrQuantifizierung nicht-funktionaler Anforderungen JURISTISCHES IT-PROJEKTMANAGEMENT WS1617 DOZENT: DR. FRANK SARRE LMU MÜ NCHEN ZHENHAO LI
Quantifizierung nicht-funktionaler Anforderungen JURISTISCHES IT-PROJEKTMANAGEMENT WS1617 DOZENT: DR. FRANK SARRE LMU MÜ NCHEN ZHENHAO LI Agenda Einordnung des Themas Motivation Quantifizierung Nicht-funktionale
MehrWarum sind Kunden in Softwareprojekten so schwierig? Jürgen Ahting, Ameco, Stefan Roock, akquinet AG,
Warum sind Kunden in Softwareprojekten so schwierig? Jürgen Ahting, Ameco, ameco@ahting.org Stefan Roock, akquinet AG, stefan.roock@akquinet.de Ich bin der Kunde Ich bin der Entwickler 1 Ich bin glücklich,
MehrWechselwirkungen zwischen der Projektmanagementmethode PRINCE2 und den typischen juristischen Rahmenbedingungen im IT-Projekt
Wechselwirkungen zwischen der Projektmanagementmethode PRINCE2 und den typischen juristischen Rahmenbedingungen im IT-Projekt Vortrag im Kurs Juristisches IT-Projektmanagement Nicola Greth, 10. Januar
MehrSchichtenarchitekturen und ihre Auswirkungen auf die objektorientierte Modellierung
TKeasy Schichtenarchitekturen und ihre Auswirkungen auf die objektorientierte Modellierung Software Engineering 2007, 27.-30.3.2007, Hamburg Ralf Degner, Frank Griffel Überblick Das Projekt TKeasy Technische
MehrZeitmanagement: 4. Zeitdiebe
Zeitmanagement: 4. Zeitdiebe Was Sie heute lernen 1. Erkennen Sie Ihre Zeitfresser! 2. Reduzieren Sie Störungen! 1. Bekämpfen Sie die Aufschieberitis! 1. Erkennen Sie Ihre Zeitfresser Um zu identifizieren,
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 2. Teil 18. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrAgil lernen. 4. Projektmanagement Day Georg Götz
Agil lernen 4. Projektmanagement Day 09.10.2012 Georg Götz Agil lernen? Release 1: Vordiplom Inf formatikstudium Sprint Review z.b. Algorithmik I Release 2: Diplom Product Owner: Professor Scrum Master:?
MehrEinführung in die Objektorientierung (OO)
Einführung in die Objektorientierung (OO) I) Warum OO? II) Grundbegriffe der OO III) IV) Darstellung von Klassen und Objekten Kapselung I) Warum OO? 1) Früher: Prozedurale / strukturierte Programmierung
MehrEntwurfsmuster Martin Fesser 00IN
Entwurfsmuster Martin Fesser 00IN Inhalt Was sind Entwurfsmuster? Vorteile, Nachteile Entwurfsmusterkatalog (nach GoF) Variation von Entwurfsaspekten Wie Entwurfsmuster Entwurfsprobleme lösen Beispiele
MehrIterative Softwareentwicklung. Ullrich Köthe 19. April 2001
Iterative Softwareentwicklung Ullrich Köthe 19. April 2001 2 Traditionelles Entwicklungsmodell von Geräteentwicklung inspiriert: je später eine Änderung notwendig wird, desto teurer 12000 10000 8000 6000
MehrDas Softwaresystem BASEMENT
Numerische Modellierung von Naturgefahren mit dem Softwaresystem BASEMENT Workshop vom 6. Oktober 2006 an der VAW ETH Zürich Das Softwaresystem BASEMENT David Vetsch Inhalt 1. Motivation und Entstehungsgeschichte
MehrGute Praxis in der sozialen Sicherheit. Gute Praxis umgesetzt ab: 2015
Gute Praxis in der sozialen Sicherheit Gute Praxis umgesetzt ab: 2015 Automatische Zahlung (E-Payment) von Beihilfen nach elektronischen Zeugnissen über vorübergehende Erwerbsunfähigkeit für Selbstständige
MehrAuf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs...
Auf einen Blick Auf einen Blick 1 Einleitung... 15 2 Die Basis der Objektorientierung... 29 3 Die Prinzipien des objektorientierten Entwurfs... 41 4 Die Struktur objektorientierter Software... 67 5 Vererbung
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens mit C++ und Matlab SS2013 Inhalt Übungsbesprechung (Wiederholung) Wie
MehrMeetings effizient planen und durchführen
Meetings effizient planen und durchführen Am Anfang sollte die Frage stehen "Warum" Sie eine Besprechung durchführen wollen. Gründe wie Informationsweitergabe, Anordnungen bekannt geben oder Entscheidungen
MehrObjektorientiertes Software-Engineering
Objektorientiertes Software-Engineering TIT99BPE/TIT99CPE BA Mannheim WS 2001/2 F. Schönleber Organisatorisches Kurs 1: TIT99BPE 6.Studienhalbjahr Termin Mo. 13.00 14.30 Raum: 037B Kurs 1: TIT99CPE 6.Studienhalbjahr
MehrProjektplanung. Aktuelle Projektleiterin: Lei Da
Team 3 Projektplanung für freizeit-freun.de Aktuelle Projektleiterin: Lei Da Würzburg, den 29.5.2006 1 Gliederung 1. Projektsteckbrief 2. Projektstrukturpläne Objektorientierter PSP Funktionsorientierter
MehrAggregatzustände von Anforderungen erkennen und nutzen
Aggregatzustände von Anforderungen erkennen und nutzen Prof. Dr. Kurt Schneider Kurt.Schneider@Inf.Uni-Hannover.de Fachgebiet Software Engineering Universität Hannover Die Idee der sauberen Spezifikation
MehrObjektorientierte Programmierung
Bernhard Lahres, Gregor Rayman Objektorientierte Programmierung Das umfassende Handbuch Galileo Press 1.1 Was ist Objektorientierung? 13 1.2 Hallo liebe Zielgruppe 14 1.3 Was bietet dieses Buch (und was
MehrWarum Sie dieses Buch lesen sollten Autorenverzeichnis Teil 1 Die agile Produktentwicklung - Menschen größer machen
Inhalt Warum Sie dieses Buch lesen sollten... 6 Autorenverzeichnis...16 Teil 1 Die agile Produktentwicklung - Menschen größer machen 1 Einleitung... 26 1.1 Was ist gute Führung?...27 1.2 Mein bestes Projekt...
Mehr2 Softwarearchitektur in der Organisationsstruktur 25
xiii Teil I Grundlagen und Organisation 1 1 Grundlagen 3 1.1 Warum Softwarearchitektur?.............................. 4 1.2 Was ist Softwarearchitektur?.............................. 6 1.2.1 Definition
MehrVorlesung Methodische Grundlagen des Software-Engineering im Sommersemester 2014
Vorlesung des Software-Engineering im Sommersemester 2014 Prof. Dr. Jan Jürjens TU Dortmund, Fakultät Informatik, Lehrstuhl XIV Teil 2.8: Werkzeugunterstützung für Process-Mining v. 09.06.2014 1 für Process-Mining
MehrObjektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl 26.07.21 Themenübersicht Objektorientierte Software-Entwicklung Objektorientierte Analyse und Design OOA OOD Objektorientierte
MehrÜberblick FBC SNW Zusammenfassung. Entwurfsmuster. Eine Einführung. Botond Draskoczy. Marcus Vitruvius Pollio
Entwurfsmuster Eine Einführung Botond Draskoczy Marcus Vitruvius Pollio Überblick Historie, Literatur Das Flugapparat-Bildschirmschoner-Projekt (FBP) Das internetbasierte Solar-Netzwerk (SNW) Zusammenfassung
MehrSOLID für.net und JavaScript
SOLID für.net und JavaScript www.binarygears.de Stefan Dirschnabel Twitter: @StefanDirschnab #dncgn SOFTWARE ENTWICKLUNG BERATUNG SCHULUNG 5 Prinzipien für das Design von Software Wartbarer Code Leicht
MehrOrchestrator. IT-Paradigmenwechsel im Zeitalter des Cloud Computing. Mohammad Esad-Djou, Solution Architect OPITZ CONSULTING Deutschland GmbH
Orchestrator IT-Paradigmenwechsel im Zeitalter des Cloud Computing Mohammad Esad-Djou, Solution Architect OPITZ CONSULTING Deutschland GmbH Mainz, 06. Juni 2013, DOAG 2013 IM Community Summit Agenda Problemstellung
MehrImpact of economics on compiler optimization
Impact of economics on compiler optimization Seminar Zwischen Sprachen und Codegenerierung SS 2005 Dimitar Dimitrov Betreuer: Rubino Geiß Kurzbeschreibung Arch D. Robinson, einer der Entwickler der KAI
MehrKapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?
Kapitelübersicht Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge Was bedeutet Objektorien+erung? ObjektorienCerte Analyse und Design die Objektmodellierung
MehrObjektorientierte und Funktionale Programmierung SS 2014
Objektorientierte und Funktionale Programmierung SS 2014 6 Objektorientierte Entwurfsmuster 1 6 Objektorientierte Entwurfsmuster Lernziele Einige wichtige Entwurfsmuster kennen und verstehen Einsatzmöglichkeiten
MehrListe MI / Liste I Programmieren in C++
Liste MI / Liste I Programmieren in C++ Fachhochschule Wiesbaden, FB Design Informatik Medien Studiengang Medieninformatik WS 2007/2008 Kapitel 1-4 1 Ziele Kennenlernen einer weiteren objektorientierten
MehrEngineering Aspekte bei der Auswahl von. Automatisierungsplattformen. Wir sind ein unabhängiges Engineering- und Beratungsunternehmen
Engineering Aspekte bei der Auswahl von Automatisierungsplattformen Automation Day 17.10.2011 Dipl.Ing. Felix Rhöse Wer sind wir? Wir sind ein unabhängiges Engineering- und Beratungsunternehmen für den
MehrSEQIS 10 things. Herzlich Willkommen! Alexander Weichselberger SEQIS Geschäftsleitung
SEQIS 10 things SEQIS 10 things Herzlich Willkommen! Alexander Weichselberger SEQIS Geschäftsleitung SEQIS 10 things Programm 2014 20.03.14 Business Analyse Einführung in den BABOK Guide 26.06.14 API Testing:
MehrBehutsame Modernisierung
Software Evolution mit Legacy Systemen Forum Forschungsförderung / ViSEK Trends im Software Engineering Software Evolution mit Legacy Systemen Behutsame Modernisierung Jan Wloka
MehrObjektorientierte Entwurfsmuster
Objektorientierte Entwurfsmuster Claus Lewerentz Brandenburgische Technische Universität Cottbus Fraunhofer FIRST/SWQlab Cottbus Fraunhofer Institut Rechnerarchitektur und Softwaretechnik 12.05.2005, Software-Systemtechnik,
MehrIT-Architektur Grundlagen, Konzepte und Umsetzung
IT-Architektur Grundlagen, Konzepte und Umsetzung Markus Schönbächler Cuno Pfister MV-WISSENSCHAFT Inhalt 1 Vorwort 15 2 Betriebswirtschaftliche Relevanz der IT-Architektur 19 2.1 Die Informatikorganisation
MehrWeb Modeler W3L AG Ein webbasiertes Modellierungswerkzeugs mit integrierter Plugin-Architektur
1 Web Modeler Ein webbasiertes Modellierungswerkzeugs mit integrierter Plugin-Architektur W3L AG info@w3l.de 04.2008 2 Inhaltsverzeichnis Motivation Modellierungswerkzeug Techniken Architektur Datenhaltung
MehrBlockpraktikum Multimediaprogrammierung
Blockpraktikum Multimediaprogrammierung 15. September 26. September 2008 Max Maurer Erfahrungsbericht Extreme Programming Kleiner Rückblick zur Vorlesung Prof. Heinrich Hußmann Agile Development for Multimedia
MehrDATENBLATT. Multiprojektmanagement
DATENBLATT Multiprojektmanagement Eine Vielzahl an Projekten in einem Unternehmen oder Unternehmensbereich zu überwachen und zu steuern, ist eines der Kernfunktionen eines Management-Information-Systems
Mehr