Leitungs-IS

Werbung
Leitungs-IS
Speziell : Trinkwasserversorgung
Gruppe 8:
Lutz Finke, Jan Hoffmeyer,
Conrad Kobsch, Jörg Winkler
Allgemeines und Funktionsumfang ........................................................................................... 2
Datenbankschema....................................................................................................................... 3
Tabellen und Beziehungen ..................................................................................................... 4
Geschäftsprozesse ...................................................................................................................... 6
Wichtige Aktivitäten .................................................................................................................. 9
Login: ..................................................................................................................................... 9
Rechnung erstellen: .............................................................................................................. 10
Netz anlegen:........................................................................................................................ 11
Architektur ............................................................................................................................... 13
Tools......................................................................................................................................... 14
Allgemeines und Funktionsumfang
•
Um was geht es?
Grundsätzlich geht es bei unserem Informationssystem, um die Umsetzung einer
Leitungs- und Kundenverwaltung für kommunale Versorger. Wir haben uns die
Trinkwasserversorgung ausgewählt, wobei wir jedoch eine grobe Abbildung eines der
Wirklichkeit darstellen werden.
•
Was wird verwaltet?
Verwaltet werden Kunden als auch Mitarbeiter des Unternehmens, das Leitungsnetz
sowie die zu den Kunden gehörigen Anschlüssen und Zählerstände. Auch eine
Berücksichtigung von Reparaturarbeiten am Leitungsnetz wird realisiert.
•
Wer sind die Benutzergruppen und an welchen Prozessen sind sie beteiligt?
Die Kunden bilden die größte Benutzergruppe. Sie haben unter anderem die Möglichkeit
eine Verbrauchsermittlung durchzuführen, sowie ihre Zählerstände abzufragen. Die
Sachbearbeiter, als Ansprechpartner der Kunden, verwalten sowohl Reparaturen als
auch Zählerstände. Die Gruppe der Techniker ist im Gegensatz zu den Sachbearbeitern,
noch dem Prozess der Leitungsnetzverwaltung vertraut. Den Administratoren ist der
Prozess der Zugriffsrechteverwaltung zugeordnet.
•
Wo liegen die Einschränkungen?
Zu aller erst gehen wir von einem geradlinigen Verlauf aller Leitungen, die als
Verbindung zwischen zwei Knoten definiert sind, aus. Weiterhin werden wir nur die
Anschrift und die Nutzerrechte der Kunden und Mitarbeiter verwalten. Auch die
Rechnungserstellung wird weniger komplett abgebildet, als es in der Realität der Fall
wäre.
•
Warum überhaupt Einschränkungen?
Ein
GIS-Informationssystem
mit
dem
Zusatz
einer
Kunden-
sowie
Rechnungsverwaltung wäre zu komplex, um eine Abbildung innerhalb der
Lehrveranstaltung zu realisieren.
2
Datenbankschema
Objekt
+gehört zu
1
+hatte
ObjektID : Long
Beschreibung : String
Zus tand : Integer
0..n
Leitungen
Reparaturen
ReparaturID : Long
ObjektID : Long
Beschreibung : String
von : Date
bis : Date
Verantwortlicher : String
Firm a : String
Knoten
KnotenID : Long
ObjektID : Long
xKoordinate : Double 2
yKoordinate : Double +besitzt
Tiefe : Double
offen : Boolean
LeitungID : Long
ObjektID : Long
Typ : String
1..n Durchmes ser : String
+gehört maxDruck : String
Durchflus s : String
aKnoten : Long
eKnoten : Long
Adressen
AdressID : Long
Ans chlues se
Name : String
Ans chluss ID : Long
Vorname : String
1
0..1
0..n KnotenID : Long
Strasse : String
Typ : String
Hausnummer : String +gehört zu +besitzt
+gehört zu
AdressID : Long
Ort : String
naechsteAblesung : Date
PLZ : Long
LoginID : Long
Zaehlerstaende
ZaehlerstandID : Long
Ans chluss ID : Long
1..n Datum : Date
+besitzt Stand : Double
Ableser : String
ZaehlerNr : Long
+gehört zu 1
+hat 1
Rechte
LoginID : Long
PW : String
Rechte : Integer
Abbildung: Datenbankshema
3
Tabellen und Beziehungen
Objekt
ObjektID : Long
Beschreibung : String
Zustand : Integer
Für
die
Darstellung
eines
Rohrleitungssystems,
speziell
für
Trinkwasserleitungen, haben wir eine Tabelle Objekte entworfen. Sie dient
als Oberklasse für mögliche technische Objekte die ein Rohrleitungssystem
enthalten kann. In der Tabelle werden nur die allgemeinen Information gespeichert, also eine
Beschreibung und ein Zustand. Der Zustand soll uns später dazu dienen, festzulegen
ob ein Objekt sich im Bau befindet, gerade repariert wird, beschädigt ist oder ob damit alles in
Ordnung ist. Für die Trinkwasserleitungen haben wir zwei hauptsächliche Objekte abgeleitet:
Knoten und Leitungen. Diese Tabellen enthalten die objektspezifischen Eigenschaften eines
Knoten, welcher zwei oder mehrere Leitungen verbindet, und einer Leitung.
•
Leitung:
Typ: Angabe über die Leitungsart (z.B. Materialart)
Durchmesser: Durchmesser der Leitung mit Maßangabe
maxDruck: Druck den die Leitung aushält und Maßangabe
Durchfluss: Mit der Leitung transportierbare Wassermenge mit
Leitungen
LeitungID : Long
ObjektID : Long
Typ : String
Durchmesser : String
maxDruck : String
Durchfluss : String
aKnoten : Long
eKnoten : Long
Maßangabe
aKnoten, eKnoten: Anfangs- und Endknoten der Leitung
•
Knoten:
xKoordinate, yKoordinate: geografische Lageangabe
Tiefe: Abstand zwischen Erdoberfläche und dem Knote n
offen: gibt an ob der Knoten Wasser durchfließen lässt oder nicht
Knoten
KnotenID : Long
ObjektID : Long
xKoordinate : Double
yKoordinate : Double
Tiefe : Double
offen : Boolean
Des Weiteren gibt es bei der Trinkwasserversorgung noch Knoten gibt die eine zusätzliche
Funktion haben. Sie dienen als Anschluss für den Kunden. Um diese Tatsache abzubilden
haben wir die Tabelle Anschluesse von Knoten abgeleitet.
•
Anschluesse:
Anschlues se
Typ: Art des Anschlusses (z.B. Hausanschluss, Firmenanschluss)
AdressID: Zuordnung zum Besitzer des Anschlusses
Anschluss ID : Long
KnotenID : Long
Typ : String
AdressID : Long
naechsteAblesung : Date
naechsteAblesung: Datum für die nächste durchzuführende
Ablesung
4
Eine weitere Tabelle ist Zaehlerstaende. In ihr werden alle abgelesenen
Zählerstände mit Datum der Ablesung, dem Ableser und der Zählernummer
eingetragen, sowie die AnschlussID mittels der die Zählerstände den
Zaehlerstaende
ZaehlerstandID : Long
AnschlussID : Long
Datum : Date
Stand : Double
Ableser : String
ZaehlerNr : Long
Anschlüssen zugeordnet werden.
Zur Verwaltung der Nutzer und seiner Rechte haben wir noch die Tabellen Adressen, Rechte.
In Adressen sind der vollständige Name, die Adresse und LoginID als Verweis auf Rechte
vermerkt. Rechte enthält ein Passwort und die Rechte des Nutzers. Bei Rechte werden
zwischen Admin, Techniker, Sachbearbeiter und Kunde unterschieden.
Die Tabelle Reparaturen dient zum Verwalten von Reparaturen. In ihr werden nötige oder
abgeschlossene Reparaturen mit folgenden Informationen eingetragen:
•
Reparaturen:
ObjektID:
Verweis auf das Objekt, welches repariert wird/
wurde/ werden soll
Beschreibung: Beschreibung der Beschädigung
von, bis: Zeitraum der Reparatur
Reparaturen
ReparaturID : Long
ObjektID : Long
Beschreibung : String
von : Date
bis : Date
Verantwortlicher : String
Firma : String
Verantwortlicher: Person die die Reparatur eingeleitet hat
Firma: ausführende Firma der Arbeiten
5
Geschäftsprozesse
Die unterschiedlichen Geschäftsprozesse unterliegen verschiedenen Zugriffkriterien, die auf
Grund der Rechtvergabe einen Prozess für eine bestimmte Benutzergruppe ermöglicht oder
sperrt. Der Ausgangspunkt eines Geschäftsprozesses ist das Login in das System. Anhand der
gespeicherten Rechte zu diesem Login verfügt jede Benutzgruppe über unterschiedliche
Geschäftsprozesse.
Verbrauch ermittlen
Zählerstände abfragen
Störungsmeldung weiterleiten
Kunde
nur SB, T
Sachbearbeiter
(SB)
Reparaturverwaltung
nur SB, T
Login
Techniker (T)
Störungsmeldung bearbeiten
nur SB
Rechnung erstellen
nur T
Zählerstandverwaltung
nur A, SB
Zählerstände eintragen
Netzverwaltung
Administrator (A)
Accountverwaltung
Netz verändern
Netz anlegen
Account ändern
Account anlegen
Abbildung.: Geschäftsprozessdiagramm
Im Folgenden sind die einzelnen Geschäftsprozesse näher erläutert:
•
Zählerstände abfragen:
Jeder eingeloggte Kunde kann die für ihn gespeicherten Zählerstände abfragen. Die
Zählerstände sind dabei chronologisch geordnet. Andere Benutzer, wie Sachbearbeiter
und Techniker, können ebenfalls Zählerstände abfragen (z.B. für Auskunftszwecke).
6
•
Verbrauch ermitteln:
Jeder eingeloggte Kunde hat die Möglichkeit, sofern für ihn mind. zwei Zählerstände
vorhanden sind, eine Verbrauchsermittlung durchzuführen. Die Ermittlung basiert auf
den gespeicherten Zählerständen zurückliegender Ablesungen seines Anschlusses.
Durch Eingabe eines selbst vom Kunden abgelesenen Zählerstandes, kann er zusätzlich
eine Verbrauchs-Prognose für den aktuellen Abrechnungszeitraum ermitteln lassen. Ihm
ist es jedoch nicht möglich Zählerstände selbst eintragen zu lassen. Dies geschieht
weiterhin über einen Sachbearbeiter oder Techniker.
•
Reparaturverwaltung
Die Reparaturverwaltung untergliedert sich in 2 Teilprozesse
ƒ
Störungsmeldung weiterleiten
Falls ein Sachbearbeiter oder Techniker eine Störungsmeldung erhält oder
feststellen sollte, kann er diese in das System eingeben. Die Störungsmeldung
kann telefonisch, per Fax oder Brief eingetroffen sein. So könnte zum Beispiel ein
Techniker, die für sein Arbeitsgebiet aktuellen Störungen, angezeigt bekommen
und sie überprüfen und ggf. eine Reparatur veranlassen.
ƒ
Störungsmeldung bearbeiten
Nachdem eine Störungsmeldung abgesetzt wurde, kann diese bearbeitet werden.
Die Bearbeitung umfasst verschiedene Punkte. Angefangen von der Beschreibung
der Störung bzw. der geleisteten Arbeiten bis hin zum Abschluss der Reparatur
und somit zur Beseitigung der Störung.
•
Zählerstandsverwaltung
Die Verwaltung der Zählerstände untergliedert sich ebenfalls in 2 Teilprozesse
ƒ
Rechnung erstellen
Dies ermöglicht einem Sachbearbeiter eine Rechnung, mit Bezug auf die
gespeicherten Zählerstände eines Anschlusses des Kunden, über einen
auswählbaren Zeitraum zu erstellen. Die Zeiträume ergeben sich aus den
Abständen der gespeicherten Zählerstände.
7
ƒ
Zählerstände eintragen
Sachbearbeiter und Techniker können über diesen Prozess, die abgelesen
Zählerstände eines zu einem Kunden gehörenden Anschlusses eintragen.
•
Netzverwaltung
ƒ
Netz anlegen
Der Techniker hat über diesen Prozess die Möglichkeit ein Netz in dem System
anzulegen. Es können sowohl Knoten als auch Leitung angelegt werden. Ebenso
besteht die Möglichkeit der Anschlusserstellung.
ƒ
Netz verändern
Ähnlich dem Prozess „Netz anlegen“ kann hier der Techniker das Leitungsnetz in
dem System verändern. Er kann neue Knoten, Anschlüsse und Leitungen
hinzufügen, entfernen oder zum Beispiel in ihrer Position veränderen.
•
Accountverwaltung
ƒ
Account anlegen
Ein Administrator hat hier die Möglichkeit einen neuen Account in der
Adresstabelle anzulegen und ihm entsprechenden Rechte zuzuweisen. Wird zum
Beispiel ein Account für einen Kunden angelegt, so wird dem Anschluss des
Kunden seine Adresse zugeordnet.
ƒ
Account verändern
Sollten gewisse Umstände es nötig machen, so kann ein Administrator einen
Account verändern. Als häufig vorkommende Umstände wäre zu nennen:
Adressänderung im Falle eines Umzuges oder Veränderung des LogIns
8
Wichtige Aktivitäten
Login:
Bei allen Aktivitäten, die über das Informationssystem ausgeführt werden können, wird eine
erfolgreiche Anmeldung im System vorausgesetzt. Deshalb wollen wir diese Aktivität hier
kurz ansprechen.
•
Vorgehensweise:
Dem Anwender wird ein Anmeldebildschirm präsentiert, in dem der Anwender
aufgefordert wird, sein LogIn und das dazugehörige Passwort einzugeben.
Bestätigt der Anwender seine Eingaben, werden die Daten mit denen der
Datenbanktabelle „Rechte“ verglichen. Existiert ein passender Eintrag und stimmt das
dazugehörige Passwort, ist der Benutzer erfolgreich im System angemeldet und gelangt
zur Hauptansicht, wo er entsprechend seiner Rechte weiter Aktivitäten auswählen kann.
Sollte jedoch der LogIn nicht gefunden werden oder das Passwort dazu nicht
übereinstimmen, wird der Benutzer darauf hingewiesen und kann seine Eingaben
entsprechend ändern.
9
Rechnung erstellen:
Anmeldung als
Sachbearbeiter
Kunden
wählen
Zugriff auf
Datenbank
keine Zählerstände vorhanden
Zeitraum
bestimmen
Zeitraumauswahl anhand der
vorhandenen Zählerstände
Rechnung
erstellen
Abbildung: Aktivitätsdiagramm „Rechnung erstellen“
•
Vorraussetzung:
Erfolgreiche Anmeldung als Sachbearbeiter im Informationssystem.
•
Vorgehensweise:
Der Sachbearbeiter wählt über eine Suchfunktion, Auswahl oder direkte Eingabe einen
Kunden aus der Adresstabelle aus. Das System nun, ob für den gewählten Kunden
Zählerstände zur Verfügung stehen und listet diese auf. Falls zu einem Kunden nicht
mind. zwei Zählerstände zur Verfügung stehen, wird der Sachbearbeiter darauf
hingewiesen und zum Auswahlbildschirm weitergeleitet.
Existieren mind. zwei Zählerstände, wählt sich der Sachbearbeiter den betreffenden
Zeitraum aus. Diese Zeiträume werden ihm anhand der vorhandenen Zählerstände
vorgeschlagen. Nach Auswahl des zu bearbeitenden Zeitraumes, wird eine Berechnung
der Daten durchgeführt und dem Sachbearbeiter angezeigt. Die ausgewerteten Daten
können dann zum Beispiel an eine Rechnungsstelle übermittelt werden, welche alle
weiteren Schritte, bis hin zur endgültigen Zustellung der Rechnung übernimmt. Dies soll
hier aber nicht weiter betrachtet werden.
10
Netz anlegen:
Anmeldung als
Techniker
keine weitere Leitung
keinen weiteren Knoten hinzufügen
Auswahlbildschirm
nicht genug Knoten vorhanden
Beschreibung:Stri ng
xKoord:Double
yKoord:Double
Tiefe:Double
Zustand:Integer
weiteren Knoten hinzufügen
neuen Knoten
hinzufügen
Typ:Stri ng
Beschreibung:Stri ng
Durchmesser:Double
aKnoten:Long
eKnoten:Long
Zustand:Integer
mind. 2 Knoten vorhanden
Schrei be neuen
Knoten in
Datenbank
neue Leitung
hinzufügen
weitere Leitung
Füge Leitung i n
Datenba...
Füge Knoten
hinzu
Knoten nicht vorhanden
Knoten bereits vorhanden
Leitung bereits vorhanden
Füge Leitung
hinzu
Leitung nicht vorhanden
Abbildung: Aktivitätsdiagramm „Netz anlegen“
•
Vorraussetzung:
Erfolgreiche Anmeldung als Techniker im Informationssystem.
•
Vorgehensweise:
Nach der erfolgreichen Anmeldung wird dem Techniker ein Anfangsbildschirm
präsentiert, in dem er alle für ihn wichtigen Aktivitäten in einem Menü präsentiert
werden. Wählt er dort die Aktivität „Netz anlegen“ kann er zwischen dem Hinzufügen
von Knoten bzw. Leitungen auswählen. Zur besseren Übersicht kann er sich jederzeit
eine graphische Darstellung des Netzes anzeigen lassen.
ƒ
Hinzufügen der Knoten:
Im Auswahlbildschirm „Knoten hinzufügen“, hat der Techniker die Möglichkeit,
Knoten anzulegen oder zum Anfangsbildschirm zurückzukehren. Beim „Anlegen
eines neuen Knotens“ wird geprüft ob der neue Knoten bereits existiert. Falls dies
der Fall ist wird der Techniker darauf hingewiesen und kann seine Eingabe
korrigieren. Existiert der neue Knoten noch nicht, so wird er dem Netz
hinzugefügt, d.h. in der Tabelle „Knoten“ eingetragen.
11
Zum Anlegen eines Knotens werden folgende Daten benötigt:
X-Koordinate (xKoord: Double), Y-Koordinate (yKoord: Double), Tiefe in der
sich der Knoten befindet (Tiefe: Double) und der Zustand des Knotens
(Zustand: Integer)
Bei den Zuständen kann der Techniker zwischen: OK, Beschädigt, Reparatur
im Gang oder Im Bau wählen
Anschließend hat der Techniker die Möglichkeit, weitere Knoten hinzuzufügen
oder zum Anfangsbildschirm zurückzukehren.
ƒ
Hinzufügen der Leitungen:
Im Auswahlbildschirm „Leitungen hinzufügen“, hat der Techniker die Möglichkeit
neue Leitungen anzulegen. Bevor er jedoch die Möglichkeit bekommt neue
Leitungen anzulegen, wird überprüft ob bereits mindestens 2 Knoten existieren. Ist
dies nicht der Fall, gelangt der Techniker zurück zum Anfangsbildschirm.
Existieren jedoch mindestens 2 Knoten, so bekommt er die Möglichkeit neue
Leitungen anzulegen. Beim Anlegen neuer Leitungen wird der Techniker
aufgefordert die Daten für den Anfangsknoten (aKnoten: Long), den Endknoten
(eKnoten: Long) und den Zustand der Leitung (Zustand: Integer) anzugeben.
Nach der Überprüfung der Daten auf ihre Konsistenz wird die neue Leitung in der
Datenbanktabelle „Leitungen“ angelegt.
Die Aktivitäten zum Bearbeiten und Löschen von Knoten bzw. Leitungen verhalten sich
nahezu äquivalent zum Anlegen.
12
Architektur
Dem Informationssystem zugrunde liegt die klassische 3-Schichten Architektur. Die Vorteile
dieser Architektur liegen in der Trennung von Daten, Logik und Präsentation. Außerdem
beinhaltet es über die Anwendung hinaus verwertbare Geschäftsobjekte und ist flexibel für
Änderungen.
Dies sind jedoch nur die Vorteile. Die Realität sieht anders aus:
- Eine standardisierte Infrastruktur erfordert sehr viel Einarbeitung
- Im Client-Code steht oft mehr als 60% der Anwendung
- Rapid Prototyping nur eingeschränkt möglich
Anwendungsserver
Kunden
Netz
Datenbank
Rechte
JSP
Web-Server
Reparatur
Zählerstände
My-SQL
Rechnungen
Java-Beans
Als Datenschicht wird auf eine mySql-Datenbank zugegriffen. Die Entscheidung für mySql
fiel vor allem aufgrund von:
- kostenlos und OpenSource
- gute Performance auch noch in großen Datenbanken
- standardisiert
- für unterschiedliche Systeme verfügbar
- mit unterschiedlichen Programmiersprachen ansprechbar
13
Tools
Als Entwicklungswerkzeuge kommen zum Einsatz:
•
PHPMyAdmin
PHPMyAdmin dient zum Erstellen und Verwalten der Datenbank. PHPMyAdmin ist
kostenlos und OpenSource womit in Verbindung mit MySQL eine günstige
Datenbankanbindung und -erstellung geschaffen wird.
•
NetBeans IDE
Zum Erstellen der Java-Klassen und der JSP-Seiten wird die NetBeans IDE verwendet.
Sie ist frei verfügbar und somit eine gute Basis für eine Entwicklungsumgebung,
außerdem beinhaltet sie einen Tomcat-Server zum gleichzeitigen Testen und Ausführen.
•
Tomcat-Server
Als Web-Server wird ein Tomcat-Server benutzt. Dieser hat den Vorteil, das er neben
einem JSP-Prozessor und Servlet-Runner auch einen einfachen HTTP-Server beinhaltet.
14
Herunterladen