EGE/Inf2019/Modelle
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
== Modelle in der Informatik ==
=== Was sind Modelle ===
In der Informatik dienen Modelle der
* Abbildung eines Realitätsausschnitts
** Modelle für zu erstellende Software / Architektur
** deren Code (Programmablaufplan, Struktogramm)
** Datenmodelle (bei Datenbanken) für die Strukturen und deren Daten (ER-Modell, UML)
* als Vorlage bei Konzeption von Rechneranlagen, und Systemmodelle (von-Neumann)
* Planungs-, Steuerungs- und Organisationsmodelle (Abläufe von Geschäftsprozessen…) → Organigramm
* Wirtschaftsinformatik: Mensch-Maschine-Modell (auch deren Auswirkungen)
<!--[[Bild:Mschubert_Informatische_modelle_beispiele.png]]-->
=== Beispiele für Modelle ===
<language>Python</language>
==== Programmablaufplan (PAP)====
'''Ziel/Einsatzmöglichkeiten:'''
*Darstellung eines Algorithmus
*Darstellung des Ablaufs in einem Programm
'''Anforderungen/Aufbau/Grenzen:'''
*behindert strukturierte Programmierung (Struktogramm besser)
'''Beispiel:'''
[[Bild:PAP_BSP.png]]
'''Übung:'''
''Setzen sie den Programmcode in ein Programmablaufplan um.''
<code>
input(kapital)
jahr = 0
while jahr < 50:
jahr = jahr + 1
zinsen = kapital*0.006
kapital=kapital+zinsen
print("nach 50 Jahren: " + kapital)</code>
==== Struktogramm ====
'''Ziel/Einsatzmöglichkeiten:''' Darstellung von Programmabläufen für eine strukturierte Programmierung
'''Anforderungen:''' Zerlegung des Gesamtproblems in viele kleine Teilprobleme → Grundstrukturen, z.B. Sequenzen, übrig
'''Aufbau/Grenzen:''' Zusammensetzung aus Strukturblöcken, entweder hintereinander oder nebeneinander geschaltet
'''Beispiel: '''
Verzweigung: [[Bild:BenERZ_EinfAusw.png]]
Schleife: [[Bild:BenERZ_KopfgesteuerteSchleife.png]]
'''Aufgabe: Struktogramm für ein Telefonat (man soll solange nach Verbindung suchen bis zur Annahme)'''
Lösung: https://www.sachsen.schule/~infoms/info_neu/grafiken/struktogramm.gif
==== ER-Diagramm ====
'''Ziel/Einsatzmöglichkeiten:'''
Das ER-Diagramm dient der vereinfachten logischen Darstellung eines Datenbankensystems.
Es wird verwendet um z.B. die Verständigung zwischen Entwickler und Anwender bei Erstellung eines Projekts zu vereinfachen.
'''Anforderungen/Aufbau/Grenzen:'''
Die Grundelemente eines jeden Entity-Relationship-Modells bilden: Entitäten, Beziehungen und Attribute.
Entitäten haben bestimmte Eigenschaften welche durch Attribute beschrieben werden. In welchem Zusammenhang diese stehen beschreibt die Beziehung (1-n;1-1,m-n).
'''Beispiel:'''
Nenne 3 verschiedene Attribute der Entität "Fluss".
==== UML-Diagramm ====
'''Ziel/Einsatzmöglichkeiten:'''
*eine gemeinsame umfangreiche visuelle Modellierungssprache für die Architektur, das Design und die Implementierung von komplexen Softwaresystemen zu schaffen
'''Anforderungen/Aufbau/Grenzen:'''
*Unterteilung in Klassen und Schnittstellen
** Klassen werden durch Rechtecke dargestellt, die entweder nur den Namen der Klasse (fett gedruckt) tragen oder zusätzlich auch Attribute, Operationen und Eigenschaften enthalten
** Schnittstellen werden ähnlich wie eine Klasse mit einem Rechteck dargestellt, zur Unterscheidung aber mit dem Schlüsselwort interface gekennzeichnet
*wichtige Bezeichnungen:
**Assoziation: beschreibt eine Beziehung zwischen zwei oder mehr Klassen
***Komposition und Aggregation (spezielle Assoziationen)
***die Komposition ist spezieller als die Aggregation
***sie beschreiben die Beziehung der Teile zu ihrem Ganzen
'''Beispiel:'''
==== Von-Neumann-Architektur ====
'''Ziel/Einsatzmöglichkeiten:'''
Modell zur Visualisierung eines PCs
'''Anforderungen/Aufbau/Grenzen:'''
4 Funktionseinheiten:
* Rechenwerk (CPU)
* Steuerwerk(CPU)
* Speicherwerk (Festplatte /Arbeitsspeicher)
* Ein-/Ausgabewerk (I/O)
Vereinfachte Darstellung (Bus-System wird nicht erwähnt(Schnittstelle aller Werke))
[[Bild:Conrad_SGJjzZ6lWc3_D2ehQCEka5A.png]]
'''Beispiel:'''
Computer; DVD -Player etc.
==== Organigramm ====
'''Ziel/Einsatzmöglichkeiten:'''
Das Wort leitet sich von '''ORGANI'''sation und Dia'''GRAMM''' ab
--> Organigramm
Ziel ist es bestimmte Dinge in Ober- und Untergruppen genau einzuordnen
Einsatzmöglichkeiten sind zum Beispiel in Betrieben um die Arbeiter
in ihre verschiedenen Abteilungen einzuordnen --> Aufbauorganisation
eines Betriebes
'''Anforderungen/Aufbau/Grenzen:'''
Anforderungen: hierarchische Strukturen werden klar ersichtlich, effizienter Informationsaustausch
Aufbau: Unterteilung in verschieden Ebenen/Gruppen, keine DIN-Norm, sowohl horizontal als auch vertikal
'''Beispiel:'''
[[Bild:Msu1654_Bildschirmfoto_vom_2019-12-11_10-49-03.png]]