Rückblick und Ausblick. 10. Februar 2015
|
|
- Edmund Haupt
- vor 8 Jahren
- Abrufe
Transkript
1 Rückblick und Ausblick 10. Februar 2015
2 Überblick Womit haben wir uns in der Einführung in die Softwaretechnik beschäftigt? Was haben wir gelernt? Was nicht? Wie wird das Software-Praktikum aussehen? Welche Themen der LV können in späteren Veranstaltungen vertieft werden? Softwarequalität Modellgetriebene Softwareentwicklung Software-Evolution Seminare Taentzer Einführung in die Softwaretechnik 437
3 Womit haben wir uns beschäftigt?...mit der systematischen Erstellung von großen Softwaresystemen. D.h. Softwareentwicklung in einem großen Team in einer bereits vorhandenen Softwarelandschaft in einer sich schnell ändernden Welt...mit der Beherschung von hoch komplexen Systemen: komplexe Anforderungen komplexe Systemstrukturen komplexes Verhalten komplexe Änderungen Taentzer Einführung in die Softwaretechnik 438
4 Techniken zur Beherrschung von Komplexität in der Softwareentwicklung Strukturierung des Entwicklungsprozesses Strukturierung von Anforderungen Modellierung von Softwaresystemen: abstrakte Sicht auf das zu erstellende System Visualisierung von Strukturen Best Practices für den Softwareentwurf Strukturiertes Testen Qualitätssicherung von Software Konfigurationsmanagement für Software Taentzer Einführung in die Softwaretechnik 439
5 Strukturierung des Entwicklungsprozesses Entwicklung vom Wasserfallmodell zu agiler Softwareentwicklung, speziell Extremes Programmieren: Von tätigkeitsorientierter Strukturierung eines Projekts zu anwendungsfallorientierter Strukturierung Menschen und Kooperation vor Werkzeugen und festen Prozessen Einführung von Iterationen: schnell zu funktionsfähiger Software Stärkere Begutachtung von einzelnen Arbeitsschritten Integrierter Qualitätssicherungsprozess Test-First-Ansatz Code Reviews und Refactoring System Requirements Validation Vorbereitung Software Requirements Validation Analyse (Anforderungsmodell) Design (Lösungsmodell) Preliminary Design Validation Detailed Design Validation Code and Debug Developm. Test nach [Boe81] Test (Evaluierung) Test and PreOperations Validation Test Operations + Maintenance Revalidation Implementierung (Lösung) Nachbereitung Taentzer Einführung in die Softwaretechnik 440
6 Diskussion These: Agile Softwareentwicklung hat Grenzen: Nicht jeder Auftraggeber ist in der Lage, permanent einen Ansprechpartner für das Entwicklungsteam zur Verfügung zu stellen. Meilensteine definieren und den Ansprechpartner nur zu den Meilensteinen zur Verfügung stellen. These: Paarprogrammierung bringt nichts. Die Qualifikation der beiden darf sich nicht zu sehr unterscheiden, sonst dominiert der erfahrene Entwickler den unerfahrenen. Ist die Qualifikation zu ähnlich, entstehen keine neuen Ideen und beide Entwickler neigen zu denselben Fehlern. Wenn sich die Qualifikationen gut ergänzen, kann Paarprogrammierung viel bringen. aus [PT07] Taentzer Einführung in die Softwaretechnik 441
7 Strukturierung der Anforderungen Vom Fließtext zur strukturierten Anforderungsbeschreibung Trennung von funktionalen und nichtfunktionalen Anforderungen Identifizierung von Anwendungsfällen Übersicht aller Anwendungsfälle in Diagrammen Strukturierte Beschreibung von Anwendungsfällen Erstes Analysemodell: Identifikation einer Klassenstruktur Verhaltensmodellierung u.a. in Aktivitätendiagrammen Leergut-Automat Benutzer Stück zurückgeben Bericht erstellen Stammdaten ändern Operator Taentzer Einführung in die Softwaretechnik 442
8 Diskussion These: Modellieren ist nur Zeitverschwendung. Haltung vieler Entwickler in kleineren Projekten, die Extreme Programming favorisieren. Der Softwareentwurf soll möglichst einfach sein, dazu braucht man kein Modell. In Modellen kann man die wesentlichen Strukturen komplexer Softwareprojekte erfassen und entwerfen. Die Entwicklung in einem größeren Team lässt sich durch Modelle unterstützen, da man sich auf einer abstrakteren Ebene austauschen kann. Taentzer Einführung in die Softwaretechnik 443
9 Modellierung von Softwaresystemen Abstrakte Sicht auf das zu erstellende System: Entwurf der wesentlichen Strukturen: Architektur: Komponenten und Schichten Objektstrukturen: Klassen und Beziehungen Visualisierung von Strukturen Best Practices für den Softwareentwurf: So einfach wie möglich, so kompliziert wie nötig. (Einstein) komponentenorientierter Entwurf: Teile und herrsche! Standardarchitekturen, wie z.b. die Schichtenarchitektur Trennung von Schnittstelle und Implementierung Verwendung von Entwurfsmustern (engl.: Design Patterns) Halte Entwurf und Anforderungsspezifikation konsistent zueinander. Taentzer Einführung in die Softwaretechnik 444
10 Diskussion These: Wenn in einem SW-Projekt modelliert wird, kann die Programmierung nach Indien ausgelagert werden. Der Kunde muss das Modell verstanden und so abgenommen haben. Dies ist bei umfangreichen Modellen nicht einfach. Wenn ein System sehr ausführlich und detailliert modelliert wurde, gibt es weniger Kommunikationsprobleme und die Programmierung kann ausgelagert werden. (Stichwort: Implementierungsmodelle) Taentzer Einführung in die Softwaretechnik 445
11 Strukturierte Implementierung Verwende Klassenbibliotheken soweit wie möglich. Z.B.: Das Java Collections Framework bietet effiziente Implementierungen von gängigen Datenstrukturen. Weitere Best Practices zur Implementierung: Entwickle den Code entlang der erstellten Modelle. Folge der modellierten Architektur Verwende bereits bestehenden Code soweit wie möglich. Schreibe weitgehend selbstdokumentierenden Code. Halte Modell und Code konsistent zueinander. Halte Programmierrichtlinien ein. Taentzer Einführung in die Softwaretechnik 446
12 Diskussion These: Eine Vererbungstiefe von 3 ist ideal. Tiefe 5 ist zu viel, Tiefe 0 zu wenig. Daly et.al. haben diese Zahlen in einem Experiment 1996 herausgefunden. Später haben Prechelt et.al. (2003) festgestellt, dass die Vererbungstiefe selbst kein wichtiger Faktor für bessere Code- Wartung ist. aus [PUPT03] Taentzer Einführung in die Softwaretechnik 447
13 Strukturiertes Testen Vom Ausprobieren zu automatischen Testfällen: Testgetriebene Entwicklung: Systematische Auflistung von Testfällen schon während der Anforderungserfassung Test-First-Ansatz: Erst Testen, dann Implementieren. Gut testbarer Systementwurf Parallele Paketstruktur im Testpaket Definition von automatisch ausführbaren Testfällen im Testpaket. Testen und Implementieren gehen Hand in Hand. Welche Softwarekomponenten lassen sich nicht gut automatisch testen? Taentzer Einführung in die Softwaretechnik 448
14 Diskussion These: Wenn testgetriebene Softwareentwicklung so cool ist, warum ist Code and Fix so populär? Die Entwickler und die Projektleiter kennen die testgetriebene Entwicklung nicht oder zu wenig. Häufig ist für das Schreiben von Testfällen keine Zeit eingeplant. Für Legacy Code ist es viel Aufwand, Testfälle einzuführen, da der Code meist nicht passend geschrieben ist. Wenn man Testfälle zu oft umstrukturieren muss, sind sie noch nicht gut entworfen. Taentzer Einführung in die Softwaretechnik 449
15 Qualitätssicherung von Software Von ein bisschen Testen zum Schluss zu einer integrierten Qualitätssicherung während der gesamten Entwicklung: Welche Qualitätskriterien sind für welche Software besonders relevant? Je früher ein Fehler gemacht wurde, desto aufwändiger wird seine Behebung. frühzeitige Qualitätssicherung Fehler, die nicht begangen wurden, müssen nicht korrigiert werden. maximal konstruktive Qualitätssicherung Quantitative Messungen können nur bedingt zu Aussagen über die Qualität herangezogen werden. Restrukturierungsphase nach jeder Iteration Validierung und Verifikation von besonders kritischen Komponenten Taentzer Einführung in die Softwaretechnik 450
16 Diskussion These: Wozu sollen wir ein Versionsverwaltungssystem benutzen, wenn wir sowieso jeden Tag zusammensitzen und entwickeln? Man kann jederzeit nachvollziehen, wer was geändert hat. Man kann Änderungen jederzeit rückgängig machen, falls die alte Version doch besser war. Man braucht nicht Kopien von Kopien von Kopien anlegen. Taentzer Einführung in die Softwaretechnik 451
17 Konfigurationsmanagement für Software Von Einzelprojekten zu kontinuierlicher Entwicklung von interagierenden Softwaresystemen: Software-Artefakte sind ständigen Änderungen unterworfen, die dokumentiert werden sollen. Versionsverwaltungssysteme bieten Unterstützung für verteiltes Arbeiten. Optimistische Arbeitsweise ist effizienter. Konsistente Konfigurationen durch die Versionierung von Ordnern UND Dateien aus ProGit Taentzer Einführung in die Softwaretechnik 452
18 Weitere Lehrveranstaltungen zur Softwaretechnik 4. Semester: Software-Praktikum, 6 SWS, 8 ETCS 5. und 6. Semester (oder später): Modellgetriebene Softwareentwicklung, 6 SWS, 9 ETCS Softwarequalität, 4 SWS, 6 ETCS Web Engineering, 6 SWS, 9 ETCS Seminare zu aktuellen Themen, wie z.b.: Software-Refactoring Design Patterns Empirical Software Engineering Taentzer Einführung in die Softwaretechnik 453
19 Ziel des Software-Praktikums Praktische Erfahrungen in der Erstellung eines größeren Softwaresystems Einarbeitung in vorhandene Software, speziell Bibliotheken und Frameworks Einhaltung eines iterativen Softwareentwicklungsprozesses Erfahrung in der Anwendung von grundlegenden Qualitätssicherungsmaßnahmen Anwendung von modernen Softwareentwicklungswerkzeugen Durchführung von Konfigurationsmanagement (Versionsverwaltung) Praktische Erfahrungen in Teamarbeit Gute Programmierkenntnisse und Kenntnisse aus dieser Lehrveranstaltung werden vorausgesetzt! Taentzer Einführung in die Softwaretechnik 454
20 Wie wird das Praktikum durchgeführt? Agile Softwareentwicklung kleine Zyklen, schnelle Erfolge viele Testphasen mehrere Meilensteine während des Semesters Gruppenarbeit: Gruppengröße: 4 Studierende Jede Gruppe hat dieselben Aufgaben. Paarprogrammierung Qualität vor Quantität Testen ist wichtig! Anwendung weiterer Qualitätssicherungsmaßnahmen Taentzer Einführung in die Softwaretechnik 455
21 Modellgetriebene Softwareentwicklung Vorbereitung Nachbereitung Analyse (Anforderungsmodell) Test (Evaluierung) Design (Lösungsmodell) Implementierung (Lösung) textuell oder visuell Codegenerierung textuell Taentzer Einführung in die Softwaretechnik 456
22 Modellgetriebene Softwareentwicklung Das Modell wird das zentrale Software-Artefakt im Projekt. Die Softwareentwicklung findet auf einer höheren Abstraktionsebene statt. Die Softwareentwicklung wird erheblich schneller. Die Komplexität kann besser gemeistert werden. Die generierte Software ist meist von guter Qualität. Die Entwickler brauchen weniger Wissen über die benutzten Technologien. Sie nutzen eine Infrastruktur, mindestens aus einer Modellierungssprache und einem Codegenerator besteht. Nicht jede Software kann modellgetrieben entwickelt werden. Beispiele für unterstützte Domänen: Datenintensive, servicebasierte (Web-)Anwendungen, mobile Anwendungen, graphische Editoren, eingebettete Systeme Wesentliche Technologie: Eclipse Modeling Framework Taentzer Einführung in die Softwaretechnik 457
23 Softwarequalität Softwarequalität hat viele Facetten. Wir unterscheiden syntax- und semantikorientierte Qualitätssicherungsmaßnahmen. syntaktische: Softwaremetriken, Entwicklungsrichtlinien, Bad Code Smell und Refactoring, Design Patterns semantische: Testverfahren und Profiling, Validations- und Verifikationstechniken Integrierte Qualitätssicherung Werkzeuge zur Qualitätssicherung Taentzer Einführung in die Softwaretechnik 458
24 Software-Evolution Softwaresystem werden immer langlebiger. Das Verhältnis zwischen Neu- und Weiterentwicklung von Software verlagert sich zunehmend. Es ist schwierig, sich in eine komplexe, unbekannte Software einzuarbeiten. Die LV vermittelt Techniken und Methoden, um Software systematisch zu verstehen und zu ändern. Die LV ist projektnah: Eine bereits seit längerem existierende Open- Source Software wird erweitert. Zu dieser Software existiert eine Entwicklungshistorie. [Demeyer, Ducasse, Nierstrasz] Taentzer Einführung in die Softwaretechnik 459
25 Referenzierte Literatur [PT07] Padberg, Tichy: Schlanke Produktionsweisen in der modernen Softwareentwicklung, Wirtschaftsinformatik 3/ [PT07a] Padberg, Tichy: Empirical Methods in Software Engineering Research, ICSE [PUPT03] L. Prechelt, B. Unger, M. Philippsen, W. Tichy: A Controlled Experiment on Inheritance Depth as a Cost Factor for Code Maintainability, Journal of Sytems and Software 65(2), Taentzer Einführung in die Softwaretechnik 460
Softwareentwicklungsprozesse. 18. Oktober 2012
Softwareentwicklungsprozesse 18. Oktober 2012 Überblick Was soll ein Softwareentwicklungsprozess leisten? Überblick über Softwareentwicklungsprozesse Welche gibt es? Warum gibt es mehrere? Diskussion:
MehrSoftwareentwicklungsprozess 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
MehrSoftwarequalität: Zusammenfassung und Ausblick. 17. Juli 2013
Softwarequalität: Zusammenfassung und Ausblick 17. Juli 2013 Überblick Rückblick: Qualitätskriterien Qualitätsmanagement Qualitätssicherungsmaßnahmen Thesen zur Softwarequalität Ausblick: Lehrveranstaltungen
MehrSoftware-Praktikum. Gabriele Taentzer Philipps-Universität Marburg Sommersemester 2013
Software-Praktikum Gabriele Taentzer Philipps-Universität Marburg Sommersemester 2013 Überblick Was ist das Ziel des Praktikums? Wie wird das Praktikum durchgeführt? Was wird bewertet? Welchen Softwareentwicklungsprozess
MehrSoftware-Praktikum. Gabriele Taentzer Philipps-Universität Marburg Sommersemester 2015
Software-Praktikum Gabriele Taentzer Philipps-Universität Marburg Sommersemester 2015 Überblick Was ist das Ziel des Praktikums? Wie wird das Praktikum durchgeführt? Was wird bewertet? Taentzer Software-Praktikum
MehrEinführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012
Einführung in modellgetriebene Softwareentwicklung 24. Oktober 2012 Überblick Was sind die Grundprinzipien der modellgetriebenen Softwareentwicklung? Entwicklung einer MDD-Infrastruktur Modellgetriebene
MehrAgile 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
MehrNeue Funktionen in Innovator 11 R5
Neue Funktionen in Innovator 11 R5 Innovator for Enterprise Architects, Java Harvester und Prüfassistent 12.11.2013 Agenda 1 2 3 Einführung Was ist neu in Innovator 11 R5? Szenario Enterprise Architektur
MehrEinfü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.
MehrSoftware 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
MehrDiplomarbeit. 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
MehrEinführung in die Modellierung
Einführung in die Modellierung Christian Huemer Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology Favoritenstraße 9-11/188-3, 1040 Vienna,
MehrÜ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
MehrSoftware Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003
Software Engineering Softwaretechnik Softwaretechnologie, Software Engineering (engl.) das, -, Teilgebiet der Informatik, das sich mit Methoden und Werkzeugen für das ingenieurmäßige Entwerfen, Herstellen
MehrVgl. 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,
MehrKonsolidierung und Neuimplementierung von VIT. Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt
Konsolidierung und Neuimplementierung von VIT Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt Inhaltsverzeichnis 1 Was ist der Kontext?... 1 2 VIT: Ein sehr erfolgreiches
MehrStuPro-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
MehrSoftwarequalität: Einführung. 15. April 2015
Softwarequalität: Einführung 15. April 2015 Überblick Warum ist Softwarequalität wichtig? Was ist Softwarequalität? Wie erreicht man Softwarequalität? Taentzer Softwarequalität 2015 8 Berühmte Software-Fehler
MehrSoftwaretechnik. Fomuso Ekellem WS 2011/12
WS 2011/12 Inhalt Projektvorstellung Übung 1 Wiederholung zusammengefasst Planungsphase Lernziele Ziele und Inhalt der Planungsphase Anlass und Aufgabestellung(Was ist dabei erförderlich) Requirement Engineering
MehrIndividuelle Erweiterung des generierten Codes. 16. Januar 2013
Individuelle Erweiterung des generierten Codes 16. Januar 2013 Überblick Welche Möglichkeiten zur individuellen Erweiterung von generiertem Code gibt es? Innerhalb eines Moduls (Klasse) Auf Modulebene
MehrInformationssystemanalyse Lebenszyklusmodelle 3 1. Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen:
Informationssystemanalyse Lebenszyklusmodelle 3 1 Aufgaben von Lebenszyklusmodellen Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen: Definition der Tätigkeiten im Entwicklungsprojekt Zusicherung
MehrVermeiden 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
MehrProbeklausur. 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
MehrCopyright 2014 Delta Software Technology GmbH. All Rights reserved.
Karlsruhe, 21. Mai 2014 Softwareentwicklung - Modellgetrieben und trotzdem agil Daniela Schilling Delta Software Technology GmbH The Perfect Way to Better Software Modellgetriebene Entwicklung Garant für
MehrRequirements-Traceability in der industriellen Praxis Ziele und Einsatz
Requirements-Traceability in der industriellen Praxis Ziele und Einsatz Forschungsprojekt gefördert von der Deutschen Forschungsgemeinschaft Elke Bouillon elke.bouillon@tu-ilmenau.de 04.12.2012 Seite 1
MehrSoftwaretests 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
MehrAgile 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
MehrAnwendungspraktikum 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
MehrKapitel 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
MehrVgl. 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
MehrDr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht
Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur UML-Klassendiagramme als Werkzeug im Unterricht Blitzlicht? In welcher Programmiersprache(n) unterrichten Sie?? In welchem Umfang unterrichten Sie Objektorientierung??
MehrDas 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?
MehrWirtschaftsinformatik I Teil 2. Sommersemester 2008. 1. Übung
Wirtschaftsinformatik I Teil 2 Sommersemester 2008 1. Übung Sarah Mund, Kirstin Simon, Markus Trierweiler, Christian Molitor, Jonathan Jäger, Björn Kirsten Aufgabenstellung Diskutieren Sie die Vor- und
Mehrextreme 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?
MehrMicrosoft SharePoint 2013 Designer
Microsoft SharePoint 2013 Designer Was ist SharePoint? SharePoint Designer 2013 Vorteile SharePoint Designer Funktionen.Net 4.0 Workflow Infrastruktur Integration von Stages Visuelle Designer Copy & Paste
MehrJava Entwicklung für Embedded Devices Best & Worst Practices!
Java Entwicklung für Embedded Devices! George Mesesan Microdoc GmbH Natürlich können wir dieses neue log4j Bundle auch auf dem Device verwenden. Ist doch alles Java. Java Micro Edition (ME) Java Standard
MehrBlock R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung
Block R (Rahmen): SE Aktivitäten 21.10.04 1 Vorlesung Methoden des Software Engineering Block R Rahmen Aktivitäten der Software-Entwicklung Martin Wirsing Einheit R.2, 21.10.2004 Block R (Rahmen): SE Aktivitäten
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++,
MehrHandbuch zum Excel Formular Editor
Handbuch zum Excel Formular Editor Mit diesem Programm können Sie die Zellen von ihrer Excel Datei automatisch befüllen lassen. Die Daten können aus der Coffee Datenbank, oder einer weiteren Excel Datendatei
MehrKlassenentwurf. 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
MehrObjektorientierte 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
MehrWarum 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
MehrInformationswirtschaft 2: Überblick
Informationswirtschaft 2: Überblick Wolfgang H. Janko, Michael Hahsler, Stefan Koch und Andreas Geyer-Schulz Deptartment of Information Systems and Operations WU-Wien Inhaltsverzeichnis 1. Literatur und
MehrSoftware Engineering. Fakultät Elektrotechnik Bachelor-Studiengänge, 4. Semester Prof. Dr.-Ing. Dagmar Meyer
Fakultät Elektrotechnik Bachelor-Studiengänge, 4. Semester Vorausgesetzte Kenntnisse Allgemeine Kenntnisse aus dem Bereich der Softwareentwicklung - Programmierkenntnisse (Java, C) - Beherrschung der notwendigen
MehrPraktikum 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
Mehrteischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep
teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep 1. Erstellen Sie ein neues Rechnungsformular Mit book n keep können Sie nun Ihre eigenen
MehrREQUIREMENTS ENGINEERING KONSTRUKTIVE QS REQUIREMENTS ENGINEERING 1
REQUIREMENTS ENGINEERING KONSTRUKTIVE QS REQUIREMENTS ENGINEERING 1 QUALITÄT FÜR SIE Qualität zeigt sich in Ergebnissen und Erfolgen. Sie hängt von der jeweiligen Problemstellung ab, deshalb sehen wir
MehrSoftwaretechnik (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
MehrPRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS 12. - Ohne Gewähr -
PRÜFUNG FÜR ELEKTROINGENIEURE Softwaretechnik I Musterlösung SS 12 - Ohne Gewähr - LfdNr. Thema Punkte Zeitbedarf in min 1 Analyse und Entwurf 15 30 2 Basistechniken und Test 15 30 3 Projektmanagement
MehrÜbung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter
Prof. Dr. Dr. h.c. Manfred Broy Sommersemester Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter Einführung in die Softwaretechnik Übung 6: Feinentwurf Aufgabe 17: Entwurfsmuster
MehrÜ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
MehrProzessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08
Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer
MehrDie Lernumgebung des Projekts Informationskompetenz
Beitrag für Bibliothek aktuell Die Lernumgebung des Projekts Informationskompetenz Von Sandra Merten Im Rahmen des Projekts Informationskompetenz wurde ein Musterkurs entwickelt, der den Lehrenden als
MehrSoftware Projekt 2 / Gruppe Knauth Lernziele:
Lernziele: Realisierung eines komplexen Software-Projektes unter Industrie-ähnlichen Bedingungen Organisiertes Arbeiten im Team Team Organisation: Rollen und Aufgaben der Team-Mitglieder bestimmen Spezifikation
MehrAgiles 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
MehrEvolutionsprozesse. Dr. Thorsten Arendt Marburg, 23. Oktober 2014
Evolutionsprozesse Dr. Thorsten Arendt Marburg, 23. Oktober 2014 Überblick Betrachtung der bekannten Softwareentwicklungsprozesse bezüglich Software-Evolution Evolutionsprozesse Techniken für Software-Evolution
MehrContent Management System mit INTREXX 2002.
Content Management System mit INTREXX 2002. Welche Vorteile hat ein CM-System mit INTREXX? Sie haben bereits INTREXX im Einsatz? Dann liegt es auf der Hand, dass Sie ein CM-System zur Pflege Ihrer Webseite,
MehrSoftware 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
MehrFree your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren.
Free your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren. 1 Automatische Verifikation von Anforderungen Dr. Guido Dischinger guido.dischinger@liantis.com
MehrGrundlagen 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
MehrAlgorithmen mit Python
Algorithmen mit Python Vorbesprechung zum Proseminar im Sommersemester 2009 http://www.python.org 1 Sie lernen in DAP Java und C/C++: 80% Syntax, 20% Algorithmen-Design Idee Schon ein einfaches Hello World
MehrStudienrichtung Eingebettete Systeme
Qualifikationsziel Eingebettete Systeme stellen ein äußerst wichtiges Anwendungsfeld der Methoden der Informatik dar. Unter einem eingebetteten System versteht man dabei ein (Mikro-) Computersystem, das
MehrKlausur Software-Engineering SS 2005 Iwanowski 23.08.2005
Klausur Software-Engineering SS 2005 Iwanowski 23.08.2005 Hinweise: Bearbeitungszeit: 90 Minuten Erlaubte Hilfsmittel: im Anhang, sonst keine Bitte notieren Sie Ihre Antworten ausschließlich auf dem Aufgabenblatt!
MehrQualitätserlebnis statt Qualitätssicherung. Eine Mehrfachfallstudie agiler Teams
Qualitätserlebnis statt Qualitätssicherung. Eine Mehrfachfallstudie agiler Teams 12.06.2014, Abschlussvortrag Masterarbeit Holger Schmeisky Die Forschungsfrage Wie und unter welchen Bedingungen funktioniert
MehrSCHULUNG MIT SYSTEM: E-LEARNING VON RAUM21
SCHULUNG MIT SYSTEM: E-LEARNING VON RAUM21 - Schulungskonzept - Moodle Das E-Learning System - Die E-Learning-Plattform von raum21 - Ansprechpartner D A S S C H U L U N G S K O N Z E P T V O N R A U M
MehrAgile 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.
MehrOutsourcing und Offshoring. Comelio und Offshoring/Outsourcing
Outsourcing und Offshoring Comelio und Offshoring/Outsourcing INHALT Outsourcing und Offshoring... 3 Comelio und Offshoring/Outsourcing... 4 Beauftragungsmodelle... 4 Projektleitung vor Ort und Software-Entwicklung
MehrSSI WHITE PAPER Design einer mobilen App in wenigen Stunden
Moderne Apps für Smartphones und Tablets lassen sich ohne großen Aufwand innerhalb von wenigen Stunden designen Kunde Branche Zur Firma Produkte Übersicht LFoundry S.r.l Herrngasse 379-381 84028 Landshut
MehrA Domain Specific Language for Project Execution Models
A Domain Specific Language for Project Execution Models Eugen Wachtel, Marco Kuhrmann, Georg Kalus Institut für Informatik Software & Systems Engineering Inhalt Einführung und Hintergrund Problembereiche
MehrDie Softwareentwicklungsphasen!
Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.
MehrUse Cases. Use Cases
Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben
MehrSEP 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
MehrStudie über Umfassendes Qualitätsmanagement ( TQM ) und Verbindung zum EFQM Excellence Modell
Studie über Umfassendes Qualitätsmanagement ( TQM ) und Verbindung zum EFQM Excellence Modell (Auszug) Im Rahmen des EU-Projekts AnaFact wurde diese Umfrage von Frauenhofer IAO im Frühjahr 1999 ausgewählten
MehrRequirements Engineering WS 11/12
Requirements Engineering WS 11/12 10. Übung am 03.02.2012 Agenda Besprechung Übungsblatt 10 (bis ca. 13:00) Fragen zur Altklausur Aufgabe 1 Auch van Lamsweerde hat, wie in Abbildung 1 skizziert, eine Taxonomie
MehrDie Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.
In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website
MehrIst Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers
Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,
MehrWir nehmen Aufgaben und Ideen wahr. Wir suchen Lösungen zu Ideen.
Prozesse und Software sind Schlüsselfaktoren, die Strategie eines Unternehmens erfolgreich umzusetzen. So liegt es im Interesse der Geschäftsleitung, die Auswahl und Einführung neuer Software für die neuen
MehrSome Software Engineering Principles
David L. Parnas: Some Software Engineering Principles Marco Oppel 30.06.2004 Seminar Software-Architektur Institut für Informatik Humboldt Universität zu Berlin 1 Problemstellung Software Engineering Multi-Personen
Mehr16 Architekturentwurf Einführung und Überblick
Teil III: Software-Architekturentwurf 16 Architekturentwurf Einführung und Überblick 16.1 Software entwerfen Warum? Beim Arbeiten im Kleinen nicht oder nur ansatzweise (Detailentwurf) Größere Software
Mehr4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:
4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie
MehrUmgang mit der Software ebuddy Ändern von IP Adresse, Firmware und erstellen von Backups von ewon Geräten.
ewon - Technical Note Nr. 001 Version 1.3 Umgang mit der Software ebuddy Ändern von IP Adresse, Firmware und erstellen von Backups von ewon Geräten. 19.10.2006/SI Übersicht: 1. Thema 2. Benötigte Komponenten
MehrSWE12 Übungen Software-Engineering
1 Übungen Software-Engineering Software-Qualitätssicherung / Software-Qualitätsmanagement 2 Aufgabe 1 Ordnen Sie die folgenden Zitate dem entsprechenden Ansatz zum Qualitätsbegriff zu und begründen Sie
MehrFachbericht zum Thema: Anforderungen an ein Datenbanksystem
Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank
MehrUniversität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Softwaretechnik I Wintersemester 2015 / 2016 www.ias.uni-stuttgart.de/st1 st1@ias.uni-stuttgart.de
MehrEmpirische Softwaretechnik Kosten und Nutzen von UML in der Wartung Dr. Victor Pankratius Andreas Höfer Wintersemester 2009/2010
Empirische Softwaretechnik Dr. Victor Pankratius Andreas Höfer Wintersemester 2009/2010 IPD Tichy, Fakultät für Informatik Pflichtlektüre hierzu: Dzidek, Arisholm, Briand, A Realistic Empirical Evaluation
MehrEclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps
Projekt: Intern Softwareprojekt FH Furtwangen Status: Draft Ersteller: Kai Grabfelder Datum: 11.02.2007 Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps 1 Beschreibung... 2 Semesterprojekt...
Mehragitat Werkzeuge kann man brauchen und missbrauchen - vom Einsatz von NLP in der Führung
agitat Werkzeuge kann man brauchen und missbrauchen - vom Einsatz von NLP in der Führung Der Inhalt dieses Vortrages Moderne Führungskräfte stehen vor der Herausforderung, ihr Unternehmen, ihre Mitarbeiter
Mehrvirtuos Leitfaden für die virtuelle Lehre
virtuos Zentrum zur Unterstützung virtueller Lehre der Universität Osnabrück virtuos Leitfaden für die virtuelle Lehre Zentrum virtuos Tel: 0541-969-6501 Email: kursmanager@uni-osnabrueck.de URL: www.virtuos.uni-osnabrueck.de
MehrLP (nach ECTS): 9. Sekr.: FR 5-14. Modulbeschreibung
Titel des Moduls: ETS Praxis Verantwortliche/-r für das Modul: Prof. Dr. Schieferdecker Sekr.: FR 5-14 LP (nach ECTS): 9 Modulbeschreibung Email: ina@cs.tu-berlin.de Kurzbezeichnung: MINF-KS-ETSPX.W10
MehrComparing Software Factories and Software Product Lines
Comparing Software Factories and Software Product Lines Martin Kleine kleine.martin@gmx.de Betreuer: Andreas Wuebbeke Agenda Motivation Zentrale Konzepte Software Produktlinien Software Factories Vergleich
MehrAnleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine
Seite 1 von 11 Anleitung Inhalt Inhalt... 1 1. Installation... 2 2. Setup... 2 2.1 Login... 2 2.2 Benutzer erstellen... 2 2.3 Projekt erstellen... 4 2.4 SVN/Git Integration... 6 2.4.1 Konfiguration für
MehrSPI-Seminar : Interview mit einem Softwaremanager
Erstellung eines Fragenkatalogs der die Beurteilung der Level 2 Key Process Areas in einem ca. einstündigen Interview mit einem Software Manager ermöglicht Vortrag von Matthias Weng 1 Aufbau Geschichte
MehrDer Kopf ist rund, damit das Denken die Richtung
Der Kopf ist rund, damit das Denken die Richtung Francis Picabia wechseln kann. Beste Perspektiven für Andersdenker. Erfolgreiche Unternehmen brauchen individuelle IT-Lösungen. Und dafür brauchen wir Sie.
MehrLeitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)
Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...
MehrFragebogen: Abschlussbefragung
Fragebogen: Abschlussbefragung Vielen Dank, dass Sie die Ameise - Schulung durchgeführt haben. Abschließend möchten wir Ihnen noch einige Fragen zu Ihrer subjektiven Einschätzung unseres Simulationssystems,
MehrKurzanleitung zu. von Daniel Jettka 18.11.2008
Kurzanleitung zu Tigris.org Open Source Software Engineering Tools von Daniel Jettka 18.11.2008 Inhaltsverzeichnis 1.Einführung...1 2.Das Projektarchivs...3 2.1.Anlegen des Projektarchivs...3 2.2.Organisation
MehrWSR 2004. Softwarewartung und Prozessmodelle in Theorie und Praxis. Urs Kuhlmann Andreas Winter
WSR 2004 Softwarewartung und Prozessmodelle in Theorie und Praxis Urs Kuhlmann Andreas Winter Universität Koblenz-Landau 1 Gliederung Wartungsbegriff Prozessmodelle Fallstudien Problembereiche Fazit 2
MehrFachdidaktik 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,
MehrWie richten Sie Ihr Web Paket bei Netpage24 ein
Wie richten Sie Ihr Web Paket bei Netpage24 ein Eine kostenlose ebook Anleitung von Netpage24 - Webseite Information 1 E-Mail Bestätigung... 3 2 Ticketsystem... 3 3 FTP Konto anlegen... 4 4 Datenbank anlegen...
MehrZusatzmodul Lagerverwaltung
P.A.P.A. die kaufmännische Softwarelösung Zusatzmodul Inhalt Einleitung... 2 Definieren der Lager... 3 Zuteilen des Lagerorts... 3 Einzelartikel... 4 Drucken... 4 Zusammenfassung... 5 Es gelten ausschließlich
Mehr