Softwarepraktikum: Enigma



Ähnliche Dokumente
Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Java lernen mit BlueJ

RUP Analyse und Design: Überblick

Daniel Warneke Ein Vortrag im Rahmen des Proseminars Software Pioneers

4. AuD Tafelübung T-C3

Klassendiagramm. (class diagram)

WhiteStarUML Tutorial

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

Abschnitt 16: Objektorientiertes Design

UML Klassendiagramm. Igor Karlinskiy, Mikhail Gavrish

Softwareentwicklungspraktikum Sommersemester Feinentwurf

Unified Modeling Language (UML)

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 4 -

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

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

Klausur Software-Engineering SS 2005 Iwanowski

Objektorientierte Programmierung OOP

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

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

Klassendiagramm. Kurzer Überblick über UML - Stand BlaBla

a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. 1 zeigt eine mögliche Lösung. * * * Aufbau 1..

Programmieren in Java

2. Tutorium zu Softwaretechnik I

Produktskizze. 28. November 2005 Projektgruppe Syspect

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

Klausur Software Engineering für WI (EuI)

Softwareentwicklungspraktikum Sommersemester Grobentwurf

SWE5 Übungen zu Software-Engineering

4. Übung zu Software Engineering

FACHHOCHSCHULE MANNHEIM

Kapitel 2: Der Software-Entwicklungsprozess

GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.

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

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

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

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords

Grundkonstrukte der Objektorientierung in Java, C# und C++

Schulcurriculum Informationstechnische Grundkenntnisse und Informatik Stand:

PRÜFUNG. Grundlagen der Softwaretechnik

Dokumentation Schedulingverfahren

Kapitel 10: Dokumentation

Interprofessioneller Gesundheitskongress 09.April 2016 Dresden. Workshop Uhr Delegieren, Korrigieren, Motivieren

Übungsklausur vom 7. Dez. 2007

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

Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

Vorlesung Programmieren

Curriculum des Wahlfaches Informatik für das Gymnasium Dialog

Einfaches, integriertes Projektmanagement mit Standard-Tools effizient planen und umsetzen

Grundlagen Software Engineering

Software Engineering in der Praxis

BIF/SWE - Übungsbeispiel

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

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

Grundlagen der Softwaretechnik

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

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

Testklausur 1 zur Vorlesung. Modellierung und Programmierung I. Dr. Monika Meiler Zeit: 60 Minuten

Übungen zur Softwaretechnik

XML-Austauschformat für Sicherheitsdatenblätter

Grundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN

Übung bezeichnung titel thema Übungsgruppe gruppennr wochentag uhrzeit namementor vornamementor Student name vorname matrikelnr

Vorlesung Betriebstechnik/Netzplantechnik Operations Research

Musterfragen ALLGEMEINE Systemlehre

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

VBA-Programmierung: Zusammenfassung

MCRServlet Table of contents

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert.

Übung - Konfigurieren einer Windows 7-Firewall

Human-Computer-Interaction und Psychologie Aufgaben- und Kontextanalyse

SEA. Modellgetriebene Softwareentwicklung in der BA

Bildungsstandards konkret formulierte Lernergebnisse Kompetenzen innen bis zum Ende der 4. Schulstufe in Deutsch und Mathematik

2. Psychologische Fragen. Nicht genannt.

Vorgaben und Erläuterungen zu den XML-Schemata im Bahnstromnetz

Installation OMNIKEY 3121 USB

16 Architekturentwurf Einführung und Überblick

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

7. Analyse-Phase: Datenmodellierung Software Engineering

Objektorientierte Konzepte und Notation in UML. Objekt Klasse Attribut Operation

Erste Schritte ANLEITUNG Deutsche Sportausweis Vereinsverwaltung Schnittstelle zum Portal des Deutschen Sportausweises unter

Software Engineering Analyse und Analysemuster

JetSym. Programmierung in Hochsprache ST nach IEC We automate your success.

Informatik für Schüler, Foliensatz 21 Objektorientierte Programmierung

1 Informationelle Systeme begriffliche Abgrenzung

<thema> Projektdokumentation zum Softwareentwicklungsprojekt. (Entwicklerdokumentation) 28. Mai 2015

Technische Dokumentation SilentStatistikTool

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0

U08 Entwurfsmuster (II)

Erlaubnisscheine bei der Instandhaltung

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Management-Tools Einführung und Übersicht

Lösungsvorschlag für Übungsblatt 6 Software Engineering 1 (WS 2012/13)

eridea AG Installation Eclipse V 1.4

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ

Flow Session zum Entdecken Deines idealen Lebensstils

Einsatz von UML und C++ am Beispiel einer Satelliten-Lageregelungssoftware

Software Engineering. 3. Analyse und Anforderungsmanagement

Generative Prozessmodelle Patrick Otto MDD Konferenz

Transkript:

Softwarepraktikum: Enigma Martin Steffen Sommersemester 2003

Abschnitt I Softwareentwurf

Bereiche der Softwareentwicklung 1 Softwareentwurf eigentliche Softwareentwicklung Projektmanagement Konfigurationsmanagement Qualitätssicherung... Hier: i.d.h. Softwareentwicklung 2

Projektphasen 1 Softwareentwurf 1. Analyse 2. Entwurf 3. Implementierung 4. Test 5. Inbetriebnahme 6. Wartung 3

Hilfsmittel für die SE 1 Softwareentwurf Methodologien und Verfahrensweisen Formalismen zur Beschreibung der Software, Design-Syntax, Visualisierungen Klassendiagramme Sequenzdiagramme... Entwicklungsumgebungen (IDE) emacs + jde together... Hier: Klassendiagramme in UML und together (später). 4

Abschnitt II Hinweise zum Entwurf

Klassen bilden eigenen, abgeschlossenen Verantwortlichkeitsbereich beschreiben Objekte (u.u. der realen Welt) schematisch fassen mehrfach und gemeinsam auftretende Daten zusammen können andere erweitern oder spezialisieren/generalisieren (Vererbung) stehen miteinander in Beziehung (Assoziationen) 6

Klassen Wichtig: suggestive Bezeichnungen eine feste natürliche Sprache (z.b. durchgängig Deutsch) Namen und Kodekonventionen einhalten: Klassennamen beginnen mit Großbuchstaben, Wortgliederung durch Großbuchstaben... 7

Klassen: Checkliste Werden mehrere Objekte einer Klasse erzeugt? Fassen Objekte Daten und Operationen zusammen? Gibt es sinnvolle Beziehungen zwischen den Klassen? alle Methoden notwendig? Sinnvolle Abstraktionen? Balance zwischen Allgemeinheit, Erweiterbarkeit etc. vs. kronkreter Umsetzung, Effizients... Schnittstellen zu öffentlich? 8

Klassifizierung von Klassen entity: Sachverhalt oder Gegenstand control: Ablauf, Steuerungs- oder Berechnungsvorgang abstract: ohne Instanzen interface: abstrakte Schnittstelle, zur logischen Strukturierung boundary: konkrete Schnittstelle, durch Objekt(e) realisiert primitive: Standardklassen, Klassen kleiner Objekte enumeration: Aufzählungen, Wertemengen structure, type,... 9

Assoziationen Charakteristika Bedeutung Anzahlen der in Relation stehenden Elemente Richtung der Assoziation Spezialformen Aggregation: ist Bestandteil von Komposition: ist abhängiger Bestandteil von 10

Attribute Eigenschaften/Zustand von Objekten Wichtig: Kapseln: nicht-statische Attribute private Methoden statt abgeleiteter Attribute verwenden Namenskonventionen einhalten final-static-attribute vollständig in Großbuchstaben, Wortgliederung durch Unterstrich (z.b. ANZAHL WALZEN) alle anderen beginnen mit einem Kleinbuchstaben, Wortgliederung durch Großbuchstaben (z.b. laengeklartext) 11

Methoden Operationen auf Objekten. geeignete Abstraktionen bilden (interfaces, Sichtbarkeitsstufen) get- und set-methoden kritisch durchsehen Namenskonventionen: Imperativ, beginnend mit Kleinbuchstaben, Wortgliederung durch Großbuchstaben (z.b. tudiesundjenes()) 12

Allgemeine Bemerkungen auf Lesbarkeit achten angemessene Dokumentation, javadoc auf Wiederverwendbarkeit achten durch Pakete strukturieren, Ausgangspunkt: Gruppe x Paket enigma<x> Makefiles bereitstellen 13

Entwicklungsumgebungen was können sie: navigieren, visualisieren, Syntaxhighlight : Spezialeditor auf Fehler hinweisen kennen sich in der Java-Bibliothek aus, kennen Standardsituationen 1 stub-code, Tests generieren, Debuggen allgemein: den Tippen-Speichern-Syntaxfehlersuchen-ändern-... Zyklus verwalten Projekte organisieren unterstutzen eines Entwurfsmodells, Design, Designnotation (UML) unterstutzen CVS Refactoring Doku-Generierung... 1 Designpatterns 14

Entwicklungsumgebungen (II) was könnte problematisch sein: erfordern Einarbeitung/Gewöhnung sind eifersüchtig, inkompatible zwingen einem evtl. eine bestimmte Vorgehensweise auf machen Dinge hinter dem Rücken des Benutzers sind speicherintensiv Bei uns installiert (siehe den Java-account) JDE java development for emacs BlueJ: für Einsteiger, nicht industrial-strength (together) Forte/Sun One Studio 15

16

17

18

Klassendiagramme in UML-Notation Siehe den Merkzettel. http://www.software-technik.de/microsoft/uml/umschlag.pdf 19