Was ist .NET und wie sieht die prinzipielle Architektur aus ?
NET ist die Bezeichnung für eine gemeinsame Plattform für viele Programmiersprachen. Es bersteht aus einer Laufzeitumgebung und Klassenbibliotheke, die gemeinsam eine Basis für Softwareentwicklung bieten.
Bennen sie wichtige Komponenten der .NET-Architektur. Welche haben Sie in den Übungen programmiert?
Die Architektur besteht aus WindowsForms, ASP.NET, .NET-Basisklassen (u.a. ADO) und CLR
Warum wird eine .Net-Programm 2x übersetzt?
Erst wenn der MSIL-Code von einem Programm zur Ausführung genutzt werden soll, wird er vom Just-In-Time (JIT)-Compiler in Maschinencode übersetzt ! —> ein .Net Programm wird 2x übersetzt
Wie unterscheiden sich Compiler und Interpreter? Nenne ein Beispiel
Compiler:
Zeitpunkt der Quellcode-Übersetzung: vor der Ausführung
Übersetzt immer dein gesamten Code
Fehleranzeige gesammelt nach kompletter Compilierung
Niedrige Übersetzungsgeschwindigkeit
Hohe Übersetzungseffizienz
Hohe Entwicklungsaufwand
Sprache: C, C++
Interpreter:
Zeitpunkt der Quellcode-Übersetzung: während der Laufzeit der Software
Übersetzt Zeile für Zeile
Fehleranzeige nach jeder Zeile
Hohe Übersetzungsgeschwindigkeit
Niedrige Übersetzungseffizienz
Niedriger Entwicklungsaufwand
Sprache: Phyton
Was ist C# ?
C# ist eine der am meisten genutzten Programmiersprachen für die Entwicklung von Anwendungen auf der .NET-Plattform und ist eine gute Wahl für Entwickler, die unter Windows arbeiten und die Leistungsfähigkeit und die Produktivität von .NET nutzen möchten.
Welche Bedeutung hat im C# die Main-Methode und welche Formen hast du kennengelernt ?
Warum muss diese Methode als static deklariert werden ?
In C# ist die Main Methode die Einsteigspunkt für jede Konsolenanwendung oder jedes Programm. Sie muss direkt aufgerufen werden können, ohne dass zuvor eine Instanz der Klasse erstellt werden muss. Das static Schlüsselwort ermöglicht es, die Methode direkt von der Klasse aufzurufen.
static void Main()
static void Main(string{}args)
static int Main()
static int Main(string{}args)
Wie sieht die Architektur eines klassischen C# -Programmes aus?
besteht aus:
using Bibliothek
namespace NAME {} der Anweendung
class NAME {Kopf und Rumpf einer Klasse}
static void main () {Kopf und Rumpf der ersten Methode}
MethodenNAME1 {Kopf und Rumpf weiterer Methoden}
Was sind namespaces im C# und welche Bedeutung haben sie ?
Ein Namnesraum ist eine logische Organisationsstruktur, die verschiedene Typendefinitionen zusammenfasst.
Beispiel:
Aufruf der Methode WriteLine bei bekanntem Namensraum System
using System;
Console.WirteLine(“Willkommen zur Vorlesung”)
Ordne aus Sicht der Objektorientierung den Schlüsselworten die richtigen Eigenschaften zu.
Namensraum Klasse Methode
System. Console. WriteLine(“Willkommen zur Klausur”)
An welcher Stelle beginnt die Ausfürhung eines C# Programms?
C# Projekte können ausgeführt werden, wenn es sich um ein ausführbares Programm handelt. Wenn ein Projekt eine C# Dateien mit einer Main-Methode enthält und die Ausgabe eine ausführbare Datei (EXE) ist, wenn es erfolgreich erstellt wurde, wird es sehr wahrscheinlich ausgeführt.
Welche Möglichkeiten für den Programmiereinsteig kenne sie ?
jedes Programm besitzt genau eine Klasse mit einer Methode Main() als Einstiegspunkt für die Programmausführung.
4 Möglichkeiten für Main:
Warum muss diese Methode als static deklariert sein ?
Das Schlüsselwort static wird benötigt um Klassen-Mehtoden zu definieren. Static vor einem Methodenaufruf bedeutet, dass diese Methode auch aufgerufen werden kann, ohne dass eine Instanz der Klasse erstellt werden muss, quasi eine global einsetzbare Methode
Was ist mit Common Language Runtime gemeint ?
CLR ist der Name der virtuellen Laufzeitumgebung von klassischen .Net-Framework Anwendungen.
Was ist ein garbage Collector und wie funktioniert es ?
Ist ein Verfahren zur Speicherreinigung und wieder Freigabe von belegten Speicherplatz. Es gibt Objekte frei, die nicht mehr verwindet sind, löscht den Speicher und hält Speicher für zukünftige Belegungen bereit.
Was bewirkt nem Operator ?
Erstellt eine neue Instanz eines Typs
Ist es notwendig jedes C# Prgramm mit der Anweisung “using system” zu beginnen ? Welche Konsequenz hat das Fehlen dieser Anweisung ?
Nein es ist nicht notwenig, aber es erspart einen viel Code Text. Die using-Direktive gibt den namespace bekannt und er muss nicht jedesmal neu deklariert werden.
Das Fehlen dieser Anweisung hat also keine Auswirkungen auf die Funktionalität des Programms, es kann die Lesbarkeit und Wartbarkeit des Codes beeinträchtigen
Wie können C# Kommentare setzen ? Welche Möglichkeiten gibt es `
Einzeilig “//”
Mehrzeilig “/* … */
Warum gibt es in C# unterschiedliche Datentypen und Integer und Gleitkommawerte ? Warum sind alle numerischen Datentypen von selben Wert?
Optimierung der Speicherplatz
Optimierung der Laufzeit
viele Fehler können bereits vorzeitig erkannt werden
Bitte machen sie für die nachfolgenden Beispiele in i und j kenntlich, ob die Datentypen ineinander konvertiert werden können oder nicht. Bitte geben sie die Form der Konvertierung in i und j an.
// Fall i
private string strl = “Klausur”; Cahr cl= (char) strl;
// Fall j
Int i2= 61000; Double d2 = i2
Fall i: explizite Konvertierung nicht konvertierbar
Fall j: implizite Konvertierung konvertierbar
Es ist folgendes Codefragment gegeben:
If (x<10)
{
If (y>100) {
If(done){x=z;}
Else y=z;}
Else Console.WriteLine (“Fehler”); // auf welches if bezieht sich das else?
Es bezieht sich auf if (y>100)
Was sind implizierte und explizite Konvertierungen ?
Implizite Konvertierung sind sicher, Datenverluste sind deshalb geschlossen. Dabei kann stets nur der kleinere der beiden Datentypen direkt in einen größeren umgewandelt werden.
Explizite Typkonvertierungen sollten stets mit Vorsicht angwendet werden, wobei man sicher sein muss, dass die Wertebereiche zur Laufzeit nicht überschritten werden.
Was sind Datenfelder (Arrays) wie werden diese deklariert und wie kann man darauf zurück greifen ?
Arrays in C# sind spezielle Datentypen, die es ermöglichen, mehrere Werte des gleichen Typs in einer einzigen Variablen zu speichern.
Arrays in C# können deklariert werden, indem man einen Typ, gefolgt von der Größe des Arrays in eckigen Klammern angibt.
Wozu lassen sich mehrdimensionale Datenfelder gut einsetzen ?
Erfassen von Daten aus Tabellen
Wir wird ein zweidimensionales Array mit dem Namen nums un der Größe 4x5 für den Integer-Werte deklariert?
Int[]num = new int(4,5)
Was wird unter dem Begriff “Objektorientierung” verstanden ?
Ein Denksatz, bei dem Programme als Menge von Nachrichten kooperierender Objekte organisiert werden. Ist auch eine Zusammenfassung von Daten und Funktionalitäten
Nennen sie die dreit Säulen der objektorientierten Programmierung ?
Datenkapselung: Verbergen der inneren Struktur eines Objektes
Polymorphe: eine gleichnamige Methode kann auf unterschiedliceh Objekte angewendet werden
Vererbung: Methoden/Eigenschaften werden an abgeleiteten Klassen weitergegeben
Beschreiben Sie die Begriffe Klasse und Objekt ?
Klasse: ist Bauplan für Objekte
Objekt: instanzierte Klasse und stellt dir Zusammenfassung von Eigenschaften
Welche Funktion hat der Konstruktor einer Klasse?
Der Konstruktor hat die Aufgabe, das Objekt in einen fehlerfreien Startzustand zu versetzen.
Welche Bedingung muss für das Erzeugen eines Objektes gegeben sein ?
Bedingung: eine Klasse existiert
Welche Sichtbarkeiten von Klassen, Methoden und Eigenschaften sind Ihnen bekannt ?
Public: unbeschränkt
Protected: innerhalb der Klasse und der darauf abgeleiteten Klassen
Internal: innerhalb des aktuellen Objektes
Internal Protected: innerhalb des aktuellen Projektes oder der abgeleiteten Klasse
Private: nur innerhalb der Klasse
Was sind Methoden (Funktionen) und wie sind sie aufgebaut ?
Handlung oder Behandlung eines Objektes.
Aufbau:
Methodenkopf: Aufruf einer Methode, Schnittstelle zum Benutzer
Methodenrumpf: wird durch geschweifte Klammern begrenzt, innerhalb der Klammern stehen die Anweisungen.
Wie kann auf Methoden wie auf Eigenschaften einer Klasse zugegriffen werden ?
Zugriff Methode:<classname>, <methodenname> (Methodenparameter ist gleich Wert)
Zugriff Klasse: über get, bearbeiten über set
Beschreiben Sie den Lebensyklus eines Objektes anhand eines Beispiels
Referenzierung - eine Objektvariable wird deklariert, sie verweist momentan noch auf null
CKunde kunde1;
Instanziierung - Objektvariable zeigt auf einen konkreten Wert
kunde1 = new CKunde() ;
Initialisierung - Datenfelder der Objektvariable werden gefüllt
kunde1.anrede = “Frau”;
Arbeiten mit dem Objekt - es wird auf Eigenschaften und Methoden des Objektes zugegriffen
label1.text = kunde1.adresse();
Zerstören - Objekt wird deferenziert, der belegte Speicherplatz wird wieder freigegeben
kunde1 = null;
Erkläre mit wenigen Worten die Verwendung von try and catch
Mit try und catch können Fehler gezeigt und ggf. automatisch behoben werden (z.B.: Dateneingaben in Datenbanken)
Welche Bedingung muss für das erzeugen eines Objektes angegeben sein ?
Es muss eine Klasse exisiteren !
Jedes Objekt muss durch seine Eigenschaftswerte klar von anderen Objekten unterschieden werden können
Wofür steht die Bezeichnung ADO ?
ActiveX Data Objects
Was wird unter ASP.NET und ADO.NET verstanden ?
ASP.NET ist ein Web Application Framework von Microsoft Websiten, Webanwendungen und Webservices entwicklen
ADO.NET sind Klassen für Zugriffe auf Datenquellen wie Access, SQL Server
Erläutern Sie die Unterschiede von statischen und dynamischen Webseiten ?
statische Webseiten:
Inhalte verändern sich aufgrund von Benutzeraktionen oder Datenbankinhalten NICHT
dynamische Webseiten:
werden im Moment der Anforderung (in Echtzeit) generiert und dann erst auf der Client-Seite dargestellt
abhängig von Benutzerinteraktionen (z.B. Formulare) oder Datenbankinhalten
Welche Formen bezüglich des Einsatzes von Programmiersprachen für dynamische Programmiersprachen hast du kennengelernt ?
Clientseitige Programmierung
Serverseitige Programmierung (.NET)
Wie erfolgt der allgemeine ADO-Datenbankzugriff mit dem SQLServer-Connector ?
Namespace deklarieren
Verbindung zur Datenbank herstellen
Anfrage stellen
Auswerten des SQL-Befehls
Verbindung zur Datenbank schließen
Was wird unter dem Begriff HTML 5 verstanden? Was ist zu HTML4 gleich und was ist unterschiedlich?
HTML5 ist die 5. Fassung der Hypertext Markup Language, es bezeichnet die clientseitigen Techniken hinter Webseiten.
Gleichheiten:
Alle Funktionen von HTML4 sind in HTML5 übernommen.
Unterschiede:
Verbesserung in der Fehlerbehandlung
Verbesserter Support für Mobilegeräte
Verbesserter Support für verschiedene Video- und Audioformate.
Was ist die Hauptaufgabe des Domain Name System im Internet ? Nenne sie ein Beispiel
Beantwortung von Anfragen zur Namensauflösung
menschenlesbare Domain Namen in maschinenlesbare IP-Adressen und umgekehrt zu übersetzen.
Definieren Sie die Begriffe Informations- und Anwendungssystem. Welches haben Sie in den Übungen zwei und drei realisiert ?
Informationssystem: Ist ein System, das den Zwecken der Information und Kommunikation dient.
Anwendungssystem: Ein Anwendungssystem bestehend aus Software- und Hardwaresystem beschreibt die Infrastruktur der Informationstechnik
Bennen und beschreiben sie die vier Dimensionen von Big Data
Die vier Dimensionen von Big Data sind Volume, Variety, Velocity und Veracity, die die Menge, Vielfalt, Geschwindigkeit und Zuverlässigkeit von Daten betreffen.
Technologisch/technisch am schwierigsten Umzusetzen ist die Velocity Dimension. Dies ist aufgrund der Anforderungen an die Verarbeitungsgeschwindigkeit und die Echtzeitverarbeitung von Daten.
Definieren Sie die Begriffe Daten, Information und Wissen aus IT-Sicht und finden sie dazu ein kleines Beispiel.
Daten: Daten sind unstrukturierte Fakten, die in irgendeiner Form gespeichert werden können. Sie können Zahlen, Texte, Bilder oder andere Arten von Inhalten enthalten. Beispiele für Daten sind zum Beispiel die Namen und Adressen von Kunden in einer Datenbank oder die Pixelwerte eines Bildes.
Informationen Informationen sind strukturierte Daten, die für einen bestimmten Zweck verwendet werden können. Sie enthalten Bedeutung und können von Menschen oder Maschinen verarbeitet werden. Beispiele für Informationen sind zum Beispiel die Ergebnisse einer Abfrage in einer Datenbank oder ein Bericht, der aus verschiedenen Daten erstellt wurde.
Wissen: Wissen ist die Fähigkeit, Informationen zu verstehen und zu nutzen, um Probleme zu lösen oder Entscheidungen zu treffen. Es ist die höchste Stufe der Informationsverarbeitung und basiert auf Erfahrungen und Erkenntnissen. Beispiele für Wissen sind zum Beispiel die Fähigkeit, einen Mechaniker zu diagnostizieren oder einen Marketingplan zu entwickeln.
Ein Beispiel, um die Begriffe zu verdeutlichen, könnte sein:
Ein Unternehmen speichert die Namen, Adressen und Einkaufsgewohnheiten seiner Kunden in einer Datenbank. Diese Daten können verwendet werden, um Informationen wie zum Beispiel Kundenprofile oder Kaufstatistiken zu erstellen. Mit diesen Informationen kann das Unternehmen dann Wissen gewinnen, indem es Muster in den Kaufgewohnheiten der Kunden erkennt und darauf basierende Marketingstrategien entwickelt.
Wie sieht der allgemeine Aufbau eines Informationssystem aus ? Bennen und beschreiben Sie diesen anhand seiner Komponenten und finden Sie Beispiele für die Umsetzung der Komponenten
Inputfunktion
User Interface, Data-, Web-, TextM-Mining
Repräsentation
Datenbanken (relational, XML-, NOSQL)
Index (mobile Geokoordinaten)
Ontologien und Logik
Dialogkomponente
Display, Maus, Tastatur Akustische Dialogkomponenten
Mobile Dialogkomponenten (Tablets, Apps)
VR-, AR-Techniken
Anfrage
Uberführen Nutzeranfrage in formale Anfrage (SQL)
Client-Anfragen über API an Server
Outputfunktion
Treffer, die der Anfrage entsprechen
Relevanz Ranking und Sortierung
Mobile: aufgrund Displaygröße -> hohe Qualität
Anfrage-Ergebnisse
Liste Suchtreffer
Strukturierte Darstellung (Tabellen, Listen, Grafiken)
Mustererkennung bei ähnlichen Elementen
Updatefunktion
Click-Popularity: Suchverhalten
Nenne Sie drei Aspekte der Microservices Architektur ?
Präsentationsschicht
Anwendungslogistikschicht
Datenhaltungsschicht
Was bedeutet verbindungslose und verbindungsorientierte Paketvermittlung (Kommunikation) ? Worin unterscheiden sich diese ?
Verbindungsorientiert:
Es wird erst eine Verbindung zwischen Quellhost und Zielhost aufgebaut, dann erst werden die Pakete vermittelt. Die einzelnen Pakete gehen, in der Regel, beim Zielhost in der gleichen Reihenfolge ein, wie sie zuvor vom Quellhost geschickt wurden.
Verbindungslose:
einzelne Pakete werden vom Quellhost in einer vorgegebenen Reihenfolge abgeschickt, allerdings können die Pakete beim Zielhost in einer völlig anderen Reihenfolge ankommen.
Verbindungsorientiert: garantierte Dienstgute, z.B. zur Auslieferung von Videos.
Verbindungslose: keine Garantie, dass die gesendeten Daten den Empfänger erreichen.
Nennen Sie zwei Methoden, um Daten zwischen zwei Nodes oder Hosts in einem Netzwerk zu transferieren. Welche Formen von Vermitlung in Rechnernetzen gibt es ?
File Transfer Protocol (FTP)
Secure Copy Protocol (SCP).
Formen von Vermittlung:
Circuit Switching
Paket Switching
Message Switching
Was wird unter dem Begriff “Portnummer” verstanden ?
Die Portnummer ist eine mehrstellige Ziffer, mit der Dienste eines Rechners gekennzeichnet werden
Zuletzt geändertvor einem Jahr