FACHHOCHSCHULE MANNHEIM



Ähnliche Dokumente
Abschnitt 16: Objektorientiertes Design

Angepasste Software Standards für DLR- Eigenentwicklungen - Die DLR Software Basisstandards -

Kapitel 2: Der Software-Entwicklungsprozess

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Software Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?

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

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

Grundlagen Software Engineering

Software Engineering

Hochschule Darmstadt Fachbereich Informatik. Softwaretechnik II. 4.1 Darstellung der Architektur

Einführung in Generatives Programmieren. Bastian Molkenthin

BIF/SWE - Übungsbeispiel

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

Kreativität und Qualitätsentwicklung. Prof. Dr. Daniela Braun, Institut für Forschung und Weiterbildung, HS Koblenz

Generative Prozessmodelle Patrick Otto MDD Konferenz

Einführung in die Modellierung

INNOVATOR im Entwicklungsprozess

Projektmanagementsoftware: Standard vs. Individual

17 Architekturentwurf Vorgehen und Dokumentation

Wiederverwendung von automotive Software- Reifegradmodell, Technologie, Praxisbericht

Planung. Visualisierung. Programmierung

Informationssystemanalyse Lebenszyklusmodelle 3 1. Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen:

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

Der Rational Unified Process

Die Softwareentwicklungsphasen!

[Customer Service by KCS.net] KEEPING CUSTOMERS SUCCESSFUL

Übungsaufgaben zum Software Engineering: Management

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Liste Programmieren - Java

Erfahrungen mit Hartz IV- Empfängern

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

Software Engineering. Fakultät Elektrotechnik Bachelor-Studiengänge, 4. Semester Prof. Dr.-Ing. Dagmar Meyer

Filemaker Module. Einführung in die Vorteile modularer Filemaker Programmierung. Karsten Risseeuw, Kursiv Software

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I

Daniel Warneke Ein Vortrag im Rahmen des Proseminars Software Pioneers

Softwareentwicklung aus Sicht des Gehirns

Worum geht es in diesem Projekt?

Software-Engineering

Wie ist das Wissen von Jugendlichen über Verhütungsmethoden?

Grundwissen IT 10. Klasse

Visuelle DSLs Trends in der Softwaretechnik: Domänenspezifische Sprachen (Seminar WS 2010/11) Thorsten Arendt

Anhang. 3. Was denken Sie: An wen richtet sich das Lernprogramm für Psycholinguistik? zu nicht nicht zu

ÜBUNG. Einführung in das IT- Projektmanagement WS 2012/13. Dr. The Anh Vuong

Vorstellung. Wie entsteht Architektur in Scrum

ELitE Bestell- und Lieferplattform für Informationen & Literatur

Checkliste. zur Gesprächsvorbereitung Mitarbeitergespräch. Aktivität / Frage Handlungsbedarf erledigt

IT-SICHERHEIT IM UNTERNEHMEN Mehr Sicherheit für Ihre Entscheidung

CAE-Simulation für den Maschinenbau

Neue Funktionen in Innovator 11 R5

Wärmebildkamera. Arbeitszeit: 15 Minuten

Konzentration auf das. Wesentliche.

Generatives Programmieren

Objektorientierte Programmierung OOP

Transfer von Prozessen des Software-Produktlinien Engineering in die Elektrik/Elektronik- Architekturentwicklung von Fahrzeugen

Unterschiede zur Klassischen Software-Entwicklung. SPL versus klassische SE Tim Serowski 1

Benötigen wir einen Certified Maintainer?

Programmieren in Haskell Einführung

Software Systems Engineering

T1 - Fundamentaler Testprozess

Schüler-E-Tutorial für mobile Endgeräte. Ein Folgeprojekt des Netzwerks Informationskompetenz Berlin/Brandenburg mit der HdM

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

Softwarepraktikum: Enigma

Entwicklung und Stärkung der persönlichen Kompetenzen!

SEA. Modellgetriebene Softwareentwicklung in der BA

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

RUP Analyse und Design: Überblick

Kapitel 10: Dokumentation

Produktvorstellung: CMS System / dynamische Webseiten. 1. Vorwort

Heinrich Thomsen Dipl. Psychologe und Psychotherapeut. Karlstr Itzehoe

Commerce-Anwendungen. Entwicklung von E- Prof. Dr. Susann Kowalski

Informationswirtschaft II Rational Unified Process (RUP)

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps

Informationswirtschaft II

Liebe Interessierte an technischen Lösungen für die Sicherheit zu Hause,

Professionelle Seminare im Bereich MS-Office

Qualitätsmanagement im Projekt

9.6 Korrekturmaßnahmen, Qualitätsverbesserung

dspace bildet aus! Ausbildung zum Fachinformatiker Anwendungsentwicklung (w/m)

Vorlesung Embedded Software-Engineering im Bereich Automotive

Der Kopf ist rund, damit das Denken die Richtung

Funktionelle Präsentationen. Demonstrationsmodelle für industrielle Ausstellungen, Vorführungen, Messen und Events

EPK Ereignisgesteuerte Prozesskette

Professionelle Dokumentation für professionelle Produkte

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach

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

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

1. Was ist das überhaupt eine elektronische Plantafel? 2. WARUM in eine elektronische Plantafel investieren?

KILL PHOTOSHOP. Gestaltung im Browser mit Contao

Telekom Kinderschutz-Browser Surfgarten Produktinformationen. Münster, , Thomas Jung

Gezielt über Folien hinweg springen

Robert Hartmann Public v1.0 (Feb 2015) Architektur & Agilität - Praxisbericht

PRAKTIKUMSBERICHT. AMCON GmbH Osterstraße Cloppenburg

Erstellen eigener HTML Seiten auf ewon

ZENITY - Die Software für Ihre Unternehmens-Releaseplanung

Arbeit zur Lebens-Geschichte mit Menschen mit Behinderung Ein Papier des Bundesverbands evangelische Behindertenhilfe e.v.

Ein unverzichtbarer Helfer für den Heizwerksbetrieb!

Was macht Layer2 eigentlich? Erfahren Sie hier ein wenig mehr über uns.

Software Engineering Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen

Markup-basiertes Spezifikationsund Anforderungsmanagement in agilen Softwareprojekten

Transkript:

Objektorientierte Programmierung 1. Vorlesung Prof. Dr. Peter Knauber Email: P.Knauber@fh-mannheim.de FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Objektorientierung Was ist das? Warum braucht man das?, Folie 1

Zu meiner Person... Folie 2 Folie 3

Folie 4 Folie 5

Material zur Vorlesung Gibt es in Folienform, aber immer erst nach der Vorlesungsstunde! Grund: aktive Diskussion Viele Fragen sind unnötig / sinnlos, wenn auf der nächsten Folie (mögliche) Antworten stehen. Notizen / Kommentare während der Vorlesung können sich auf die jeweiligen Foliennummern beziehen. Beim Nachtragen der Notizen findet eine gewisse (Mindest-) Nachbereitung statt. Folie 6 The Big Picture: Warum ist Software-Entwicklung ein Thema? Folie 7

The Big Picture: Warum ist Software-Entwicklung ein Thema? Folie 8 The Big Picture: Warum ist Software-Entwicklung ein Thema? Folie 9

Phasen in der Automobil-Entwicklung Planung Entwicklung / Konstruktion Produktion Auslieferung Wartung Folie 10 Software-Entwicklung vs. Automobil-Entwicklung 1/3 Lebenszyklus im Automobilbau Planung Marktbedarf, Zielgruppe Aufwand, Kosten Preis Zeitpunkt der Auslieferung Lebenszyklus von Software Planung (Neue) Features Preis Zeitpunkt der Auslieferung Entwicklung / Konstruktion Technologie: was gibt es bereits, was muss entwickelt werden Wegwerf-Prototypen, Studien Design, Implementierung Anforderungen (genauer) Architektur / Design (meistens von Grund auf neu!) Evolutionäre Prototypen Codierung, Aufstocken der Prototypen Verallgemeinerte Codierung, Copy&Change Folie 11

Software-Entwicklung vs. Automobil-Entwicklung 2/3 Lebenszyklus im Automobilbau Produktion Just-In-Time-Produktion (verlässliche Zeitplanung) Montage aus (vormontierten) Komponenten Kundenspezifische Ausstattung Lebenszyklus von Software Produktion = Kopieren (auf CD oder Diskette) Last-Minute-Änderungen Folie 12 Software-Entwicklung vs. Automobil-Entwicklung 3/3 Lebenszyklus im Automobilbau Auslieferung Verschiffen etc., Händler Lebenszyklus von Software Auslieferung / Installation Verschicken, Upload Konfigurieren, Anpassen (Copy&Change) Wartung Regelmäßige Inspektion von Verschleißteilen Wartung Nachträgliche Änderungen, Anpassung, Weiterentwicklung Folie 13

Aufgaben für die Software-Entwicklung Mehr Aufwand in die Konzeption/Planung stecken und Verlässliche Schätzmodelle für Aufwand und Kosten entwickeln Auf erprobten und funktionierenden Lösungen (Konzepten) aufbauen: Architektur, Design Erprobte und funktionierende Komponenten wiederverwenden: Baugruppen, Komponenten, Module, Packages Bauklötze, Lego! Wiederverwendung Relation zur Objektorientierung: Die Objektorientierung enthält Konzepte, die als förderlich für Wiederverwendung angesehen werden Auf die Objektorientierung lassen sich relativ gut weiterführende Konzepte / Modelle aufbauen Folie 14 Folie 15

Folie 16 Objektorientierung was ist das? Ein Programmierstil Ein (neues) Programmier-Paradigma Ein (neues) Entwicklungs-Paradigma Eine realistische Darstellung der realen Welt Das Non-plus-Ultra der Computerprogrammierung Wieder mal eine neue Mode... Folie 17

Folie 18 Objektorientierung warum? Hoffnung auf besonders gutes Verhalten objektorientierter Programme Modularität Verständlichkeit ( das Programm ist die Dokumentation ) Wiederverwendbarkeit... Es gab Probleme mit früheren Programmierstilen dazu gleich mehr! Beispiele für frühere Programmierstile Imperative / strukturierte Programmierung Funktionale Programmierung Deklarative Programmierung Folie 19

Vorlesungsüberblick Objektorientierte Begriffe Objektorientierter Entwurf (Design) Eine Methode für die objektorientierte (und komponentenbasierte) Entwicklung von Software: KobrA UML Die KobrA-Modelle Objektorientierte Programmierung in Java Beispiele und Diskussion möglicher Lösungen Folie 20 Folie 21