EINFÜHRUNG IN DIE INFORMATIK EINFÜHRUNG Computer Algebra System (CAS): Computerprogramm, das der Bearbeitung algebraischer Ausdrücke dient. Es löst nicht nur mathematische Aufgaben mit Zahlen (wie ein einfacher Taschenrechner), sondern auch solche mit symbolischen Ausdrücken (wie Variablen, Funktionen, Polynomen und Matrizen). SSL-Verbindung (SSL = Secure Socket Layer): Gesicherte Verbindung. Wichtig bei der Übermittlung von sensiblen Daten. Sensitive Daten: Kreditkartennummer, Bankverbindung, Name plus Geburtsdatum, weitere Angaben in Verbindung mit personenbezogenen Daten, welche die Identifikation der Personen erlauben. PDF – Portable Document Format: PDF-Dokumente sind hervorragend zum Austausch geeignet, da sie auf nahezu allen Plattformen, zum Beispiel mit dem Acrobat Reader, gelesen werden können. INFORMATIK Die Informatik ist eine Strukturwissenschaft. Sie untersucht vom Menschen geschaffene Systeme und Strukturen. Die Betrachtungsgegenstände sind meist immateriell. Die Informatik ist nicht auf Erkenntnisgewinn und Beschreibung von Sachverhalten beschränkt, sondern erzielt praktisch anwendbare Ergebnisse. Der Gegenstandsbereich Informatik vereint die Begriffe: Hardware, Software, Organisationsstrukturen (Orgware) und Benutzer (Anwender). Teilgebiete der Informatik: Kerninformatik: Theoretische Informatik, Praktische Informatik, Technische Informatik. Angewandte Informatik: Wirtschaftsinformatik, Ingenieurinformatik, Medizininformatik. Branchen mit hohen Softwareanteil: Telekommunikationsindustrie, Automobilbau, Maschinen- und Anlagenbau, Medizintechnik, Haushaltselektronik. SOFTWARE Vier wesentliche Bestandteile: Programme, zugehörige Daten, Dokumentation und Lizenz. Die programmbezogene Dokumentation verdeutlicht den Zweck des Programms. Die anwenderbezogene Dokumentation beschreibt Funktionalität und Verwendung des Programms in einer dem Anwender verständlichen Weise. Quellprogramm: In einer Programmiersprache geschriebene Fassung eines Programms. Ausführbares Programm: Prozessor-lesbare binäre Form eines Programms. Ausführung eines Programms: Möglichkeit 1: Übersetzung des Quellprogramms in ein ausführbares Programm durch den Compiler - Erzeugung einer Binärdatei, diese benötigt zur Ausführung weder Quellprogramm noch Compiler. Möglichkeit 2: Ausführung des Quellprogramms durch den Interpreter Quellprogramm wird in den Interpreter geladen und ausgeführt - Quellprogramm und Interpreter müssen zur Ausführungszeit vorhanden sein. Kontrollstrukturen: Sequenz, Verzweigungen, Schleifen, Prozeduraufrufe. Eine Programmiersprache wird als Turin-vollständig bezeichnet, wenn sie über zumindest eine Auswahl- und eine Wiederholungsanweisung verfügt. Bei einem Algorithmus muss jeder Schritt tatsächlich ausführbar sein, der Algorithmus muss eine endliche Anzahl an Schritten besitzen und er muss eine eindeutige Beschreibbarkeit mit einem endlichen Text besitzen. Deterministischer Algorithmus: Haben genau eine Möglichkeit der Fortsetzung. Nicht-deterministischer Algorithmus: Haben mehrere, jedoch genau definierte Möglichkeiten der Fortsetzung. Heuristiken: bezeichnet die Kunst, mit begrenztem Wissen (unvollständigen Informationen) und wenig Zeit dennoch zu wahrscheinlichen Aussagen oder praktikablen Lösungen zu kommen. Beispiele: Basisheuristik, Analogie, Verallgemeinerung, Spezialisierung, Variation, Rückwärtssuche, Teile und herrsche, Vollständige Enumeration, Versuch und Irrtum (Trial and Error). Prinzip der Verkapselung: Daten und Funktionen bilden eine Einheit. Die Daten sind verborgen (Geheimnisprinzip) und der Zugriff auf sie ist nur über Funktionen möglich, d.h. ein Datum kann nicht direkt, sondern nur indirekt über den Aufruf einer Funktion manipuliert werden. Klasse: definieren Daten und Methoden eines Objektes (allgemeiner Bauplan für Objekte des gleichen Typs). Objekt: verfügt über individuelle Ausprägung der Daten und über die von der Klasse bereitgestellten Methoden (konkrete Ausprägung). ENTWICKLUNG Software: unterliegt keinem Verschleiß; es entsteht auch bei beliebig vielen Abläufen keine Abnutzung. handelt sich um ein immaterielles Produkt. ist nicht durch physikalische Gesetze begrenzt; ist ein künstliches Produkt des menschlichen Geistes. ist (meist) leichter und schneller änderbar als ein technisches Produkt; Änderungen an technischen Produkten erfordert meist speziell zu erstellende Werkzeuge, was bei der Änderung an der Software nicht benötigt wird. benötigt keine Ersatzteile; Teilstücke müssen nicht ausgetauscht werden, da Defekte direkt behoben werden und kein Verschleiß bei Software auftritt. altert, wenn sie nicht im Laufe der Zeit den geänderten Anforderungen durch ein geändertes Umfeld angepasst wird. ist schwer zu vermessen; Qualität von Software ist schwierig zu definieren und quantifizieren. Semantische Kluft: Der Anwender von Software beschreibt sein Problem mit Hilfe von Begriffen und Merkmalen aus seinem Anwendungsumfeld (Domäne). Der Entwickler hingegen erstellt Software mit ihm bekannten Mitteln der Softwareentwicklung wie z.B, Softwaremodellen, Programmiersprachen und Bibliotheken. Anwender und Entwickler sprechen somit unterschiedliche Sprachen. Die Problematik des Verstehens der jeweils anderen Seite bezeichnet man als semantische Kluft. Der Entwickler muss die Anforderungen des Anwenders verstehen und mit geeigneten Mitteln der Softwareentwicklung umsetzen. Abschnitte im „Leben von Software“: Entwicklung: Planung, Definition, Entwurf, Implementierung, Test Einsatz: Abnahme und Einführung, Wartung und Pflege, Außer-Betriebnahme. Prozessmodelle: beschreibt eine Menge von Aktivitäten, die in bestimmter Reihenfolge und von bestimmten Rollen durchgeführt werden, um Software-Produkte zu erstellen. Beispiele: Wasserfallmodell, Wasserfallmodell V-Modell und V-Modell XT Evolutionäres Modell Inkrementelles Modell Spiralmodell Agile Prozessmodelle, wie Extreme Programming. Wasserfallmodell: - jede Entwicklungsaktivität möglichst vollständig bearbeitet -> laufen streng sequenziell ab -> Rückkehr nur in die jeweils vorangehende Aktivität möglich - N: große Verzögerungen, Anforderungen zu früh fixiert, Anforderungen können sich ändern V-Modell: - altes V-Modell erweitert Wasserfallmodell um Maßnahmen zur Qualitätssicherung - aktuell: V-Modell-XT: leichtgewichtigere Durchführung, bindet Auftraggeber stärke ein Evolutionäres Modell - Implementierung wichtiger und wesentlicher Anforderungen in Kernsystem -> Auftraggeber sammelt Erfahrungen und definiert neue Anforderungen -> Bewertung: Risiko, das Systemarchitektur bei Erweiterungen grundlegend verändert werden muss Inkrementelles Modell - Zu Beginn vollständige Erfassung und fachliche Modellierung der Anforderungen - Entwurf und Implementierung von Teilsystemen -> Rückmeldungen des Auftraggebers gehen in nächste Ausbaustufe ein -> Bewertung: hoher Zeitaufwand, Risiko sinkt (siehe Evolutionäres Modell) Spiralmodell: - ist ein übergeordnetes Modell, welches für jedes Teilprodukt und jeden folgenden Entwicklungszyklus erneut präzisiert wird - Identifikation potentieller Risiken + Ergreifung von Maßnahmen zur Prävention -> Bewertung: anpassbares Prozessmodell, hoher Managementaufwand Agile Prozessmodelle: - Menge von Prozessmodellen für Entwicklungsvorhaben mit sich rasch ändernden Anforderungen - Maßnahmen: enge Kooperation mit Auftraggeber, Entwicklung in kleinen Teams - bekannter agiler Prozess: Extreme Programmierung Bewertung: Minimierung des Risikos einer Produktentwicklung das nicht den Kundenwünschen entspricht, sowie überflüssiger Entwicklungsarbeit Lastenheft: Das Lastenheft enthält die grundlegenden Anforderungen des Kunden an die zu entwickelnde Software. Es wird Vertragsbestandteil und schützt somit beide Seiten, Kunden/Anwender und Auftragnehmer/Entwickler, vor Missverständnissen und Unklarheiten. Das Lastenheft entsteht in der Planungs- und Definitionsphase. Änderungen während der Entwicklungsphase müssen in aktualisierte Fassungen des Lastenhefts aufgenommen werden. ERGONOMIE Mensch-Maschine-System: Ein Mensch-Maschine-System beschreibt das Zusammenwirken von Mensch und Maschine zur Realisierung eines stofflich-energetischen Prozesses. Dabei kommt es zu einem wechselseitigen Informationsaustausch mit dem Ziel einen sicheren und effektiven Ablauf eines Prozesses. Varianten: Computer ist Teil der Maschine; Maschine selbst ist sichtbar und ggfs. beobachtbar. Reale Maschine tritt in den Hintergrund; ihre Systemzustände sind ausschließlich auf dem Computer einsehbar. Maschine wird im Computer visualisiert und darüber gesteuert; Nachbildung der Realität auf dem Computer. Faktor-Mensch-Anpassung: Anpassen des Menschen an: die Arbeit, die Technik, die Umwelt. Anthropotechnik: Die Arbeit, die Technik und die Umwelt an den Menschen anpassen. Software-Ergonomie: Teilbereich der Ergonomie, der sich mit der menschengerechten Gestaltung von Benutzungsschnittstellen zwischen Computer und Mensch befasst. Das Ziel ist die sichere, effiziente und befriedigende Anwendung von Informationstechnik. Aufgabenangemessenheit: Dialog belastet den Benutzer durch Eigenschaften des Dialogsystems nicht unnötig. Selbstbeschreibungsfähigkeit Erwartungskonformität: Dialog entspricht erfahrungsbasierten Erwartungen des Benutzers. Steuerbarkeit & Wartezeiten: Benutzer kann die Geschwindigkeit des Ablaufs sowie die Auswahl und Reihenfolge von Arbeitsmitteln selbst beeinflussen. Fehlertoleranz, -robustheit & Benutzerakzeptanz (Lernförderlichkeit): Geschwindigkeit des Dialogablaufs passt sich an Benutzer an. Grundsätze der Dialoggestaltung nach DIN 66 234/8: Steuerbarkeit, Aufgabenangemessenheit, Selbstbeschreibungsfähigkeit Erwartungskonformität und Fehlerrobustheit. INFORMATION Bit: Binary Digit. Ein Bit ist die elementare Informationseinheit und kann die Werte 0 und 1 annehmen. Informationscodes: Binärcode, Genetischer Code, Lateinisches Alphabet, Dekadisches Zahlensystem… Bit 8 Byte 1 1024 1024*1024 1 Megabit = 1 000 000 Bit Kilobyte Megabyte 1 1024 1 Gigabyte Additonssystem: Wert ergibt sich aus der Addition ihrer Ziffern. Beispiel Strichliste oder Römisches Zahlensystem. INFORMATIONSTHEORIE MSB = Most Significant Bit -> nimmt die höchste Position an LSB = Least Significant Bit -> steht an der Stelle 0 Dezimalwert der nicht-vorzeichenbehafteten Binärzahl 10011011 o 155 Dezimalwert der vorzeichenbehafteten Binärzahl 10000101 o Negieren: 01111010 o +1 = 01111011 o =123 o Minus davor = -123 Oktalzahl 2701 in Binärzahl o 010 111 000 001. Jede Stelle der Oktalzahl wird mit 3 Bit binärcodiert Binärzahl 1110011011110101 in Hexadezimal o 1110 0110 1111 0101 = E 6 F 5 Little Endian Format: Das höchstwertige Byte steht nach dem niederwertigsten Byte 111111000000 wird zu 000000111111 Beispiele Zeichencodes: o ASCII o ANSI-Code Ein Zeichen belegt 8 Bit o Unicode Belegt 16 Bit und erlaubt system-, programm- und sprachunabhängige Darstellung von Zeichen o EBCDIC IEEE-Format o Vorzeichen der Zahl o Exponent (gibt an, um wie viele Stellen die Mantisse vor oder hinter das Komma zu verschieben ist) o Mantisse (enthält signifikanten Stellen der Zahl) o Es kann zu Genauigkeitsverlusten und Rundungsfehler kommen Verschlüsselung o Begriffe Klartext: unverschlüsselte Information Schlüssel: zur Verschlüsselung verwendete Information Chiffrieren: verschlüsseln Chiffrat oder Chiffre: verschlüsselte Information Dechiffrieren: entschlüsseln o Zweck Vertraulichkeit Integrität Authentifizierung Verbindlichkeit o Verschlüsselungsverfahren Symmetrische Verschlüsselung: selber Schlüssel für Ver- und Entschlüsselung Stromchiffre: Klartext wird Zeichen für Zeichen verschlüsselt Blockchiffre: bestimmte Menge von Zeichen werden auf einmal verschlüsselt Asymmetrische Verschlüsselung: verschiedene Schlüssel für Ver- und Entschlüsselung Empfänger besitzt eigenen geheimen privaten Schlüssel zur Entschlüsselung Komprimierung o verlustfreie: exakte Wiederherstellung der Originalinformation, Grundprinzip: Beseitigung von Wiederholungen oder nichtangepassten Darstellungen, mehrere Verfahren: Tokenbasierte Kompression: häufig vorkommende Wörtern werden eindeutige Tokens zugeordnet Huffman-Codierung: Information wird mit Code variabler Länge codiert Arithmetische Codierung: Auftretenswahrscheinlichkeiten für Zeichen werden unterschiedliche Intervalle zugeordnet LZW-Codierung: Ablegung mehrfach vorkommende Zeichenfolgen in einer Tabelle RLE-Codierung: Run Lenght Encording, Speicherung von Anzahl und Wert einer Wiederholung o verlustbehaftete: keine exakte Wiederherstellung der Originalinformation möglich, Grundprinzip: Beseitigung unwichtiger oder nichtwahrnehmbarer Informationen Audiokompression: MP3, Ogg Vorbis Bildkompression: JPEG, GIF Videokompression: MPE HARDWARE 3 Arten von Mikroprozessoren: Central Processing Unit (CPU), Mathematischer Coprozessor, Grafikprozessor, Soundprozessor. CPU o Hauptbestandteile Steuerwerk (kontrolliert Ablauf der Operationen) Rechenwerk (führt Rechenoperationen aus) Register (dienen der Zwischenspeicherung von Informationen) VGA – analog DVI-D – digital NETZE Übertragungsmedien o Verdrilltes Kupferkabel, Glasfaserkabel, Koaxialkabel, Richtfunk, Infrarot, Kurzstreckenfunk, Bluetooth, WLAN ISO/OSI-Architekturmodell o Schicht 1: Physikalische Schicht (Bitübertragungsschicht) o Schicht 2: Leitungsschicht (Sicherungsschicht) o Schicht 3: Netzwerkschicht (Vermittlungsschicht) o Schicht 4: Transportschicht o Schicht 5: Sitzungsschicht o Schicht 6: Darstellungsschicht o Schicht 7: Anwendungsschicht Network Adress Translation (NAT) o Aufgrund der Knappheit verfügbarer IPv4-Adressen, werden lokale NetzAdressen durch einen Router ersetzt, ausgehende Datenpakete erhalten die OP-Adresse des Routers, der Router verwaltet die aktuellen Verbindungen in einer NAT- Tabelle und leitet die einkommenden Datenpakete entsprechen an die lokalen IP-Adressen weiter Domain Name Service (DNS) o Verteiltes, hierarchisches System, welches Server-Bezeichner in IP-Adressen auflöst UDP und TCP o UDP: verbindungslose, unzuverlässige Datenübermittlung, ungeordnete Zustellung der Pakete bei Übertragung o TCP: verbindungsorientierte, zuverlässige Datenübermittlung, Reihenfolge der übertragenen Pakete garantiert, verloren gegangen Pakete werden erneut angefordert IP-Adresse 192.168.1.255 o Es handelt sich um eine Broadcastadresse eines privaten Netzwerkes. Datenpakete mit dieser Zieladresse gehen an alle Rechner des Netzwerkes Dynamic Host Configuration Protocol (DHCP) o Weist einem Netzwerkrechner eine dynamische IP-Adresse und weitere Einstellungen, insbesondere die IP-Adressen des Gateways und auch des DNSServers, zu. Bestandteile URL o http:// - Protokoll o www.mozilla.org -Server o :80 - Portangabe o /products/thunderbird/sysreq.html - Zugriffspfad der Ressource auf dem Server