Abgabe

Aus Nettundfroh
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

TO DO (von früheren Meilensteinen)

  • Sequenzdiagramme aktualisieren --> Klassendiagramm anpassen, Anwendungsanfälle anpassen <----- erledigt
  • Zuordnungstabelle & Beschreibung der einzelnen Dialogelemente !!! <----- erledigt
  • eventuell Aktualisierung vom GUI Prototypen Screenshot (Max?)
  • Nichtfunktionale Anforderungen gegenlesen <----- erledigt
  • Glossar auf aktuellen Stand bringen (Igor) <----- erledigt
  • KONSISTENZ!!! (Alle)


  • Abgabe PDF erstellen (Igor)


Änderungen am Klassendiagramm:

  • Attribut "Abgänger" haben wir zwei mal, in Klasse "Mitglied" und in Klasse "Schüler"
  • "Schüler" Klasse und Rolle?

Änderungen am Anwendungsfalldiagramm

  • Alle Rollen als Vererbung von "Mitglied" dargestellt. Ändern?

Quellen für Inhalt

http://lms.beuth-hochschule.de/moodle/file.php/2572/Projektbeschreibung/Projektbeleg.pdf
http://lms.beuth-hochschule.de/moodle/file.php/2572/Projektbeschreibung/AnforderungenLMV.pdf
http://lms.beuth-hochschule.de/moodle/file.php/2572/Projektbeschreibung/Projektverteidigung.pdf

Wichtige Zitate Aus obigen Dateien:

"Das System soll als Java SE Applikation entwickelt werden wobei die Persistierung der Daten über die Java Persistence API erfolgen soll. Als Datenbank wird Sybase eingesetzt. Die Datenhaltung soll zentral auf einem DB-Server gehalten werden. Die Client-Applikation soll auf Rechnern im Selbstlernzentrum, dem Lehrmittelarchiv und dem Schulbuchlager installiert werden und auf den DB-Server zugreifen. Das entstehende Produkt soll sich durch Robustheit und Skalierbarkeit, vor allem aber durch ein einleuchtendes Bedienkonzept von Konkurrenzprodukten abheben."

"Das Teilsystem muss in der Lage sein, Schülerdaten aus einer Datei im CSV-Format zu importieren..."


"Abgrenzungskriterien: Zur schnellen Erfassung von Nutzer- und Buchdaten soll zukünftig ein Barcode-System mit Scanner eingeführt werden. Für die erste Version des Systems sollen die Angaben jedoch noch von Hand eingetragen werden. Dazu sind die Bücher mit Exemplarnummern versehen, jeder Nutzer verfügt über einen Nutzerausweis mit Bibliotheksnummer. Das Ausdrucken von Nutzerausweisen und das Ausdrucken von Buchetiketten, sowie das Erstellen von Reports oder Rechnungen in Form von pdf-Dateien soll als Funktionalität bereits mit vorgesehen, aber zunächst durch eine Dummy-Prozedur ersetzt werden, die lediglich ein Dialogfenster öffnet, das ankündigt, was an dieser Stelle zukünftig gemacht werden soll (z.B. Hiermit können demnächst Ausleihreports als pdf-Datei erstellt werden)."

Inhalt Pflichtenheft und Aufgabenverteilung

rot: muss noch gemacht werden
blau: muss noch aktualisiert werden
schwarz: steht soweit, darf aber gerne noch weiter nach Fehlern durchsucht werden

  • Zielbestimmung (alles in Prosa, muss neu erarbeitet werden) MANUEL
    • Muss-Kriterien
    • Wunsch-Kriterien
    • Abgrenzungs-Kriterien
  • Produkteinsatz (alles in Prosa, muss neu erarbeitet werden) FIX
    • Anwendungsbereiche
    • Zielgruppen
    • Betriebsbedingungen
  • Funktionale Anforderungen (Diagramme, das meiste schon vorhanden) ALLE
    • Akteure und Anwendungsfälle
    • Domänen-Klassendiagramm(e)
    • Benutzer- und Systemschnittstellen
    • Verhaltensdiagramme
    • Produktdaten
  • Nichtfunktionale Anforderungen FIX
  • Technische Produktumgebung (Prosa, neu) FIX
    • Software
    • Hardware
    • Orgware
  • Anforderungen an die Entwicklungsumgebung (Prosa, neu) FIX
    • Software
    • Hardware
    • Orgware
  • Risikobetrachtung und Priorisierung (alles in Prosa, muss neu erarbeitet werden) FIETZ
    • Welche Anwendungsfälle sind am riskantesten zu betrachten?
    • Welche Anwendungsfälle haben höchste Priorität?
  • Ergänzungen (alles in Prosa, muss neu erarbeitet werden) FIETZ
    • Spezielle, nicht abgedeckte Anforderungen
    • Installationsbedingungen
    • Zu berücksichtigende Normen, Lizenzen, Patente


  • Anhang (alles in Prosa, meiste schon vorhanden) FIX
    • Glossar

http://lms.beuth-hochschule.de/moodle/file.php/2572/Folien/Pflichtenheft.pdf

Zielbestimmung

Das System LMV (Lehrmittel Verwaltung) soll die Verwaltung und Ausleihe von Lehrmitteln an Schulen unterstützen. Viele Schulen stellen einen Großteil der als Lehrmaterial durch Schüler und Lehrer genutzten Medien (Bücher, Filme, CDs) gegen eine Schuljahresgebühr zur Ausleihe bereit. Die Lehrmittel können an verschiedenen Standorten verfügbar sein. So gibt es z.B. ein Schulbuchlager, in dem Schulbücher klassenweise für ein ganzes Schuljahr ausgeliehen werden können und ein Lehrmittelarchiv, in dem Lehrer die für den Unterricht benötigten Bücher, Filme oder CDs ausleihen können. Weiterhin bieten einige Schulen ein Selbstlernzentrum mit Bibliothek an, in dem die Nutzer eine Auswahl an Büchern und CDs zu Lernzwecken nutzen und auch ausleihen können. Die Ausleihvorgänge sollen durch eine Software erfasst werden, die auch den Medienbestand der Schule sowie die Nutzer (Schüler und Lehrer) verwalten soll. Zur schnellen Erfassung von Nutzer- und Lehrmitteldaten soll zukünftig ein Barcode-System mit Scanner eingeführt werden. LMV soll als Lehrmittelverwaltungssystem sowohl für kleine (ca. 500 Schüler) als auch für wesentlich größere Schulen geeignet sein.

Das Teilsystem Nutzerverwaltung ist für alles zuständig, was mit Nutzerdaten zu tun hat. So müssen Nutzer verwaltet, d.h. Nutzer gesucht, Nutzer bearbeitet, Nutzer gelöscht werden können. Außerdem muss es möglich sein, einen neuen Nutzer anzulegen und einen Nutzerausweis zu drucken. Das Teilsystem muss in der Lage sein, Schülerdaten aus einer Datei im CSV-Format zu importieren und nicht mehr vorhandene Schüler aus dem System zu entfernen. Lehrer müssen Nutzern die Rolle als Verleiher zuweisen und entziehen können. Jeder Nutzer muss sich am System an- und abmelden und sollte sein Passwort ändern können. Darüber hinaus ist die Nutzerverwaltung zuständig für das automatische Abbuchen der Schuljahresgebühr und das Erstellen zugehöriger Rechnungen zu Beginn eines Schuljahres. Der Administrator sollte Rechnungen über die Schuljahresgebühr erstellen und ausdrucken können, um diese an die Eltern der Schüler zu versenden.


Muss-Kriterien:

  1. Anlegen von Nutzern
  2. Bearbeiten von Nutzern
  3. Löschen von Nutzern
  4. Suchen von Nutzern
  5. Rechtevergabe (bzw. Rollenvergabe von Administrator, Medienverwalter, Lehrer, Schüler, Verleiher, "Mitglied")
  6. Ändern der Rolle
  7. Bestimmte Funktionalität je nach Rolle
  8. Schnittstelle zur Schulverwaltungssoftware
  9. Importieren von Schülerdaten
  10. Druck von Nutzerausweisen
  11. Anmelden am System
  12. Abmelden am Systm
  13. Passwort ändern
  14. Neues Passwort anfordern
  15. Einziehen der Schuljahresgebühr
  16. Erstellen von Rechnungen über die Schuljahresgebühr
  17. Bibliotheksnummer erzeugen

Wunsch-Kriterien

  1. Rollenverwaltung

Abgrenzungs-Kriterien:

  1. Barcode-System mit Scanner zur schnellen Erfassung von Nutzer- und Lehrmitteldaten
  2. Ausdrucken in Form von pdf-Dateien (Funktionalität ist bereits mit vorgesehen, soll zunächst aber mit Dummy-Prozedur ersetzt werden)
  3. Allgemeine Schulverwaltung (wie z.B. Stundenpläne, Lehrpläne erstellen)

Produkteinsatz

Anwendungsbereiche

Unterstützung bei der Verwaltung und Ausleihe von Lehrmitteln an Schulen.

Zielgruppen

Das System richtet sich speziell an Benutzer einer Schulbibliothek, die sowohl Schüler als auch Lehrer sein können.

Betriebsbedingungen

Physikalische Umgebung:

Tower Server für die Serverumgebung, Desktop-PCs für die Clients.

Tägliche Betriebszeit:

Server 24/7, Clients während der Öffnungszeiten des Lehrinstituts.

Die nächtliche Betriebszeit des Servers wird vom System zur reibungslosen Übertragung der Datenstände in einen Cloud Backup Service benötigt. Der Datenbankserver soll auf seinen Heartbeat von einem Systembetreuer überwacht werden oder ggf. über Email/SMS informieren bei Änderungen des Systemstatus.

Der direkte Eingriff am Serversystem sollte im Dauerbetrieb aber nur höchst selten erforderlich sein und rechtfertigt daher nicht den Einsatz einer Vollzeitkraft. Die Wartung und der Betrieb der Clientsysteme wird von Mitarbeitern des Lehrinstituts sichergestellt, die Kompetenzen in IT besitzen, aber keine Fachkräfte darstellen.

Die Client-PCs werden am Abend von den Mitarbeitern oder zu einem festgelegten Zeitpunkt von selbst heruntergefahren.

Funktionale Anforderungen

Akteure und Anwendungsfälle

Bei den Akteuren wird zunächst unterschieden zwischen Nutzern und Mitgliedern. Ein Nutzer ist jemand, der die Software benutzt ohne am System angemeldet zu sein. Registriert man sich beim LMV ist man ein Mitglied.

Von jedem Mitglied werden bestimmte Daten persistent gespeichert (Personennummer, Vorname, Nachname, Bibliotheksnummer, E-Mail-Adresse, Klasse, Passwort, offene Ausleihvorgänge).

Eine spezielle Form des Mitglieds ist ein Schüler, bei dem dann weitere Daten gespeichert werden (Vorname Erziehungsberechtigter, Nachname Erziehungsberechtigter , E-Mail-Adresse Erziehungsberechtiger, Schuljahresgebühr gezahlt (ja/nein), Änderungsdatum, Bankverbindung).

Dazu kann jedes Mitglied noch bestimmte Rollen wahrnehmen, die mit bestimmten Berechtigungen versehen sind. Folgende Rollen gibt es: Administrator, Medienverwalter, Schüler, Lehrer, Verleiher


AnwedungsfallDiagramm Akteure.jpg

Anwendungsfälle

Domänen-Klassendiagramm(e)

KD NachSequzenzdiagrammen.jpg

Benutzer- und Systemschnittstellen

GUI-Prototypen

Verhaltensdiagramme

Sequenzdiagramme

Produktdaten

Stammdaten Mitglied:

  • Personennummer (numerisch)
  • Vorname (Text)
  • Nachname (Text)
  • Bibliotheksnummer (numerisch)
  • E-Mail-Adresse (Text)
  • Klasse (Text)
  • Passwort (Text, verschlüsselt)
  • offene Ausleihvorgänge (ja/nein)
  • Abgänger (ja/nein)

Stammdaten Schüler:

  • Vorname Erziehungsberechtigter (Text)
  • Nachname Erziehungsberechtigter (Text)
  • E-Mail-Adresse Erziehungsberechtiger (Textt)
  • Schuljahresgebühr gezahlt (ja/nein)
  • Änderungsdatum (Datum)
  • Bankverbindung (Bankverbindung)

Stammdaten Bankverbindung:

  • Kontonummer (numerisch)
  • Bankleitzahl (numerisch)
  • Kontoinhaber (Text)

Vorraussichtlicher Umfang der Daten:

  • Anzahl Mitglieder: ca. 1000 (inkl. Schüler)
  • Anzahl Schüler: ca. 900
  • Anzahl Bankverbindungen: ca. 900

Nichtfunktionale Anforderungen

Nichtfunktionale Anforderungen


Technische Produktumgebung

Software

Server:

Betriebssystem:

Debian 6.0 "Squeeze" (64 Bit)

Datenbank:

Sybase Adaptive Server Enterprise 15.5 Small Business Edition for Linux (64 Bit)

Clients:

mögliche Clientbetriebsysteme:

Windows (2000/XP, Vista, 7)

Linux alle gängigen Desktopdistributionen (ab Kernelversion 2.4) mit X und GTK bzw. GTK2

Apple MacOSX ab Version 10.0

(alle Betriebssyteme, auf denen ein Java 6 JRE läuft)

Clientsoftware:

Java 6 JRE (U23)

Java 6 SE ist eine bewährte und robuste Technologie und deshalb die Wahl für unser Projekt. Sybase ASE ist ein Datenbanksystem, dass sich durch seine Robustheit und "sauberen" SQL-Dialekt auszeichnet. Die verwendete Enterprise Edition von ASE garantiert eine Skalierbarkeit durch Ausbau des Datenbanksystems in einen Clusterbetrieb. Die Robustheit des Systems kann so durch Replikation auf weitere Serverressourcen oder durch Fail-Over Clusternoden erhöht werden.

Hardware

Server:

Dell PowerEdge 410

Intel Xeon 5620 Quadcore

6 GB Arbeitsspeicher DDR3 1333MHz

5 Jahre Pro-Support am nächsten Arbeitstag

Redundant power Supply 580W

iDRAC6 Express Server Management Card

PERC H700A Raid Controller (Raid 5)

5x 250 Gb Sata, 3,5 zoll, 7.2k RPM

16x DVD+/-RW ROM Drive SATA

European Dell 18.5in E1910H Value Widescreen Flat Panel

Maus und Tastatur

Dell UPS, Tower, 1000W, 230V, incl. Cable Pack ~11-12 min Runtime

Wir unterstützen die Robustheit der Software auf dem Serversystem mit einem redundanten Netzteil, einem umfassenden Supportvertrag, einem RAID5-Festplattensystem über 5 Festplatten und einer USV, die bei Stromausfall ein reguläres Herunterfahren des Datenbanksystems garantiert, ohne die Konsistenz des Datenbestandes zu gefährden. Backups werden jede Nacht über einen Cloud Backup Service erstellt.

Die Skalierbarkeit der Software, wird durch das Datenbanksystem über einen freien CPU-Sockel und freie Speicherbänken, deren Erweiterung die Abarbeitung von mehr Requests unterstützt. Im weiteren Betrieb der Software ist auch ein Clusterbetrieb der Datenbank mit einem Load Balancer wie HAProxy denkbar. Zu einem späteren Zeitpunkt muss erwogen werden, ob der lokale Betrieb rentabler ist als die Auslagerung des Data Managements in einen Cloud Service. Dies ist allerdings mur mit einer ausgezeichneten Internetanbindung möglich.

Client:

Für die Clients sind alle Computer, auch aus Spenden, geeignet, die die Kriterien für die Nutzung der Software erfüllen.

Dies werden vornehmlich PC's aus dem Hardwarebestand des Lehrinstituts sein, das LMV einsetzen möchte.

minimale Anforderungen:

Desktop PC mit Single Core x86 CPU und 512Mb RAM, Festplatte, Monitor, Maus und Tastatur.

Für eine Neuanschaffung von Clientsystemen schlagen wir Ihnen eine aktuelle Systemkonfiguration vor:

Dell Vostro™ Desktop 460 MT

Intel® Core™ i5-2500 w/VT (3.3GHz, 6MB cache) Windows® 7 Professional (64 Bit)

Dell E-series E2211H 21.5" 55 cm Wide LED monitor VGA,DVI (1920x1080) Blk

4096MB (2x2048) 1333MHz

3,5" 500GB HDD(7200RPM)

1GB ATI® Radeon™ HD 5450 graphics card

Dell USB Entry Keyboard - German (QWERTZ)

Dell Optical (Not Wireless), Scroll USB (3 buttons scroll) Black Mouse

3Yr ProSupport for End Users and Next Business Day On-Site Service

Orgware

Netzwerkverkabelung muss gewährleistet sein, so daß eine Netzwerkverbindung von den Rechnern in der Bibliothek zu den im "Serverraum" laufenden Datenbankserver hergestellt werden kann.

An schwierigen Aufstellungsorten ohne ausreichnde Verkabelung alternative Zugangstechniken wie Wlan oder Powerlan bereitstellen.

Feste Internet Verbindung mit hoher Upstream Bandbreite (ab 2Mbit) zur allnächtlichen Übertragung des Backups auf einen Datenspeicher im Internet.

Router mit VPN-Gateway (Cisco, Lancom, etc.).

Feste IP-Adresse zur Herstellung von VPN-Verbindungen am VPN-Gateway für einen Managementfernzugriff auf den Server durch den Systemadministrator.

Datenspeicher im Internet für Backups (zum Beispiel 100Gb bei ADrive) bei einem Cloud-Backup-Anbieter.

Ausreichend Stromanschlüsse an den PC Aufstellungsorten.

Anforderungen an die Entwicklungsumgebung

Entwicklungsumgebung

Aktueller Windows, Linux oder Apple-PC mit grafischer Benutzeroberfläche.

Die Betriebssystemumgebung ist für die Entwicklung nicht unbedingt entscheidend, da sowohl Sybase ASE als auch Netbeans für alle gängigen Clientbetriebsysteme verfügbar ist.

Software

IDE:

NetBeans 6.91 bzw. NetBeans 7

UML:

VisualParadigm for UML 8.1 Standard Edition

Programmiersprache, Laufzeitumgebung oder SDK:

Sun JDK 6 (U23)

Datenbank:

Sybase ASE Developer Edition 15.5 wobei durch die Verwendung von JPA 2.0 durchaus verschiedene verfügbare Datenbanksysteme in Frage kommen. Um den reibungslosen Ablauf bei der Entwicklung und Auslieferung zu garantieren, sollte aber trotzdem ein Datenbanksystem Verwendung finden, das dem des Zielsystems entspricht.

JPA 2.0 Implementierung:

Hibernate Core 3.6

Hardware

x86 Mehrkern-Prozessor-System mit mindestens 2 Gb Ram, lokaler Netzwerkverbindung, Zugang zum Internet und ggf. Zugang zu einem Datenbankserver, falls die Entwicklerdatenbank nicht auf dem Entwicklungssytem installiert ist (nicht empfohlen).

Orgware

Im Internet erreichbare Versionskontrolle über ein Subversion Repository.

Ggf. VPN-Tunnel zu einer gemeinsam genutzten Entwicklungs-Datenbankserver.

Festlegen einheitlicher Namenskonventionen.

VPN-Tunnel zu einer gemeinsam genutzten Server-Entwicklungs-Umgebung.

Organisation der Developer Lizenzen für Sybase ASE 15.5 Developer Edition

Risikobetrachtung und Priorisierung

Riskant zu realisierende Anwendungsfälle:

  • Automatisches Einziehen der Schuljahresgebühr
  • Schuljahresgebühr einziehen
  • Schülerdaten Importieren

Priorität:

  • Mitglieder Verwalten und zusammenhängende Anwendungsfälle
  • Schuljahresgebühr einziehen
  • Automatisches Einziehen der Schuljahresgebühr
  • Schülerdaten Importieren
  • Ändern des Passworts
  • Neues Passwort Anfordern

Ergänzungen

Spezielle, nicht abgedeckte Anforderungen:

  • Einige spezielle Anforderungen sind unter dem Punkt "Nichtfunktionale Anforderungen" genannt

Installationsbedingungen:

  • Installation wird von den Softwareentwicklern vorgenommen
  • Anzahl der Installationen hängt von der Anzahl der PC-Terminals ab. Auf jedem Bibliotheksrechner soll die Software installiert sein
  • Ausgeliefert wird die Software als CD

Lizenzen:

  • Developer Lizenzen für Sybase ASE 15.5 Developer Edition

Normen:

  • JPA
  • Datenschutzrichtlinien

Anhang

Glossar

Glossar

Master Semester 2