Objektorientierte Analyse und Design



Ähnliche Dokumente
Softwaretechnik (Medieninformatik) Überblick

Objektorientierte Analyse und Design

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

Kapitel 2: Der Software-Entwicklungsprozess

Objektorientierte Analyse und Design

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Softwaretechnik Überblick

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

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

Informatik. Kap 0 Organisation

Einführung in die Informatik II

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

Softwaretechnik (Allgemeine Informatik) Überblick

Liste Programmieren - Java

IT-Projekt-Management

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

Objektorientierte Analyse und Design

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

Systemdenken und Gestaltungsmethodik System-Modellierung

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

SMART Newsletter Education Solutions April 2015

PROFIS Software Lösungen

Software Engineering:

Programmieren. Kap 0 Organisation

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

Arbeiten mit UMLed und Delphi

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

TYPO3 Super Admin Handbuch

Projektmanagement in der Spieleentwicklung

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Robot Karol für Delphi

Präsentation Von Laura Baake und Janina Schwemer

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

Softwareentwicklung und Projektmanagement Teil 2: Objektorientierte Softwareentwicklung WS 05/06

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

Anleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Grundlagen der Informatik

Content Management System mit INTREXX 2002.

Leichte-Sprache-Bilder

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

Institut für Telematik Universität zu Lübeck. Programmieren. Kapitel 0: Organisatorisches. Wintersemester 2008/2009. Prof. Dr.

Software Engineering

Chemie für Studierende der Human- und Zahnmedizin FAQ

Leitfaden für die ersten Schritte im INIT-eCampus. mailto:

Anmeldung und Zugang zum Webinar des Deutschen Bibliotheksverbandes e.v. (dbv)

Dr. Günter Kniesel

Einführung in die Programmierung für NF

Produktvorstellung: CMS System / dynamische Webseiten. 1. Vorwort

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt

Professionelle Seminare im Bereich MS-Office

Leseprobe. Thomas Konert, Achim Schmidt. Design for Six Sigma umsetzen ISBN: Weitere Informationen oder Bestellungen unter

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

0. Wo finde ich detaillierte Informationen zum Fach Chemie für Human- und Zahnmediziner?

Installation und Inbetriebnahme von Microsoft Visual C Express

Wirtschaftsingenieurwesen (Informationstechnik) Modulname. Programmierung II / Software Engineering II Modulnummer

11. Handbuch Online-Tool Stufe II. Wie die Daten ins Online-Tool eingegeben werden.

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Objektorientierte Programmierung. Kapitel 0: Begrüssung

Software-Engineering Einführung

Erweiterung eines SMIL Players für die Darstellung von Transparenzen und SVG Inhalten

Lizenzen auschecken. Was ist zu tun?

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

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

Die Lernumgebung des Projekts Informationskompetenz

Praktische Informatik 1

Software-Praktikum. Gabriele Taentzer Philipps-Universität Marburg Sommersemester 2013

360 - Der Weg zum gläsernen Unternehmen mit QlikView am Beispiel Einkauf

Zertifikat in dakota einlesen Wie lese ich mein Zertifikat in dakota.le ein?

PC-Kaufmann 2014 Neues Buchungsjahr anlegen

Objektorientierte Analyse und Design

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

Statuten in leichter Sprache

[Customer Service by KCS.net] KEEPING CUSTOMERS SUCCESSFUL

Internationales Altkatholisches Laienforum

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

1 Mathematische Grundlagen

Erfahrungen mit Hartz IV- Empfängern

Prozessoptimierung. und. Prozessmanagement

SWE12 Übungen Software-Engineering

Konsolidierung und Neuimplementierung von VIT. Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System

SCHULUNG MIT SYSTEM: E-LEARNING VON RAUM21

Free your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren.

Konventionen. Danksagung

Internet Explorer Version 6

Verlängerung Ihrer ARCHICAD Seriennummer für ein Jahr

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Software Engineering Curriculum im Informatik-Bachelor- und -Master-Studium an der Universität Bonn

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

Teamentwicklung. Psychologische Unternehmensberatung Volker Rudat

Campus Management (CM)

Transkript:

Folien basieren auf folgendem Buch: Objektorientierte Analyse und Design Kernziele: Strukturen für erfolgreichen SW-Entwicklungsprozess kennen lernen Realisierung: Von der Anforderung zur Implementierung Grundkurs Software-Engineering mit UML Konzepte für die erfolgreiche Software- Entwicklung Bitte beachten Sie die Rechte des Verlages Vieweg+Teubner an der Buchinhalten und Bildern Diese Folien sind als Begleitfolien für das Buch konzipiert 1 2 Ablauf Verhaltenscodex 2h Vorlesung + 2h Praktikum = 5 CP Praktikum (2er Gruppen): 75% Anwesenheit = (Übungsblatt vorliegen + Lösungsversuche zum vorherigen Aufgabenblatt) 12-13 Übungsblätter mit jeweils 8 Punkten (Σ 100) Praktikum mit 75 oder mehr Punkten bestanden Vorlesung: mündliche Prüfung nach VL-Zeit Folienveranstaltungen sind schnell, bremsen Sie mit Fragen von Studierenden wird hoher Anteil an Eigenarbeit erwartet Melden Sie sich in Stud.IP an! Rechner sind zu Beginn der Veranstaltung aus Handys sind aus Wir sind pünktlich Es redet nur eine Person zur Zeit Sie haben die Folien zur Kommentierung in der Vorlesung vorliegen, ab Fr-Abend liegen Unterlagen im Netz (Ihre Aufgabe) http://www.edvsz.fh-osnabrueck.de/kleuker/index.html Probleme sofort melden Wer aussteigt teilt mit warum 3 4

Praktikum genauer Praktikumsaufgaben müssen jeweils als Ergebnisse im Praktikum der Folgewoche vorliegen; diese werden dort abgenommen Falls jemand nicht kommt, sind die Ergebnisse per E-Mail spätestens am Praktikumstag an den Praktikumsleiter zu schicken; werden in der Folgewoche abgenommen Aufgaben dürfen in Gruppen von maximal zwei Studierenden bearbeitet werden; jeder muss in der Lage sein, jedes Gruppenergebnis vorzustellen (gerade auch bei evtl. späteren Abnahmen) Treten ähnliche Ergebnisse bei mehr als einer Arbeitsgruppe auf, werden diese bei allen Arbeitsgruppen gestrichen Besorgen Sie sich ein Login für die Linux-Rechner des Labors Software-Technik: http://www.lbst.ecs.fh-osnabrueck.de/anmeldung Veranstaltung im Studienkontext + Sie können grundsätzlich imperativ Programmieren (C) + Sie haben Grundkenntnisse in der OO-Programmierung (C++, Java) + Sie arbeiten sich gerade in Datenbanken ein (Überschneidung bei Modellierung, Grundkenntnisse werden in der Mitte der Veranstaltung genutzt) = Sie können erfolgreich an dieser Veranstaltung teilnehmen + nächstes Semester: Veranstaltung Software-Engineering Projekt (Vorlesungsanteil zur Organisation von SW-Projekten in Unternehmen, großes Praktikumsprojekt, 10 CP) 5 6 weitere Literatur Werkzeuge Generell lesenswert: Mario Winter, Methodische objektorientierte Softwareentwicklung, dpunkt.verlag, Heidelberg Bernd Oestereich, Analyse und Design mit UML 2.1, 8. Auflage, Oldenbourg, München C. Rupp, S. Queins, B. Zengler, UML 2 glasklar, Hanser, München Wien Ian Sommerville, Software Engineering, 8. Auflage, Addison Wesley, Boston Spezialliteratur wird zum jeweiligen Kapitel genannt Benutzt wird Eclipse 3.4 mit einigen Erweiterungen und kleinen Macken SW von Web-Seite kopierbar Installation durch Auspacken; Plugins (Erweiterungen) sind bereits enthalten keine aktuelleren Versionen nutzen, da diese mit Plugins eventuell nicht zusammenpassen es gibt professionellere Werkzeuge, die aber nicht generell frei verfügbar sind (jedes Unternehmen kocht hier seinen eigenen Werkzeugbrei zusammen) 7 8

Inhaltsverzeichnis 1 Motivation von Software-Engineering 2 Prozessmodellierung 3 Vorgehensmodelle 4 Anforderungsanalyse 5 Grobdesign 6 Vom Klassendiagramm zum Programm 7 Konkretisierungen im Feindesign 8 Optimierung des Designmodells 9 Implementierungsaspekte 10 Oberflächengestaltung 11 Qualitätssicherung kurz, genauer nächstes Semester schon behandelt 12 Umfeld der Software-Entwicklung nächstes Semester 1. Motivation von Software- Engineering 9 10 Historie des SW-Engineering (1/4) Ende 60er Bedarf für Softwaretechnik neben der reinen Programmierung erstmals voll erkannt Vorher sind zahlreiche große Programmentwicklungen (möglich durch verbesserte Hardwareeigenschaften) gescheitert Arbeiten von Dijkstra 1968 (u.a. gegen Verwendung von GOTO) und Royce 1970 (Software-Lebenszyklus), Top-Down-Entwurf, graphische Veranschaulichungen (Nassi-Shneiderman Diagramme) Mitte 70er Top-Down-Entwurf für große Programme nicht ausreichend, zusätzlich Modularisierung erforderlich Entwicklung der Begriffe Abstrakter Datentyp, Datenkapselung und Information Hiding Historie des SW-Engineering (2/4) Ende 70er Bedarf für präzise Definition der Anforderungen an ein Softwaresystem, Entstehen von Vorgehensmodellen, z. B. Structured Analysis Design Technique (SADT) 80er Jahre Vom Compiler zur Entwicklungsumgebung (Editor, Compiler, Linker, symbolischer Debugger, Source Code Control Systems) Weiterentwicklung der Modularisierung und der Datenkapselung zur objektorientierten Programmierung 90er Jahre Objektorientierte Programmierung nimmt zu (wieder ausgehend von der Implementierung) Neue Programmiersprache Java (ab Mitte 80er C++) Anwendungs-Rahmenwerke (Application Frameworks) zur Vereinfachung von Design und vor allem Programmierung 11 12

Historie des SW-Engineering (3/4) 90er Jahre Geeignete Analyse- und Entwurfsmethoden entstehen (Coad/Yourdon, Rumbaugh, Booch, Jacobson und andere) 1995 Vereinigung mehrerer Ansätze zunächst als Unified Method (UM) von Booch und Rumbaugh, dann kommt Jacobson hinzu (Use Cases). 3 Amigos definieren die Unified Modeling Language (UML) als Quasi-Standard. 1997 UML in der Version 1.1 bei der OMG (Object Management Group) zur Standardisierung eingereicht und angenommen UML ist jedoch keine Entwicklungsmethode (Phasenmodell), nur eine Beschreibungssprache 1999 Entwicklungsmethode: Unified Process (UP) und Rational Unified Process (RUP) (erste Version) Historie des SW-Engineering (4/4) Heute Vorgehensweisen auf individuelle Projektanforderungen abgestimmt CASE-Methoden und Tools orientieren sich an der UML Aktueller Stand 2007: UML 2.1.1 Aufbauend auf Analyse und Design erzeugen Codegeneratoren Programmgerüste Haupttätigkeiten bei Softwareentwicklung sind Analyse und Design, vieles andere versucht man zu automatisieren (!?) 13 14 Warum scheitern SW-Projekte (kleine Auswahl) Die Software wurde wesentlich zu spät geliefert Die Software erfüllt nicht die Wünsche des Kunden Die Software läuft nicht auf den vereinbarten Rechnersystemen, sie ist zu langsam oder kommt mit dem Speicher nicht aus Die Software kann nicht erweitert werden oder mit anderer Software zusammenarbeiten Antworten des Software-Engineering 1967: Prägung des Begriffs Software-Krise Lösungsansätze: Programmiersprachen: kontinuierliche Einführung von Abstraktion (Datentypen, Funktionen, Modulen, Klassen, Bibliotheken, Frameworks) Dokumentation: Einheitliche Notationen für Entwicklungsergebnisse (UML) Entwicklungsprozesse: Aufgabenbeschreibungen, wann was wie gemacht wird Vorgehensmodelle: Entwicklung passt sich an Bedürfnisse des Kunden an 15 16

Definitionsversuch Software-Engineering Zusammenfassend kann man Software-Engineering als die Wissenschaft der systematischen Entwicklung von Software, beginnend bei den Anforderungen bis zur Abnahme des fertigen Produkts und der anschließenden Wartungsphase definieren. Es werden etablierte Lösungsansätze für Teilaufgaben vorgeschlagen, die häufig kombiniert mit neuen Technologien, vor Ihrer Umsetzung auf ihre Anwendbarkeit geprüft werden. Das zentrale Mittel zur Dokumentation von Software-Engineering- Ergebnissen sind UML-Diagramme. 17