Übungsaufgabe zum UML-Zustandsdiagramm (Sessiongenehmigung)
Übungsaufgabe zu UML-Zustandsdiagrammen: Es soll eine Art Genehmigungsprozess modelliert werden mit Zuständen, Transitionen, zusammengesetzen Zuständen und inneren Aktivitäten.
Übungsaufgabe zu UML-Zustandsdiagrammen: Es soll eine Art Genehmigungsprozess modelliert werden mit Zuständen, Transitionen, zusammengesetzen Zuständen und inneren Aktivitäten.
Übungsaufgabe zu UML-Aktivitätsdiagrammen: Eine Website wird aufgerufen, Daten gesammelt und gerendert. Eine Beispiellösung wird am Ende der Seite gegeben.
Der Nachrichtenfluss des MVP-Patterns soll anhand eines Beispiels (Online-Buchungsorozess) dargestellt werden.
ASCII-Art Weihnachtsbaum: Einsteiger Fingerübung zu Kontrollstrukturen, Wiederholungsstrukturen und Operatoren in Python: Ein ASCII-Art Weihnachtsbaum soll auf der Konsole ausgegeben und geschmückt werden.
Um zu prüfen, ob ein Problem auf Hardware- oder auf Softwareseite besteht, ist es manchmal nötig, die Signale direkt zu messen. Logic-Analyzer bieten die Möglichkeit, viele digitale Signale parallel zu messen und unmittelbar auszuwerten. Mit dem OpenSource-Programm PulseView kann dies sehr komfortabel durchgeführt werden.
Im Design-Prozess einer GUI nutzen wir Wireframes für den Entwurf der Struktur und Gliederung und Mockups, um erste visuelle Eindrücke zu erhalten. In diesem Artikel wird die Rolle von Wireframes und Mockups beschrieben und einige Tools vorgestellt, mithilfe derer Wireframes und Mockups erstellt werden können.
In UML Objektdiagramm können Instanzen von Klassen dargestellt werden. Attributwerte werden als Slots oder über Links repräsentiert, Aggregationen und Instanziierungen können ebenso festgehalten werden. Instanzen werden wie Klassen dargestellt, deren Instanzname unterstrichen ist. In diesem Blogpost werden die relativ wenigen Notationsmittel des UML-Objektdiagramms vorgestellt.
Ein zentrales Konzept der objektorientierten Programmierung ist die Polymorphie: die Vielgestalt von Objekten. Es ermöglicht über Instanztypen das Verhalten eines Objekts festzulegen, während der Typ der Referenz festlegt, welche Member erreichbar sind. Objekte sind so flexibel über unterschiedliche Referenzen wiederverwertbar, ohne gecastet werden zu müssen.
Der Ablauf des Geschäftsprozesses steht fest, jetzt geht es darum, die einzelnen Masken zu modellieren. Jede Maske repräsentiert dabei einen Zustand, den das UserInterface einnimmt. Diese Zustände und deren Übergänge werden mit einem UML-Zustandsdiagramm geplant, hierfür gibt es einige Kniffe, um bei größeren Seitenkomplexen eine übersichtliche Modellierung sicherzustellen (Teil der Artikelserie zur Gestaltung und Entwicklung von Benutzeroberflächen für Geschäftsprozesse).
Auf Basis bestehender Geschäftsprozesse sollen die optimierten und digitalisierten Geschäftsprozesse entworfen werden. Zunächst die Übersicht aller Anwendungsfälle erstellt, die im Rahmen des Requirement Engineerings gewonnen wurde. Dann werden daraus die neuen Geschäftsprozesse abgeleitet und ermittelt, welche davon detaillierter modelliert werden müssen. Die Modellierung erfolgt diesmal mit einer Technik der Lösungsdomäne: dem UML-Aktivitätsdiagramm (Teil der Artikelserie zur Gestaltung und Entwicklung von Benutzeroberflächen für Geschäftsprozesse).
Damit Geschäftsprozesse optimiert und digitalisiert werden können, müssen die bestehenden Prozesse zunächst erfasst und verstanden werden. Am Beispiel einer App zur Organisation eines IT-Kongresses wird eine Ist-Analyse durchgeführt, in dem vorhandene Geschäftsprozesse gelistet und als Business Process Model and Notation (BPMN) modelliert werden. (Teil der Artikelserie zur Gestaltung und Entwicklung von Benutzeroberflächen für Geschäftsprozesse).
Es gibt eine ganze Reihe von Simulationstools, mit deren Hilfe man Logikgatter aufbauen und ausprobieren kann. Leider verliert man bei der Fülle und der Flüchtigkeit mancher Tools schnell die Übersicht. Ich habe mal mit allen mit bekannten Tools (a) Flipflops (b) BCD-Synchronzähler gebaut, und notiert, was mir dabei aufgefallen ist. Die Liste ist offen für weitere Hinweise/Vorschläge!
Bevor Geschäftsprozesse optimiert und digitalisiert werden, müssen die bestehenden Geschäftsprozesse verstanden und modelliert werden. Eine Modellierungssprache, die sich hierauf spezialisiert hat, ist Business Process Model and Notation (BPMN). Das Flussdiagramm besteht aus Ereignissen, Aktivitäten und Gateways und bietet eine erweiterbare Notationsfülle. Eine Einführung und grundlegende Notationsmittel finden sich in diesem Artikel.
Die Probleme vieler Projekte basieren auf unzureichender oder nicht fachgerechter Anforderungsanalyse. In diesem Artikel sind einige Übungsaufgaben zu Techniken und Best-Practices der Anforderungsanalyse (Lernfeld 12, Fachinformatik) gesammelt.
Am Beispiel einer Rechnungsdatenbank sollen SQL-Befehle mit Unterabfragen, Aggregationen, Joins und Transaktionen erstellt werden. Die Lösungen und Erläuterungen können eingeblendet werden.
Übungsaufgabe zur Erstellung eines Use-Case-Diagramms anhand einer vorliegenden Beschreibung. Das Beispiel nutzt die Notationsvielfalt der UML, entsprechende Kenntnisse sind also vorausgesetzt
Mithilfe von PlantUML lassen sich auch UML-Aktivitätsdiagramme per „Diagramm as Code“ erstellen. Das geht nicht ganz so leicht von der Hand wie Sequenz- oder Klassendiagramme, da plantUML hier etwas umständlich ist. Für einfache Diagramme wird der Aufbau hier erklärt.
In der Phase vor dem eigentlichen Projektstart gibt es schon einiges zu tun: den Bedarf identifizieren, die Voraussetzungen prüfen, herausfinden, ob das Projekt durchführbar und lohnenswert ist. Auf Basis dieser im Business-Case und der Projektskizze festgehaltenen Information wird geprüft, ob mit dem Projekt überhaupt begonnen wird.
Kleine Übungsaufgaben mit Lösungen zu UML-Sequenzdiagrammen: TCP Handshake, HTTPS-Fingerprint-Check, Zwei-Faktor-Authentifizierung, Public/Private-Key Verfahren und Challenge-Response Authentication Mechanism (CRAM).
Leider finde ich kein frei verfügbares Oracle-Image mehr – daher ist diese Anleitung veraltet, ich lasse Sie nur zu dokumentationszwecken online, falls jemand noch ein altes Image auf dem Rechner hat. Natürlich bin ich für jeden Hinweis dankbar, wie man das wieder ans Laufen bekommt.
Von allen DBMS macht es bei SQLite sicher am wenigsten Sinn, es in einem Container ans Laufen zu bringen. Da ich aber die relevantesten DBMS für meine Anleitungen nutze, sollte auch SQLite dabei sein. Also: welche Befehle sind nötig, um es in einem Container zustarten?
Listen stellen eine mächtige und flexible Objektsammlung in Python dar. Der Artikel zeigt, wie Elemente erzeugt, verändert, gelöscht und ausgegeben werden.
Mit Sets bietet Python einen Objektsammlungstyp, der dafür sorgt, dass jedes Element einzigartig ist. Die verfügbaren Methoden der set-Klasse werden in diesem Artikel an Beispielen vorgestellt.
Neben Methoden und Instanzvariablen (Attributen), die das Verhalten und den Zustand einzelner Objekte speichern und verändern gibt es in der objektorientierten Programmierung auch Verhalten und Zustand, der einen gemeinsamen Zustand aller Objekte einer Klasse betrifft. Solche Klassenmethoden und Klassenvariablen werden in der OOP statisch genannt. Dieser Artikel beschreibt, wie sie in Python implementiert werden.
XML Schema (XSD) stellen einen gewaltigen Sprachumfang zur Deklaration und Spezifizierung von Datentypen bereit. Neben vielen bereits vorhanden Datentypen und den komplexen eigenen Datentypen bietet sich die Möglichkeit, über zahlreiche Restrictions die Werte individuell einzugrenzen, und somit die Validität über die reine Struktur auf den Inhalt der Daten auszuweiten.
Wenn XML-Dokumente spezifischen Regeln an die Abfolge von Elementen und Attributen genügen nennt man sie valide (gültig). Neben den DTD (aus dem zweiten Teil der Artikelserie) stellen XML Schema (XSD) eine Definition für gültige XML-Dokumente zur Verfügung. Der Aufbau/Struktur und die grundsätzlichen Eigenschaften einer Schema-Datei werden hier beschrieben.
XML-Namensräume bieten eine Möglichkeit, dass Elemente gleichen Namens für unterschiedliche Inhalte stehen können. Das kann vor allem bei allgemeinen Bezeichnern wie „name“ relevant sein, die dann mit Päfix notiert werden: „person:name“, „firma:name“.
Für eine XML-Rechnung soll Schritt für Schritt eine Document-Type-Definition erstellt werden, die einen relativ großen Funktionsumfang der DTD enthält. Geeignet zur Vertiefung des XML-DTD-Wissens in Kombination mit dem DTD-Artikel.
Wir haben uns entschlossen, die Arduino-Welt auf den Kopf zu stellen und mit dieser vereinfachten IDE alles möglichst kompliziert zu machen: Assembler mit Arduino-Boardmitteln zu programmieren. Nach den Vorbereitungen geht es hier in Teil 2 ins Eingemachte: die eigentliche Programmierung (zu [Teil 1, den Vorbereitungen, gibt es einen weiteren Artikel)
Kann man mit Arduino-Bordmitteln Assembler programmieren? Zugegeben: es ist Schwachsinn: da geben sich die Leute von Arduino viel Mühe, um die ganze Komplexität der Microcontrollerprogrammierung zu verstecken, und dann versuchen wir, das alles wieder zurückzudrehen. Teil 2: Vorbereitung (zu Teil 2, der eigentlichen Programmierung, gibt es einen weiteren Artikel