Entwicklung Technischer Informationssysteme

Größe: px
Ab Seite anzeigen:

Download "Entwicklung Technischer Informationssysteme"

Transkript

1 Entwicklung Technischer Informationssysteme Vorlesungsskript (in Arbeit) von Georg Paul Martin Endig Magdeburg, den 1.Juni

2 Inhaltsverzeichnis 1 Einleitung Überblick zu betrieblichen Informationssystemen Informatik im Unternehmen (am Beispiel Maschinenbau) Entwicklungsstand im Diskursbereich Vorgehensweise bei der Entwicklung von Technischen Informationssystemen Vorgehensmodelle/Softwarelebenszyklus Software-Entwicklungssysteme (CASE, 4GL,...) Anwendungsentwicklung (Vorgehen) Analyse und Modellierung Anforderungen an die Entwicklung technischer Informationssysteme Analysemethoden und Werkzeuge Allgemeines Formen / Arten der Systemanalyse Objektorientierte Methoden und Werkzeuge UML- Unified Modeling Language Integrationsarchitekturen und Standards Integrationskonzepte Integrationsebenen Integrationstypen Kommunikationsmechanismen Verteilte Umgebungen Distributed Object Management Systems Die Integrationsarchitektur CORBA Die Integrationsarchitektur OLE CORBA und OLE: Ein Vergleich Weitere Standards Graphikstandards Datenaustausch-Schnittstellen Normen für Benutzungsschnittstellen Referenzmodelle Integrationsansatz der Magdeburger Schule Softwarearchitekturen Einführung Architekturmuster Formale Methoden und Spezifikationstechniken Architekturbeschreibungssprachen (ADL) Entwurfsmuster (Design Pattern) Definitionen Beispiele Frameworks Einführung Klassifikation von Frameworks Vorteile beim Einsatz und Beispiele Abbildungsverzeichnis Abbildung 1 Die einzelnen Produktionsbereiche...8 2

3 Abbildung 2: Einteilung der Entwicklungsschritte...11 Abbildung 3 Wasserfallmodell...13 Abbildung 4 V-Modell...14 Abbildung 5 Spiralmodell...15 Abbildung 6 Die funktionsorientierte Anwendungsentwicklung [14]...19 Abbildung 7 Die objekt- und datenorientierte Anwendungsentwicklung [14]...19 Abbildung 8 Die Schaffung eines betriebsbezognen Kollektivbewußtseins [14]...20 Abbildung 9 Kommunikationsprinzipien im Verlaufe der Zeit [14]...21 Abbildung 10 Kommunikationsprinzip solidarisch [14]...22 Abbildung 11 Problemlösungsprozeß...22 Abbildung 12 Vorgehensmodell nach [14]...23 Abbildung 13 Erfolgspotentiale im Produktentwicklungsprozeß [7]...25 Abbildung 14 Aufbau eines integrierten Ingenieursystems [7]...26 Abbildung 15 Forschungsgebiete für Rechnerunterstützte Ingenieursysteme [7]...27 Abbildung 16 Umfeld für CAE-Systeme...27 Abbildung 17 CAD-Referenzmodell [1]...28 Abbildung 18 Prozeß...30 Abbildung 19 Fluß...31 Abbildung 20 Speicher...31 Abbildung 21 Terminator...31 Abbildung 22 Datenflußdiagramm für eine Bank...31 Abbildung 23 Notation zum ERD...31 Abbildung 24 Notation STD...32 Abbildung 25 DFD und STD in Kombination...32 Abbildung 26 Historische Entwicklung der Programmiersprachen...35 Abbildung 27 Entwicklung der oo Softwareentwicklungsmethoden...35 Abbildung 28 Notation UML (Quelle: Oesterreich)...36 Abbildung 29 Klassendiagramm...36 Abbildung 30 Objektdiagramm...36 Abbildung 31 Anwendungsfalldiagramm...37 Abbildung 32 UML-Zustandsdiagramm...37 Abbildung 33 Sequenzdiagramm...37 Abbildung 34 Aktivitätendiagramm...38 Abbildung 35 Kollaborationsdiagramm...38 Abbildung 36 Komponentendiagramm...38 Abbildung 37 Einsatzdiagramm...38 Abbildung 38 Pakete, Notizen, Stereotype...39 Abbildung 39 Ergänzende Notationen...40 Abbildung 40 Assoziationen...41 Abbildung 41 Vererbung, abstrakte Klasse...42 Abbildung 42 Abhängigkeit...42 Abbildung 43 Computer als Teile-Ganzes-Beziehung...42 Abbildung 44 Einschränkung für eine Aggregation...43 Abbildung 45 Kompositum Tisch...43 Abbildung 46 Kontextdiagramm...43 Abbildung 47 Schnittstelle...44 Abbildung 48 Architektur...44 Abbildung 49 SWEP mit UML...44 Abbildung 50 Integrationsebenen nach [1]...45 Abbildung 51 : Integrationsebenen nach Österle [29 ]...46 Abbildung 52 Kopplung [1]

4 Abbildung 53: Kapselung [1]...48 Abbildung 54: direkte Integration [1]...48 Abbildung 55 Integrationsanforderungen [29]...48 Abbildung 56 Middleware als Softwareschicht [29]...49 Abbildung 57 Applikationsarchitektur [29]...50 Abbildung 58 Integrationsbeziehungen [29]...50 Abbildung 59 Middlewarekategorien [29]...50 Abbildung 60 Auftretensformen von Middleware [29]...51 Abbildung 61 Ebenen einer verteilten Umgebung [29]...51 Abbildung 62 Aufgaben des Systemmanagement [29]...52 Abbildung 63 Metamodell zur Kommunikation [29]...53 Abbildung 64 RPC...54 Abbildung 65 Message Queueing [29]...55 Abbildung 66 system [29]...55 Abbildung 67 CORBA [29]...56 Abbildung 68 Übersicht verteilte Umgebungen [29]...56 Abbildung 69 DCE [29]...57 Abbildung 70 TP-Monitor [29]...57 Abbildung 71 Komponenten von CORBA und OLE/COM [29]...58 Abbildung 72 Middleware für SAP/R3 [29]...58 Abbildung 73 Internetanwendung [30]...59 Abbildung 74 Integration über CGI...60 Abbildung 75 Integration über Java Applets...60 Abbildung 76 Integration über Web-Technologie...60 Abbildung 77 DOMS...62 Abbildung 78 Entwicklungswerkzeuge RPC-Verfahrens...63 Abbildung 79 Die Object Management Architecture...65 Abbildung 80 Erweiterungen des COM um Extensionen...65 Abbildung 81 Die Common Object Request Broker Architecture...66 Abbildung 82 Das Funktionsprinzip des Basic Object Adapters [10]...67 Abbildung 83 Interoperabilität zwischen ORBs in CORBA Abbildung 84 Kategorien der Common Facilities...72 Abbildung 85 Container-Dokument mit verschiedenen OLE-Objekten...74 Abbildung 86 Die Kernbereiche von OLE Abbildung 87 Client-Server-Beziehungen in der OLE-Terminologie...77 Abbildung 88 Die wichtigsten technologischen Bereiche von OLE2 [11]...78 Abbildung 89 Schichtweiser Aufbau der OLE-Architektur...79 Abbildung 90 OLE-Automation übernimmt die Funktionalität eines ORBs [11]...80 Abbildung 91 Broker-Architektur in Form eines OMT-Diagramms...82 Abbildung 92 OMT-Diagramm: CORBA Architektur...83 Abbildung 93OMT-Diagramm: Distributed OLE - Architektur...84 Abbildung 94 Funktionen der Produktdatenverarbeitung...90 Abbildung 95 Aufbau eines Anwendungsbeispieles...91 Abbildung 96 OSI- /-Schichtenmodell...92 Abbildung 97 Internetkommunikation...92 Abbildung 98 Aktivität-Material-Metapher...95 Abbildung 99 Primitive Komponente und Interaktor sowie komplexe Komponente [SATTLER98]...95 Abbildung 100 Integrationsprozeß mit TIL [SATTLER98]...96 Abbildung 101 Beispiel einer primitiven Komponente...97 Abbildung 102 Beispiel einer komplexen Komponente

5 Abbildung 103 Beispiel einer Konfiguration...97 Abbildung 104 Einordnung der Kompositionsdienste in eine Entwurfsumgebung...98 Abbildung 105 reflexive Systemarchitektur...99 Abbildung 106Architektur des Laufzeitsystems...99 Abbildung 107 PACO-Architektur Abbildung 108Aufteilung der Systemteile des Prototyps Abbildung 109 Prototyp Abbildung 110 Datenbankanwendung als Client-Server - Architektur Abbildung 111 Pipeline Abbildung 112 Datenabstraktion Abbildung 113 Unix-Betriebssystem Abbildung 114 Repository Abbildung 115 SimpleExample Abbildung 116 Komponente Abbildung 117zusammengesetzte Komponente Abbildung 118 Observer-Problem Abbildung 119Lösung Observer-Problem Abbildung 120 Document Editor-Problem Abbildung 121Lösung Document Editor-Proxy Abbildung 122 Bridge -Problem Abbildung 123Lösung Bridge Abbildung 124 Vergleich Abbildung 125 Klassenstruktur Abbildung 126 Applikationsstruktur

6 1 Einleitung 1.1 Überblick zu betrieblichen Informationssystemen Aufgaben (allgemein) [23]: Beschaffung, Erarbeitung, Aufbereitung, Speicherung und Bereitstellung von Informationen auf allen betrieblichen Ebenen Verwaltungsaufgaben (a) Datenpflege: insbesondere Daten, die sich kaum oder wenig ändern (Stammdaten) Kundendaten, Lieferantendaten, Betriebsmitteldaten, Kataloge für Normen, Standards u.ä. Hauptfunktionen dabei sind: ERFASSEN, ÄNDERN, LÖSCHEN, SPEICHERN, (b) Abwicklungsaufgaben: hauptsächlich geschäftliche Abläufe Auftragsabwicklung, Beschaffung von Angeboten, Ausführungen von Bestellungen, Reklamationen, usw. (c) Abrechnungsaufgaben: Lohn- und Gehaltsabrechnung, Kostenrechnung, Materialabrechnung,... (d) Buchhaltungsaufgaben (e) Zahlungsverkehr E-Commerce! Besondere Kennzeichen der Verwaltungsaufgaben: Es handelt sich dabei um eine Massendatenverarbeitung. Informationsaufgaben: (a) Informationsgewinnung: Gewinnung betriebsinterner Informationen Gewinne berechnen, Bilanzen, Betriebsdaten über einen verfahrenstechnischen Zustand Gewinnung betriebsexterner Informationen Personalmarkt, Absatz, Materialmarkt, Beschaffungsmarkt (b) Informationsbearbeitung: Aufbereitung von Informationen Auswahl und Strukturierung (Zuordnung) von Informationen Speicherung von Informationen (c) Informationsbereitstellung:... wird unterschieden nach: Informationsart : Berichte, Mitteilungen, Zeichnungen, u.ä. Datenträger : Papier, Dateien, Arbeitsplatz im Netz Bereitstellungsanlaß : Zeitpunkt, Aufforderung zu bestimmten Ereignissen Bereitstellungsart : Zustellung der Informationen über Mail oder News (abrufbar), Internet Planungsaufgaben: Hierbei werden der technische und der kaufmännische Bereich unterschieden. (a) technischer Bereich: Zeichnungen, Arbeitspläne, Qualitäts- und Prüfpläne, Stücklisten z.b. CAx-, EDM-/PDM-Systeme (Engineering-/Product Data Management) Verwendung von Produktstrukturen + Dokumente Ein Fahrrad besteht aus Rahmen, Räder, Lenker, Zubehör; ein Auto kann ein 6

7 LKW, PKW oder Bus sein. (b) kaufmännischer Bereich: Projektplanung, Terminplanung, Finanz- und Absatzplanung Dispositionsaufgaben: Dispositive Aufgaben können etwa wie folgt charakterisiert werden: Die Entscheidungserfordernisse sind vorhersehbar; sie sind häufig periodisch/wiederkehrend. Oft ist auf der Basis vorgegebener Anweisungen/Festlegungen zu entscheiden. Beispielhafte Dispositionsaufgaben sind die Materialdisposition, die Fertigungsdiposition oder eine Lieferantenauswahl. Steuerungsaufgaben: Steuern bedeutet (nach REFA): das Veranlassen, Überwachen und Sichern einer Auftragsabwicklung. Darunter fallen u.a. die Fertigungssteuerung (mit Maschinen-, Roboter-, Transportsteuerung), die Steuerung von Rechentechnik oder die Steuerung des Außendienstes. Kontrollaufgaben: Schwerpunkt ist das Ermitteln aktueller Ergebnisse. Hierbei wird u.a. ein Vergleich Soll-Ist vorgenommen, um z.b. das Einhalten gewünschter Vorgaben zu ermöglichen. Daneben sind jedoch auch weitergehende Funktionen zur Verfügung zu stellen, wie z.b. die Ermittlung von Abweichungsursachen sowie Maßnahmen zur Korrektur oder das Ändern von Sollwerten. 1.2 Informatik im Unternehmen (am Beispiel Maschinenbau) 7

8 (Kopie) Abbildung 1 Die einzelnen Produktionsbereiche Die Aufgaben der Informatik lassen sich traditionell nach betrieblichen Funktionen einteilen. Somit ergeben sich folgende Schwerpunkte: Unterstützung der Auftragsabwicklung, Materialwirtschaft, Produktion, Vertrieb, Rechnungswesen, Personalwesen. Diese einzelnen Hauptschwerpunkte gliedern sich wiederum in Teilschwerpunkte, auf die bereits in der Lehrveranstaltung Rechnerunterstützte Ingenieursysteme eingegangen worden ist. Zur tieferen Untersuchung wurden Teilbereiche aus dem Bereich PRODUKTION gewählt(vgl. Abb.1). Nach Taylor ( Anfang des 20. Jahrhunderts) kann dabei eine Arbeitsteilung in 8 Bereiche vorgenommen werden : Entwicklung- und Konstruktion Arbeitsplanung Betriebsmittelplanung Technischer Bereich Fertigung (Produktionsausführung) Produktionsplanung und -steuerung Qualitätssicherung Unternehmensplanung (nicht zu technischen Bereichen) Marketing/Vertrieb (nicht zu technischen Bereichen) 8

9 Für weitere Betrachtungen bilden im speziellen die produktionsvorbereitenden Bereiche sowie die dort unterstützende Systeme den Schwerpunkt. So stehen beispielhaft CAD/CAM-, CAP, EDM/PDM- und Workflow-Systeme und deren Integration im Vordergrund. Heutige Organisationsformen zur Produktion orientieren sich weniger an der Arbeitsteilung, denn an eindeutig ökonomischen Zielen. Dabei stehen Resourceneinsparung und Qualität im Vordergrund. Auch die Steigerung der Mitverantwortung der Mitarbeiter ist Schwerpunkt der Konzepte ( Total Quality Management, fraktale Fabrik, Lean Production...). 1.3 Entwicklungsstand im Diskursbereich EDM/PDM: (Engineering Data Management/Product Data Management) Diese Systeme erfüllen bereichsübergreifende Funktionen (innerhalb der Produktionsvorbereitung). ursprüngliches Ziel: Schaffung einer einheitlichen, unternehmensweiten, technischen DB (im Augenblick: vorrangig produktionsvorbereitende Bereiche) Produktdaten sind nach Anderl/Trippner [ANDTRI00] (Anderl/Trippner : STEP, Eine Eiführung in die Entwicklung..., Teubner Verlag Stuttgart Leipzig, 2000) 1. Daten zur Produktdefinition (administrative und organisatorische Produktdaten zur Identifikation, Klassifikation, Struktur, zu den Phasen des Lebenszyklus) 2. Daten zur Produktrepräsentation (z.b. Geometriedaten) 3. Daten zur Produktpräsentation ( Daten zur grafischen und textuellen Darstellung, z. B. VR-Daten) Als Basiswerkzeug dienen zumeist Relationale Datenbanksysteme. Beispiele (im Umfeld der Vorlesung): PDV (B.I.M. Consulting mbh Magdeburg); CADIM/EDB (Eigner) CAD/CAM-Systeme: Merkmale: 3D-Technik Parametrische Modellierung, history-based Design Arbeiten mit Konstruktionselementen (Featuretechnik) Sehr komplexe Systeme sind meist modular aufgebaut; sehr großer Funktionsumfang. Problem: viele geometrische Modellierer, viele Datenaustauschformate automatische Bemaßung, Freiformflächenmodellierer Zusatzfunktionalität zur Strukturverwaltung, Stücklistenerzeugung, Simulationsschnittstellen, NC- Programmierer Beispiele: Pro/Engineer, CATIA, Euclid, ICEM, Solid Designer, AutoCAD,CADDS,.. CAP-Systeme: Haben meist verwaltenden Charakter, sind weniger generierende Systeme. Oftmals dann auch Bestandteil von PPS-Systemen. Arbeitsplanung: meist intuitive, iterative Entscheidungen Eingangsdaten sind nicht in ausreichender Form verwendbar im Vergleich zu CAD-Systemen: weniger entwickelt, weniger eingesetzt Müssen auf Stammdaten zurückgreifen. Beinhalten - wenn generierend - einen Logikteil (auch wissensbasierend). Konzepte zur Planung und Steuerung Nach Schönsleben [SCHÖ99] gibt es unterschiedliche Ansichten über die Güte von verschiedenen Ansätzen und Konzepten zur Planung und Steuerung in der Produktionslogistik. 9

10 (Schönsleben: Konzepte zur Planung und Steuerung in der Unternehmenslogistik, PPS- Management 4 (1999)1, S ) Dabei haben sich 4 Klassen herausgebildet: MRPII/ERP-Konzept Just-in-time/Kanban-Konzepte Variantenorientierte Konzepte Verfahrensorientierte Konzepte. 1. MRPII-Konzept Stammt aus Amerika (1960er Jahre) und bedeutet Manufacturing Ressource Planning. Eine Vorstufe davon war MRP-Materials Requirements Planning. Die deutsche Umschreibung lautet PPS (Produktionsplanung und steuerung). Es ist für konvergierende Produktionsstrukturen gedacht ( Automobil-, Flugzeugbau,..) In der Absicht, alle Bereiche des Unternehmens zu umfassen, spricht man heute von Enterprise Ressource Plannning (ERP). 2. Just-in-Time- Konzept Stammt aus Japan (1970er Jahre) und hatte das Ziel der Verbesserung des Güterflusses.Lieferung hat Priorität. 3. Verfahrensorientierte Konzepte Stammen aus Europa (1970er Jahre) und unterstützen das Management zur Herstellung von Produkten, die quasi einer Produktfamilie zuzuordnen sind (Kleinserien, Einzelproduktion..). 4. Verfahrensorientierte Konzepte Stammen aus Nordamerika (1980er Jahre) und sind Konzepte für die Prozeßindustrie (Process Flow Scheduling). Diese Konzepte sind sowohl für die Massenproduktion als auch für die Prozeßindustrie, insbesondere die grundstoffverarbeitende Industrie angedacht. Data Warehousing [Matin98] (W. Martin (Hrsg.): Data Warehousing, Thomson Publishing Bonn, 1998) Unterstützen Geschäftsvorgänge im Unternehmen, um sein eigenes Produkt- oder Dienstleistungsportfolio im Wettbewerb zu positionieren. Sind mehr als ein Ersatz für ein Berichtswesen. (Macht aus Daten Informationen!) DataWarehousing macht aus Daten Informationen, die zu Wissen verarbeitet werden, um daraus Aktionen abzuleiten. OLAP (Online Analytical Processing) und Data Mining (Extraktion vorher nicht bekannter Informationen aus großen Datenmengen) sind dabei komplementäre Verfahren. Supply Chain Management - SCM [DANG99] (Dangelmeier u.a.: Produktions- und Supply-Chain-Management bei größeren Stückzahlen, PPS Management 4(1999) 1, S ) Ergänzt die bis heute vornehmlich auf die innerbetrieblichen Belange eines Unternehmens ausgerichteten Produktionsplanungs und steuerungssysteme (PPS) um die Kunden- Lieferanten-Problematik. Customer Relationship Management CRM Die Pflege der Kundenbeziehungen hat Priorität in diesem Anwendungsfeld. 2 Vorgehensweise bei der Entwicklung von Technischen Informationssystemen (Reiner Dumke: Software Engineering Vieweg Verlag Braunschweig, 2000 Max Vetter: Aufbau betrieblicher Informationssysteme Teubner Stuttgart 1998) 10

11 (Hinweis: Technische Informationssysteme = TIS) Ziel: ingenieurmäßige Entwicklung von Software im Bereich technischer Anwendungen (im Produktionsbereich) ein möglicher Ansatz strukturierter, objektorientierter methodischer Ansatz Systemgestaltung (Kopie) Abbildung 2: Einteilung der Entwicklungsschritte 2.1 Vorgehensmodelle/Softwarelebenszyklus (Hinweis: Quellen [12, 16, 26]) Softwarelebenszyklusmodell: abstrakte, modellhafte Vorstellung über die Strukturierung des SE-Prozess Phasen: (a) Requirement Analysis (Anforderungsanalyse), Problemdefinition * Zusammenstellen aller notwendigen Informationen über das Problemgebiet und das geplante System * spezielle Aufgaben der Anwender berücksichtigen (Lastenheft!) * Ergebnis: vollständige, konsistente Beschreibung; verständlich für Anwender und Entwickler (b) Systemspezifikation * Abgrenzung des Softwaresystems gegenüber der Umwelt * keine neuen Informationen, sondern Strukturierung und Formalisierung der Informationen *UML OMT, OOA (c) Architectual Design (Grobentwurf) * vom Entwickler durchgeführt *erstes Design auf einer abstrakten Ebene (unabhängig von der verwendeten Implementierungsplattform) (d) Detailed Design (Feinentwurf) * Anreicherung des Grobentwurfs um abstrakte Algorithmen und Datenstrukturen * unabhängig von Implementierungsplattform und Programmiersprachen * Hält sich strikt an Vorgaben der Phase c. (e) Implementation * Umsetzen des Design in ein physisch auf einem Rechner abarbeitbares Programm Programmiersprachen 11

12 (f) Maintenance / Evolution * Einsatz und Wartung des Systems (Beseitigung von Fehlern, Anpassung von Funktionen) (g) Archivieren, Vernichten Die Phasen (a) und (b) werden auch als Requirement Engineering und die Phasen (c) und (d) werden als Design Engineering bezeichnet. Vorgehensmodelle Anleitung zum Handeln Enthalten die einzelnen Arbeitsschritte innerhalb der Phase. Bedingungen der Aufeinanderfolge der Arbeitsschritte Es werden sequentielle und evolutionäre Lebenszyklusmodelle unterschieden. Beispiele für sequentielle Modelle: 12

13 (Kopie) Abbildung 3 Wasserfallmodell 13

14 (Kopie) Abbildung 4 V-Modell Ein evolutionäres Modell ist das Spiralmodell. 14

15 (Kopie) Abbildung 5 Spiralmodell Erläuterungen: V-Diagramm (sequentiell): *Zeigt die zeitliche Folge der Phasen. * Rechtecke stellen die Phasen dar; die Ovale enthalten Ergebnisse / Produkte. * Sogenannte "Baselines definieren jede Entwicklungsstufe des Produktes. * Sie enthalten Informationen, die das Produkt beschreiben. * Der Abschluß einer Stufe wird durch "Reviews bestimmt, wobei die Erfüllung der "Baselines kontrolliert wird. * Aus den entstandenen Zwischenprodukten werden "Baselines für die jeweils nächsten Entwicklungsstufen geformt. * Das V-Diagramm liefert Überblick zum Software-Entwicklungsobjekt, muß im Detail jedoch durch verfeinerte Prozessmodelle untersetzt werden. - Wasserfallmodell (sequentiell): * Dem klassischen Wasserfallmodell liegt die Idee zugrunde, daß iterative Interaktionen zwischen aufeinanderfolgende Phasen möglich sind. * Bietet sich an bei individuellen Entwicklungen und Entwicklungen in kleinen Teams. 15

16 - Spiralenmodell (nicht sequentiell): * Kumulative Kosten werden in radialer Dimension dargestellt. * Jeder Zyklus beginnt im oberen linken Quadranten mit der Bestimmung der Ziele, Alternativen und Constraints. * Der nächste Schritt ist jeweils die Evaluierung der Alternativen und der Risikoabbau. * Es folgen Entwicklung, Verifizierung der nächsten Produktstufe. * Im 4. Quadranten werden jeweils die nächsten Phasen geplant. * Die Quadranten werden mehrfach durchlaufen. * Ein Risikomanagement wird in jedem Zyklus betrieben. * Jeder Spiralzyklus bestimmt Produkt- und Prozeßziele und constraints. Alternativen können schrittweise eliminiert werden Beispielaktivitäten für die Entwicklung eines Technischen Informationssystems: Phase Lebenszyklus Entwicklungsphase Entwicklungsschritt Arbeitsschritt zum Beispiel Entwicklung eines TIS logischer DB-Entwurf Definition neuer Datentypen Einfügen eines neuen Entities 2.2 Software-Entwicklungssysteme (CASE, 4GL,...) (Hinweis: Quelle [23] Böhm u.a.: Systementwicklung in der Wirtschaftsinformatik, v/dif Zürich 1993) Software-Entwicklungssyteme sind Hilfsmittel zur Organisation und Programmierung von Anwendungen. Die Merkmale/Aufgaben sind folgend genannt: - Verfügbarkeit mehrerer Entwurfsmittel - Vorgabe einer Entwurfslogik - Minderung des Programmieraufwandes durch Codegenerierung - Prüfung hinsichtlich Konsistenz und Abhängigkeiten über alle Stufen - Verwaltung von Benutzungschnittstellen Software-Entwicklungssysteme unterstützen die Phasen des Software-Lebenszykluss (jedoch nicht immer alle Phasen). Wesentliche Unterstützung wird bei der Wartung von Systemen verlangt. Ein Hauptziel ist auch die Verbesserung der Qualität von Software. Beispiele: - strukturierte Analyse und Designmethode * SADT: Structured Analysis and Design Technique * JSD : Jackson System Development * SSADM: Structured System Analysis and Design Methodology - objektorientierte Methoden (OMT, OOA/D) * OMT: Object Modeling Technique *UML: Unified Modelling Language Werkzeuge (Tool): Als Werkzeuge werden sogenannte eigenständige Software-Werkzeuge verwendet, die einen 16

17 oder mehrere Entwicklungsschritte unterstützen. - CASE-Tools Unterstützen ganz spezielle Phasen der Softwareentwicklung. * Upper-CASE Diagramm-Editoren, Dokumentationswerkzeuge Sie unterstützen die Phasen (a), (b), (c) (siehe 2.2). * Lower-CASE 3GL, 4GL, Compiler, Debugger, Programmgeneratoren Sie unterstützen die Phasen (c), (d), (e) (siehe 2.2). * I-CASE Dies sind Tools, die alle Entwurfsschritte unterstützen sollen. - Software-Tools im engeren Sinne Diese haben Einfluß auf den Code: Debugger, Compiler, Sprachen. - Software-Tools im weiteren Sinne Diese unterstützen den Vorgang der Softwareherstellung: Versionsmanager, Projektmanager Aktivitäten für die Entwicklung TIS: Phase Lebenszyklus Entwicklungsphase Entwicklungsschritt Arbeitsschritt zum Beispiel Softwareentwicklungssystem Gruppe von Tools Tool Tool-Funktion 2.3 Anwendungsentwicklung (Vorgehen) (Hinweis: Quelle [14) (a) Prinzip: vom Groben zum Detail (Top-down) [14] *Ist-Zustand analysieren (Stärken, Schwächen) *Ziele/Anforderungen festlegen *Groblösung entwicklen *schrittweises Verfeinern (Detaillierung) *mögliche Varianten untersuchen, evaluieren, eleminieren (b) Prinzip: von Detail zum Groben (Bottom-up) (c) Kombination von (a) und (b) anders: - Zielsuche: * Situationsanalyse *Zielfomulierung - Lösungssuche: * Synthese * Analyse - Auswahl: * Bewertung * Entscheidung 17

18 3 Analyse und Modellierung 3.1 Anforderungen an die Entwicklung technischer Informationssysteme Für dieses Themengebiet kann u.a. auf die folgende Quellen verwiesen werden: Max Vetter: Informationssysteme in der Unternehmung Teubner-Verlag Stuttgart 1994 Dieses Buch beschreibt die globale Sicht auf das Problem [14] J. Gausemeier u.a.: Erfolgspotentiale integrierter Ingenieursysteme Vortrag auf CAD-94 Dieser Vortrag beschreibt die Entwicklung von TIS [7]. Olaf Abeln: CAD-Referenzmodelle Teubner-Verlag 1995 Dieses Buch beschreibt die Realisierung von TIS [1]. Reiner Dumke: Software Engineering Vieweg Verlag 2000 Dieses Buch gibt uns eine generelle Übersicht zum Thema Software Engineering [4] Bernd Oesterreich: Objektorientierte Softwareentwicklung Oldenburg Verlag 1998 Dieses Buch vermittelt insbesondere UML.[28] Als Motivation für die Entwicklung Technischer Informationssysteme kann man die Anforderungen aus der globalen Verantwortung heranziehen:... nach Vetter gilt folgender Grundsatz: Globales Denken und globales Handeln ist die Voraussetzung zur Vermeidung der fortschreitenden Zerstörung der natürlichen Lebensgrundlage. Wege dazu: kleine, lokale Schritte mit genereller Zielstellung Für die Informatik gilt: Isolierte Betrachtungen führen in das Datenchaos! Man muss Lösungen entwickeln, die ein ganzheitliches Vorgehen unterstützen Es ist erforderlich: Eine neue Denkweise, insbesondere hinsichtlich - eines betriebsbezogenen Kollektivbewußtseins - des Kommunikationsverhaltens (ändern) - des Problemlösungsverhaltens (ändern). Neues Denken in der Informatik/Wirtschaftsinformatik bedeutet: - weg vom analytischen Denkmuster (kartesisch-newtonscher Prägung) weg von isolierten Lösungen (Insellösungen) - hin zu systemtheoretischen Denkweisen hin zu vernetzten Lösungen Bisher praktizierte Vorgehensweise in der Informatik: Im Vordergrund stand funktionsorientiertes Verhalten, funktionsorientierte Entwicklung d.h. eine analytische Vorgehensweise. Es werden zunächst relevante Funktionen für die Anwendung heraus gearbeitet, dann notwendige Daten ermittelt. Methode zeitigt wenig Erfolg! Sie führt in die Sackgasse wegen des zu erwartenden Datenchaos! 18

19 (Kopie) Abbildung 6 Die funktionsorientierte Anwendungsentwicklung [14] Neuer Ansatz: Ein objekt- und datenorientiertes Vorgehen wird praktiziert. Es entspricht dem systemtheoretischen Denkmuster (Kopie) Abbildung 7 Die objekt- und datenorientierte Anwendungsentwicklung [14] 19

20 Legende: A = Anwendung, Z,DZ = zentrale und dezentrale Datenbestände Mitarbeiter und Anwendungen orientieren sich an globalen, konzeptionellen Modellen; d.h., erst relevante Objekte, dann Methoden, daraus Objektmodell, darauf funktionale Anwendungen Vorteil: Objekte sind leichter zu erkennen und leben auch länger: Wichtiger Grundsatz:... Die globale Objektstruktur ist nur solidarisch und kooperativ zwischen allen Beteiligten zu entwerfen. globales Denken = systemtheoretische Betrachtung Weiterer Vorzug des systemtheoretischen Denkens: Durch globalen Ansatz werden Lösungen übersichtlicher, indem z.b. föderalistische Lösungen und verständlichere Lösungen erzeugt werden. Prinzip der Stärkung des Kollektivbewußtseins (Kopie) Abbildung 8 Die Schaffung eines betriebsbezognen Kollektivbewußtseins [14] Legende: Bedeutung der eingekreisten Ziffern: 1 Der Mitarbeiter orientiert sich an den von der Geschäftsleitung vorgegebenen Unternehmenszielen. 2 Die Kenntnisse eines Mitarbeiters fließen in das globale konzeptionelle Datenmodell mit ein. 3 Im globalen konzeptionellen Datenmodell konvergiert das Wissen und die Denktätigkeit der Belegschaft. 20

21 (Kopie) Abbildung 9 Kommunikationsprinzipien im Verlaufe der Zeit [14] Prinzip der Solidarität 21

22 (Kopie) Abbildung 10 Kommunikationsprinzip solidarisch [14] Zusammenfassend: - Bei einer konzeptionellen Arbeitsweise wird die Lösung für ein Problem vom Groben zum Detail (top-down) entwickelt. - Konzeptionell arbeiten heißt abstrahieren. - Bei einer konzeptionellen Arbeitsweise werden hardware- und softwarespezifische Überlegungen zurückgestellt, bis eine logisch einwandfreie Lösung vorliegt. Ein Problemlösungsverhalten entsprechend der Systemtheorie bedeutet, ein System von einem Ist-Zustand über die Lösung des Problems in einen Soll-Zustand zu überführen. Problem dabei: Problem ist soll - Vorstellung Abbildung 11 Problemlösungsprozeß Definition System: 22

23 Ist eine abgeschlossene Einheit von Elementen, die durch Beziehungen verknüpft sind und gemeinsam ihren Zweck erfüllen sollen. Möglichkeiten zur Abbildung der Realität z.b. durch: - Konstruktionselemente: Objekte, Methoden, Entitäten, Eigenschaften, Beziehungen - Überlagerungstechniken: Generalisierung, Spezialisierung, Aggregation - Beziehungstypen: Assoziationen - konzeptionelle objekt- oder datenorientierte Modelle Ein praktisches Vorgehen könnte diesem entsprechend dem Denkmuster nach Vetter [14] entsprechen. (Kopie) Abbildung 12 Vorgehensmodell nach [14] Legende: A1, A2,... = Anwendungen OSD = Objektsystem-Design ISD = Informationssystem-Design KDBD = Konzeptionelles Datenbankdesign PD = Prozessdesign Die einzelnen Ebenen: Strategiefestlegung - konzeptionelles Datenmodell - Anwendungen darauf Objektsystem-Design OSD Im Rahmen dieses Prozesses sind folgende Punkte zu klären (Klärungsprozess): - Problemfeld - Ist-Zustand mit Stärken und Schwächen - Anforderungen an Soll-System - systemmäßige Groblösung - Konzept zur Einbettung in Umgebung Informationssystem-Design ISD (Layouts, Benutzersichten, struktureller Aufbau) - Outputs und dazugehörige Layouts und Strukturen 23

24 - Inputs - Ablaufprozesse für die Bearbeitung der Inputs zu Outputs Konzeptionelles Datenbankdesign (KDBD) - konzeptionelles Daten- bzw. Objektmodell - Views Prozessdesign (PD) - Logik der Prozesse für die Bearbeitung - Realisierung - Nutzung Entwicklungsanforderungen an TIS nach Gausemeier[7] (vgl. Abb ) Synonyme: -Technisches Informationssystem -rechnerunterstützte Ingenieursysteme -integrierte Ingenieursysteme - CAE Computer Aided Engineering Als Werkzeuge sind solche erforderlich, - die die frühen Phasen des Produktentwicklungsprozesses unterstützen (Konstruktion, Entwurf), - die Prozesstechnologie unterstützen, - die Lösungselemente benutzen (Feature-Techologie) - die moderne Architekturen unterstützen, - die Führungsinstrumente schaffen (EDM -Engineering Database Management system), PDM - Product Database Management,...). 24

25 (Kopie) Abbildung 13 Erfolgspotentiale im Produktentwicklungsprozeß [7] 25

26 (Kopie) Abbildung 14 Aufbau eines integrierten Ingenieursystems [7] (Kopie) 26

27 Abbildung 15 Forschungsgebiete für Rechnerunterstützte Ingenieursysteme [7] (Kopie) Abbildung 16 Umfeld für CAE-Systeme Anforderungen aus der Realisierung nach Abeln [1] sind (Hinweis: anhand des Beispiels CAD-System erfolgt die Erläuterung.) 1.aus Prozess heraus: Anforderungen sind spezifisch für den Diskursbereich oder übergreifender Art. Für den Entwurf eines CAD-Systems gelten z.b. nach Abeln Anforderungen bezüglich - der Organisation des Konstruktionsablaufs, - des Produktmodells, - der Systemkonfiguration, - des Modellierers, - der Analyse, Berechnung und Simulation, - der Wissensverarbeitung und Dokumentation, - der Benutzungsoberfläche und Benutzerunterstützung, - der Integration. Anforderungen an die Konstruktionsunterstützungsmittel sind - Werkzeuge zur Modellierung aller produktbeschreibenden Daten (z.b. zur Prinzipienmodellierung, Feature), - Komponenten zur Informationsbereitstellung und wissensbasierten Unterstützung, - Werkzeuge zur Kommunikation mit entfernten Partnern (Mail, DesignKonferenzen), - Softwarekomponenten zur Unterstützung kooperativer Arbeitstechniken, - Analysemethoden. 27

28 (Kopie) Abbildung 17 CAD-Referenzmodell [1] 2. aus Sicht des Informatikers: - Nutzung vorhandener Systeme, - modernste Plattform nutzen, - Offenheit (Wiederverwendbarkeit) garantieren, - Konfigurierbarkeit sichern, - Prototyping verwenden - Auf die Verwaltung größerer Datenmengen einstellen, - Behandlung komplexer Modelle (tiefere Strukturen) realisieren, - Standards berücksichtigen. 3.2 Analysemethoden und Werkzeuge Allgemeines Literaturhinweise: Rumbaugh u.a.: "Objektorientiertes Modellieren und Entwerfen\ (Quelle [19]) Martin/Odell: "Objectoriented Analysis and Design\ (Quelle [18]) Schäfer: "Objektorientierte Entwurfsmethoden\ (Quelle [20]) Yourdon: "Moderne strukturierte Analyse\ (Quelle [27]) Vetter: "Aufbau betrieblicher Informationssysteme\ (Quelle [14]) Achatzi: "Praxis der strukturierten Analyse\ (Quelle [2) Dumke: "Modernes Software Engineering\ (Quelle [4]) Analyse Einordnung: erste Lebenszyklus-Phasen Definition (Systemanalyse) Systemanalyse ist das Studium und die Beschreibung eines Systems, um den prinzipiellen Aufbau zu verdeutlichen und die wichtigsten Merkmale zu dokumentieren. 28

29 Schritte: - Untersuchen (Studium) - Abstraktion (Begriffe definieren; Verallgemeinerung; Feststellung des prinzipiellen Aufbaus) - Dokumentation In der Informatik bedeutet dies: Systemanalyse ist die Erforschung des Problemumfelds. Problematik der Analyse: - Im Bereich der betrieblichen Informationssysteme sind die Mitarbeiter des Unternehmens/Abteilung die Spezialisten und Fachleute. Sie sollten die Prozesse und die Zusammenhänge im Unternehmen am besten kennen. - Der Softwareentwickler/Informatiker weiß meist nur sehr wenig über die internen Abläufe und Strukturen, jedoch ist fachliche Kenntnis (Grundwissen) von großem Vorteil. - Eine Analyse wird nicht ausschließlich von Informatikern durchgeführt, sondern immer in Zusammenarbeit mit den jeweiligen Fachleuten. - Ein wichtiges Hilfsmittel bei der Analyse ist die GRAPHISCHE DARSTELLUNG von Abläufen, Strukturen und Zusammenhängen. - Es sollte unbedingt eine einheitliche Begriffs- und Darstellungswelt geschaffen werden (verwendet werden), um Mißverständnisse zu vermeiden. (Denn ein Ingenieur hat eine andere Sicht als ein Informatiker.) Formen / Arten der Systemanalyse Natürlichsprachlicher Ansatz - einfachste Form der Analyse - einfachste Form etwas zu beschreiben - Bestandteile und Charakteristik eines Systems werden ausschließlich in Textform beschrieben - Daten, Strukturen und Abläufe sind über das gesamte Dokument verteilt. - Für einfache Sachverhalte reicht dies aus, aber nicht für komplexe Systeme. - Eigentlich kann jede Problemstellung beschrieben werden. Funktionsorientierte Analyse - Herausfinden der für die Anwendung relevanten Funktionen - Funktionen werden in Schritte, Unterschritte zerlegt. - Daten zuordnen / Schnittstellen zwischen den Funktionen organisieren. z.b.durch klassische Programmiersprachen (PASCAL, C, FOTRAN) Vorteil: relativ günstige Voraussetzungen für spätere Programmierung; Programmerstellung ist der gleiche Prozess. Nachteil: kein optimales Datenmodell ( zum Beispiel: Auftreten von Redundanz) Datenorientierte Analyse - Daten stehen im Mittelpunkt der Betrachtung. - grobe/umfassende Datenstruktur (sehr grobes, konzeptionelles Datenmodell) -Architektur wird detailliert. - nachträgliche Beschreibung der (datenbearbeitenden) Funktionen Vorteil: umfassendes Abdecken der betrachteten Bereiche Nachteil: schwierige Wartung; schwer nachvollziehbare Zuordnung zwischen 29

30 Funktionen und Daten Strukturierte Analyse -Vereint prozess- (funktionsorientierte) und datenorientierte Vorgehensweise. (Vorteile!) zum Beispiel durch + Datenflussdiagramme + Zustandsübergangsdiagramme - Zunächst Konzentration auf Funktionsbeschreibung Funktion Daten zuordnen Funktionen verfeinern Neustrukturierung der Daten (Verfeinern) - Verfeinerung immer schrittweise und unter Berücksichtigung beider Aspekte Werkzeuge zur Strukturierten Analyse Das Ziel der Strukturierten Analyse ist das Finden und Aufstellen eines Modells. Die dabei benutzten Werkzeuge sind u.a.: + Datenflußdiagramm (DFD): Sie illustrieren Funktionen, die das System ausfüllen muß. + Entity Relationship Diagram (ERD): Zur Darstellung der Beziehungen der Daten untereinander. + Zustand- Übergangs-Diagramm (STD): Konzentrieren sich auf das zeitabhängige Verhalten des Systems (Folge von Zuständen). zum DFD: Illustrieren Funktionen, die das System ausfüllen muß. System wird als Netzwerk von Prozessen aufgefaßt. Auch Bubble Chart, Prozeßmodell, Arbeitsflußdiagramm, Funktionsmodell genannt. Besonders für aufgaben- (funktions-) orientierte Systeme, wo die Funktionen wichtiger (schwieriger/komplizierter) erscheinen als die Daten, geeignet. Komponenten von DFD sind: + Prozess (Funktion): Ist ein Teil des Systems, der umgewandelt/transformiert wird. Es wird das WAS beschrieben, nicht das WIE! Beispiel: Hinweis: Darstellungsvarianten: Kreis, Oval, Rechteck Berechne Verkaufssteuer Abbildung 18 Prozeß + Fluß: Repräsentiert Daten in Bewegung. Telefonnummer Überprüfen Telefonnummer gültige Telefonnummer ungültige Telefonnummer 30

31 Eingabefluß Ausgabefluß Dialogfluß Divergierender Fluß Abbildung 19 Fluß + Speicher: Stellt den Ruhezustand der Daten dar. Ist immer in Kontext mit Datenfluß. Speicher sind passive Komponenten. Veränderungen nur durch Prozesse am anderen Ende des Flusses (Schreiben, Aktualisieren, Löschen,...). Hinweis: Der Datenfluß in bzw. aus einem Speicher ist nur durch Prozesse möglich. Aufträge Abbildung 20 Speicher + Terminatoren: Handlungsobjekt kommuniziert mit dem System (externes Objekt). Bsp.: Person / Gruppe oder anderes System Befindet sich außerhalb des Systems. Beziehungen zwischen Terminatoren werden nicht dargestellt. Inhalt und Funktionsweise kann nicht vom Systemanalytiker verändert werden. Buchhaltungsabteilung Abbildung 21 Terminator Karte Bank wählen Konto Name Saldo Kunde Wunsch aktualisieren Abbildung 22 Datenflußdiagramm für eine Bank zum ERD: Komponenten sind: + Entity + Relationen + Objekte Entity Relation Abbildung 23 Notation zum ERD ERD eignen sich besonders zum Entwurf relationaler Datenbanken. zum STD (State Transition Diagram): 31

32 Es wird die Frage beantwortet: Was passiert in welcher Folge? Komponenten sind: Zustände, Übergänge Dabei ist ein Zustand eine Gruppe von Umständen oder Eigenschaften, die eine Person oder einen Gegenstand zu einem gewissen Zeitpunkt charakterisieren.?beispiel: Zustand: "Warte auf Eingabe! Warten heißt, daß im externen Umfeld etwas geschieht oder, daß eine Tätigkeit im Umfeld durch eine andere abgelöst wird. Zusätzlich (optional) ist es möglich, Bedingungen und Aktionen zu definieren. Bedingung Aktion Zustand 1 Zustand 2 Abbildung 24 Notation STD Wichtig ist die Klärung der folgenden Fragen bzw. es ist zu überprüfen, ob alle Zustände definiert sind, alle Zustände erreichbar sind, alle Zustände (bis auf den Endzustand) einen Ausgang haben, das System in jedem Fall richtig reagiert unter Berücksichtigung der Bedingungen und der Aktionen. Anwendung eines Zustands-Übergangs-Diagramms in Zusammenspiel mit anderen Diagrammen (DFD, ERD, usw.) ist möglich. Abbildung 25 DFD und STD in Kombination Objektorientierte Methoden und Werkzeuge Objektorientierung bedeutet: Software als Kollektion diskreter Objekte Nach Bernd Oesterreich [28] Der ganzheitliche und am Menschen orientierte Ansatz, wie er von den maßgeblichen Begründern der Objektorientierung (im Xerox PARC) von Anfang an verfolgt wurde, wird an vielen Stellen deutlich: Das Klassenkonzept begünstigt die Entwicklung von Softwareeinheiten, die nicht einer speziellen Anwendung, sondern einem speziellen Konzept bzw. einer bestimmten Idee von der Realität dienen und die als solche in verschiedenen Kontexten und somit auch verschiedenen Anwendungen operieren können. Die Welt der oo Softwareentwicklung ist eine bildreiche Welt: Begriffe wie Vererbung, Botschaftenaustausch, das Werkzeug-Material-Leitbild usw. belegen die Methaphorik und deuten die ontologischen Grundprinzipien an. Die Symbole der grafischen Benutzeroberflächen wie Mülleimer, Drucker, Lupe, Ordner, Pinsel, Schere und so weiter tun ein übriges und ermöglichen den BenutzerInnen ein anschauliches und intuitives Handeln. 32

33 Objektorientierte grafische Benutzeroberflächen verhelfen zu einer einheitlichen Bildschirmorganisation und zu Bedienungsstandards, sie leiten die ApplikationsentwicklerInnen an, diese Standards zu übernehmen und ihr Look-&-Feel nachzuahmen Zu den Unterschieden zwischen strukturierten und objektorientierten Methoden heißt es: Ganzheitliche Arbeitsgegenstände Statt der Trennung von Daten und Operationen wird nun durch das Klassenkonzept mit Einheiten aus Daten und Operationen gearbeitet. Bessere Abstraktionsmöglichkeiten Die oo Methoden verschieben die Modellierung stärker als die strukturierten vom Lösungs- in den Problembereich. Methodische Durchgängigkeit Die Ergebnisse einer Aktivität i im oo Entwicklungsprozeß läßt sich ohne weiteres in die Aktivität i+1 übernehmen und umgekehrt: in allen Phasen der Softwareentwicklung wird mit denselben Konzepten gearbeitet (Klassen, Objekte, Beziehungen,etc.) Es findet kein Wechsel der Modellpräsentation statt. Evolutionäre Entwicklung Ein komplexes System entsteht nicht in einem Rutsch. Alle komplexen Systeme in der Natur haben sich schrittweise entwickelt, jeder Zwischenschritt mußte sich erst einmal stabilisieren und seine Funktions- und Lebensfähigkeit beweisen. Im Laufe der Zeit ist auf diese Weise das komplexe System Mensch entstanden. Mit den oo Softwareentwicklungsmethoden kann das Prinzip der Evolution auf die Softwareentwicklung übertragen werden. Es existieren eine Reihe von Anwendungsfeldern für objektorientierte Methoden: OOGUI (Oberflächen) OOP (objektorientierte Programmiersprachen) ODBMS (Datenbanken) OOA/OOD (Analyse- und Entwurfsmethoden). Wichtige Aspekte sind: - Identität von Objekten: Daten werden diskreten, unterscheidbaren Entitäten zugeordnet. Objekte sind klar voneinander unterscheidbar. (zum Beispiel: Adressen im Speicher des Computers) - Klassifikationen von Objekten: Objekte mit gleicher Struktur (Attribute) und mit gleichem Verhalten (Methoden) werden zu Klassen zusammen gefaßt. (Klasse Abstraktion) - Polymorphismus: Bedeutet gleiche Operationen in unterschiedlichen Klassen. Sie werden dabei aber verschieden realisiert, d.h. sie besitzen eine unterschiedliche Bedeutung bzw. haben eine unterschiedliche Realisierung. - Vererbung: Gemeinsame Verwendung von Attributen und Operationen durch verschiedene Klassen auf der Basis hierarchischer Relationen. OO-Entwicklungsmethoden: Ziel: Abbildung der Struktur des Problembereiches auf die Implementierung Vorteil: Durchgängigkeit: Eine Methode über alle Phasen des Softwarelebenszyklusses Wiederverwendbarkeit: Gesamtsystem in kleine Objekte zerlegen, die dann wieder verwendet werden können. "sanfter Übergang zwischen den Phasen: In der Analyse gefundene Objekte werden im Entwurf kontinuierlich weiterentwickelt (verfeinert). Oft wird mit gleicher Notation weitergearbeitet. 33

34 Methoden und Vertreter dieser Richtung: - OOA/OOD von Coad/Yourdon - OMT von Rumbaugh - Booch `91 von Booch Die drei Amigos! - OOSE Jacobson - OOSA Shlaer/Mellor - RDD Wirfs-Brock - UML Amigos siehe auch [28, Seite 20] OMT [19] nach Rumbaugh - Vertreter des evolutionären Ansatzes - Werkzeuge: StP/OMT und OMTool (Software through Pictures) - Blickwinkel +Objektmodell +Dynamikmodell +Funktionsmodell Entwicklungsprozess innerhalb von OMT Phasen und Aktivitäten - Analyse (1) Problembeschreibung (2) Objektmodellierung + Identifizierung der Objekte und Klassen + Erstellen eines Data Dictionary + Identifizierung der Assoziation + Identifizierng der Attribute + Organisieren und Vereinfachung durch Vererbung + Überprüfen und Verfeinern + Gruppieren der Klassen in Subsysteme + Objektmodell = Objektmodelldiagramm + Data Dictionary (3) Dynamikmodellierung + Vorbereiten von Szenarien mit typische Interaktionssequenzen + Identifizierung der Ereignisse zwischen Objekten : Ereignisflußdigramme für das System + Erstellen des Zustandsdiagramms für jede Klasse + Konsistenz und Vollständigkeitsüberprüfung der Ereignisse, die sich auf mehrere Zustandsdiagramme beziehen. dynamisches Modell = Zustandsdiagramm + globales Ereignisflußdiagramm (4) Funktionsmodellierung + Identifizieren der Ein- und Ausgabewerte + Erstellen eines DFD + Beschreiben der Funktionen + Identifikation von Einschränkungen Funktionales Modell = Datenflussdiagramm + Einschränkungen - Entwurf (1) Systemdesign + Aufteilung in Subsysteme + Identifizierung der Nebenläufigkeit 34

35 + Zuweisen der Subsysteme zu Prozessen / Prozessoren + Speicherung der Daten + Bestimmen der Implementierung der Steuerung Systementwurfsdokumente = Struktur der grundlegenden Systemarchitektur und globale Strategieentscheidungen (2) Objektdesign + Erweitern des Objektmodells um Operationen + Entwurf von Algorithmen + Optimierung + Implementierung der Steuerung + Festlegen der Implementierung von Assoziationen + physische Gruppierungen + Dokumentation des Designs Entwurfsdokument = detailliertes Objektmodell + detailliertes dynamisches Modell + detailliertes funktionales Modell Methode nach Grady Booch 1991/94 (OOAD) - Object-Oriented Analysis and Design with Application - Rational Rose ist entsprechendes Werkzeug. - Ist eine evolutionäre Entwurfsmethode. - Ist gibt verschiedene Blickwinkel auf das System: +logische und physische Sicht Klassendiagramm,Objektdiagramm, Moduldiagramm & Prozeßdiagramm + Beschreibung der Dynamik Zustandsdiagramm, der Klasse zugeordnet Interaktionsdiagramm, unterstützt Objektdiagramm OOSE-Methode nach Jacobsen Objekt-Oriented Software Engineering Brachte den Ansatz der Use Cases (Anwendungsfälle ) mit ein UML- Unified Modeling Language Einführung Als Zusammenfassung der Erkenntnisse von Booch, Rumbaugh und Jacobson 1997 als UML bei der OMG eingebracht. (Papier-Kopie) Abbildung 26 Historische Entwicklung der Programmiersprachen (Papier-Kopie) Abbildung 27 Entwicklung der oo Softwareentwicklungsmethoden Neben den Ideen dieser drei Amigos sind z.b. die State Charts (Zustandsdiagramme) von Harel [D.Harel: Statecharts: A Visual Formalism for Complex Systems, in: Science of Computer Programming 8, 1987,S.231ff) mit verwendet worden. Die UML arbeitet mit diesen Komponenten: - Klassendiagrammm - Objektdiagramm - Anwendungsfalldiagramm 35

36 - Zustandsdiagramm - Sequenzdiagramm - Aktivitätsdiagramm - Kollaborationsdiagramm - Komponentendiagramm - Einsatzdiagramm Weitere Features sind: Pakete, Notizen, Stereotypen (Papier-Kopie) Abbildung 28 Notation UML (Quelle: Oesterreich) Zur Erläuterung der UML: Nach Joseph Schmuller : UML, Markt und Technik 2000 [29] - Klassendiagramm Gegenstände lassen sich von Natur aus in Kategorien einteilen: Bäume, Autos, Möbel. Diese Kategorien wollen wir Klassen nennen. Klassen faßt demzufolge eine Gruppe von Dingen mit ähnlichen Attributen und gemeinsamen Verhaltensweisen zusammen. Beispiel Klasse Waschmaschine Waschmaschine Herstellernahme Modellbezeichnung Seriennummer Kapazität Wäsche einfüllen() Waschmittel einfüllen() Wäsche ausladen () Abbildung 29 Klassendiagramm Wozu Klassen? Klassen abstrahieren in konzentrierter Weise von der Realität. Sie unterstützen ebenfalls die Analysearbeit sehr gut. Unter Verwendung von Beziehungen zwischen Klassen entstehen Klassendiagramme. - Objektdiagramm Ein Objekt ist die Instanz einer Klasse, d.h., die Attribute und Verhaltensweisen haben spezifische Werte. Beispiel_Objekt Mein Wäscher Mein Wäscher: Waschmaschine Herstellername: Siemens Modellbezeichnung:. Abbildung 30 Objektdiagramm Über Verknüpfungen zwischen Objekten werden Objektdiagramme gebildet. - Anwendungsfalldiagramm 36

37 Ein Anwendungsfall (use case) ist die Beschreibung des Verhaltens eines Systems vom Standpunkt des Anwenders aus. Hiermit können die Beziehungen zwischen Kunden, Entwicklern und Anwendern von Softwaresystemen beschrieben werden. Beispiel Anwendungsfall Wäsche waschen Akteur Anwendungsfall Abbildung 31 Anwendungsfalldiagramm - Zustandsdiagramm Jedes Objekt hat in einem bestimmten Zeitpunkt einen bestimmten Zustand. Ein Mensch kann z. B. ein Neugeborenes, ein Säugling, ein Kind, ein Teenager usw. sein. Ein UML-Zustandsdiagramm hält einen Ausschnitt der Realität fest. Beispiel Zustandsdiagramm einer Waschmaschine Einweichen Waschen Spülen Schleudern Abbildung 32 UML-Zustandsdiagramm - Sequenzdiagramm Klassen und Objektdiagramme halten den statischen Aspekt fest. In einem System interagieren aber die Objekte miteinander. Das UML-Sequenzdiagramm zeigt die Dynamik der Interaktionen. Es wird darin festgehalten, wie die Objekte über einen Zeitraum interagieren. Wasserrohr Trommel Abfluß Frisches Wasser Schicken Anhalten Stop Abbildung 33 Sequenzdiagramm - Aktivitätsdiagramm Das Aktivitätendiagramm bildet die Abfolge der Aktivitäten ab, ohne den Bezug zu den Objekten oder Anwendungsfällen zu zeigen. 37

38 Trommel 15 Min. hin und her rotieren lassen Seifenwasser ablaufen lassen Erneut Wasser zuführen Abbildung 34 Aktivitätendiagramm - Kollaborationsdiagramm Elemente eines Systems arbeiten zusammen, um die Zielstellung zu erreichen. Diesen Zusammenhang verdeutlicht das Kollaborationsdiagramm. Interner Timer 1: Stop 2: Hin und her rotieren Wasserrohr Trommel Abbildung 35 Kollaborationsdiagramm - Komponentendiagramm Komponentendiagramme sind ausdrücklich für die Softwareentwicklung gedacht, d.h., sie sind auf Computersysteme orientiert. Komponente Abbildung 36 Komponentendiagramm - Einsatzdiagramm Zeigt die physische Architektur eines computergestützten Systems. Prozessor 1 Prozessor 2 Prozessor 3 Abbildung 37 Einsatzdiagramm - weitere Features Pakete fassen Klassen zusammen. Notizen geben ergänzende Erläuterungen. Stereotype passen UML-Elemente an. 38

39 Paket 1 Text Klasse1 Klasse 2 Klasse Klasse 3 <<Interface>> Klasse 1 Abbildung 38 Pakete, Notizen, Stereotype Bisherige Zusammenfassung zu UML: Systementwicklung ist eine menschliche Aktivität. Ohne eine leicht verständliche Notation ist der Entwicklungsprozeß sehr fehleranfällig. UML ist zum Standard geworden. Ein UML-Modell sagt aus, was ein System tun soll, aber nicht, wie. Objektorientierte Konzepte und UML OO Konzepte sind: + Abstraktion Abstraktion bedeutet, die Realität soweit zu filtern, bis die für den Zweck wesentlichen Aspekte ( Attribute und Methoden) übrig bleiben. + Vererbung Ein Objekt nimmt alle Charakteristika seiner Klasse als Instanz an. Darüber hinaus können auch Hierarchien aufgebaut werden, indem Klassen in Beziehung zu anderen Klassen als Suboder Superklassen gesetzt werden können. Die Subklasse erbt alle Charakteristika von der Superklasse. + Polymorphismus Oftmals haben Operationen aus der Sicht der Gewohnheit in unterschiedlichen Klassen den gleichen Namen (z.b. zeige Punkt, zeige Kreis, zeige Fenster..). Diese sind natürlich in jeder Klasse unterschiedlich implementiert und es wird während der Ausführung auf die "richtige" Operation Bezug genommen. + Kapselung Klassen können organisieren, daß bestimmte Attribute und Methoden nur intern im Rahmen der Klasse verwendet werden dürfen (Information hiding!). Damit sichert man sich gegen unbefugte Benutzung. Die Kommunikation mit den Objekten erfolgt über öffentliche Methoden, die die Schnittstelle bilden. + Versenden von Nachrichten Objekte arbeiten in einem System zusammen, indem sie einander Nachrichten senden. Dazu werden Schnittstellen benutzt. + Assoziationen Objekte können miteinander eine oder mehrere Beziehungen aufbauen, die über Assoziationen zwischen den Klassen ausgedrückt werden. + Aggregationen Die Aggregation ist eine besondere Form der Assoziation, indem die Klassen bzw. Objekte über eine Hierarchie zusammenhängen. Es wird quasi die Beziehung " besteht aus" ausgedrückt. 39

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

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

Use Cases. Use Cases

Use 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

Mehr

Unified Modeling Language (UML)

Unified Modeling Language (UML) Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine

Mehr

Software-Engineering

Software-Engineering FH Wedel Prof. Dr. Sebastian Iwanowski SWE2 Folie 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 2: Grundbegriffe und Prinzipien FH Wedel Prof. Dr. Sebastian Iwanowski SWE2 Folie 2 Grundbegriffe

Mehr

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

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2 EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2

Mehr

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

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML) Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

16 Architekturentwurf Einführung und Überblick

16 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

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

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

Software Engineering

Software Engineering Literatur Gliederung Software Engineering Herbert Kuchen Universität Münster Di+Fr 14:15-15:45, M2 Wintersemester 2009/2010 1 Literatur Gliederung Basis-Literatur H. Balzert: Lehrbuch der Software-Technik,

Mehr

Software- Entwicklungsaktivitäten und Vorgehensmodelle. Lebenszyklusmodell

Software- Entwicklungsaktivitäten und Vorgehensmodelle. Lebenszyklusmodell 1. Vorgehensmodelle Software- Entwicklungsaktivitäten und Vorgehensmodelle a) Lebenszyklusmodell (Life- Cycle- Modell) b) V- Modell c) Wasserfallmodell d) Modifiziertes Wasserfallmodell e) Iterative Modelle

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

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

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

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

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung

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

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

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht 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

Mehr

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0 Für den Einsatz in der Praxis Seite 2 Überblick 1. Ziele 2. Warum das alles? 3. Was ist UML 4. Diagrammarten 5. Umfeld Seite 3 1. Ziele 1. Ziele dieses

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

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

Softwaretechnik. Fomuso Ekellem WS 2011/12

Softwaretechnik. 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

Mehr

17 Architekturentwurf Vorgehen und Dokumentation

17 Architekturentwurf Vorgehen und Dokumentation 17 Architekturentwurf Vorgehen und Dokumentation 17.1 Einbettung Aber Erster Schritt der Lösung Wenn Anforderungsspezifikation vorliegt Vorgabe für Codierung Hierarchische Verzahnung von Anforderungen

Mehr

Requirements Engineering I

Requirements Engineering I Norbert Seyff Requirements Engineering I UML Unified Modeling Language! 2006-2012 Martin Glinz und Norbert Seyff. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Ist 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? 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,

Mehr

Dr. 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 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??

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

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS (theoretische Aspekte der Informationsmodellierung) 3. Vorlesung 23.04.2007 Informationsmodelle Phasen der Softwareentwicklung:

Mehr

Projektmanagement Kapitel 3 Tools die Werkzeuge. Projektstrukturplan PSP

Projektmanagement Kapitel 3 Tools die Werkzeuge. Projektstrukturplan PSP Projektmanagement Projektstrukturplan Seite 1 von 6 Projektmanagement Kapitel 3 Tools die Werkzeuge Projektstrukturplan PSP 1.1 Definition Der Projektstrukturplan stellt die, aus dem Kundenvertrag geschuldete

Mehr

Inhaltsverzeichnis: Definitionen Informationssysteme als Kommunikationssystem Problemlösende Perspektiven Allgemeine System Annäherung Fazit

Inhaltsverzeichnis: Definitionen Informationssysteme als Kommunikationssystem Problemlösende Perspektiven Allgemeine System Annäherung Fazit Informationssysteme Inhaltsverzeichnis: Definitionen Informationssysteme als Kommunikationssystem Problemlösende Perspektiven Allgemeine System Annäherung Fazit Definitionen: Informationen Informationssysteme

Mehr

Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla

Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla BlaBla Diese Kennzeichnungen sind nur Erläuterungen und nicht Bestandteil des Diagramms Quelle: P.Grässle, H.Baumann, P.Baumann, UML projektorientiert, Galileo Verlag, 2003 21 Primäre Begriffe Kapselung

Mehr

Übungsaufgaben zum Software Engineering: Management

Übungsaufgaben zum Software Engineering: Management Übungsaufgaben zum Software Engineering: Management Grundbegriffe: Aufgabe 1: Aus welchen Disziplinen setzt sich das Software Engineering zusammen? a. Informatik b. Physik c. Psychologie d. Chemie e. Geologie

Mehr

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungen zur Vorlesung Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungsblatt 4 Lösungshilfe. Aufgabe 1. Zustandsdiagramm (8 Punkte) Geben Sie ein Zustandsdiagramm für

Mehr

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

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System Evaluation of Database Design and Reverse Engineering Tools for a Large Software System Anne Thomas TU Dresden Dr. B. Demuth Pre Press GmbH (Dresden) T. Reuter Gliederung Einleitung Vorgehensweise Kontext

Mehr

Softwareentwicklungspraktikum Sommersemester 2007. Feinentwurf

Softwareentwicklungspraktikum Sommersemester 2007. Feinentwurf Softwareentwicklungspraktikum Sommersemester 2007 Feinentwurf Auftraggeber Technische Universität Braunschweig

Mehr

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren Einführung in die Informationsverarbeitung Teil Thaller Stunde VII: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 18. Dezember 2014 Rekapitulation Der Gang der Argumentation 1. Der Rohstoff:

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

Die Softwareentwicklungsphasen!

Die Softwareentwicklungsphasen! Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

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

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

Softwaretechnik. Fomuso Ekellem WS 2011/12

Softwaretechnik. Fomuso Ekellem WS 2011/12 WS 2011/12 Inhalt Wiederholung Weitere Begriffe Programmierung im Großem (Programmierung von Software als Ganzes) Prozess-Modelle 2 Wiederholung: Prozesse Prozesse sind hierarchische Gruppierungen von

Mehr

RUP Analyse und Design: Überblick

RUP Analyse und Design: Überblick Inhaltsverzeichnis Übersicht [, 2, 8] 3. Vorgehensweise............................... 5 2 Planungsmethoden 37 2. Definitionsphase.............................. 6 3 Rational Unified Process [5, 6] und

Mehr

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

Informationssystemanalyse 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

Mehr

Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009

Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009 Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009 Gliederung 1. Generative Programmierung 2. Möglichkeiten und Einsatzgebiet 3. Prozess / Tools 4. Zusammenfassung 19.03.2009 GENERATIVE PROGRAMMIERUNG

Mehr

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Wintersemester 2009/10 Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. K. Spies, Dr. M. Spichkova, L. Heinemann, P.

Mehr

Motivation. Motivation

Motivation. Motivation Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2012 Universität Duisburg-Essen Was sind nebenläufige Systeme? Ganz allgemein: Systeme, bei denen mehrere Komponenten/Prozesse nebenläufig arbeiten

Mehr

BPMN. Suzana Milovanovic

BPMN. Suzana Milovanovic BPMN Suzana Milovanovic 2 Übersicht Klärung von Begriffen, Abkürzungen Was ist BPMN? Business Process Diagram (BPD) Beispielprozess Entwicklung von BPMN BPMN in der Literatur 3 Grundlegende Begriffe Business

Mehr

Gliederung des Vortrages

Gliederung des Vortrages Gliederung des Vortrages Unified Modeling Language Rational Rose Sergej Schwenk Oktober 1999 0. Einführung 1. Historie 2. Der Entwicklungsprozeß 3. UML 3.1 Anwendungsfalldiagramme 3.2 Klassendiagramme

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Analyse- und Designmethoden Analyse- & Designmethoden Strukturierte, traditionelle Methoden Objektorientierte Methoden Funktionsorientierte Methoden Datenorientierte

Mehr

Vorlesung "Software-Engineering"

Vorlesung Software-Engineering Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse

Mehr

Klausur Software Engineering für WI (EuI)

Klausur Software Engineering für WI (EuI) Autor: Prof. Dr. Bernhard Humm, FB Informatik, FH Darmstadt Datum: 14. Februar 2006 Klausur Software Engineering für WI (EuI) Ihr Name: Ihre Matrikelnummer Erreichte Punkte (von insgesamt 57 Punkten):

Mehr

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96 Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96 Dieser Fragenkatalog wurde aufgrund das Basistextes und zum Teil aus den Prüfungsprotokollen erstellt, um sich auf mögliche

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

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

<thema> Projektdokumentation zum Softwareentwicklungsprojekt. (Entwicklerdokumentation) 28. Mai 2015 Projektdokumentation zum Softwareentwicklungsprojekt (Entwicklerdokumentation) Lehrveranstaltung Software Engineering I / II 28. Mai 2015 Entwickler: , , Auftraggeber:

Mehr

Klausur Software-Engineering SS 2005 Iwanowski 23.08.2005

Klausur 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!

Mehr

SERVICE SUCHE ZUR UNTERSTÜTZUNG

SERVICE SUCHE ZUR UNTERSTÜTZUNG SERVICE SUCHE ZUR UNTERSTÜTZUNG VON ANFORDERUNGSERMITTLUNG IM ERP BEREICH MARKUS NÖBAUER NORBERT SEYFF ERP SYSTEME Begriffsbestimmung: Enterprise Resource Planning / Business Management Solution Integrierte

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

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

7. Analyse-Phase: Datenmodellierung Software Engineering

7. Analyse-Phase: Datenmodellierung Software Engineering 7. Analyse-Phase: Datenmodellierung Software Engineering Hochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm Hochschule Darmstadt, 20. November 2006 Einordnung in den Kontext

Mehr

Universitä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 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

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

Musterfragen ALLGEMEINE Systemlehre

Musterfragen ALLGEMEINE Systemlehre Musterfragen ALLGEMEINE Systemlehre (2.4.01) 1 Musterfragen ALLGEMEINE Systemlehre Die angeführten Fragen sind als Beispiele zu verstehen. Es gibt keine Garantie, daß diese und genau diese Fragen kommen.

Mehr

Vorlesung vom 18.04.2005 - Einführung in die geschäftsprozessorientierte Unternehmensführung

Vorlesung vom 18.04.2005 - Einführung in die geschäftsprozessorientierte Unternehmensführung Vorlesung vom 18.04.2005 - Einführung in die geschäftsprozessorientierte Unternehmensführung 08.30 Begrüßung durch Dipl.-Kfm. Björn Simon organisatorische Grundlagen der Veranstaltung (Hinweis auf obligatorische

Mehr

Some Software Engineering Principles

Some 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

Mehr

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

Grundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN Grundzüge der Programmierung Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN Inhalt dieser Einheit JAVA ist objektorientiert! Grundbegriffe der objektorientierten Programmierung:

Mehr

Java Enterprise Architekturen Willkommen in der Realität

Java Enterprise Architekturen Willkommen in der Realität Java Enterprise Architekturen Willkommen in der Realität Ralf Degner (Ralf.Degner@tk-online.de), Dr. Frank Griffel (Dr.Frank.Griffel@tk-online.de) Techniker Krankenkasse Häufig werden Mehrschichtarchitekturen

Mehr

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.

Mehr

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem

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

Datenbanken. Prof. Dr. Bernhard Schiefer. bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer

Datenbanken. Prof. Dr. Bernhard Schiefer. bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Datenbanken Prof. Dr. Bernhard Schiefer bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Wesentliche Inhalte Begriff DBS Datenbankmodelle Datenbankentwurf konzeptionell, logisch und relational

Mehr

Systemdenken und Gestaltungsmethodik Einführung und Grundlagen II

Systemdenken und Gestaltungsmethodik Einführung und Grundlagen II Systemdenken und Gestaltungsmethodik Einführung und Grundlagen II Prof. Dr.-Ing. Stefan Brunthaler TFH Wildau 2006 ff. Master Telematik System-Definition Aus einem Systems Engineering Handbook: Ein System

Mehr

Geschäftsprozesse: Modellierung und Analyse

Geschäftsprozesse: Modellierung und Analyse Geschäftsprozesse: Modellierung und Analyse 1. Ausgangssituation 2. Begriffe 3. Modellierungsmethoden 4. Modellarten 5. Vorgehensprinzipien 6. Analyse 7. Werkzeuge Begriffe: Methoden, Verfahren, Notationen,...

Mehr

Übungen zu Softwaretechnik

Übungen zu Softwaretechnik Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 9 Dr. H. Ehler, S. Wagner 11. Januar 2007 Übungen zu Softwaretechnik Aufgabe 15 Systemerstellung / Systemarchitektur nach dem V- Modell XT Machen Sie sich mit den

Mehr

«Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen

«Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen 18 «Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen teilnimmt und teilhat.» 3Das Konzept der Funktionalen

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

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

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4. Agenda für heute, 4. Mai, 2006 Programmierparadigmen Imperative Programmiersprachen In Prozeduren zusammengefasste, sequentiell ausgeführte Anweisungen Die Prozeduren werden ausgeführt, wenn sie als Teil

Mehr

TISIS - Industrie 4.0. Ereignis, Ort, Datum

TISIS - Industrie 4.0. Ereignis, Ort, Datum - Industrie 4.0 Ereignis, Ort, Datum TISIS Software Die vollständige Maschinen- Software wird als Option für die gesamte Tornos Produktpalette angeboten Sie ermöglicht es Ihnen, Ihre Maschine zu programmieren

Mehr

Orientierte Modellierung mit der Unified Modeling Language

Orientierte Modellierung mit der Unified Modeling Language UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler Ziel dieses Seminars Verständnis von Objekt-Orientierung Was sind Klassen? Was ist Vererbung?

Mehr

Software-Engineering SS03. Zustandsautomat

Software-Engineering SS03. Zustandsautomat Zustandsautomat Definition: Ein endlicher Automat oder Zustandsautomat besteht aus einer endlichen Zahl von internen Konfigurationen - Zustände genannt. Der Zustand eines Systems beinhaltet implizit die

Mehr

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller Proseminar: Website-Managment-System NetObjects Fusion von Christoph Feller Netobjects Fusion - Übersicht Übersicht Einleitung Die Komponenten Übersicht über die Komponenten Beschreibung der einzelnen

Mehr

Entwurf. Anwendungsbeginn E DIN EN 62304 (VDE 0750-101):2013-10. Anwendungsbeginn dieser Norm ist...

Entwurf. Anwendungsbeginn E DIN EN 62304 (VDE 0750-101):2013-10. Anwendungsbeginn dieser Norm ist... Anwendungsbeginn Anwendungsbeginn dieser Norm ist.... Inhalt Einführung... 13 1 Anwendungsbereich... 16 1.1 *Zweck... 16 1.2 *Anwendungsbereich... 16 1.3 Beziehung zu anderen Normen... 16 1.4 Einhaltung...

Mehr

Look Inside: desite. modellorientiertes Arbeiten im Bauwesen. B.I.M.

Look Inside: desite. modellorientiertes Arbeiten im Bauwesen. B.I.M. Building Information Modeling Look Inside: desite modellorientiertes Arbeiten im Bauwesen. B.I.M. desite MD unterstützt Sie bei der täg lichen Arbeit mit Gebäudemodellen und ermöglicht den Zugang zu den

Mehr

Systemanalyse I Software-Entwicklung. Die Phase Design.? Prof. Dr. Susann Kowalski

Systemanalyse I Software-Entwicklung. Die Phase Design.? Prof. Dr. Susann Kowalski Die Phase Design Design Entwerfen der Benutzeroberfläche, des Bedienablaufs und der Softwarearchitektur Umsetzen des fachlichen Modells auf technische Möglichkeiten; Spezifikation der Systemkomponenten

Mehr

ERP Cloud Tutorial. E-Commerce ECM ERP SFA EDI. Backup. Partner erfassen, duplizieren und zuordnen. www.comarch-cloud.de

ERP Cloud Tutorial. E-Commerce ECM ERP SFA EDI. Backup. Partner erfassen, duplizieren und zuordnen. www.comarch-cloud.de ERP Cloud SFA ECM Backup E-Commerce ERP EDI Partner erfassen, duplizieren und zuordnen www.comarch-cloud.de Inhaltsverzeichnis 1 Ziel des s 3 2 Partner erfassen 3 2.1 Personen erfassen 3 2.1.1 Basisdaten

Mehr

Softwareanforderungsanalyse

Softwareanforderungsanalyse Softwareanforderungsanalyse Evolution von Anforderungen Burkhardt Renz Institut für SoftwareArchitektur der Technischen Hochschule Mittelhessen Wintersemester 2015/16 Evolution von Anforderungen Anforderungen

Mehr

SWE5 Übungen zu Software-Engineering

SWE5 Übungen zu Software-Engineering 1 Übungen zu Software-Engineering 1) Klassen und Objekte 2) Telefonanlage 3) Objekt- und Klassendiagramme 4) Assoziationen 5) Telefonanlage (Erweiterung) 6) Fahrzeuge 7) Familien 2 Aufgabe 1: Klassen und

Mehr

Software Engineering Analyse und Analysemuster

Software Engineering Analyse und Analysemuster Software Engineering Analyse und Analysemuster Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassendiagramme in der Analyse Im Rahmen der Anforderungsanalyse

Mehr

Projektcontrolling in der Praxis

Projektcontrolling in der Praxis 2014 WIE SIE EFFEKTIVES PROJEKTCONTROLLING BETREIBEN Was ist bei Multiprojektmanagement zu beachten? Wie lassen sich mit einem Klick Auswertungen erstellen? Und wie behalten Sie alle relevanten Projektkennzahlen

Mehr

Informationssystemanalyse Use Cases 11 1

Informationssystemanalyse Use Cases 11 1 Informationssystemanalyse Use Cases 11 1 Use Cases Slide 1 Als ein populäres Mittel um Anforderungen zu erfassen und Systeme zu beschreiben, werden Use Cases benutzt. Sie bilden die Basis für eine umfassendere

Mehr

Lizenzen auschecken. Was ist zu tun?

Lizenzen auschecken. Was ist zu tun? Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.

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

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungen zur Vorlesung Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungsblatt 3 Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online

Mehr

Objektorientierte Datenmodelle und - verwaltung

Objektorientierte Datenmodelle und - verwaltung Schlagworte der 90er: Objektorientiertes GIS OpenGIS Case-Tool Geoökologe Legt Problemstellung fest (Art, Anzahl, Dimension, Skalierung) Wählt Koordinatensystem Wählt Fachattribute OOUI (object-oriented

Mehr