Dat sind wir ...
 

 friese-total.de

Wirtschaftsinformatik I - Übung 2

Thema: EPK-Modellierung, Techniken zum Systementwurf


Aufgabe 1:

Wo sehen Sie Probleme bei der EPK-Modellierung?

  • Rücknahme von Zuständen
  • Realisierung von Aussagen der Form:

  • WENN Ereignis A NICHT eingetroffen ist
    DANN Funktion 1 ...
  • s. auch Blatt 1 Aufgabe 5 e)

Aufgabe 2:

a) Welche Sachverhalte lassen sich durch HIPO-Diagramme darstellen? Nennen Sie bei Ihrer Erläuterung bitte die Grundelemente eines HIPO-Diagramms.

HIPO: Hierarchy of Input-Process-Output
Darstellungs- / Entwurfsmethode, welche die grafische Darstellung von Funktionen, die von einem System ausgeführt werden, unterstützt.
Zur Darstellung werden zwei Diagramme benutzt:
  1. Funktionsbaum, -diagrammhierarchisch, strukturierte Darstellung der Systemfunktionen
  2. Ebenendiagramm mit Input-Prozeß-Output
Die Darstellung wird für jede Funktion mit Hilfe von Übersichtsdiagrammen vorgenommen, mehrere Detaildiagramme werden zur Darstellung von Input-Output-Verflechtungen herangezogen.
Beispiel:

Nachteile von HIPO:

  • vorwiegend für Arbeitsabläufe der Stapelverarbeitung konzipiert
  • die Darstellungen werden bei schrittweiser Verfeinerung schnell unübersichtlich
  • Datenrückflüsse sind nicht darstellbar

b) Stellen Sie die Kostenrechnung als HIPO-Diagramm dar. Hinweis: Die Kosten- und Leistungsrechnung gliedert sich in die Teilgebiete Kostenarten-, Kostenstellen- und Kostenträgerrechnung, die die nachfolgend beschriebenen Aufgaben umfassen.

Kostenartenrechnung Erfassung der Gesamtkosten und Erlöse bestimmter Abrechnungsperioden; Gliederung in Kosten- und Erlösarten (Unterscheidung zwischen Einzelkosten -> direkte Zuordnung und Gemeinkosten -> indirekte Zuordnung über Verrechnungssätze in der Kostenstellenrechnung)
Kostenstellenrechnung Gemeinkostenverrechnung; Kostenstellenplanung (Ermittlung von Plankosten für Kontrollzwecke -> Vergleich Plan : Ist)
Kostenträgerrechnung Berechnung der Kosten pro Kostenträger durch Kostenträgerstück- (Kosten pro Stück) und Kostenträgerzeitrechnung (Kosten pro Zeiteinheit)

Nehmen Sie für die Kostenartenrechnung eine Verfeinerung vor.

HIPO-Diagramm "logischer Datenfluß im Rechnungswesen"

Aufgabe 3:

a) Für welche Modellierungsaufgaben werden Struktogramme und Programmablaufpläne beim Systementwurf hauptsächlich eingesetzt?

Die hauptsächlichen Einsatzbereiche für Struktogramme oder PAP sind die Beschreibung von Funktionen bei DV- und Fachkonzepten.

b) Eine Unternehmung besitzt ein Sortiment von n= 1,...,N Produkten. Für dieses Sortiment soll als Teil einer ABC-Analyse das umsatzstärkste Produkt ermittelt werden. Für jedes Produkt sind sowohl der Verkaufspreis pn, als auch die abgesetzte Menge xn bekannt (n=1,...,N).

  • Stellen Sie den zugehörigen Algorithmus als Pseudocode dar.
  • Stellen Sie den Algorithmus als Struktogramm dar.
Rahmendaten:
 
maxumsatz : maximaler Umsatz
m_index : Index des umsatzstärksten Produktes
n : Zähler
Pseudocode:
Bei dem nun folgenden Pseudocode wird davon ausgegangen, daß die relevanten Daten aus einer Datei (Umsatzdatei UD) sequentiell ausgelesen werden. Desweiteren wird angenommen, daß für jedes Produkt nur ein Eintrag in der Datei vorliegt.
 
BEGINN Maximum ermitteln; 
    Öffne die Umsatzdatei (UD); 
    Lies den ersten Datensatz {N=1, x1, p1} 
    maxumsatz := p1*x1; 
    m_index := 1; 
    SOLANGE "Noch keine Datensätze vorhanden sind" 
    BEGINN 
      lies Datensatz n; 
      berechne pn*xn; 
      FALLS pn*xn > maxumsatz DANN 
      BEGINN 
        maxumsatz := pn*xn; 
        m_index := n;
      ENDE;
    ENDE; 
    Schließe Datei (UD); 
    Gib maxumsatz und m_index aus;
ENDE.
Struktogramm:
Hier wird die Prämisse, daß eine sequentielle Datei vorliegt, aufgegeben. Aus diesem Grund wird die Variablen verändert. Sie wirkt wie ein "Dateizeiger".

Aufgabe 4:

Ein Unternehmen beziehe n=1,...,N Produkte fremd. Jedes dieser N Produkte kann von jedem der insgesamt l=1,...,L Lieferanten geliefert werden.

a) Entwickeln Sie zunächst einen Algorithmus, der Ihnen zu jedem Produkt den günstigsten Lieferanten ermittelt. Vereinfachend soll der Bedarf jedes Produktes nur für eine Periode betrachtet werden. (Darstellung als Struktogramm)

Rahmendaten:
 
n : 1,...,N Produkte
l : 1,...,L Lieferanten
pnl : Preis Produkt n bei Lieferant l
bester_lieferantn : aktuell günstigster Lieferant für Produkt n
bester_preisn : aktuell günstigster Preis für Produkt n

Anmerkung:
Diese Lösung weicht von der Musterlösung ab!! Diese Lösung erscheint mir einfacher und ist genauso korrekt (wenn nicht bitte Bescheid sagen). Zwei Dinge sind mir an der Musterlösung unklar:

  1. Bei der Initialisierung wird die Variable bester_lieferantn := 0 gesetzt. Das ist meiner Meinung nach falsch, da der zugrundeliegende Wertebereich hier die Variable l=1,...,L ist und die 0 somit nicht definiert ist!
  2. Bei der Initialisierung der Variablen bester_preisn wird hier einfach 1000 genommen, mit dem Hinweis, daß es eine hinreichend große Zahl sein soll. Diese muß also sozusagen erst einmal geraten werden. Der Algorithmus ist damit nicht eindeutig!
Die obige Lösung bedenkt diese Umstände, indem einfach immer der 1. Lieferant zunächst für das Produkt n als bester Lieferant gesetzt wird. Gibt es einen günstigeren, so wird er in der zweiten Schleife (l = 1,...;L) neu gesetzt. Wenn nicht, ist er auch der günstigste Lieferant für das Produkt n.
Ebenso wird hier die Ausgabe direkt nach dem Durchlauf zu einem Produkt (n = 1,...,N) ausgegeben. Der obige Algorithmus spart, im Vergleich zur Musterlösung, also zwei Schleifendurchläufe (inkl. Neu-Initialisierung von n (n := 1).

b) Erweitern Sie Ihren Algorithmus aus a) derart, daß auch Mengenrabatte von Lieferanten berücksichtigt werden können.(Darstellung als Struktogramm)

Rahmendaten:
 
n : 1,...,N Produkte
l : 1,...,L Lieferanten
pnlr : Preis Produkt n bei Lieferant l in Rabattkklasse r
bester_lieferantn : aktuell günstigster Lieferant für Produkt n
bester_preisn : aktuell günstigster Preis für Produkt n
xn : benötigte Menge von Produkt n
r : 1,...R Rabattklassenindex
gefunden : Logische Variable
 

Anmerkung:
Auch diese Struktogramm weicht etwas von der Musterlösung ab. Die dort vorgenommene Initialisierung und Ausgabe wird, wie schon in Aufgabe 4a) in den Algorithmus mit hineingezogen.
Diese Lösung geht, wie auch die Musterlösung, davon aus, daß der Rabattklassenindex bei der kleinsten Menge xn (o.B.d.A = 1) beginnt. Also z.B. xn = {1 ... 10}r = 1, xn = {11 ... 20}r =2 usw. Nur auf diese Weise ist es möglich die Schleife WIEDERHOLE BIS GEFUNDEN = TRUE auch zu beenden (wenn keine Rabattklasse gefunden werden würde, gäbe es eine Endlosschleife!). Ebenso ist damit auch die Initialisierung bester_preisn := pnlr korrekt, es muß nur (leider) vorher entsprechend r := 1 gesetzt werden.


Aufgabe 5:

Normalerweise nehmen Unternehmen eine Losgrößenbildung zur Optimierung der bestellfixen Kosten und Lagerkosten vor. Ein solches Losgrößenverfahren ist das Verfahren des Stückperiodenausgleichs (Part-Period). Bei diesem heuristischen Verfahren werden die Periodenbedarfe, beginnend bei der Startperiode, so zu Losen zusammengefaßt, daß die Bestellfixkosten (kFix) kleiner als die relevanten Lagerkosten des Loses sind. Folgendes Beispiel soll die Vorgehensweise verdeutlichen:

Rahmendaten:

kl : 1 [GE/(ME-Periode)]: Lagerkosten pro Periode und Mengeneinheit  
kfix : 50 [GE]: bestellfixe Kosten pro Bestellung 
bt : Bedarf der Periode t
ta : Periode, ab der Lose zusammengefaßt werden (Losstartperiode)
te : letzte Periode, die zur Losbildung gehörte (Losendperiode)

Prüfbedingung zur Ermittlung der Losendperiode:


(te* ist diejenige Periode, bei der die Lagerkosten erstmalig größer als die bestellfixen Kosten sind)
Losbildung: 
Bedarfstabelle:
t 1 2 3 4 5
Bedarf bt 20 30 15 30 55
Berechnung: Stückperioden: kfix / kl = 50 [ME-Periode]
  1. ta = 1

  2. Die Prüfbedingung liefert te* = 3, da 50 < 0 + 30*1 + 15*2 = 60
    D.h. das erste Los umfaßt die Periodenbedarfe von t=1 bis t=3: 20+30+15=65
  3. ta = 4 (= te* + 1)

  4. te* = 5, da 50 < 0 + 55*1 = 55
    Die Prüfbedingung liefert te* = 5, da 50 < 0 + 55*1 = 55
    D.h. das zweite Los umfaßt die Periodenbedarfe von t = 4 bis t = 5: 30 + 55 = 85

In Periode 1 ('los(1)') werden 65 ME und in Periode 4 ('los(4)') werden 85 ME bestellt.

Stellen Sie das Verfahren des Stückperiodenausgleiches im Pseudocode dar.

BEGINN Stückperiodenausgleich 
    kl := 1; 
    kfix := 50; 
    te* := 0; 
    DURCHLAUFE BIS "Ende Planungsperioden" 'hier im Beispiel t = 5 
      ta := te* + 1; 
      t := ta; 
      lossumme := bt * (t - ta); 
      los = bt; 
      DURCHLAUFE SOLANGE (kl * lossumme) < kfix 
        t := t + 1; 
        lossumme := lossumme + bt * (t - ta); 
        los = los + bt; 'Berechnung der Losgröße
      SCHLEIFE; 
      te* := t; 
      PRINT los; 'Ausgabe der Losgröße 
      PRINT ta; 'Ausgabe der Bestellperiode
    SCHLEIFE;
ENDE Stückperiodenausgleich.
Hierzu liegt mir leider keine Musterlösung vor. Der Algorithmus sollte aber soweit stimmen. Fraglich ist für mich im Moment die korrekte Syntax, bzw. was im Rahmen dieser Vorlesung als "Pseudocode" (eine Erläuterung findet sich unter Pseudocode) verstanden wird. Vielleicht ist dieser Pseudocode zu formal oder die Befehle sind in einer "unkorrekten" Syntax. "Pseudo" heißt in meinen Verständnis allerdings, daß man von (fast) jeglicher Syntax freigesprochen ist.


Zur Übersicht Nächstes Übungsblatt
Bitte lesen: Wichtige Hinweise zu diesen Seiten!