Folder – Kurzbeschreibung

 

Verwalten Sie Ihre Fahrten auf Basis von Aufträgen und Vergaben mit dem BTM der BaDi KG.

Kernfeatures:

  • Verwaltung Ihrer Fahrer
  • Verwaltung Ihrer Kunden
  • Verwaltung Ihrer Außendienstmitarbeiter
  • Ausgereifte Auftragsverwaltung mit Wiederholungsaufträgen und Auslandsfahrten
  • Vollständiger Workflow von der Erfassung des Auftrages,

über die Vergabe des Auftrages an einen Fahrer bis zur Abrechnung an den Kunden/Fahrer

  • Automatische Rechnungserzeugung für Ihre Kunden
  • Automatische Abrechnungserzeugung für Ihre Fahrer
  • DATEV-Export für Abrechnungen und Rechnungen im proprietären Format
  • Auswertungen für einen beliebigen Zeitraum über
    • Fahrerumsatz
    • Kundenumsatz
    • Außendienstumsatz und Umsatzbeteiligung
    • Gesamtumsatz
    • Differenzen zwischen Kundenerlöse und Fahrerkosten
    • Vollständiges Logging für alle Aktivitäten auf Datensätzen von Benutzern
    • Rechteverwaltung für 3 Benutzergruppen (Admin, Buchhaltung, Bearbeiter)
    • MwSt. Gültigkeitszeitraum definierbar

 

 

 

 

BTM Anforderungsbeschreibung

Bearbeiter:     Riederer Jürgen, BADI Informationssysteme GmbH & Co KG

1 .Geschäftsobjekte:

Geschäftsobjekte stellen die vom Programm zu bearbeitenden Daten dar. Dabei wird ein Subjekt (z.B. ein Fahrer) als Geschäftsobjekt mit seinen Eigenschaftswerten in Form von Datenfeldern erfasst (z.B. Name, Adresse, etc.). Zusätzlich wird wenn nötig angegeben mit welchen anderen Geschäftsobjekten sie in Beziehung stehen (z.B. hat ein Auftrag zwingend einen Fahrer und einen Kunden). In Beziehung stehende Geschäftsobjekte können in der Regel in den Eingabemasken aufgelistet und durch den Benutzer ausgewählt werden.

Legende:
$   à Wird vom System vergeben/eingetragen
*   à Pflichtfeld für den Benutzer

1.1 Fahrer:

Datenfelder:  Fahrer-Nr*, Anfangsdatum$,  Anrede*, Name*, Str.*, PLZ*, Ort*, BuHa-Nr., Kto*, BLZ*, Bank*, UmSt.-Nr., Tel1*, Tel2, Verwaltungsgebühr, Umsatzbeteiligung*, Transportversicherung*

(Beispielmaske 0.1, die Feldnamen und Reihenfolge sind der Datenfeldbeschreibung zu entnehmen)

1.2 Kunde:

Datenfelder: Kundennummer*, Name*(zweizeilig),  Straße*, Ort*, PLZ*, Telefon 1*, Telefon1, Fax, Konto-Nr.*, BLZ*, Bankname*, Anrede, Briefanrede, Leistungszeitraum, Rechnungskopien, Währung, Ust-ID-Nummer, Skonto*(3%/0%), Kontoeinzug, Mahnsperre, abweichende Rechnungsadresse(Name, Straße, Ort, PLZ)

Verknüpfte Geschäftsobjekte: Außendienst-Mitarbeiter

1.3 Auftrag:

Datenfelder:

Datenfelder im  Bereich Ladestelle*:  Name, Ansprechpartner, Auftragsnr., Tel für  Rückfragen, Straße, PLZ, Ort, Datum [Vergangenheitswerte erlaubt], Uhrzeit

Datenfelder im  Bereich Ziel *:  Name, Ansprechpartner, Auftragsnr., Tel für Rückfragen, Straße, PLZ, Ort

Weitere Datenfelder:  AuftragsNr.,$  Preis*, Wartezeit, Mwst.*  (0%, 7%, 19% [Standard]), Cash-Zahlung*, Betrag, Kilometer*, Status* (nicht vergeben / vergeben (nicht bei Erfassung auswählbar) / storno), Datum und Uhrzeit der Erfassung und der Vergabe$, Zusatzinformationen(für Kommentare etc. die sonst nirgends einzutragen sind), Auswahl der Wochentage um wiederholende Aufträge erfassen zu können.

Verknüpfte Geschäftsobjekte: Kunde*, Fahrer*(erst bei Vergabe verfügbar)

1.4 Rechnung-Kunde:

Datenfelder: RechnungsNr.$, Abrechnungszeitraum* (von, bis)

Verknüpfte Geschäftsobjekte: Kunde*, Auftrag*

1.5 Abrechnung-Fahrer

Datenfelder: AbrechnungsNr.$, Abrechnungszeitraum* (von, bis)

Verknüpfte Geschäftsobjekte: Fahrer*, Auftrag*

1.6 Außendienst

Datenfelder:  Ausdienst-MIA-Nr$, Name, Umsatzbeteiligungssatz

Verknüpfte Geschäftsobjekte: Kunden$

2. Funktionsbeschreibung:

Die Funktionsbeschreibung soll in Worten kurz beschreiben welche Aktionen zu jedem Geschäftsobjekt möglich sind.

2.0 Allgemeine Funktionalitäten:

HotKey-Feature d.h. Tasten wie F1, F2, TAB oder Enter werden sinnvoll vom Programm für die Navigation durch die Eingabemasken interpretiert. Jede Aktion kann rein über die Tastatur angesprochen werden.

Bezeichnungsflexibilitätd.h. Datenfelder sind in ihrer Beschreibung anpassbar ohne am Quellcode des Programms Änderungen durchführen zu müssen. Das beinhaltet nicht die Typänderung (Textfelder bzw. Zahlenfelder bleiben ihrem Datentyp treu).

Logging: d.h. jede Änderung, Löschung oder Erstellung eines Geschäftsobjektes wird in der Datenbank erfasst. Dabei wird der Benutzer, die Uhrzeit, die Aktion (erstellen, ändern, löschen,) und das beteiligte Geschäftsobjekt gespeichert. Diese Daten werden nach 6 Monate automatisch durch neue Daten überschrieben. Diese Datensätze sind durch das Programm nicht veränderbar aber durch Benutzer in der Rolle Admin einsehbar.

Löschen: Beim löschen eines Geschäftsobjekts wird dieses nicht physisch aus der Datenbank gelöscht. Stattdessen wird es für alle Auflistungen oder Eingabemasken, in dem es verwendet wird, ausgeblendet und ist nicht mehr anwählbar. Diese Status kann durch einen Benutzer mit Administratorrechten rückgängig gemacht werden. Entsprechende Auflistungen für diese „inaktiven Geschäftsobjekte“ werden implementiert-

2.1 Fahrer:

Fahrer werden aufgelistet angezeigt. Hierbei ist eine Filterung nach dem Namen, Fahrernummer oder eine Suche möglich.

In der Liste kann ein Fahrer erstellt, gelöscht  oder ausgewählt werden.

Das Auswählen ebenso wie das Erstellen eines neuen Fahrers führen zu einer Eingabemaske (hier konkret zur Beispielmaske 0.1) in der sich die Daten des Fahrers betrachten, ändern oder auch löschen lassen.

2.2 Kunde:

Kunden werden aufgelistet angezeigt. Hierbei ist eine Filterung nach dem Kundenname, Kundennummer  oder eine Suche möglich.

In der Liste kann ein Kunde erstellt, gelöscht oder ausgewählt werden.

Das Auswählen ebenso wie das Erstellen eines neuen Kunden führen zu einer Eingabemaske (hier konkret zur Beispielmaske 0.1) in der sich die Daten des Kunden betrachten, ändern oder auch löschen lassen.

Bei der Erfassung eines neuen Kunden ist es zusätzlich zu den übrigen Datenfeldern möglich einen Außendienst-Mitarbeiter zu verknüpfen welcher den Kunden geworben hat.

Bei der Änderung oder Erfassung eines Kunden besteht neben der direkten Eingabe die Möglichkeit die Rechnungsadresse aus einem bestehenden Kundendatensatz zu importieren.

2.3 Auftrag:

Aufträge werden aufgelistet angezeigt. Hierbei ist eine Filterung nach dem Auftragsnummer, Kunden, Fahrer, Datum, Ladestelle, Ziel, Aufragsstatus (z.B: vergeben oder nicht) oder eine Suche möglich.

In der Liste kann ein Auftrag erstellt, storniert (Auftrag bleibt sichtbar in Abgrenzung zur Löschung), gelöscht  oder ausgewählt werden.

Das Auswählen ebenso wie das Erstellen eines neuen Auftrages führen zu einer Eingabemaske (hier konkret zur Beispielmaske 0.1) in der sich die Daten des Auftrages betrachten, ändern oder auch löschen lassen. Es kann dabei neben der direkten Eingabe der Auftragsdaten aus einer Liste der vorhandenen Datensätzen für Kunden und Fahrer ausgewählt werden. Desweiteren besteht die Möglichkeit über ein Popup-Fenster (aufrufbar über Funktionstaste oder klick) den Auftrag als Dauerauftrag zu erstellen.

Bei der Erfassung wird das Datum und die Uhrzeit als nicht veränderbarer Wert in die entsprechenden Datenfelder eingefügt. Ebenso bei der Vergabe.

Das Feld „Betrag“ wird vom System bei der Erfassung mit dem gleichen Wert wie im Feld „Preis“ angegebenen ist ausgefüllt, ist jedoch durch den Benutzer anpassbar.

Bei der Erfassung eines neuen Kunden gibt es eine Import-Funktion für die Daten eines alten Auftrages (Vorlagenfunktion). Dazu wird  die Menge der Aufträge, die zur Auswahl stehen, durch eine Pflichtauswahl eines Kunden eingeschränkt.

2.4 Rechnung-Kunde:

Bereits erstellte Rechnungen können aufgelistet angezeigt werden. Hierbei ist eine Filterung nach dem Kunden, Datum oder eine Suche möglich. Listeneinträge können angewählt werden und führen zur Rechnungsansicht mit Druckmöglichkeit. Zusätzlich gibt es die Möglichkeit der Rechnungserstellung, in der zunächst der Rechnungszeitraum abgefragt und anschließend die Rechnung generiert wird. Eine Rechnung besteht aus der Zuordnung der der Aufträge im Rechnungszeitraum für den ausgewählten Kunden.

2.5 Abrechnung-Fahrer

Bereits erstellte Abrechnungen können aufgelistet angezeigt werden. Hierbei ist eine Filterung nach dem Fahrer, Datum oder eine Suche möglich. Listeneinträge können angewählt werden und führen zur Abrechnungsansicht mit Druckmöglichkeit. Zusätzlich gibt es die Möglichkeit der Abrechnungserstellung, in der zunächst der Abrechnungszeitraum abgefragt und anschließend die Rechnung generiert wird. Eine Rechnung besteht aus der Zuordnung der der Aufträge im Rechnungszeitraum für den ausgewählten Fahrer.

2.6 Außendienst-Mitarbeiter

Außendienst-Mitarbeiter werden aufgelistet angezeigt

In der Liste kann ein Außendienst-Mitarbeiter erstellt, gelöscht oder ausgewählt werden.

Bei der Auswahl werden je nach gewähltem Zeitraum die betroffenen vergebenen Kundenaufträge im Zeitraum mit Umsatz(inkl. der Umsatzbeteiligung) angezeigt. Diese Ansicht ist druckbar.

2.7. Statistiken

In den Statistiken können Fahrer oder Kunden und ein Zeitraum gewählt werden. Es werden dann alle in diesem Zeitraum vergebenen Aufträge mit den Umsätzen und Gesamtsumme ausgegeben. Außerdem kann der Gesamtumsatz in einem Zeitraum über alle Kunden und Fahrer ausgegeben werden.

3. Rechteverwaltung:

Die Rechteverwaltung ermöglicht die Zuordnung von Benutzer zu Rollen am System. Es existieren drei Rollen:

-User
-Buchhaltung
-Admin

Userrechte:

  • Aufträge einsehen, erfassen, bearbeiten, vergeben und stornieren
  • Kunden einsehen, anlegen und bearbeiten, aber nicht löschen
  • Fahrer einsehen,  anlegen und bearbeiten, aber nicht löschen
  • Abrechnungen einsehen

Buchhaltung:

  • Aufträge einsehen, erfassen, bearbeiten, vergeben und stornieren
  • Kunden einsehen, anlegen,  bearbeiten und löschen
  • Fahrer einsehen,  anlegen,  bearbeiten und löschen
  • Abrechnungen einsehen, erstellen, bearbeiten, drucken und löschen
  • Rechnungen einsehen, erstellen, bearbeiten, drucken und löschen
  • Außendienst-Mitarbeiter einsehen, erstellen, bearbeiten, drucken und löschen
  • Einsehen der Statistiken

Admin:

  • Zugriff mit allen Rechten auf alle Geschäftsobjekte
  • Erstellen/Sperren von Usern
  • Einsehen der Logging-Daten
  • Einsehen der Statistiken

Grundsätzliche Funktionsbeschreibung des BPS

Auszüge aus der Diplomarbeit unseres damaligen Mitarbeiters Gerhard Niederleitner. Vielen Dank nochmal dafür.

1 Überblick und Zielsetzung
1.1 Themenwahl
Durch das letzte Praktikum im Laufe meiner Studienzeit, das ich bei der BaDi GmbH absolvierte, bin ich auf eine interessante Aufgabe für meine Diplomarbeit aufmerksam geworden.
Es sollte eine Web-Applikation zur Verwaltung von Projekten und allen damit assoziierten Informationen, wie z. B. Kunden, Aufträgen und von Mitarbeitern eingetragenen Zeitkartenstunden, entworfen werden. Die Applikation musste professionellen Ansprüchen genügen und auf Basis der Microsoft .Net-Plattform1 entwickelt werden. Durch die Verwendung von komplexen Technologien und Software-Architekturen wie z. B. der konsequenten Objektorientierung, des objekt-relationalen Mappings oder der n-Tier-Architektur, stellte diese Applikation für mich auch die nötige Heraus-forderung dar, um sie im Rahmen meiner Diplomarbeit zu realisieren.
1.2 Verwendungszweck der Applikation
Da im Bereich des IT-Consulting eine hohe Mobilität unumgänglich ist und ein schneller Zugang zu Informationen in Unternehmen immer mehr an Bedeutung gewinnt, bietet sich das Internet als Schnittstelle zwischen Consultant und Unternehmen an. Die Applikation soll sowohl den Consultants im Außendienst, als auch den internen Mitarbeitern des Unter-nehmens eine optimale Unterstützung bei der Ausführung ihrer Arbeiten bieten. Dazu gehören das Abrufen von Informationen über Kunden, genauso wie die Einsicht in aktuelle Projekte und Aufträge. Außerdem bietet die Applikation eine umfassende Stundenerfassung, mit deren Hilfe sämtliche Mitarbeiter des Unternehmens ihre abgeleisteten Arbeitsstunden eintragen können. Mittels spezieller Auswertungen können so Informationen über das Auftragsvolumen von Kunden, sowie andere interessante Aspekte gewonnen werden.

1.3 Zielsetzung
Da die Applikation nicht nur für ein Unternehmen interessant sein soll, muss sie natürlich individuell erweiterbar sein. Dieser Anforderung wird damit Rechnung getragen, indem die Technologie des objekt-relationalen Mapping verwendet wird. So lassen sich relativ schnell neue Sachverhalte des Geschäftslebens in der Applikation abbilden und diese wird mit gering-fügigem Aufwand auch für Kunden interessant, die in anderen Branchen tätig sind.
Außerdem soll die Anwendung möglichst leicht an neue Techniken wie z. B. ASP.Net 2.0 oder das von Microsoft geplante Persistence-Framework ObjectSpaces anpassbar sein. Diese Zukunftssicherheit wird durch die n-Tier-Architektur sicherstellt, mit der es möglich ist einzelne Teile der Applikation neu zu entwerfen, ohne die anderen stark zu beeinflussen.
1.4 Ergebnisse
Im Folgenden soll ein kurzer Überblick über die im Rahmen dieser Diplomarbeit entstandene Applikation gegeben werden. Die Anwendung basiert auf der so genannten n-Tier-Architektur, welche die Aufteilung in verschiedene Applikationsschichten verlangt. Damit kristallisieren sich drei Hauptbereiche der Anwendung heraus, nämlich die Geschäftslogik, die Datenhaltung und die Präsentationsebene. Neben diesen Bereichen wäre noch das Sicherheitssystem der Applikation zu erwähnen, welches in den bereits erwähnten drei Applikationsschichten zum Einsatz kommt. Dank der verwendeten ASP.Net-Technologie2 konnte die Anwendung konsequent objektorientiert entwickelt werden.
Diese Orientierung spielt vor allem bei der Geschäftslogik eine große Rolle. Hier wurden sämtliche Geschäftsregeln und –aspekte in so genannten Geschäftsobjekten gekapselt. Das ermöglicht eine zentrale Wartung und schnelle Reaktionszeit bei auftretenden Änderungen. Das den Geschäfts-objekten zugrunde liegende Objektmodell ermöglicht außerdem die problem-lose Erweiterung der Applikation, was es wiederum erleichtert, rasch auf individuelle Kundenwünsche einzugehen.

Eine äußerst wichtige Rolle spielt auch die Datenhaltung, denn die verwendeten Geschäftsobjekte müssen schließlich auch physikalisch gespeichert werden. Bei der Datenschicht handelt es sich um den komplexesten Teil der gesamten Applikation. Um die Komplexität zu ver-ringern und eine gewisse Übersichtlichkeit zu gewährleisten, setzt sich die Datenschicht aus mehreren Komponenten zusammen. Diese im Laufe der Arbeit detailliert beschriebenen Komponenten erfüllen u. a. folgende Aufgaben:
− Bildung einer Schnittstelle, dem so genannten RequestBroker, für das Lesen, Speichern und Löschen sämtlicher Geschäftsobjekttypen
− Funktionen, die es ermöglichen sämtliche Daten anhand bestimmter Kriterien abfragen zu können
− Kapselung der Datenbankfunktionen, um die Unabhängigkeit von einem speziellen Datenbankprovider zu gewährleisten
− Bereitstellung der Funktionen für das objekt-relationale Mapping, welches die Daten von der Sichtweise der relationalen Datenbank in die der Objekte überführt
− Automatische Erstellung der benötigten Sql-Befehle und Abfragen für die Geschäftsobjekte
Zur Präsentation der Daten wurde auf Basis von ASP.Net eine umfangreiche, durch Verwendung von so genannten User Controls modular gestaltete Web-Oberfläche entwickelt, die außerdem die gängigen Standards des World Wide Web Consortiums3 einhält. Zudem wurden bei der Entwicklung auf eine möglichst einfache und gleich bleibende Benutzerführung wert gelegt, was durch die Standardisierung der erwähnten User Controls gelungen ist.
Um die Zugriffsrechte von unterschiedlichen Benutzern kontrollieren zu können, wurde für die Anwendung ein Sicherheitssystem realisiert. Dieses unterstützt gängige Sicherheitskonzepte wie z. B. die Verwendung von Gruppen und Rollen. Außerdem ermöglicht es die Festlegung und Prüfung von unterschiedlichen Zugriffsrechten für jedes einzelne Geschäftsobjekt.
Das Ergebnis dieser Diplomarbeit ist also eine komplett einsatzbereite, umfangreiche Web-Applikation mit einer intelligent umgesetzten Applikationsstruktur, welche die leichte Erweiterbarkeit des kompletten Systems sicherstellt.

1 http://www.microsoft.com/net
2 http://www.asp.net
3 http://www.w3.org

BDS Grundfunktionalitäten

Kunden- und Mitarbeiterverwaltung

  1. Jeder Kunde erhält eine Zugangskennung inklusive eines Passworts.
  2. Jeder Mitarbeiter des Betreibers erhält eine eigene Zugangskennung inkl. Passwort
  3. Mitarbeiter des Betreibers werden durch einen oder mehrere spezifizierte Administratoren durch ein Formular angelegt.
  4. Zugangskennungen von Kunden werden durch einen beliebigen Mitarbeiter  durch ein Formular angelegt und der Kunde wird per Mail benachrichtigt (dieser Schritt ist optional selektierbar). Das Passwort ist automatisch generiert und kann durch den Mitarbeiter geändert werden.
  5. Passwörter von Mitarbeitern und Kunden können selbständig geändert werden. Verifikation geschieht durch Eingabe des alten Passworts.
  6. Attribute für Mitarbeiter sind: Name, Vorname, Email, Fax
  7. Attribute für Kunden sind: Name, Vorname, Email, Telefon, Fax, Firma
  8. Sowohl Mitarbeiter als auch Kunden können vollständig verwaltet werden (Anlegen, Ändern, Deaktivieren).

 

Content Management

  1. Jeder Kunde hat beliebig viele Projekte. Diese werden durch einen Mitarbeiter verwaltet (Anlegen, Ändern, Löschen).
  2. Jedem Projekt können beliebig viele Dokumente zugeordnet werden. Diese geschieht durch einen Mitarbeiter oder einen Kunden. Nur Mitarbeiter können Dokumente löschen.
  3. Attribute für Projekte sind: Name, Anschrift, Verantwortlicher Mitarbeiter
  4. Attribute für Dokumente sind: Name, Typ (in MIME), Upload Datum, Mitarbeiter / Kunde (Angelegt)
  5. Notification Service: Die Isarpost und der Kunde soll per Mail benachrichtigt werden, wenn ein Dokument angelegt worden ist, beim Kunden nur die, die den Kunden betreffen.

Andere Constraints

  1. Kein Kunde soll die Dokumente eines anderen Kunden einsehen können.