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 Auszubildendenverwaltung 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
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
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)
Beispiel E-Mail an einem Auszubildenden
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