EGE/Inf2017/Modelle

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

== Modelle in der Informatik ==
=== Was sind Modelle ===
* Abbildung eines Realitätsausschnitts:
** Architektur der Software (Data-Model-View)
** grafische Darstellung von Code (PAP, Struktogramm)
** Datenmodelle (ER-Diagramme)
* Konzept eines Systems
** Netzwerkprotokoll (DoD-Schichtenmodell)
** Referenzmodelle (Konzept Rechenanlagen, Filius)
** Data-Warehouse (Internetportale)
* Organisation von Firmen (Organigramm)
* Wirtschaftsinformatik: Mensch-Maschine-Modell und Auswirkungen
<!--[[Bild:Mschubert_Informatische_modelle_beispiele.png]]-->

=== Beispiele für Modelle ===
==== Programmablaufplan (PAP)====

Grenzen


*eignen sich nicht für den Entwurf von Programmen in Hochsprachen, da Verzweigungen sehr nahe an den Sprungbefehl angelehnt sind 
*kann unübersichtlich sein

Aufbau
*Beginn oder Ende stellt man mit einem Oval dar (In Oval kann z.B. „Start“ oder „Ende“ für das Hautprogramm eingetragen werden)
*einzelnen Operationen werden in Rechtecken dargestellt (können einzelne Befehle oder frei sprachliche Beschreibungen der Operationen eingeschrieben werden)
*Unterprogrammaufrufe sind als Rechteck mit doppelten vertikalen Linen an Rändern dargestellt
*Zeichen steht für mehrere hintereinander liegende Anweisungen
*Die als Kreis dargestellte Übergangsstelle dient zur Übersicht dh. Pfeile können vermieden werden


==== Struktogramm ====
Ziele:Entwicklung und Entwurf von Programmen 

Aufbau:Verbindung mehrerer Blöcke welche Anweisungen,Bedingungen oder Wiederholungen beinhalten können und auch miteinander kombiniert werden können, z.B.eine bedingte Schleife 

Grenzen:Probleme müssen in einzelne Problematiken zerlegt werden und diese Einzelprobleme werden dann mithilfe eines Struktogramms gelöst 

Nutzen: Darstellung von Algorithmen


==== ER-Diagramm ====
* '''Ziel und Nutzen:''' dient zur Beschreibung und grafischen Darstellung von Datenbankmodellen
Grundprinzip der Datenmodellierung 
'''Aufbau:'''
*Entity/Entität:
**Objekt der Wirklichkeit, welches man von anderen Objekten differenzieren kann
*Entitätstyp:
**Klassifizierung gleichartiger Entitäten 
*Beziehung:
**Verknüpfung  zwischen zwei oder mehreren Entitäten
*Attribute:
**Klassifizierung ähnlicher Eigenschaften
*Beziehungstyp:
**Typisierung gleichartiger Beziehungen

* '''Beispiel:
[[Bild:Loko_ERM_Beispiel.png]]
* '''Ein Schüler besucht eine Schule. Mehrere Schüler können eine Schule besuchen, aber mehrere Schulen können nicht zu einem Schüler gehören.

==== UML-Diagramm ====
-> unified Modeling Language


'''Aufbau'''  

[[Bild:Hke1655_UML2.jpg]]

-> Geheimnisprinzip: Öffentliche Attribut- und Methodennamen werden zusätzlich noch mit einem '+' und private Angaben mit einem '-' gekennzeichnet.

'''Ziele''' einheitliche Notation in unterschiedlichsten Einsatzgebieten, graphische Sicht auf Ausschnitte eines Modells, festlegen von Beziehungen zwischen verschiedenen Begriffen (Modelle, Attribute, Klassen( Aufgeteilt in Stereotyp (Klassenname), Attribut und Operationen/Methoden) Objekte, Methoden)

'''Einsatzmöglichkeiten''' Spezifikation, Visualisierung, Konstruktion, Dokumentation von Modellen, objektorientierte Softwareentwicklung, Geschäftsprozessmodellierung

'''Grenzen''' keine Programmiersprache, nicht vollständig, keine Alternative für textuelle Beschreibung

==== Von-Neumann-Architektur ====
'''Ziel und Einsatzmöglichkeiten'''

* Veranschaulichung großer Rechensysteme
* Einsatzmöglichkeiten in allen Computer- und Rechensystemen



'''Anforderungen und Grenzen'''

* Anforderungen/Komponenten
** CPU
*** Rechenwerk: führt logische Verknüpfungen aus
*** Steuerwerk: leitet Rechenwerk und interpretiert Anweisungen eines Programms
** Bussystem: verbindet die Komponenten des Rechners untereinander
** Speicherwerk: speichert Programme und Daten, die für das Rechenwerk zugänglich sind
** Ein- und Ausgabewerk (I/O-Unit): steuert Ein- und Ausgabe zum Anwender oder anderen Systemen

* Grenzen
** Bussystem deutlich langsamer als CPU (Von-Neumann-Flaschenhals)



'''Beispiel'''

Entwerft ein eigenes Von-Neumann-Modell zu einem allgemeinen Rechner mit den oben angegebenen Komponenten.

[[Bild:Apa911_Von-Neumann_Architektur12.svg.png]]