Größere Projekte

System-Konzept für die Organisationssoftware zur Ausbildungsverwaltung

System-Konzept für die Organisationssoftware zur Ausbildungsverwaltung


Einleitung

Im Rahmen einer Ausschreibung haben wir für einen führenden Hersteller von Drucksystemen und Managed Print Services ein System-Konzept, Funktionsmuster und ein dazugehöriges Datenbankdiagramm für die geplante Ausbildungsverwaltung erstellt.

Die Entscheidung fiel auf eine individuelle Webanwendung zur Verwaltung der Auszubildenden-Veranstaltungen, Noten, Gerätschaften (Fahrzeuge), usw. Die Vorteile einer Webanwendung sind, dass es keiner Installation von Clientsoftware auf den PCs bedarf und der Zugriff weltweit über das Internet möglich ist.

Verwendete Server-Technologien sind dabei ASP.NET, .NET 3.5, T-SQL (Stored Procedures und Abfragen), Ajax, MS-SQL-Server und das Yaml-Framework. Siehe Eingesetzte Technologien.


Produkteinsatz

Die Datenbank-Applikation wird den Ausbildern in der Abteilung für technische Ausbildung die zentrale Planungs-, Verwaltungs- und Administrationsschnittstelle bieten. Diese enthält die Einsatz-, Schulungs- und Ausbildungsplanung der Auszubildenden. Die daraus erforderliche KFZ- und Hotelplanung wird ebenfalls über die Datenbank erfolgen. Die Auszubildenden bekommen über die Kalenderfunktion in der Webapplikation immer den aktuellsten Stand der Planung. Bei Planungsänderungen werden die Auszubildenden per Mail benachrichtigt.

In der Datenbank-Webapplikation können technische sowie nicht-technische Ausbildungen, die entweder intern oder bei einem Ausbildungsverbund stattfinden, verwaltet werden. Die Verwaltung von Anwesenheit, Einsatzplanung, Urlaubsanspruch, Schulungsbedarf, Hotelreservierungen, Schulnoten und die KFZ-Planung findet komfortabel über die Webapplikation statt. Alle Daten werden hierbei in einer zentralen Datenbank, verteilt auf mehrere Tabellen, gespeichert.


Die Hauptgeschäftsprozesse

Statusänderung / Planung der Auszubildenden

Alle Arten von Abwesenheiten (Krankheit, Urlaub, Verspätung und Besuch an der Berufsschule) werden in der Tabelle Abwesenheit festgehalten. Eingetragen werden diese Daten z.B. vom Ausbilder.

Die Planung von Einsätzen am BSC, Besuch von Schulungen/Lehrgängen oder Praxisphasen wird in der Datenbank festgehalten und kann leicht über die Weboberfläche geändert werden (siehe Ricoh Sitemap).

Wurden alle Daten erfasst, erfolgt eine Meldung an die Personalabteilung. Die Meldung besteht aus einer Exceltabelle, die per „Mailto“ verschickt wird (siehe Genereller Informationsfluss).

Hotelbuchung

Alle Hotels, die in einem Rahmenvertrag mit RICOH Deutschland GmbH stehen, können in der Datenbank gespeichert werden. Das Buchungsformular wird über unsere Applikation soweit wie möglich automatisiert ausgefüllt. Dazu gehört z.B. das Eintragen der Adresse des Hotels, Namen der Azubis (Sammelbuchung) und An- sowie Abreisedatum. Per Knopfdruck kann dieses Formular nun ausgedruckt werden und an das jeweilige Hotel gefaxt werden (Beispiel-Fax unter Hotelreservierungs-Fax). Sollte ein Hotel überbucht sein, so kann über die Webapplikation ein Ausweichhotel in Erfahrung gebracht werden.

KFZ-Einsatzplanung

Über die Webapplikation wird der KFZ-Fuhrpark verwaltet und die Zuteilung von KFZs zu einem Azubi geplant. Gespeichert werden Daten wie z.B. Dauer der Ausleihe, Rückgabedatum, usw. Zusätzlich kann jederzeit abgefragt werden, wo gerade welches Fahrzeug im Einsatz ist.


Anforderungen an die Webapplikation und Datenbank

Rollen

In der Datenbank werden zwei verschiedene Zielgruppen (Rollen) abgelegt.

  • Ausbilder (Administrator)
  • Auszubildender

Der Auszubildende bekommt keine Rechte, um Daten ändern zu können. Beim Einloggen auf der Webapplikation bekommt er nur eine Kalenderübersicht über seinen Ausbildungsplan. Der Ausbilder hingegen hat Administrationsrechte und kann jegliche Daten ändern.

Anforderungen an die Webapplikation

Durch die eingesetzten Technologien (siehe Eingesetzte Technologien) sind folgende Punkte erfüllt:

  • Parallelzugriff / Mehrfachzugriff
  • Exportfunktionen (ReportingServices)
  • Abteilungsübergreifende Einsatzmöglichkeit (zentrale Datenbank)
  • Verwaltung von Zugriffsrechten (Rollen- und Rechtevergabe in der Datenbank)
  • Schnelle Zugriffs- und Verarbeitungszeiten (gewährleistet durch SQL-Server und ASP.Net)
  • Einfache Bedienbarkeit durch ein gut strukturiertes Menü
  • Ausbildungsplanung über die Webapplikation
  • Meldung an die Personalabteilung (siehe Hauptgeschäftsprozesse)
  • Speicherung der Standorte und die dazu gehörigen Hotels in der Datenbank
  • Hotels und BSC können in die Auszubildendeneinsatzplanung eingebunden werden
  • Meldung an den Azubi, wenn er einen Lehrgang / eine Schulung oder BSC besuchen muss
  • Meldung an den Azubi, wenn er ein KFZ abgeben muss
  • Der Auszubildende bekommt eine Kalenderübersicht über seine aktuellen Veranstaltungen
  • Ausbildungsplanung
Abfragemöglichkeiten

Über den Menüpunkt „Abfragen“ (siehe Ricoh Sitemap) können häufig benötigte Informationen abgefragt werden.

Dazu gehört z.B.:

  • Geburtstage von Azubis mit Filterfunktion
  • Schulnoten und Durchschnittsnoten; Filtern nach Name, Lehrjahr, Ausbildungsgang und Fach
  • Abwesende Azubis und deren Abwesenheitsgrund
  • Schulungen und Lehrgänge
  • Diverse Informationen zu BSC / Standorte der Azubis

Informationen, wieviele Urlaubstage ein Auszubildender noch zur Verfügung hat, werden hingegen im Menüpunkt „Person-Organisation“ abgerufen.


Exportmöglichkeiten

Durch die Verwendung von „SQL Server Reporting Services“ (siehe Eingesetzte Technologien) ist es möglich, Datenbankinhalte in diverse Formate zu exportieren. Dazu gehört z.B.: Excel, HTML, TIFF, JPG, PDF, XML, CSV und Word.


Verwendetes System

Für die Auszubildendenverwaltungs-Applikation werden Server-Anwendungen sowie Technologien verwendet, die auf Microsoft Windows 2000 / XP oder Vista laufen. Dazu gehört z.B. MS-SQL-Server, ASP.NET, C# etc.

Der Aufruf der Webapplikation über ein Client ist betriebssystemunabhängig, d.h. sie wird z.B. von Windows, Macintosh oder Linux unterstützt.

Mehr dazu unter Eingesetzte Technologien am Ende dieser Seite.


Erklärung zur Sitemap

Als generelle Programmlösung haben wir eine Webanwendung gewählt. Die Sitemap gibt den Aufbau der Webanwendung wieder.

In der Sitemap sind die einzelnen Webseiten bzw. Webseitengruppen innerhalb der gesamten Webanwendung dargestellt. Die Verbindungen zwischen den einzelnen Elementen geben die Aufrufe von einer Webseite / Webseitengruppe zur nächsten an.

Wir denken, dass die Bezeichnungen innerhalb der Elemente selbsterklärend sind.

Aufteilung der Sitemap

  • Obere Zeile: Hier sind die Hauptmenüpunkte der Anwendung dargestellt.
  • Darunter: Die einzelnen Webseiten bzw. Webseitengruppen

Verwendete Farben / Kürzel:

  • Grün : Webseiten bzw. Webseitengruppen
  • Schwarz : Funktionsbeschreibung / Bezeichnung
  • Rot : Filterungs-/Sortierungs- Beschreibung
  • Blau: Hauptmenüpunkte
  • ??? : optionale Funktionen, die wir als sinnvoll erachten

Ricoh Sitemap

Ricoh Sitemap


Ricoh Auszubildendenverwaltung Datenbankmodell

Ricoh Datenbankmodell

In dem Datenbankmodell zur Ausbildungsverwaltung wird dargestellt, auf welche Art und Weise die Daten in dem relationalen Datenbanksystem gespeichert werden. Die Pfeile zeigen Beziehungen zwischen Tabellen an.


GUI-Entwurf: Kalenderübersicht der Azubis

Ricoh Kalender

In der Kalenderübersicht werden Termine für den Azubi angezeigt. Zu jedem Termin werden wichtige Informationen angezeigt, wie z.B. wann ein KFZ zurückgegeben werden muss oder der Ort, an dem eine Schulung stattfindet.


GUI-Entwurf: Azubi-Verwaltung

Ricoh Verwaltung

Unter dem Menüpunkt „Personen Organisation“ -> „Personenübersicht“ werden die Azubis tabellarisch dargestellt. Mit einem Klick rechts auf „bearbeiten“ kann jeder Azubi editiert werden. Die Ausgabe kann zusätzlich noch nach Ausbildungsgang, Ausbildungsjahr, Name des Azubis, Azubis am BSC / Standort usw. eingeschränkt werden. Die Daten, die auf dieser Seite angezeigt werden, kommen aus der Tabelle „Person“ und je nach Detailgrad z.B. auch aus „zusätzliche Wohnung“. Siehe Datenbankmodell


Genereller Informationsfluss, Übertragungsmedien und Übertragungswege (Schnittstellen)

Ricoh Informationsfluss


Beispiel E-Mail an einem Auszubildenden

Ricoh E-Mail


Technologien

ASP.NET

ASP.NET steht für Active Server Pages und ist eine von Microsoft entwickelte Technologie, um serverseitig Webseiten zu erzeugen.

ASP.NET arbeitet auf der Basis von Microsoft - .NET-Frameworks. Daher können die Webanwendungen in allen .NET unterstützten Sprachen erstellt werden. Für das Ricoh Projekt sehen wir die .NET Sprache C# vor. Dazu mehr unter C#. Vorteile von ASP.NET gegenüber herkömmlichen Skriptsprachen zum Erstellen von dynamische Webseiten sind z.B.:

  • Programmcode ist kürzer und damit übersichtlicher als z.B. bei PHP.
  • Darstellungscode und Programmcode sind säuberlich getrennt (Codebehind).
  • Fehler können schon beim Programmieren vermieden werden.
  • Das .NET-Framework stellt viele vorgefertigte Funktionen zu Verfügung.
Yaml-Framework

Yaml (Yet Another Multicolumn Layout) ist ein CSS-Framework. Mit diesem Framework ist es möglich, mit geringem Aufwand barrierearme Webseiten zu erstellen.

Die wichtigsten Features und Vorteile sind:

  • Auf Flexibilität und Barrierefreiheit ausgelegtes Layoutkonzept zur Erstellung von Spalten und Grid basierten CSS-Layouts
  • Umfassende Browserkompatibilität
  • Größtmögliche Gestaltungsfreiheit für den Webdesigner
  • Effizientes Arbeiten durch funktional gegliederte Stylesheet-Vorlagen
  • Das Baukasten-Prinzip ermöglicht eine besonders effiziente Nutzung des vorhandenen Codes bei der Layouterstellung

Yaml wird ständig weiterentwickelt, muss aber nicht ständig aktualisiert werden, da es auf einem robusten Grundbaustein basiert.

Ajax

Ajax (Asynchronous JavaScript and XML) bezeichnet ein Konzept der asynchronen Datenübertragung zwischen einem Server und dem Browser. Die Technik ermöglicht innerhalb einer HTML-Seite eine http-Anfrage durchzuführen, ohne die Seite komplett neu laden zu müssen.

Vorteile von Ajax:

  • Es werden nur die Teile der Seite neugeladen, die sich verändert haben. Dies spart Zeit und die Datenmengen, die über das Netz transportiert werden müssen, werden reduziert.
  • Es wird kein Browser Plug-In benötigt. Alle Browser, die JavaScript unterstützen, unterstützen auch Ajax.
  • Ajax-Webseiten verhalten sich wie Desktop-Anwendungen
C#

C# ist eine von Microsoft entwickelte .NET-Framework Programmiersprache. Die objektorientierte Programmiersprache greift Konzepte von Java, C++, SQL, C, sowie Delphi auf und verbessert sie. Wie alle .NET-Framework Sprachen kann man C# mit anderen Sprachen des Frameworks mixen. Mit dem Microsoft Visual Studio hat man eine mächtige Plattform, um komfortabel und mit viel Unterstützung Programme zu entwickeln. Wie unter ASP.Net bereits erwähnt wurde, wird C# auch dazu verwendet, Webseiten zu entwickeln.

Stored Procedures

Mit Stored Procedures können häufig verwendete Abläufe auf dem Server verlagert werden. In ASP.NET bzw. C# werden später nur noch die Stored Procedures aufgerufen. Somit ist SQL säuberlich von C# getrennt. Das hat zum Vorteil, dass man bei Änderungen der Datenbank nicht mehr die Webseite selbst verändern muss, sondern nur noch die Stored Procedures. Zusätzlich werden die Datenmengen, die zwischen Server und Client transferiert werden müssen, verringert und somit auch die Laufzeit verringert. Die Stored Procedures werden auf dem SQL-Server in der Sprache T-SQL beschrieben.

Microsoft SQL Server

Der Microsoft SQL Server ist eine relationale Datenbank, die sich am Standard der aktuellen SQL-Version orientiert. Mit dem SQL-Server ist es möglich, sehr große Datenbanken zu verwalten, ohne dass man Einbußen bei der Performance hat. Dank der hohen Investitionen von Microsoft in das Thema Sicherheit verfügt der Microsoft SQL Server auch in diesem Punkt über herausragende Eigenschaften. MS-SQL-Server unterstützt die sehr nützliche Funktion Stored Procedures. Um die Stored Procedures oder Transaktionen zu beschreiben, wird im MS-SQL-Server die SQL-Variante T-SQL (Transact-SQL) verwendet. Im Gegensatz zu SQL kann man in T-SQL Variablen deklarieren und Fehlerbehandlungen durchführen.

SQL Server Reporting Services

SQL Server Reporting Services (SSRS) ist ein Server-basiertes Berichtgenerierungssystem von Microsoft. Es können Daten aus unterschiedlichen Quellen erhoben werden, um diese dann komfortabel aufzuarbeiten und flexibel an Kunden und Partner zu verteilen. SSRS unterstützt diverse Ausgabeformate, wie z.B. Excel, HTML, TIFF, JPG, PDF, XML etc. So können z.B. die aktuellen Noten eines Auszubildenden Jahrganges als PDF-Report erstellt und per E-Mail weitergeleitet werden. Ein anderes Beispiel wäre das automatische Erstellen von Kreis-, Linien- oder Balkendiagrammen. Hier könnten z.B. Fehltage, Durchschnittsnoten oder die Anzahl an angefahrenen BSC pro Monat / Jahr übersichtlich dargestellt werden. Die Daten werden jeweils aktuell aus der SQL-Datenbank ausgelesen.

Internet Information Services (IIS)

IIS ist eine Dienstplattform der Firma Microsoft für PCs und Server. Über sie können Dokumente und Dateien im Netzwerk zugänglich gemacht werden. IIS wird mit allen Betriebssystemen seit Windows 2000 ausgeliefert. In der klassischen Variante arbeitet IIS als Webserver mit einem SQL-Server + Datenbank von Microsoft zusammen. Als Kommunikationsprotokolle kommen hierbei zum Einsatz: http, https, ftp, smtp, pop3 usw.


Schulung / Einführung zu in diesem Projekt verwendeten Technologien