Leseprobe (PDF) - Merkur Verlag Rinteln
Leseprobe (PDF) - Merkur Verlag Rinteln
Leseprobe (PDF) - Merkur Verlag Rinteln
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Kapitel 3: Tabellenkalkulation mit Excel<br />
119<br />
Aufgabe 15<br />
Die Umsätze werden unter Angabe der Kundennummer, Datum und Rechnungsbetrag in<br />
einer Excel-Tabelle gespeichert. Klender gewährt seinen Kunden einen Bonus, der von der<br />
Höhe des Jahresumsatzes abhängig ist.<br />
Umsätze<br />
Kunden-Nr Datum Betrag<br />
Jahresumsatz<br />
Bonus<br />
1005 03.01.13 89.457,63 €<br />
1002 07.01.13 33.556,16 €<br />
1005 08.01.13 59.498,18 €<br />
999 10.02.13 61.459,92 €<br />
1002 21.02.13 102.769,96 €<br />
1004 22.02.13 77.853,34 €<br />
1004 01.03.13 109.393,74 €<br />
1004 15.04.13 75.662,24 €<br />
1002 25.04.13 38.747,32 €<br />
1002 31.05.13 93.200,10 €<br />
1001 04.06.13 27.984,72 €<br />
1004 29.06.13 94.742,52 €<br />
1003 03.07.13 76.002,70 €<br />
1001 17.07.13 29.371,46 €<br />
1002 25.07.13 13.027,02 €<br />
9999 21.08.13 17.325,70 €<br />
1001 27.08.13 108.850,86 €<br />
1005 11.09.13 51.361,06 €<br />
1003 02.10.13 58.046,62 €<br />
1001 13.10.13 25.744,72 €<br />
1003 27.10.13 19.426,56 €<br />
1003 30.10.13 78.091,18 €<br />
9999 16.11.13 53.468,40 €<br />
9999 20.11.13 40.740,62 €<br />
1005 22.11.13 38.557,48 €<br />
1005 25.11.13 25.070,14 €<br />
1001 03.12.13 47.960,52 €<br />
1004 08.12.13 30.341,70 €<br />
1002 18.12.13 95.531,92 €<br />
9999 27.12.13 63.395,80 €<br />
120 Kapitel 3: Tabellenkalkulation mit Excel<br />
Aufgabe 16<br />
Alexander hat das Kassenbuch zu führen. In Anlehnung an das konventionelle Kassenbuch,<br />
das per Hand geschrieben wurde, entwickelt er ein Rechenmodell, in dem auch ein<br />
Kontrollmechanismus eingebaut werden soll.<br />
Einzugeben sind: Datum, Belegnummer, Betrag in Bar-Ein oder Bar-Aus, USt-Kennziffer<br />
sowie bei Barauszahlung Eingabe des Betrages auf einem oder mehrere Gegenkontenspalten.<br />
Nach der Eingabe eines Auszahlungsbetrages erscheint in der Spalte Kontrolle so lange<br />
die Bemerkung Fehlbuchung, bis der Betrag einem oder mehreren Gegenkontenspalten<br />
zugewiesen wurde. Splitbuchungen sind also erlaubt.<br />
Ferner soll die Umsatzsteuer automatisch herausgerechnet werden. Die anzuwendende<br />
Umsatzsteuer wird in der Spalte USt angegeben. 1 = 19 %, 2 = 7 %, 0 = keine Umsatzsteuer.<br />
Zur Erinnerung ist diese Information in einem Kommentar der Überschriftszeile<br />
beigefügt.<br />
Wurde die Umsatzsteuerkennziffer 2 eingegeben, sollen der Netto- und der Umsatzsteuerbetrag<br />
in blauer Farbe ausgegeben werden.<br />
3.7 Was-wäre-wenn-Analyse<br />
3.7.1 Zielwertsuche<br />
Klender will expandieren und plant den Bau einer weiteren Lagerhalle, die 500.000 EUR<br />
kosten wird. Die Jahreszinsen betragen 5,5 %. Die monatlichen Raten sollen so hoch sein,<br />
dass der Kredit nach 36 Monaten abgezahlt ist.
Kapitel 3: Tabellenkalkulation mit Excel<br />
121<br />
Die Excel-Tabelle sieht folgendermaßen aus:<br />
In der Spalte B wird der jeweilige<br />
Restbetrag ermittelt, indem der<br />
Vormonatswert um die monatliche<br />
Zinsbelastung (Jahreszins/<br />
12 = 0,458 %) erhöht und davon<br />
der monatliche Ratenbetrag (im<br />
Beispiel 12.000 EUR) abgezogen<br />
wird.<br />
Anstatt mühselig die monatliche<br />
Rate durch Annäherung zu ermitteln,<br />
wird die Zielwertsuche angewendet.<br />
Rufen Sie in der Registerkarte Daten<br />
den Bereich Was-wäre-wenn-<br />
Analyse auf und klicken Sie auf<br />
Zielwertsuche.<br />
In dem Folgefenster geben Sie die Zielzelle ein,<br />
also die Zelle, in der der gewünschte Wert erscheinen<br />
soll. Das ist hier die Zelle B41. Der Zielwert lautet<br />
0 und die veränderbare Zelle ist B2, in der die<br />
Monatsrate angezeigt wird.<br />
Mit einem Klick auf die Schaltfläche OK bestätigen<br />
Sie Ihre Eingaben, woraufhin die Monatsrate so<br />
abgeändert wird, dass nach 36 Monaten der Wert 0<br />
erreicht ist.
Kapitel 4: Objektorientierte Programmierung<br />
213<br />
4.10 Objektsammlung ArrayList<br />
4.10.1 Problemstellung Kundenaufträge<br />
In der Firma Klender ist das bislang recht umständliche Verfahren zur Auftragsannahme<br />
für Heizöl in die Kritik geraten. Miriam: ”Bei unseren Stammkunden sollten wir am Bildschirm<br />
nur die Kundennummer und die bestellte Menge eingeben. Die Auftragsbearbeitung<br />
und alles, was damit zusammenhängt, kann später auf der Grundlage der erfassten<br />
Daten erledigt werden.“<br />
Geschäftsführer: ”Das führt zu einer Veränderung der Arbeitsabläufe. Das sollten wir<br />
zunächst einmal erproben auf der Grundlage einer minimalen Datenbasis.“<br />
Es wird eine Arbeitsgruppe gebildet, die sich mit den Fragen, welche Daten benötigt werden<br />
und wie die Bildschirmmaske zu gestalten ist, auseinandersetzt. Das Ergebnis der<br />
Arbeitsgruppe:<br />
Bildschirm<br />
Der Klick auf die Schaltfläche<br />
Neuer Auftrag führt zur Löschung<br />
der Eingabefelder. Es<br />
wird die nächste Auftragsnummer<br />
angezeigt, die vom System<br />
gebildet wird.<br />
Nach der Eingabe der Kundennummer<br />
wird zur Kontrolle der<br />
Kundenname angezeigt.<br />
Die Liefermenge wird zunächst<br />
nicht auf Plausibilität geprüft. Sie<br />
wird übernommen, ohne darauf<br />
geprüft worden zu sein, ob sie<br />
wohl richtig sein kann.<br />
In dem Feld Meldungen sollen<br />
etwaige Fehlermeldungen angezeigt<br />
werden.<br />
Mit dem Klicken auf die Schaltfläche<br />
Speichern wird der Auftragssatz<br />
gespeichert.<br />
Ein Klick auf die Schaltfläche Aufträge<br />
anzeigen bewirkt die Ausgabe<br />
der Auftragsdatensätze. Außerdem sollen später Daten für die Tourenplanung bereitgestellt<br />
werden. Deshalb soll auch eine Schaltfläche Tourenplanung vorgesehen werden.<br />
Dieses Verfahren setzt voraus, dass eine Kundendatei existiert. Sie muss vorher erstellt<br />
worden sein. Der Kundensatz soll aus den Elementen Kundennummer, Name, Adresse<br />
und Lieferbezirk bestehen.<br />
Der Auftragssatz beschränkt sich zunächst auf Auftragsnummer, Kundenangabe und<br />
Menge.
214 Kapitel 4: Objektorientierte Programmierung<br />
Programmplanung<br />
Miriam fragt den IT-Experten: ”Das ist doch sicher schnell programmiert. Können wir<br />
schon diese Woche mit der neuen Form der Auftragserfassung beginnen?“<br />
Der IT-Experte schüttelt den<br />
Kopf: ”So schnell wird es nicht<br />
gehen! Wir müssen zunächst<br />
eine Kundenliste aufbauen und<br />
einen Suchalgorithmus entwickeln.<br />
Wenn das funktioniert,<br />
können wir uns der Auftrag s-<br />
erfassung zuwenden.“<br />
Voraussetzung für die Erprobung<br />
der neuen Art der Auftragserfassung<br />
ist, dass die<br />
Daten mehrerer Kunden im Arbeitsspeicher<br />
vorhanden sind.<br />
In der Versuchsphase reicht es<br />
aus, dass sie per Programm erzeugt<br />
werden.<br />
Das Meilensteindiagramm verdeutlicht,<br />
dass der Entwicklungsprozess<br />
systematisch<br />
geplant werden muss. Es wird<br />
festgelegt, in welcher Reihenfolge<br />
die einzelnen Teilstücke,<br />
aus denen sich letztlich das<br />
Programm zusammensetzt, programmiert<br />
werden. Jedes Teilstück<br />
muss daraufhin geprüft<br />
werden, ob es korrekt funktioniert,<br />
bevor es mit anderen Teilstücken,<br />
auch Module genannt,<br />
verbunden wird.<br />
Auftragsbearbeitung<br />
Klasse Kunde<br />
erstellen<br />
Klasse Kundenliste<br />
erstellen<br />
Funktionstest<br />
ja<br />
Ok?<br />
Klasse Auftrag<br />
erstellen<br />
nein<br />
Klasse Auftraege<br />
erstellen<br />
Funktionstest<br />
ja<br />
Ok?<br />
AuftragGUI<br />
ja<br />
Ok?<br />
Ende<br />
nein<br />
nein<br />
4.10.2 Klassenbildung<br />
Der Aufbau der Klassen Kunde und Auftrag dürfte wohl keine Schwierigkeit bedeuten:<br />
Klasse Kunde<br />
String Kundennummer<br />
String Name<br />
String Adresse<br />
String Bezirk<br />
Klasse Auftrag<br />
String Auftragsnummer<br />
String Kundenangabe<br />
int Menge
Kapitel 4: Objektorientierte Programmierung<br />
215<br />
Das Problem stellt sich vielmehr darin, dass die Klasse Kunde nicht ausreicht, um die<br />
vielen Kundendaten im Computer darzustellen. Bei drei Kunden mag es noch angehen,<br />
drei Kundenobjekte anzulegen. Bei einer nicht vorhersehbaren Anzahl ist das nicht mehr<br />
praktikabel.<br />
Diese Aussage gilt auch für die Klasse Auftrag, da die Anzahl der Aufträge nicht vorhersehbar<br />
ist.<br />
4.10.3 ArrayList<br />
ArrayList ist wie vieles in einer Programmiersprache ein Kunstwort, das sich aus Array<br />
und Listing zusammensetzt. Array ist mit Bereich und List mit Auflistung zu übersetzen.<br />
Die Objektvariable eines ArrayList-Objekts verwaltet beliebig viele Adressen von Exemplaren<br />
eines Objekts, die in einem Speicherbereich abgelegt werden. Bei einer ArrayList<br />
handelt es sich somit um eine Objektsammlung, die als Objekt zu vereinbaren und zu<br />
instanziieren ist.<br />
Vereinbarung und Instanziierung<br />
Am Beispiel der Klasse Kunde wird die Handhabung einer ArrayList dargestellt. Die Vereinbarung<br />
und Instanziierung eines ArrayList-Objekts wird wie folgt formuliert:<br />
ArrayList kd = new ArrayList();<br />
Hinter dem Schlüsselwort ArrayList wird in spitzen Klammern die Klasse angegeben,<br />
deren Struktur in der ArrayList abgebildet werden soll. kd ist die Objektvariable. Sie verwaltet<br />
die Objekte der Klasse Kunde.<br />
Speichern<br />
Das Speichern in die ArrayList kd vollzieht sich in zwei Schritten. Zunächst muss ein neues<br />
Objekt Kunde angelegt werden:<br />
Kunde kund = new Kunde(kdNr,name, adresse,bezirk);
Kapitel 5: Datenbanken<br />
297<br />
5 Datenbanken<br />
5.1 Gestaltung von Datenbanken<br />
Situation<br />
Die Firma Klender schreibt die Rechnungen bisher mit einem Textverarbeitungsprogramm.<br />
Die Heizölmengen, Literpreise und Gesamtbeträge der Rechnungen stammen aus einer<br />
Excel-Datei und werden manuell in die Vorlage übertragen. Auch die Kundenadresse wird<br />
von Hand eingesetzt. Diese Vorgehensweise ist umständlich und benötigt auch sehr viel<br />
Zeit. Außerdem sind die Absatz- und Umsatzstatistiken nur sehr umständlich zu erstellen.<br />
Daher sucht die Firma Klender nach einem praktikableren Weg. Man einigt sich schließlich<br />
auf eine Datenbank-Lösung. Nun stellt sich aber die Frage, wie die Daten in der Datenbank<br />
angelegt werden müssen.<br />
Bei der Entwicklung einer Datenbank werden oftmals Teams gebildet, die aus IT-Experten<br />
und Mitarbeitern der Fachabteilungen bestehen. Im Fall der Firma Klender werden Miriam<br />
und Alexander in das Team entsandt. Zu Beginn der Teamarbeit wird eine Schulung durchgeführt,<br />
in denen Begrifflichkeiten und Systemzusammenhänge geklärt werden.<br />
5.1.1 Komponenten und Sichten eines Datenbanksystems<br />
Eine Datenbank ist eine systematische und zweckgerichtete Sammlung von Daten.<br />
Aus dem Verwendungszweck ergibt sich, welche Daten gesammelt und gespeichert werden.<br />
Um die Daten, die in der Datenbank in Tabellen abgelegt sind, verwalten und nutzen<br />
zu können, benötigt der Anwender ein Datenbankverwaltungssystem. Ein Datenbanksystem<br />
besteht somit aus einer Datenbank und einem Datenbankverwaltungssystem, das in<br />
der Fachsprache Data Base Management System genannt wird, abgekürzt DBMS.<br />
Das DBMS stellt die Methoden zur Verfügung, mit denen der Nutzer auf die in der Datenbank<br />
gespeicherten Daten zugreifen kann.
298 Kapitel 5: Datenbanken<br />
Bei einem Datenbanksystem unterscheidet man drei Ebenen, die in Anlehnung an den<br />
amerikanischen Sprachgebrauch auch Sichten bzw. views genannt werden.<br />
Externe Sicht<br />
Der Anwender nutzt die Datenbank mithilfe einer Datenbankabfrage- und -manipulationssprache<br />
(external view).<br />
Konzeptionelle Sicht<br />
Die Beschreibung des Datenmodells stellt die konzeptionelle Sicht dar (conceptional view).<br />
Unter einem Datenmodell versteht man die datenmäßige Abbildung eines bestimmten<br />
Ausschnitts der realen Umwelt. Bei einem relationalen Datenmodell werden die Daten<br />
in zweidimensionalen Tabellen angeordnet und die Beziehungen zwischen den Tabellen<br />
geregelt.<br />
Interne Sicht<br />
Gegenstand der internen Sicht (internal view) ist die physische Speicherung der Daten.<br />
Wie die Daten gespeichert werden, wird allein vom DBMS geregelt. Über die Struktur der<br />
Datenbank führt das DBMS einen Systemkatalog, auch Data Dictionary genannt.<br />
5.1.2 Aufbau einer Tabelle<br />
Eine Datenbank-Tabelle hat folgenden Aufbau:<br />
In den Spalten der Tabelle werden die Eigenschaften des betrachteten Objekts eingetragen.<br />
Statt Eigenschaft ist auch der Begriff Attribut gebräuchlich. In den Spaltenüberschriften<br />
stehen die Attribut-Bezeichner, wie zum Beispiel Kundennummer, Vorname, Name.
Kapitel 5: Datenbanken<br />
299<br />
In den Zellen der Tabelle werden die Attributwerte eingetragen. Die Attributwerte einer<br />
gesamten Zeile bilden einen Datensatz, der auch Tupel genannt wird.<br />
Die Dateneinträge können aus einzelnen Zeichen, Zeichenfolgen sowie Zahlen und Sonderzeichen<br />
bestehen. Wichtig ist, dass sich jedes Tupel von den anderen unterscheidet.<br />
Das wird durch Auswahl eines Attributes als Primärschlüssel, auch Schlüsselattribut<br />
genannt, erreicht. Ein typisches Schlüsselattribut für eine Kundentabelle ist die Kundennummer.<br />
5.1.3 Beziehungen<br />
Bei einer relationalen Datenbank stehen die Tabellen in Beziehung zueinander. Diese<br />
Beziehungen werden auch Relationen genannt. Nicht jede Form der Relation kann in einer<br />
Datenbank abgebildet werden. Man unterscheidet drei Beziehungsarten.<br />
1:1-Beziehungen<br />
Bei dieser Beziehungsart handelt es sich um eine eindeutige Beziehung zwischen zwei<br />
Tabellen. Jeder Datensatz der einen Tabelle entspricht genau einem Datensatz der anderen<br />
Tabelle. Ein Beispiel zeigt die nachfolgende Abbildung. Jede Ehefrau hat genau einen<br />
Ehemann und jeder Ehemann hat genau eine Ehefrau.<br />
verheiratet<br />
mit<br />
1 1<br />
Ehemann<br />
Ehefrau<br />
Weitere Beispiele sind Abteilungen und Abteilungsleiter oder Mitarbeiter und deren Personalakte.<br />
1:n-Beziehungen<br />
Die häufigste Beziehungsart in Datenbanken ist die die 1:n-Beziehung. Das Verhältnis zwischen<br />
Schüler und Schulklasse ist ein Beispiel für eine solche Beziehung.<br />
Klasse<br />
WG 12/2<br />
In Klasse<br />
1 n<br />
Schüler<br />
H. Maier<br />
S. Müller<br />
D. Huber
354 Kapitel 6: Datenschutz und Datensicherheit<br />
6 Datenschutz und Datensicherheit<br />
6.1 Begriff<br />
Datenschutz und Datensicherheit werden oftmals in einem Atemzug genannt. Sie dürfen<br />
aber nicht gleichgesetzt werden.<br />
■ Unter Datenschutz versteht man den Schutz persönlicher Daten vor Missbrauch.<br />
■ Datensicherheit meint die Sicherheit von technischen und logischen Systemen der<br />
Informations- und Kommunikationstechnologie.<br />
6.2 Wert der Daten<br />
Datenpannen kosten deutsche Firmen Millionen<br />
09.05.2011 13:41 Uhr von Sibylle Gaßner 0<br />
Die schwere Datenpanne bei Sony ist nur die Spitze des Eisbergs, keine Firma spricht gerne<br />
über verlorene Datensätze. Eine Studie des Ponemon-Instituts gewährt seltene Einblicke in<br />
die aktuelle Situation in Deutschland: Eine einzige Datenpanne kostet Firmen hierzulande im<br />
Schnitt 3,4 Millionen Euro.<br />
Jeder schützt, was ihm wichtig ist. Bei Daten jedoch scheint das Bewusstsein nicht so<br />
stark ausgeprägt zu sein, dass sie wertvoll und wichtig sind. Einige Beispiele:<br />
■<br />
■<br />
■<br />
Ein Unternehmen der Lederindustrie konnte infolge eines Festplattendefekts nicht mehr auf<br />
die Kundendatenbank zugreifen. Somit konnte es wochenlang keine Rechnungen versenden.<br />
Das Unternehmen geriet in eine Liquiditätskrise.<br />
In einem Unternehmen der Metallindustrie konnten mehrere Tage keine Aufträge ausgeführt<br />
werden, weil durch einen Blitzeinschlag das DV-System der Arbeitsvorbereitung beschädigt<br />
wurde.<br />
Ein untreuer Angestellter manipulierte das Lohnbuchhaltungsprogramm und schädigte das<br />
Unternehmen um fast eine Millionen Euro.<br />
Die folgende Grafik zeigt<br />
die wirtschaftliche Bedeutung<br />
anhand der Schadenshöhe<br />
bei versäumter<br />
Datensicherung: 1<br />
1 Quelle: Wirtschaftswoche Nr. 30<br />
vom 18. 07. 2002.
Kapitel 6: Datenschutz und Datensicherheit<br />
355<br />
6.3 Datensicherheit<br />
Datensicherheit in einem Unternehmen bezieht sich auf alle wichtigen Daten, nicht nur<br />
auf personenbezogene. Das Bundesamt für Sicherheit in der Informationstechnik (BSI)<br />
formuliert drei Hauptziele.<br />
■ Vertraulichkeit: Nur autorisierte Personen dürfen auf Daten zugreifen, sie lesen oder<br />
verändern. Diese Anforderung gilt auch während der Datenübertragung.<br />
■ Integrität: Es muss sichergestellt sein, dass Daten nicht unbemerkt verändert werden<br />
können. Es muss nachvollziehbar sein, wer wann Änderungen vorgenommen hat.<br />
■ Verfügbarkeit: Das IT-System eines Unternehmens muss hinsichtlich Hard- und Software<br />
und Verfahrensvorschriften so organisiert sein, dass Systemausfälle möglichst<br />
vermieden werden.<br />
6.3.1 Fehlervermeidung bei der Datenerfassung<br />
Miriam arbeitet in der Buchhaltung. Gerade hat sie von ihrem Kollegen einen Tadel erhalten,<br />
weil ihr bei der Eingabe von Abrechnungsdaten Tippfehler unterlaufen sind. „Pass<br />
bitte künftig besser auf!“, fordert er sie auf.<br />
Prüfsummen<br />
Bei der Eingabe von Daten unterlaufen auch den besten Mitarbeitern Fehler. Ein Verfahren,<br />
um die Richtigkeit von numerischen Eingaben zu kontrollieren, besteht in der Bildung von<br />
Prüfsummen. Es wird in vielen Bereichen eingesetzt, so zum Beispiel beim Datenträgeraustausch<br />
mit Banken.<br />
Beispiel:<br />
Der Schichtleiter notiert die Arbeitsstunden seiner Mitarbeiter auf einem Arbeitsnachweis. Anschließend<br />
bildet er eine Spalten- und eine Reihensumme.<br />
Name Mo Di Mi Do Fr Summe<br />
Alex 7 9 4 7 5 32<br />
Bernd 9 5 8 6 8 36<br />
Cem 8 6 8 8 4 34<br />
Dieter 6 7 7 9 6 35<br />
Summe 30 27 27 30 23<br />
Im Lohnbüro werden die Daten wie folgt eingegeben.<br />
Name Mo Di Mi Do Fr Summe<br />
Alex 7 9 4 7 5 32<br />
Bernd 9 5 8 6 8 37 Abweichung<br />
Cem 8 6 8 8 4 33 Abweichung<br />
Dieter 6 7 7 9 6 35<br />
Summe 30 27 27 30 23