Softwaretechnik (Allgemeine Informatik) Überblick

Größe: px
Ab Seite anzeigen:

Download "Softwaretechnik (Allgemeine Informatik) Überblick"

Transkript

1 Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6 Objektorientiertes Design 7 Test 8 Dokumentation und Wartung 9 Projektmanagement und -organisation Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 62 Softwaretechnik (Allgemeine Informatik) Überblick: 3.1 Eigenschaften 3.3 Agile Softwareentwicklung Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 63

2 3.1 Eigenschaften Anwendungsfallgetrieben Architektur- und komponentenzentriert Iterativ Inkrementell Anwendungsfallgetrieben Funktionale Anforderungen an das zu entwickelnde System werden in Anwendungsfälle zerlegen Aus Sicht der Anwender Bilden Grundlage und Checks für alle weiteren Schritte Anwendungsfälle können priorisiert werden bzgl. der Reihenfolge der Umsetzung Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) Eigenschaften Architekturzentriert Eigenschaften und Besonderheiten einer vorhandenen Anwendungsarchitektur müssen berücksichtigt werden Die Anwendungsarchitektur bestimmt, welche Artefakte überhaupt zu entwickeln sind Beispiel einer Anwendungsarchitektur ist die Verwendung eines Anwendungs-Frameworks z.b. Document-View Systeme können in Komponenten und Subsysteme gegliedert sein. Auch das ist zu berücksichtigen Die Vorgehensweise sollte also die Erarbeitung der durch die Architektur vorgegebenen Artefakte optimal unterstützen Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 65

3 3.1 Eigenschaften Iterativ und inkrementell Entwicklung innerhalb bestimmter Phasen in mehreren nach- und ggf. auch nebeneinander ablaufenden Iterationen Anders als bei dem klassischen Wasserfallmodell Zunächst Anwendungsfälle: Grobe Anforderungsbeschreibung. Dann ggf. Bildung von Subsystemen Subsysteme können von separaten Teams realisiert werden Teilergebnisse der Teams müssen regelmäßig synchronisiert werden Zwischenergebnisse werden in Reviews validiert und verifiziert Jedes Team legt zu festgelegten Zeiten Ergebnisse vor: Gliederung des Entwicklungsprozesses jedes Teams in Iterationen Jede Iteration liefert ein Teilergebnis Inkrementell: Gesamtfunktionalität wächst mit jedem Schritt Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 66 Softwaretechnik (Allgemeine Informatik) Überblick: 3.1 Eigenschaften 3.3 Agile Softwareentwicklung Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 67

4 Überblick UML enthält keine Prozessbeschreibung, die wichtigen Teil einer Methode ausmacht UML ist unabhängig von dem verwendeten Prozess Lösung der 3 Amigos: Unified Process (UP) Eher ein Prozessrahmenwerk (Process Framework) mit Spielräumen zur Anpassung Produkt Rational Unified Process (RUP) von Rational Iterativer und inkrementeller Entwicklungsprozess Software wird in Teilen entwickelt und freigegeben Insbesondere die Konstruktionsphase besteht aus vielen Iterationen, wobei bei jeder Iteration real nutzbare Software erstellt, getestet und integriert wird (Teilmenge der Anforderungen des Projektes) Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 68 Überblick Entwicklungszyklus Iteration Phase Einstieg (Inception) Ausarbeitung (Elaboration) Konstruktion (Construction) Überleitung (Transition) Jede Iteration der Konstruktion Analyse, Entwurf, Implementierung und Test Meilenstein (milestone) Ende einer Phase oder Iteration; signifikante Entscheidung oder Evaluation Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 69

5 Überblick (fortgesetzt) Entwicklungszyklus Iteration Phase Einstieg (Inception) Ausarbeitung (Elaboration) Konstruktion (Construction) Überleitung (Transition) Release Stabiler Teil des endgültigen Produktes; Teilfunktionalität Increment Differenz (delta) zwischen den Releases zweier aufeinander folgender Iterationen Final Production Release Am Ende der Überleitung Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 70 Zwei Vorphasen 1. Einstieg (Inception) Begründung der geschäftlichen Absichten des Projektes (Kosten/Nutzen) Anwendungsdomäne kennen lernen Abgrenzung O.K. des Managements weiterzumachen Machbarkeitsstudie Etwa Systemidee und Zielsetzung entwickeln nach Oestereich. Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 71

6 Zwei Vorphasen 2. Ausarbeitung (Elaboration) Sammeln detaillierter Anforderungen Analyse und Entwurf auf hohem Abstraktionsgrad: Grundlegende Architektur, Plan für die Konstruktion Welche Technologien sollen eingesetzt werden? Welche Risiken sind vorhanden? Mehrere Iterationen möglich Vorgehensweise: Anwendungsfälle entdecken Gerüst eines konzeptionellen Modells des Problembereichs: Grundlage für Klassenmodell Problembereichsmodell Entwurfsmodell: Klassen zur Übernahme der Aufgaben (Fachklassen). Wiederverwendbare Architektur für künftige Erweiterungen. Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 72 Zwei Vorphasen (fortgesetzt) 2. Ausarbeitung (Elaboration) (fortgesetzt) Nicht alle Anwendungsfälle auf einmal Zunächst nur zentrale Anwendungsfälle und zentrale Klassen des Problembereichs Weitere Anwendungsfälle können inkrementell hinzugefügt werden Wichtige UML-Techniken neben Anwendungsfällen hierbei (Problembereichsmodell): Klassendiagramme, Aktivitätsdiagramme (Arbeitsabläufe, workflows), Ggf. Interaktionsdiagramme (später nützlicher) Etwa die weiteren Unterkapitel aus Analyse bei Oestereich Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 73

7 Eine nachgeschaltete Phase Überleitung (Transition) Betatests, Performance-Verbesserungen, Benutzertraining Im Prinzip Iterationen auch in den anderen Phasen (neben Konstruktion). Entwicklungszyklus Iteration Phase Einstieg (Inception) Ausarbeitung (Elaboration) Konstruktion (Construction) Überleitung (Transition) Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 74 Konstruktion Entwicklungszyklus Iteration Phase Einstieg (Inception) Ausarbeitung (Elaboration) Konstruktion (Construction) Überleitung (Transition) Erstellung des Systems in einer Folge von Iterationen Jeweils ein eigenes Miniprojekt Analyse, Entwurf, Programmierung, Test und Integration für jeden Anwendungsfall, der der Iteration zugewiesen ist Ziel: Risikoverminderung Ständiges Testen und Integrieren 2-6 Wochen Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 75

8 Konstruktion (fortgesetzt) Vorgang ist sowohl inkrementell als auch iterativ: Inkrementell bezüglich Funktionalität. Jede Iteration baut auf Anwendungsfällen der vorigen Iteration auf und fügt weitere Funktionalität hinzu z.b. einen weiteren Anwendungsfall Iterativ bezüglich der Codebasis Jede Iteration wird/kann ein Umschreiben eines Teils des existierenden Codes zur Folge haben (Umstrukturierung, refactoring) Ziel: Reduktion der Softwareentropie Refactoring: Gleiche Funktionalität bei geänderter innerer Struktur Umbenennung einer Methode, Verschieben von Attributen in andere Klasse, Zusammenführung gleichartiger Methoden zweier Klassen in Superklasse, Änderung eines internen Algorithmus Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 76 Konstruktion (fortgesetzt) Alle UML-Techniken sind in der Konstruktion wichtig und nützlich: Analyse: Anwendungsfälle (auch Abgrenzung des Arbeitsgebietes) Konzeptionelles Klassenmodell (Vorbereitung einiger Konzepte für den Anwendungsfall) Aktivitätsdiagramm, falls Anwendungsfall bedeutende Arbeitsablaufelemente enthält Dies zusammen mit Experten der Anwendungsdomäne. Übergang zum Entwurf: Detaillierte Ausarbeitung der Klassendiagramme Interaktionsdiagramme (Sequenz- und Kommunikationsdiagramme) zum Zusammenspiel der Klassen zur Implementierung des Anwendungsfalls Klassenkarten (CRC cards): Verantwortlichkeiten der Klassen Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 77

9 Konstruktion (fortgesetzt) Nicht unbedingt detaillierte Diagramme für das ganze Systems. Nur dort, wo es auch etwas bringt Weiterhin: Paketdiagramme als logischer Plan des Systems Für jedes Paket ein spezifikationsorientiertes Klassendiagramm (Assoziationen, nur wichtige Attribute und Methoden) -> Graphisches Inhaltsverzeichnis Zustandsdiagramme, falls Klasse komplexes Verhalten während ihres Lebenszyklus hat. Selten notwendig Eher Interaktionsdiagramme Einsatz von Entwurfsmustern (Design Patterns) Martin Fowler, Kendall Scott: Iterative Entwicklung nur für Projekte einsetzen, von denen man will, dass sie erfolgreich ablaufen Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 78 Software-Entropie Je sorgfältiger ein System zu Anfang geplant, designed und implementiert wurde, um so länger kann es unter ständiger Pflege leben Physik (2 Hauptsatz der Thermodynamik): Die Entropie (Unordnung) eines abgeschlossenen Systems kann nie geringer werden, sondern bleibt bestenfalls konstant, hat aber normalerweise das Bestreben, zuzunehmen Umgesetzt auf die Softwareentwicklung: Ein Programm, das benutzt wird, wird auch verändert Wird ein Programm verändert, so nimmt seine Komplexität zu, falls man nicht aktiv dagegen ankämpft Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 79

10 Software-Entropie (fortgesetzt) Nimmt man an, dass die Software-Entropie um so schneller zunimmt, je größer sie zu Anfang war, so findet man das folgende Bild: System 1 System 2 Grenze der Wartbarkeit Software-Entropie Zeit Lebenszeit System 1 Lebenszeit System 2 Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 80 Nochmals: Objektorientierte Analyse Ziel, wie bei allen Analysemethoden: Verständnis der geforderten Anwendung, nur aufgrund der funktionalen Anforderungen Unterschied zwischen objektorientierter Analyse und anderer funktionsoder datenorientierter Analysemethoden: Verhalten der Anwendung und Daten der Anwendung werden nicht separat betrachtet Stattdessen werden sie in Klassen/Objekten integriert Bei der Analyse iteriert man ständig zwischen dem Verhalten und den Infomationsstrukturen der Anwendung hin und her Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 81

11 Objektorientierte Analyse Geschäfts- oder Fachklassenmodellierung Arbeitsschritte in irgendeiner Reihenfolge: Finde die Objekte Aus der Anwendungsdomäne Substantive in der Beschreibung Essentielle Objekte, die während des gesamten Lebenszyklus essentiell bleiben Evtl. mehrere Objekttypen, z.b. aktiv/passiv Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 82 Objektorientierte Analyse (fortgesetzt) Organisiere die Objekte Objekte und Klassen von Objekten, Ähnlichkeiten, Vererbungshierarchien, abstrakte Klassen Andere Objektbeziehungen: Welches Objekt arbeitet für ein anderes? Ist ein Objekt ein Teil eines anderen Objekts? Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 83

12 Objektorientierte Analyse (fortgesetzt) Organisiere die Objekte... Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 84 Objektorientierte Analyse (fortgesetzt) Beschreibe, wie Objekte wechselwirken Szenarien der Nutzung der Anwendung Z.B: in Form von Use Cases oder Interaktionsdiagrammen Dadurch Beschreibung der Objektumgebung Was erwarten andere Objekte von diesem Objekt Resultat: Schnittstellen des Objekts Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 85

13 Objektorientierte Analyse (fortgesetzt) Definiere die Operationen der Objekte Natürliches Ergebnis, wenn man die Schnittstellen von Objekten definiert Oder von der Anwendung: Was kann mit den Dingen, die wir modellieren, getan werden? Primitiv (add/delete) oder komplex (Zusammenstellung eines Reports über mehrere Objekte) sehr komplexe Operationen neues Objekt Definiere die Objekte intern Welche Informationen muss das Objekt enthalten Müssen die Informationen den Programmablauf überdauern (persistente Objekte/Informationen) Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 86 Objektorientierte Analyse (fortgesetzt) All dies beschäftigt sich zunächst nur mit der Anwendungsdomäne! Daraus resultierende Objektmodelle haben sich als zeitlich sehr stabil herausgestellt Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 87

14 Softwaretechnik (Allgemeine Informatik) Überblick: 3.1 Eigenschaften 3.3 Agile Softwareentwicklung Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) Agile Softwareentwicklung Agile Software Development 2001 von der Agile Alliance vorgeschlagen Non-Profit Organisation 2003: Manifesto of Agile Alliance: 4 Empfehlungen Individuen und Interaktion über Prozesse und Werkzeuge Funktionierende Software über ausführliche Dokumentation Zusammenarbeit mit dem Auftraggeber über Vertrags- Verhandlungen Auf Änderungen reagieren über genau einem Plan folgen Software-Entwicklung ist kreative Tätigkeit mehr abhängig von Menschen und Team-Zusammenarbeit als von Prozessen, Werkzeugen, Dokumentation, Planung und anderen Formalitäten Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 89

15 3.3 Agile Softwareentwicklung Agile Software Development Auftraggeber und Entwickler arbeiten während des ganzen Softwareentwicklungs-Prozesses eng zusammen Ständiges Feedback der Auftraggeber Weniger formale Verträge Weniger Dokumentation (!?) Klingt sehr revolutionär In der Praxis werden jedoch, wenn auch unter anderen Namen, bekannte Phasen und Methoden verwendet Analyse, Design, Implementierung, Test, Einführung Analyse ersetzt durch User Stories Features, die die Anwender sehen möchten werden einzeln von dem Entwicklungsteam realisiert Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) Agile Softwareentwicklung Agile Software Development Design, Implementierung und Test ersetzt durch Kombination von Akzeptanz Tests Refactoring Test-driven Development Entwickler programmiert seine Vorstellungen in Form eines Akzeptanz Tests Weitere Praktiken Pair Programming Zwei Programmierer arbeiten zusammen an einem Arbeitsplatz Einer schreibt den Code Der andere beobachtet und stellt Fragen Die Rollen wechseln häufig Die Paare wechseln wenigstens einmal pro Tag Collective Ownership der Software Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 91

16 3.3 Agile Softwareentwicklung Agile Software Development Integration und Einführung ersetzt durch ständige Integration und kurze Entwicklungszyklen sorgfältige Planung dieser Zeitpunkte (z.b. alle 2 Wochen) Jedes Zwischenergebnis wird an Auftraggeber ausgeliefert Alle 6 * 2 Wochen ein major release Entspricht in der Praxis durchaus der iterativen, inkrementellen Vorgehensweise Prominenter Befürworter: Ken Beck: extreme Programming (XP), 1999 Gefahr: Build-and-Fix Model Einfach hack-kodieren, ohne dokumentierte Analyse und Design Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 92 Softwaretechnik (Allgemeine Informatik) Überblick: 3.1 Eigenschaften 3.3 Agile Softwareentwicklung Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 93

17 Bestandteil der iterativen und agilen XP-Methode Schreiben Sie den Test zuerst! Zuerst Testcode schreiben Erst dann die Klasse, die getestet werden soll Ergebnis: Entwickler schreibt Unit Testing Code für fast den gesamten Produktionscode Rhythmus: Ein wenig Testcode Ein wenig Produktionscode Dieser muss Test bestehen Dann kommt der nächste Testcode Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 94 Vorteile Unit Tests werden wirklich geschrieben Zufriedenheit des Programmierers Kann ich den Code so schreiben, dass er diesen Test besteht? Interface und Verhalten werden im Detail geklärt Hauptvorteil Man muss sich Code vorstellen Alle Einzelheiten der öffentlichen Sicht des Codes Name, Parameter, Rückgabewert, Verhalten Beweisbare, wiederholbare, automatisierte Verifizierung Testbasis wächst ständig (10, 50, 500,... Tests) Leichte Verifizierung der Korrektheit Läuft automatisch ab Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 95

18 Vorteile (fortgesetzt) Vertrauen, Dinge ändern zu können Bei Änderungen kann man ganz leicht testen, ob die bisherigen Tests immer noch bestanden werden Unit Testing Frameworks xunit-familie ( JUnit (Kent Beck, Erich Gamma): Java NUnit:.NET (managed code) CppUnit: C++ (Visual C++, MFC) Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 96 Ablauf eines Tests Das Ding, das getestet werden soll, erstellen fixture, etwa: Testobjekt Etwas mit ihm tun also einige seiner Methoden aufrufen, die getestet werden sollen Prüfen, ob die Ergebnisse den Erwartungen entsprechen Testklasse Nachfahre von CppUnit::TestCase Implementiert schon verschiedene Unit Testing Verhaltensweisen Eine oder mehrere Testmethoden pro zu testender public Methode Ausnahmen: Triviale Methoden, z.b. setter und getter Man verwendet hilfreiche, vordefinierte Makros Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 97

19 Beispiel: Adress-Programm Aufsetzen des Projektes: siehe Aufgabenblatt CAdrTestCase.h #pragma once #include <cppunit/testcase.h> #include <cppunit/extensions/helpermacros.h> #include "../Adr/CAdrDoc.h" class CAdrTestCase : public CppUnit::TestCase { CPPUNIT_TEST_SUITE(CAdrTestCase); CPPUNIT_TEST(addTest); CPPUNIT_TEST(changeTest); CPPUNIT_TEST_SUITE_END();... Definition einer Test-Suite Die einzelnen Tests Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 98 Beispiel: Adress-Programm CAdrTestCase.h (fortgesetzt)... public: // Keinen expliziten Konstruktor/Destruktor void setup(); // Initialisierung vor jedem Test void teardown(); // Aufräumen nach jedem Test protected: void addtest(); void changetest(); private: CAdrDoc* fixture; }; Die einzelnen Tests Das Testobjekt Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 99

20 Beispiel: Adress-Programm CAdrTestCase.cpp #include "StdAfx.h" #include "CAdrTestCase.h" CPPUNIT_TEST_SUITE_REGISTRATION(CAdrTestCase); void CAdrTestCase::setUp() { fixture = new CAdrDoc(); } void CAdrTestCase::tearDown() { delete fixture; fixture = NULL; } Erzeuge das Testobjekt Aufräumen nach dem Test... Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 100 Beispiel: Adress-Programm CAdrTestCase.cpp (fortgesetzt)... void CAdrTestCase::addTest() { CAdresse* adr = new CAdresse(CString("Dreher"), CString("Björn"), CString("Teststr. 5"), 65123, CString("Wiesbaden")); CPPUNIT_ASSERT(fixture->NewAdresse(CString("Dreher, Björn"), adr) == TRUE); CPPUNIT_ASSERT(fixture->GetFirstAdresse(&adr)); CPPUNIT_ASSERT(adr->getName() == CString("Dreher")); CPPUNIT_ASSERT(adr->getVorname() == CString("Björn")); CPPUNIT_ASSERT(adr->getOrt() == CString("Wiesbaden")); } void CAdrTestCase::changeTest() { CPPUNIT_ASSERT(1 == 2); // Absichtlich falsch! } Erzeuge neue Adresse Füge sie dem Dokument hinzu Teste! changetest schlägt absichtlich fehl Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 101

21 Beispiel: Adress-Programm CAdrTestApp.cpp: Initialisierung des Application Objektes BOOL CAdrTestApp::InitInstance() {... // Hier geht es jetzt mit der Test Anwendung los: } Das GUI des Test Runners // Declare a test runner, fill it with our registered tests and run them CppUnit::MfcUi::TestRunner runner; runner.addtest(cppunit::testfactoryregistry::getregistry().maketest() ); runner.run(); Die über die Makros definierten Tests hinzufügen // Da das Dialogfeld geschlossen wurde, FALSE zurückliefern, sodass wir // die Anwendung verlassen, anstatt das Nachrichtensystem der Anwendung // zu starten. return FALSE;...und die Tests laufen Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 102 Beispiel: Adress-Programm Ergebnis der Test Suite: Prof. Dr. Björn Dreher Softwaretechnik (Allgemeine Informatik) 103

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (Allgemeine Informatik) Überblick Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6

Mehr

Grundlagen Software Engineering

Grundlagen Software Engineering Grundlagen Software Engineering Rational Unified Process () GSE: Prof. Dr. Liggesmeyer, 1 Rational Unified Process () Software Entwicklungsprozess Anpassbares und erweiterbares Grundgerüst Sprache der

Mehr

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II Rational Unified Process (RUP) Informationswirtschaft II Rational Unified Process (RUP) Wolfgang H. Janko, Michael Hahsler und Stefan Koch Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe Das

Mehr

Informationswirtschaft II

Informationswirtschaft II Rational Unified Process (RUP) Informationswirtschaft II Wolfgang H. Janko, Michael Hahsler und Stefan Koch Seite 1 Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe

Mehr

extreme Programming (XP) Hermann Götz Sergij Paholchak Agenda Was ist XP? Grundprinzipien Der Entwicklungsprozess Die Projektplanung Praktiken Vorteile und Nachteile Wann macht XP Sinn für ein Projekt?

Mehr

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte

Mehr

Test-Driven Design: Ein einfaches Beispiel

Test-Driven Design: Ein einfaches Beispiel Test-Driven Design: Ein einfaches Beispiel Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 2 Ziele Veranschaulichung der Technik des Test-Driven Design am Beispiel eines Programms

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

Mehr

Kapitel 2: Der Software-Entwicklungsprozess

Kapitel 2: Der Software-Entwicklungsprozess Wie konstruiert man Software? Kapitel 2: Der Software-Entwicklungsprozess SoPra 2008 Kap. 2: Der Software-Entwicklungsprozess (1/10) Der Software-Entwicklungs-Prozess Historisches 1960JJ adhoc Techniken

Mehr

Fortgeschrittenes Programmieren mit Java. Test Driven Development

Fortgeschrittenes Programmieren mit Java. Test Driven Development Fortgeschrittenes Programmieren mit Java Test Driven Development Test getriebene Programmierung Benedikt Boeck Hochschule für Angewandte Wissenschaften Hamburg 6. November 2009 B. Boeck (HAW Hamburg) Test

Mehr

3.4 Unified Process. 1999 Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process.

3.4 Unified Process. 1999 Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process. 1999 Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process. 1996 Philippe Kruchten: Rational Unified Process Produkt der Firma Seit 2002 Teil des IBM Konzerns Objektorientiertes

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Softwareentwicklungsprozess im Praktikum. 23. April 2015 Softwareentwicklungsprozess im Praktikum 23. April 2015 Agile Softwareentwicklung Eine agile Methodik stellt die beteiligten Menschen in den Mittelpunkt und versucht die Kommunikation und Zusammenarbeit

Mehr

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des

Mehr

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I)

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Historisch Kulturelle Informationsverarbeitung Hauptseminar: KLIPS 2.0 Dozent: Prof. Dr. Thaller Referent:

Mehr

Software Engineering Interaktionsdiagramme

Software Engineering Interaktionsdiagramme Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)

Mehr

Einführung in die Informatik Tools

Einführung in die Informatik Tools Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

Software-Entwicklung

Software-Entwicklung Software-Entwicklung SEP 96 Geschichte der Programmierung Aufgaben von, Anforderungen an Programme mit der Zeit verändert 1 Programmierung über Lochkarten z.b. für Rechenaufgaben 2 maschinennahe Programmierung

Mehr

Testen mit JUnit. Motivation

Testen mit JUnit. Motivation Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

IT-Projekt-Management

IT-Projekt-Management IT-Projekt-Management email: vuongtheanh@netscape.net http: www.dr-vuong.de 2005 by, Bielefeld Seite 1 Vorgehensmodell 2005 by, Bielefeld Seite 2 Was ist ein Vorgehensmodell? Strukturbeschreibung über

Mehr

Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient.

Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient. Beschreibung der Focus Methode Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient. 1. F = Failure / Finding An dieser Stelle wird der

Mehr

Umfrage zum Informationsbedarf im Requirements Engineering

Umfrage zum Informationsbedarf im Requirements Engineering Umfrage zum Informationsbedarf im Requirements Engineering Vielen Dank für Ihre Teilnahme an dieser Studie! Im Rahmen eines Forschungsprojektes an der Universität Hamburg und der TU Graz führen wir eine

Mehr

Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen.

Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen. Teil B: Erweiterungen Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen. Die folgenden Aufgaben und Ausführungen geben einige Hilfestellungen, welche (mindestens

Mehr

Software Systems Engineering

Software Systems Engineering Software : SoSe 08 Prof. Dr. Klaus Schmid Software Produktlinien Ein neues Programm soll erstellt werden. Das habe ich doch schon mal programmiert, oder? Alter Code passt aber nicht ganz! Wird passend

Mehr

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte

Mehr

Client-Server-Beziehungen

Client-Server-Beziehungen Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin Fragestellungen: Warum reicht das Lastenheft nicht aus? Was kann ich mit dem Lastenheft machen? Was unterscheidet das Pflichtenheft vom Lastenheft? Was gehört zum Auftragsumfang einer Individualsoftware?

Mehr

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität Marcus Winteroll oose GmbH Agenda I. Ziele und Zusammenarbeit II. Was wir vom agilen Vorgehen lernen

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Kapitelü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? Kapitelübersicht Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge Was bedeutet Objektorien+erung? ObjektorienCerte Analyse und Design die Objektmodellierung

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Einführung und Motivation

Einführung und Motivation Einführung und Motivation iks-thementag: Requirements Engineering 16.11.2010 Autor Carsten Schädel Motto Definiere oder Du wirst definiert. Seite 3 / 51 These Im Privatleben definiert jeder (seine) Anforderungen.

Mehr

Enterprise JavaBeans Überblick

Enterprise JavaBeans Überblick Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 2. Einführung Java EE 5 Plattform 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5.

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005 Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der

Mehr

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

Mehr

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung. StuPro-Seminar Dokumentation in der Software-Wartung StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung Folie 1/xx Software-Wartung: theoretisch Ausgangslage eigentlich simpel: fertige

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Vermeiden Sie es sich bei einer deutlich erfahreneren Person dranzuhängen, Sie sind persönlich verantwortlich für Ihren Lernerfolg. 1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich

Mehr

5.2 Neue Projekte erstellen

5.2 Neue Projekte erstellen 5.2 Neue Projekte erstellen Das Bearbeiten von bestehenden Projekten und Objekten ist ja nicht schlecht wie aber können Sie neue Objekte hinzufügen oder gar völlig neue Projekte erstellen? Die Antwort

Mehr

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum Taking RM Agile CLICK TO EDIT MASTER OPTION 1 Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum Click to edit Master subtitle style Christian Christophoridis Requirements Management

Mehr

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de Agiles Design Dr.-Ing. Uwe Doetzkies Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de startupcamp berlin 15.3.2013 Regionalgruppe Berlin/Brandenburg Arbeitskreis Freiberufler

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Lösungen zum Test objektorientierter Software

Lösungen zum Test objektorientierter Software Lösungen zum Test objektorientierter Software Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek Software Engineering 14. März 2013 HOM/FHTeL Lösungen zum Test objektorientierter Software

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Praktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle

Praktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle Diverse Grundlagen Dr. Karsten Tolle Vorgehensmodelle im Software Engineering Wasserfallmodell Rapid Prototyping Spiralmodell V-Modell Rational Unified Process extrem Programming Test Driven Development

Mehr

Beschreibung des MAP-Tools

Beschreibung des MAP-Tools 1. Funktionen des MAP-Tool 2. Aufbau des MAP-Tools 3. Arbeiten mit dem MAP-Tool Beschreibung MAP-Tool.doc Erstellt von Thomas Paral 1 Funktionen des MAP-Tool Die Hauptfunktion des MAP-Tools besteht darin,

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch. Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.pdf 2 Nach derbefragung aller Stakeholder und der Dokumentation

Mehr

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16 Probeklausur Lenz Belzner January 26, 2015 Lenz Belzner Probeklausur January 26, 2015 1 / 16 Definieren Sie Software Engineering in Abgrenzung zu Individual Programming. Ingenieursdisziplin professionelle

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: Informationssystemanalyse Problemstellung 2 1 Problemstellung Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: große Software-Systeme werden im Schnitt ein Jahr zu spät

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Übungsklausur vom 7. Dez. 2007

Übungsklausur vom 7. Dez. 2007 Übungsklausur vom 7. Dez. 2007 Ein Lösungsmuster Teilbereiche der Softwaretechnik Software Anforderungen Software Entwurf Software Konstruktion Software Test Software Wartung Software Konfigurationsmanagement

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010 1 von 6 Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010 ci solution GmbH 2010 Whitepaper Draft Anleitung Deutsch Verfasser: ci solution GmbH 2010 Manfred Büttner 16. September

Mehr

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch. Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.pdf Nachdem die Projekt-Vision und die Stakeholder bekannt sind,

Mehr

Die vorliegende Arbeitshilfe befasst sich mit den Anforderungen an qualitätsrelevante

Die vorliegende Arbeitshilfe befasst sich mit den Anforderungen an qualitätsrelevante ISO 9001:2015 Die vorliegende Arbeitshilfe befasst sich mit den Anforderungen an qualitätsrelevante Prozesse. Die ISO 9001 wurde grundlegend überarbeitet und modernisiert. Die neue Fassung ist seit dem

Mehr

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle IT-Basics 2 DI Gerhard Fließ Vorgehensmodelle Sichtbarkeit Die Sichtbarkeit von Membervariablen und Methoden können durch die folgenden Schlüsselworte geregelt werden: private nur in der eigenen Klasse

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Projektmanagement. Einleitung. Beginn. Was ist Projektmanagement? In dieser Dokumentation erfahren Sie Folgendes:

Projektmanagement. Einleitung. Beginn. Was ist Projektmanagement? In dieser Dokumentation erfahren Sie Folgendes: Projektmanagement Link http://promana.edulearning.at/projektleitung.html Einleitung Was ist Projektmanagement? In dieser Dokumentation erfahren Sie Folgendes: Definition des Begriffs Projekt" Kriterien

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007 Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Mehr

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung Anleitung zur Daten zur Datensicherung und Datenrücksicherung Datensicherung Es gibt drei Möglichkeiten der Datensicherung. Zwei davon sind in Ges eingebaut, die dritte ist eine manuelle Möglichkeit. In

Mehr

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009 Testen von Software Systemen Übung 02 SS 2009 Version: 1.0 09.06.2009 Komponententest Kunde: Dr. Reinhold Plösch Dr. Johannes Sametinger Kundenreferenz: 259.019 Team 19 Mitarbeiter: Christian Märzinger

Mehr

Speicher in der Cloud

Speicher in der Cloud Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG

Mehr

iloq Privus Bedienungsanleitung Schließanlagen Programmierung Version 1 - Copyright 2013

iloq Privus Bedienungsanleitung Schließanlagen Programmierung Version 1 - Copyright 2013 iloq Privus Schließanlagen Programmierung Version 1 - Copyright 2013 Kurth Electronic GmbH Kommunikations- & Sicherheitssysteme / Im Scherbental 5 / 72800 Eningen u. A. Tel: +49-7121-9755-0 / Fax: +49-7121-9755-56

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich

Mehr

Agile Software Development

Agile Software Development Dipl. Wirtsch. Ing. Alexander Werth Methoden der Softwareentwicklung 6-1 Agile Manifest Individuen und Interaktion statt Prozessen und Tools. Funktionierende Software statt umfangreicher Dokumentation.

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Jens Kohlmeyer 05. März 2007 Institut für Programmiermethodik und Compilerbau ActiveCharts Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Seite 2 Übersicht

Mehr

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg Herzlich willkommen Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg Heike Bickert Software-/Systemingenieurin, Bereich Quality Management Braunschweig // 17.11.2015 1 Agenda ICS AG Fragestellungen

Mehr

Agile Softwareprozess-Modelle

Agile Softwareprozess-Modelle Agile Softwareprozess-Modelle Steffen Pingel Regionale Fachgruppe IT-Projektmanagement 2003-07-03 Beweglich, Lebhaft, Wendig Was bedeutet Agil? Andere Bezeichnung: Leichtgewichtiger Prozess Manifesto for

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Abschnitt 16: Objektorientiertes Design

Abschnitt 16: Objektorientiertes Design Abschnitt 16: Objektorientiertes Design 16. Objektorientiertes Design 16 Objektorientiertes Design Informatik 2 (SS 07) 610 Software-Entwicklung Zur Software-Entwicklung existiert eine Vielfalt von Vorgehensweisen

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun Java Projekt Schiffe Versenken mit GUI 1. Über den Autor: Name: Marija Matejic Matrikelnummer: 9352571 E-mail: marijamatejic@yahoo.com

Mehr

Urlaubsregel in David

Urlaubsregel in David Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5

Mehr

Agile Software Verteilung

Agile Software Verteilung Agile Software Verteilung Vortrag: René Steg Steg IT-Engineering, Zürich (Schweiz) Gründe für Agile Software-Verteilung Wenn Sie Hunderte von Servern mit vielen Anwendungen betreiben Verteilte Anwendungen

Mehr

Herzlich Willkommen beim Webinar: Was verkaufen wir eigentlich?

Herzlich Willkommen beim Webinar: Was verkaufen wir eigentlich? Herzlich Willkommen beim Webinar: Was verkaufen wir eigentlich? Was verkaufen wir eigentlich? Provokativ gefragt! Ein Hotel Marketing Konzept Was ist das? Keine Webseite, kein SEO, kein Paket,. Was verkaufen

Mehr

WhiteStarUML Tutorial

WhiteStarUML Tutorial WhiteStarUML Tutorial Autor: Simon Balázs, BME IIT, 2015. Übersetzung: Kovács Márton, 2015. Installation Herunterladen und installieren Sie das WhiteStarUML: http://sourceforge.net/projects/whitestaruml/

Mehr

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel. EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG

Mehr

Integrierte und automatisierte GUI-Tests in Java

Integrierte und automatisierte GUI-Tests in Java Integrierte und automatisierte GUI-Tests in Java Gliederung Die Idee hinter GUI-Tests Herausforderungen und Probleme Techniken Jemmy-Framework Konzeptorientiertes Testen FIT (Framework for Integrated Tests)

Mehr

Vortrag von: Ilias Agorakis & Robert Roginer

Vortrag von: Ilias Agorakis & Robert Roginer MDA Model Driven Architecture Vortrag von: Ilias Agorakis & Robert Roginer Anwendungen der SWT - WS 08/09 Inhalt Was ist MDA? Object Management Group (OMG) Ziele Konzepte der MDA Werkzeuge Vor- und Nachteile

Mehr

Das Leitbild vom Verein WIR

Das Leitbild vom Verein WIR Das Leitbild vom Verein WIR Dieses Zeichen ist ein Gütesiegel. Texte mit diesem Gütesiegel sind leicht verständlich. Leicht Lesen gibt es in drei Stufen. B1: leicht verständlich A2: noch leichter verständlich

Mehr

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger Software Engineering (Übungsblatt 2) Sommersemester 2012, Dr. Andreas Metzger Übungsblatt-Themen: Prinzip, Technik, Methode und Werkzeug; Arten von Wartung; Modularität (Kohäsion/ Kopplung); Inkrementelle

Mehr

Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen. Wir bringen Qualität. Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen

Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen. Wir bringen Qualität. Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen Was bedeutet es, ein Redaktionssystem einzuführen? Vorgehensmodell für die Einführung eines Redaktionssystems Die Bedeutung Fast alle Arbeitsabläufe in der Abteilung werden sich verändern Die inhaltliche

Mehr

Wir erledigen alles sofort. Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind.

Wir erledigen alles sofort. Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind. Wir erledigen alles sofort Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind. agilecoach.de Marc Bless Agiler Coach agilecoach.de Frage Wer hat

Mehr

Studieren- Erklärungen und Tipps

Studieren- Erklärungen und Tipps Studieren- Erklärungen und Tipps Es gibt Berufe, die man nicht lernen kann, sondern für die man ein Studium machen muss. Das ist zum Beispiel so wenn man Arzt oder Lehrer werden möchte. Hat ihr Kind das

Mehr

ZENITY - Die Software für Ihre Unternehmens-Releaseplanung

ZENITY - Die Software für Ihre Unternehmens-Releaseplanung ZENITY - Die Software für Ihre Unternehmens-Releaseplanung RELEASEPLANUNG HEUTE Heutige Anwendungen in in Grossunternehmen sind sind keine keine alleinstehenden alleinstehenden Insel-Applikationen Insel-Applikationen

Mehr