E n t w i c k l u n g e i n e s s i c h e r e n V i d e o ü b e r t r a g u n g s s y s t e m s. P f l i c h t e n h e f t



Ähnliche Dokumente
DELFI. Benutzeranleitung Dateiversand für unsere Kunden. Grontmij GmbH. Postfach Bremen. Friedrich-Mißler-Straße Bremen

Übersicht... 2 Dateiupload... 3 Administratorfunktionen... 4

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

Gruppe: swp Gruppenleiter: U. Seiler Aufgabenstellung 3. Lastenheft

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

Pflichtenheft. 1 Zielbestimmungen Musskriterien Wunschkriterien Abgrenzungskriterien... 2

Handbuch für Gründer. Daniela Richter, Marco Habschick. Stand: Verbundpartner:

Synchronisations- Assistent

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

BOKUbox. Zentraler Informatikdienst (ZID/BOKU-IT) Inhaltsverzeichnis

Pflichtenheft Programmanwendung "Syntax Tool"

ecaros2 - Accountmanager

Pflichtenheft: Wettervorhersagen via Webservice

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Easy Share Anleitung. April 2016

Pflichtenheft Version 1.0. Mäxchen/Meiern iphone App

Easy Share Anleitung Februar 2014

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Warenwirtschaft Handbuch - Administration

Leitfaden zur Moduleinschreibung

Dieser Text beschreibt die Neuerungen von DaNiS und die Vorgehensweise beim DaNiS-Update.

2. Im Admin Bereich drücken Sie bitte auf den roten Button Webseite bearbeiten, sodass Sie in den Bearbeitungsbereich Ihrer Homepage gelangen.

Informations- und Kommunikationsinstitut der Landeshauptstadt Saarbrücken. Upload- / Download-Arbeitsbereich

HANDBUCH MOZILLA THUNDERBIRD So richten Sie Ihren kostenlosen Client ein.

Anforderungsanalyse: Tutor

teamsync Kurzanleitung

Inhalt: Ihre persönliche Sedcard... 1 Login... 1 Passwort vergessen... 2 Profildaten bearbeiten... 3

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Stand: Pflichtenheft für die Herstellung von Software für ein Casino

inviu routes Installation und Erstellung einer ENAiKOON id

Dokumentation zur Versendung der Statistik Daten

Anleitung für die Hausverwaltung

Einführungskurs MOODLE Themen:

Internationales Altkatholisches Laienforum

1. Aktionen-Palette durch "Fenster /Aktionen ALT+F9" öffnen. 2. Anlegen eines neuen Set über "Neues Set..." (über das kleine Dreieck zu erreichen)

FDISK. Login-Verwaltung. Feuerwehrdateninformationssystem und Katastrophenschutzmanagement

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Der Kundenmanager. Der Kundenmanager der Firma AED-SICAD ist ein Bestandteil des Web Order System (WOS) und unterscheidet zwischen folgenden Kunden:

CC Modul Leadpark. 1. Setup 1.1 Providerdaten 1.2 Einstellungen 1.3 Qualifizierungsstati 1.4 Reklamationsstati 1.5 Design 1.

Präventionsforum+ Erfahrungsaustausch. HANDOUT GRUPPEN-ADMINISTRATOREN Anlage zum Endnutzer-Handbuch. Stand: Änderungen vorbehalten

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

Zur Bestätigung wird je nach Anmeldung (Benutzer oder Administrator) eine Meldung angezeigt:

BENUTZERHANDBUCH für. Inhaltsverzeichnis. 1. Anmeldung. 2. Rangliste ansehen. 3. Platzreservierung. 4. Forderungen anzeigen

Bedienungsanleitung für Mitglieder von Oberstdorf Aktiv e.v. zur Verwaltung Ihres Benutzeraccounts auf

Anleitung DropTours für Tourenleiter

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

MINDMAP. HANDREICHUNG (Stand: August 2013)

Motorsegler Reservierungs-System. Reservierungsplatz

Benutzerhandbuch für Hundehalter

Kurze Benutzungsanleitung für Dozenten

INHALTSVERZEICHNIS Allgemeine Beschreibung... 3 Verwendung der Webseite... 4 Abbildungsverzeichnis... 12

Kapitel 16 Seite 1. Mit Wikispaces eine Homepage erstellen. Die eigene Homepage mit Wikispaces.

ANLEITUNG Einliefern von Beiträgen

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse )

Datenbank LAP - Chefexperten Detailhandel

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

Adminer: Installationsanleitung

Diese Anleitung wurde erstellt von Niclas Lüchau und Daniel Scherer. Erste Anmeldung. Schritt 1: Anmeldung..2. Schritt 2: Passwort setzen 3

2. Im Admin Bereich drücken Sie bitte auf den Button Mediathek unter der Rubrik Erweiterungen.

Aktions-Tool. Online-Verwaltung für Einrichtungen & Unternehmen. Online-Verwaltung für Einrichtungen & Unternehmen

Dokumentenverwaltung im Internet

In dem unterem Feld können Sie Ihre eintragen, wenn sie im System hinterlegt wurde. Dann wird Ihnen Ihr Passwort noch einmal zugeschickt.

Quick Guide Trainer. Fairgate Vereinssoftware. Zürich Oberland Pumas Postfach Pfäffikon ZH

ejgp Webseite Kurzeinführung

Mobilgeräteverwaltung

SRH - Kurzinformation

Telefon-Anbindung. Einrichtung Telefonanlagen. TOPIX Informationssysteme AG. Stand:

Auf der linken Seite wählen Sie nun den Punkt Personen bearbeiten.

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

Der Jazz Veranstaltungskalender für Deutschland, Österreich und die Schweiz

Anlegen eines DLRG Accounts

Lehrer: Einschreibemethoden

Kurzanleitung GigaMove

Datenaustausch mit dem BVK Data Room

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

Corporate Video Nutzerhandbuch zum Corporate Video Buchungsportal

1 Schritt für Schritt zu einem neuen Beitrag

Content Management System (CMS) Manual

3 Wie bekommen Sie Passwortlevel 3 und einen Installateurscode?

Datenaustausch mit dem BVK Data Room

SIMP 1.01 Protokollspezifikation (Mindestanforderung)

STRATO Mail Einrichtung Mozilla Thunderbird

Treppensoftware Programme. Hilfe - 3D Plus Online. konstruieren/präsentieren

Anleitung für den Euroweb-Newsletter

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Stammdatenanlage über den Einrichtungsassistenten

StudyDeal Accounts auf

Hochschulrechenzentrum

Biogena IMK. Individuelle Mikronährstoff Komponenten. Benutzerhandbuch. Natürlich so individuell wie Ihr Patient

ESB - Elektronischer Service Bericht

Anleitung zur KAT-Datenbank Qualitrail Eingabe Futtermittel

CampusNet Webportal SRH Heidelberg

Seekajakspots.ch Android App

Softwareentwicklungspraktikum Sommersemester Feinentwurf

Kurzbeschreibung Seminarwesen online STBVSH

Bereich METIS (Texte im Internet) Zählmarkenrecherche

Nutzung von GiS BasePac 8 im Netzwerk

Erste Schritte zur Online-Hallen-Buchung beim. TC Grün-Weiß Bayreuth e.v.

Lokalfinder. Klasse: 5AHH. Projektleiter: Prof. Peter Moser. Projektteam: Gutzelnig Benedikt. Bosnjak Josip. Salbrechter Jürgen.

Anleitung zum LPI ATP Portal

Transkript:

E n t w i c k l u n g e i n e s s i c h e r e n V i d e o ü b e r t r a g u n g s s y s t e m s Softwareentwicklungspraktikum Sommersemester 2009 Gruppe 1 P f l i c h t e n h e f t Auftraggeber Technische Universität Braunschweig Institut für Betriebssysteme und Rechnerverbund Prof. Dr.-Ing. Lars Wolf Mühlenpfordtstraße 23, 1. OG 38106 Braunschweig Betreuer: Kai Homeier, Jens Brandt, Timo Veit Name Johannes Bürdek Daniel Fischer Justus Hummelsheim Sebastian Nieke Jan-Marc Reinhardt Mengzhi Zhang Auftragnehmer: E - Mail johannes.buerdek@gmx.net d.fischer@tu-bs.de netzjoe@arcor.de waronfate@googlemail.com j-m.reinhardt@tu-bs.de ias147@hotmail.com Braunschweig, 09.04.2009 1

Versionsübersicht Version Datum Autor Status Kommentar 0.9 08.04.09 Gruppe 1 Erstfassung 2.0 15.04.09 Gruppe 1 Überarbeitung 2

I n h a l t s v e r z e i c h n i s ENTWICKLUNG EINES SICHEREN VIDEOÜBERTRAGUNGSSYSTEMS... 1 PFLICHTENHEFT... 1 INHALTSVERZEICHNIS... 3 ABBILDUNGSVERZEICHNIS... 4 1 ZIELBESTIMMUNG... 5 1.1 MUSSKRITERIEN... 5 1.2 WUNSCHKRITERIEN... 6 1.3 ABGRENZUNGSKRITERIEN... 6 2 PRODUKTEINSATZ... 7 2.1 ANWENDUNGSBEREICHE... 7 2.2 ZIELGRUPPEN... 7 2.3 BETRIEBSBEDINGUNGEN... 7 3 PRODUKTÜBERSICHT... 8 4 PRODUKTFUNKTIONEN... 11 4.1 SERVER... 11 4.2 BENUTZERVERWALTUNG... 13 4.3 PLAYER... 16 4.4 UPLOADER... 17 5 PRODUKTDATEN... 18 6 PRODUKTLEISTUNGEN... 20 7 QUALITÄTSANFORDERUNGEN... 21 7.1 ÜBERSICHT... 21 7.2 ERLÄUTERUNGEN... 21 8 BENUTZEROBERFLÄCHE... 22 8.1 ANFORDERUNGEN... 22 8.2 AUSSEHEN... 23 9 NICHTFUNKTIONALE ANFORDERUNGEN... 25 10 TECHNISCHE PRODUKTUMGEBUNG... 26 10.1 SOFTWARE... 26 10.2 HARDWARE... 26 10.3 ORGWARE... 26 GLOSSAR... 27 3

A b b i l d u n g s v e r z e i c h n i s Abbildung 3-1: Use-Case Server... 8 Abbildung 3-2: Use-Case Benutzerverwaltung... 9 Abbildung 3-3: Use-Case Player... 9 Abbildung 3-4: Use-Case Uploader...10 Abbildung 8-1: Hauptfenster...23 Abbildung 8-2: File-Menü...24 Abbildung 8-3: Help-Menü...24

1 Zielbestimmung Es soll ein sicheres Videoübertragungssystem realisiert werden. Hierbei sollen Videos, welche von einer Überwachungskamera stammen, von einem Server verschlüsselt und gespeichert werden, um vor unerlaubtem Zugriff geschützt zu sein. Diese Videos sollen in verschlüsseltem Zustand, in dem sie sich befinden, zum Client gestreamt und erst dort von der Abspielsoftware mit dem passenden Schlüssel entschlüsselt und angezeigt werden. Zusätzlich soll es ein Upload-Modul geben, mit welchem Benutzer eigene Videos erst verschlüsseln und dann auf den Server hochladen können sollen. Letztendlich soll es noch eine Benutzerverwaltung mit individueller Rechtevergabe geben. 1.1 Musskriterien Der Server muss Videos verschlüsselt speichern können. muss Videos streamen können. muss eine Datenbank für die Benutzerverwaltung bereitstellen. braucht Interfaces um Benutzerverwaltung durchzuführen. muss Benutzer authentifizieren können. braucht Interfaces für den Upload, um Videos des Uploader Moduls zu empfangen, zu verändern und zu löschen. muss ein Interface für die Kamera zur Verfügung stellen und Videos der Kamera empfangen, verschlüsseln und speichern können. Der Player muss sich zum Server verbinden und sich authentisieren können. muss gestreamte Videos entschlüsseln und abspielen können. Der Uploader muss sich zum Server verbinden und sich authentisieren können. muss Videos verschlüsseln und hochladen können. muss Videos löschen können.

Die Benutzerverwaltung muss sich zum Server verbinden und sich authentisieren können. muss die Server-Interfaces zur Benutzerverwaltung ansprechen können. muss Nutzer anlegen, verändern und löschen können. muss die Rechte der Nutzer verwalten können. muss das Passwort zurücksetzen, ändern und zuschicken können. 1.2 Wunschkriterien Der Player kann Videos speichern. kann Spulen. Der Server kann E-Mail-Benachrichtigungen bei neuen Videos an Benutzer verschicken. 1.3 Abgrenzungskriterien Der Player soll kein universeller Videoplayer sein. Vorhandene freie Bibliotheken werden im Bedarfsfall benutzt.

2 Produkteinsatz Die von einer Videokamera aufgenommenen Videos werden verschlüsselt auf einem Server gespeichert. Auf dem Server gespeicherte Videos können mit einer Abspielsoftware wiedergegeben werden, zu der die Videos vom Server verschlüsselt übertragen werden. Zudem ist es möglich verschlüsselte Videos selbst hochzuladen, welche auf dem Server gespeichert werden. Weiterhin gibt es eine Benutzerverwaltung, um die Zugriffsrechte auf die Daten zu verwalten. 2.1 Anwendungsbereiche Das Produkt dient der Speicherung und Verwaltung verschlüsselter Videos einer Überwachungskamera. Es kann auch dazu benutzt werden, manuell hochgeladene Videos verschlüsselt zu speichern. 2.2 Zielgruppen Das Produkt ist hauptsächlich für die Videoüberwachung im Institut für Betriebssysteme und Rechnerverbund der TU Braunschweig gedacht. Die Nutzung an anderer Stelle ist jedoch auch denkbar. Weitere Zielgruppen ergeben sich dadurch, dass neben der Kamera als Quelle der Videos auch ein Uploader für beliebige Videos vorgesehen ist. Somit lässt sich das Produkt allgemein zur verschlüsselten Speicherung von Videos einsetzen. 2.3 Betriebsbedingungen Es wird ein zentraler Server benötigt, mit dem sich mehrere Clients verbinden können. Der Server läuft im Dauerbetrieb. Der Server läuft unbeaufsichtigt. Der Server ist an ein Netz angeschlossen. Einzige Anforderung an das Betriebssystem des Servers ist das Vorhandensein einer Java-Laufzeitumgebung.

3 Produktübersicht Das Produkt ist in die wesentlichen Komponenten Server, Player, Uploader und Benutzerverwaltung unterteilt. Dabei interagiert der Benutzer nicht direkt mit dem Server, sondern nur über die übrigen Komponenten. Folgendes Use-Case-Diagramm beschreibt die Interaktionsmöglichkeiten der einzelnen Komponenten mit dem Server: Server Videos hochladen Videos löschen Verschlüsselung <<extend>> <<extend>> Benutzer verwalten Benutzerverwaltung Uploader verschlüsselte Videos hochladen Videos empfangen Player unverschlüsselte Videos hochladen Abbildung 3-1: Use-Case Server

Mit der Benutzerverwaltung können neue Benutzer angelegt werden, Rechte vergeben und zurückgezogen werden und andere Verwaltungsoperationen durchgeführt werden: Benutzerverwaltung Benutzer anlegen Benutzer löschen Benutzer bearbeiten Benutzer Passwort zurücksetzen Rechte vergeben <<include>> Rechte zurückziehen Passwort ändern neues Passwort zugeschickt bekommen Abbildung 3-2: Use-Case Benutzerverwaltung Mit dem Player kann der Benutzer sich auf dem Server gespeicherte Videos ansehen: Player <<include>> Videos empfangen Benutzer Videos ansehen <<include>> Videos entschlüsseln Abbildung 3-3: Use-Case Player

Mit Hilfe des Uploaders kann man Videos auf den Server hochladen und vom Server löschen: Uploader Videos hochladen Benutzer Videos löschen Abbildung 3-4: Use-Case Uploader

4 Produktfunktionen 4.1 Server /F100/ Benutzer verwalten Geschäftsprozess: Verwalten eines Benutzers Ziel: Die Daten eines Benutzers werden in der Datenbank, die auf dem Server liegt, verwaltet. Vorbedingung: Die Datenbank muss fertig eingerichtet sein, sodass Benutzer verwaltet werden können. Nachbedingung Erfolg: Die neuen Daten eines Benutzers sind erfolgreich in die Datenbank eingetragen worden. Nachbedingung Fehlschlag: Die neuen Daten des Benutzers konnten nicht in die Datenbank eingetragen werden. Akteure: Server, Benutzerverwaltung, Benutzer Auslösendes Ereignis: Benutzerverwaltung meldet dem Server, dass die Daten eines bestehenden Benutzers verändert werden sollen oder dass die Daten für einen neuen Benutzer eingetragen werden sollen. 1 Benutzerdaten werden nach der Authentifizierung von der Benutzerverwaltung empfangen. 2 Neue Benutzerdaten werden in die Datenbank eingetragen. /F110/ Videos streamen Geschäftsprozess: Streamen eines Videos Ziel: Ein angefordertes Video wird vom Server zu einem Client gestreamt. Vorbedingung: Es muss eine Verbindung zu einem authentifizierten Benutzer bestehen und das Video muss auf dem Server abgelegt sein. Nachbedingung Erfolg: Das Video wurde erfolgreich zum Benutzer gestreamt. Nachbedingung Fehlschlag: Das Video wurde nicht auf dem Server gefunden, der Stream wurde unterbrochen oder der Benutzer hat nicht die benötigten Rechte um das Video zu sehen. Akteure: Benutzer, Server, Player Auslösendes Ereignis: Ein Benutzer fordert ein Video an. 1 Der Benutzer fordert ein Video an. 2 Es wird geprüft, ob der Benutzer berechtigt ist das Video zu sehen. 3 Das Video wird zum Benutzer gestreamt.

/F120/ Verschlüsselte Videos empfangen und speichern Geschäftsprozess: Empfangen und Speichern von verschlüsselten Videos Ziel: Ein verschlüsseltes Video wird empfangen, auf dem Server gespeichert und in die Datenbank eingetragen. Vorbedingung: Das Video ist verschlüsselt. Nachbedingung Erfolg: Das Video wurde erfolgreich auf dem Server gespeichert und in die Datenbank eingetragen. Nachbedingung Fehlschlag: Das Video konnte nicht empfangen, gespeichert oder in die Datenbank eingetragen werden. Akteure: Server, Uploader Auslösendes Ereignis: Der Uploader sendet ein verschlüsseltes Video an den Server. 1 Der Uploader wird authentifiziert. 2 Das Video wird hochgeladen. 3 Das Video es auf dem Server gespeichert, in die Datenbank eingetragen und es werden Default-Rechte vergeben. /F130/ Unverschlüsselte Videos empfangen und speichern Geschäftsprozess: Empfangen und Speichern von unverschlüsselten Videos Ziel: Es wird ein unverschlüsseltes Video empfangen, verschlüsselt, auf dem Server gespeichert und in die Datenbank eingetragen. Vorbedingung: Das Video ist unverschlüsselt. Nachbedingung Erfolg: Das Video wurde erfolgreich verschlüsselt, auf dem Server gespeichert und in die Datenbank eingetragen. Nachbedingung Fehlschlag: Das Video konnte nicht empfangen, verschlüsselt, gespeichert oder in die Datenbank eingetragen werden. Akteure: Server, Kamera Auslösendes Ereignis: Die Kamera sendet ein unverschlüsseltes Video zum Server. 1 Das Video wird hochgeladen. 2 Es wird verschlüsselt. 3 Das Video es auf dem Server gespeichert, in die Datenbank eingetragen und es werden Default-Rechte vergeben.

/F140/ Videos löschen Geschäftsprozess: Löschen eines Videos Ziel: Es wird ein Video vom Server gelöscht und aus der Datenbank entfernt. Vorbedingung: Das Video existiert auf dem Server und in der Datenbank. Nachbedingung Erfolg: Das Video wurde erfolgreich vom Server gelöscht und aus der Datenbank entfernt. Nachbedingung Fehlschlag: Das Video konnte nicht gelöscht werden und existiert noch auf dem Server oder in der Datenbank. Akteure: Server, Uploader, Benutzer Auslösendes Ereignis: Der Benutzer sendet den Befehl zum Löschen eines Videos. 1 Benutzer wird authentifiziert. 2 Benutzer führt über den Uploader den Befehl zum Löschen eines Videos aus. 3 Video wird vom Server gelöscht und aus der Datenbank entfernt. 4.2 Benutzerverwaltung /F200/ Benutzer anlegen Geschäftsprozess: Ein Benutzer wird angelegt Ziel: Ein Benutzer wird angelegt und in der Datenbank auf dem Server gespeichert. Vorbedingung: Die Tabellen in der Datenbank sind fertig angelegt und der Benutzer ist noch nicht in der Datenbank vorhanden. Nachbedingung Erfolg: Der Benutzer wurde erfolgreich in die Datenbank eingetragen. Nachbedingung Fehlschlag: Der Benutzer konnte nicht in der Datenbank gespeichert werden. Akteure: Benutzerverwaltung, Server Auslösendes Ereignis: Es wird der Befehl aufgerufen, dass ein Benutzer angelegt werden soll. 1 Benutzer wird beim Server authentisiert. 2 Daten des neuen Benutzers eingeben. 3 Die Daten zum Server schicken und in der Datenbank speichern.

/F210/ Benutzer löschen Geschäftsprozess: Ein Benutzer wird gelöscht Ziel: Ein Benutzer wird aus der Datenbank entfernt. Vorbedingung: Der Benutzer existiert in der Datenbank. Nachbedingung Erfolg: Der Benutzer wurde erfolgreich aus der Datenbank entfernt. Nachbedingung Fehlschlag: Der Benutzer konnte nicht aus der Datenbank entfernt werden. Akteure: Benutzerverwaltung, Server Auslösendes Ereignis: Der Befehl einen Benutzer zu löschen wird aufgerufen. 1 Benutzer wird am Server authentisiert. 2 Benutzer auswählen, der gelöscht werden soll. 3 Den Benutzer aus der Datenbank löschen. /F220/ Benutzer bearbeiten Geschäftsprozess: Einen Benutzer bearbeiten Ziel: Die Daten eines Benutzers werden aktualisiert und in der Datenbank gespeichert. Vorbedingung: Der Benutzer existiert in der Datenbank. Nachbedingung Erfolg: Die alten Daten des Benutzers wurden erfolgreich mit den neuen Daten überschrieben. Nachbedingung Fehlschlag: Die alten Daten konnten nicht aktualisiert werden. Akteure: Benutzerverwaltung, Server Auslösendes Ereignis: Der Befehl zum Ändern der Daten eines Benutzers wird aufgerufen. 1 Benutzer wird am Server authentisiert. 2 Benutzer auswählen, dessen Daten geändert werden sollen. 3 Die neuen Daten des Benutzers eingeben. 4 Die alten Daten des Benutzers mit den neuen überschreiben.

/F230/ Rechte verwalten Geschäftsprozess: Rechte werden vergeben oder entzogen Ziel: Einem Benutzer werden bestimmte Rechte gegeben oder entzogen, welche in der Datenbank gespeichert werden. Vorbedingung: Der Benutzer existiert in der Datenbank. Nachbedingung Erfolg: Die neuen Rechte des Benutzers wurden erfolgreich in der Datenbank gespeichert. Nachbedingung Fehlschlag: Die neuen Rechte konnten nicht in der Datenbank gespeichert werden. Akteure: Benutzerverwaltung, Server Auslösendes Ereignis: Der Befehl zum Vergeben oder Entziehen von Rechten wurde ausgeführt. 1 Benutzer wird am Server authentisiert. 2 Benutzer, der neue Rechte erhalten soll, auswählen. 3 Die gewünschten Rechte auswählen und zuweisen. 4 Die neuen Rechte in der Datenbank speichern. /F250/ Passwort ändern Geschäftsprozess: Passwort eines Benutzers ändern Ziel: Das Passwort eines Benutzers wird geändert. Vorbedingung: Der Benutzer existiert in der Datenbank. Nachbedingung Erfolg: Der Benutzer hat ein neues Passwort in der Datenbank stehen. Nachbedingung Fehlschlag: Das alte Passwort konnte nicht in der Datenbank überschrieben werden. Akteure: Benutzerverwaltung, Server Auslösendes Ereignis: Befehl zum Ändern des Passworts wurde ausgeführt. 1 Benutzer wird am Server authentisiert. 2 Benutzer auswählen, dessen Passwort geändert werden soll. 3 Das neue Passwort angeben. 4 Das alte Passwort in der Datenbank mit dem neuen überschreiben.

/F260/ Passwort zurücksetzen Geschäftsprozess: Passwort eines Benutzers zurücksetzen Ziel: Dem Benutzer wird ein neues generiertes Passwort zugeschickt, welches auch in der Datenbank eingetragen wurde. Vorbedingung: Der Benutzer existiert in der Datenbank. Nachbedingung Erfolg: Der Benutzer hat ein neues, generiertes Passwort in der Datenbank stehen und es wurde ihm zugeschickt. Nachbedingung Fehlschlag: Das Passwort konnte nicht geändert oder dem Benutzer zugeschickt werden. Akteure: Benutzerverwaltung, Server, Benutzer Auslösendes Ereignis: Benutzer fordert ein neues Passwort an. 1 Benutzer führt Funktion zum Passwort zurücksetzen aus. 2 Ein neues Passwort wird generiert. 3 Das Passwort wird in die Datenbank geschrieben und dem Benutzer zugeschickt. 4.3 Player /F300/ Videos abspielen Geschäftsprozess: Ein Video abspielen Ziel: Es wird ein Video vom Server heruntergeladen, entschlüsselt und abgespielt. Vorbedingung: Das Video liegt verschlüsselt auf dem Server und der Benutzer hat die benötigten Rechte um das Video zu sehen. Nachbedingung Erfolg: Das Video wurde erfolgreich vom Server geladen, entschlüsselt und abgespielt. Nachbedingung Fehlschlag: Der Benutzer hat nicht die benötigten Rechte zum Ansehen des Videos, das Video ist nicht auf dem Server oder es konnte nicht entschlüsselt werden. Akteure: Server, Player, Benutzer, Benutzerverwaltung Auslösendes Ereignis: Der Benutzer fordert ein Video an. 1 Benutzer authentisieren. 2 Video wird ausgewählt. 3 Es wird durch den Server überprüft, ob der Benutzer das Video sehen darf. 4 Das Video wird vom Server an den Player übertragen. 5 Der Player entschlüsselt das Video. 6 Das Video wird im Player abgespielt.

4.4 Uploader /F400/ Videos hochladen Geschäftsprozess: Video auf den Server laden Ziel: Ein Video wird verschlüsselt und an den Server gesendet, der das Video speichert. Vorbedingung: Das Video ist unverschlüsselt und der Benutzer hat die benötigten Rechte zum Hochladen des Videos. Nachbedingung Erfolg: Das Video wurde erfolgreich verschlüsselt und komplett zum Server übertragen. Nachbedingung Fehlschlag: Das Video konnte nicht verschlüsselt oder gesendet werden. Akteure: Server, Uploader, Benutzer Auslösendes Ereignis: Der Benutzer wählt den Befehl zum Uploaden eines Videos aus. 1 Benutzer authentifizieren. 2 Video wird ausgewählt. 3 Es wird geprüft, ob der Benutzer die Rechte zum Hochladen des Videos hat. 4 Das Video wird verschlüsselt. 5 Senden des Videos an den Server, welcher es speichert. /F410/ Videos löschen Geschäftsprozess: Löschen eines Videos Ziel: Es wird ein Video vom Server gelöscht und aus der Datenbank entfernt. Vorbedingung: Das Video existiert auf dem Server und in der Datenbank. Nachbedingung Erfolg: Das Video wurde erfolgreich vom Server gelöscht und aus der Datenbank entfernt. Nachbedingung Fehlschlag: Das Video konnte nicht gelöscht werden und existiert noch auf dem Server oder in der Datenbank. Akteure: Server, Uploader, Benutzer Auslösendes Ereignis: Der Benutzer sendet den Befehl zum Löschen eines Videos. 1 Benutzer authentisieren. 2 Benutzer führt den Befehl zum Löschen eines Videos aus. 3 Video wird vom Server gelöscht und aus der Datenbank entfernt.

5 Produktdaten /D10/ Benutzerdaten: Alle erforderlichen Informationen zu einem Benutzer. Der Benutzer muss seinen Namen sowie eine gültige E-Mail Adresse angeben. Die E- Mail Adresse dient dem Zusenden des neuen Passwortes nach dem Zurücksetzen eines Passwortes. Des Weiteren dient die E-Mail Adresse zur schnellen Informierung des Benutzers (z.b. Bewegungsdetektion einer Kamera). Die Rechte des Benutzers werden mit Hilfe von Benutzerrechten festgelegt. Datum und Uhrzeit des letzten erfolgreichen Logins werden dem Benutzer bei jedem erfolgreichem Login angezeigt, damit der Benutzer kontrollieren kann, ob sein Benutzeraccount möglicherweise kompromittiert wurde. Der Zähler der gescheiterten Login-Versuche wird dem Benutzer ebenfalls bei jedem erfolgreichem Login angezeigt und dient zum einem dem Benutzer als Kontrolle, damit er feststellen kann, ob sich jemand unrechtmäßig daran versucht hat über dessen Benutzeraccount Zugriff zum System zu erlangen. Zum anderen dient der Zähler dem System, welches den Benutzeraccount nach einer bestimmten Anzahl gescheiterter Versuche zur Sicherheit sperrt. BenutzerID (eindeutig) Kennung Benutzername (eindeutig) Passwort (verschlüsselt) Persönliche Daten und Kontaktdaten Vorname Nachname E-Mail-Adresse (eindeutig/gültig) Sonstige Daten Benutzerrechte Datum und Uhrzeit des letzten erfolgreichen Logins Zähler der gescheiterten Login-Versuche seit letztem erfolgreichen Login Datum und Uhrzeit einer Sperrung

/D20/ Videodaten: Alle erforderlichen Informationen zu einem Video. Das System muss sicherstellen, dass der Name eines Videos nur einmal im System vorhanden ist. Zu jedem Video wird gespeichert, wer dieses Video hochgeladen hat bzw. welche Kamera das Bild aufgezeichnet hat und wann der Upload stattgefunden hat. Die Dauer des Videos wird für einen höheren Komfort mit abgespeichert (z.b. zur Suche nach einem Video). Des Weiteren wird gespeichert, welcher Benutzer auf das Video welchen Zugriff hat bzw. ob das Video des Benutzers überhaupt angezeigt wird. Da das Video verschlüsselt wird, muss der verwendete Algorithmus und der zugehörige Schlüssel mit abgespeichert werden. Der MD5-Hash dient dazu, dem Benutzer die Unversehrtheit des Videos anzuzeigen. VideoID (eindeutig) Name des Videos (eindeutig) Uploader bzw. Kamera Datum und Uhrzeit des Uploads Dauer des Videos Sichtbarkeit/Zugriffsrechte Daten zur Verschlüsselung/Integrität verwendeter Verschlüsselungsalgorithmus Schlüssel zum Entschlüsseln des Videos MD5-Hash

6 Produktleistungen /L10/ kontinuierliches Streamen Beim Streamen des Videos (Funktion F110) muss dafür gesorgt werden, dass die Daten zeitnah und kontinuierlich beim Benutzer ankommen und keine längeren Aussetzer bei der Übertragung entstehen, damit das Video beim Benutzer flüssig angezeigt werden kann. /L20/ Puffern des Videos Beim Empfangen des Videos (Funktion F400) muss das Video gepuffert werden, um mögliche Aussetzer auszugleichen und das Video flüssig abzuspielen. /L30/ Bandbreite Um flüssiges Abspielen des Videos zu ermöglichen, muss die Netzwerkanbindung zwischen Server und Client mindestens 1Mbit/s in Downstreamrichtung (Server Client) betragen. /L40/ Eindeutigkeit des Benutzernamens Es muss garantiert werden, dass jeder Benutzername (/D10/) eindeutig ist. /L50/ Schutz des Benutzerpassworts Das Passwort des Benutzers (/D10/) darf nur verschlüsselt auf dem Server liegen. /L60/ Einmaligkeit des Videonamens Es muss garantiert werden, dass jeder Videoname (/D20/) nur einmal vorkommt. /L70/ Verschlüsselung der Videos Es muss garantiert werden, dass jedes Video nur verschlüsselt auf dem Server liegt. Des Weiteren muss dafür gesorgt werden, dass das Video bei der Verschlüsselung nicht unwiderruflich beschädigt wird. /L80/ Zugriffsschutz der Videos Es muss garantiert werden, dass nur Benutzer Zugriff auf Videos erhalten, die auch dazu berechtigt sind. /L90/ Zugriffsschutz der Benutzerverwaltung Es muss garantiert werden, dass nur Benutzer Zugriff auf die Benutzerverwaltung erhalten, die auch dazu berechtigt sind.

7 Qualitätsanforderungen 7.1 Übersicht Produktqualität sehr gut Gut normal nicht relevant Funktionalität Angemessenheit Richtigkeit Interoperabilität Sicherheit Ordnungsmäßigkeit Zuverlässigkeit Reife Fehlertoleranz Robustheit Wiederherstellbarkeit Konformität Benutzbarkeit Verständlichkeit Erlernbarkeit Bedienbarkeit Attraktivität Konformität Effizienz Zeitverhalten Verbrauchsverhalten Konformität Änderbarkeit Analysierbarkeit Modifizierbarkeit Stabilität Testbarkeit Übertragbarkeit Anpassbarkeit Installierbarkeit Koexistenz Austauschbarkeit Konformität 7.2 Erläuterungen Alle Angaben sind in ISO/IEC 9126 gehalten. Siehe: ISO/IEC_9126

8 Benutzeroberfläche 8.1 Anforderungen /B10/ Benutzeroberfläche soll durch javax.swing erzeugt werden. /B20/ Benutzeroberfläche soll übersichtlich sein und nicht komplex. /B30/ Benutzeroberfläche soll mit Maus (Buttons) und Tastatur (Login) gesteuert werden. /B40/ Das Hauptfenster der Benutzeroberfläche besteht aus 3 Teilen. Der erste ist der Teil für die Eingabe der Accountinformationen. Außerdem gibt es noch einen eingebetteten Player und einen Teil für die Auswahl des gewünschten Videos.

8.2 Aussehen Die Abbildung 8-1 zeigt das Hauptfenster der Oberfläche. Ein Eingabefeld für die Videosuche ist links oben positioniert, darunter liegt die Videoliste. Der Benutzer kann Videos einfügen und löschen, wenn er die nötigen Rechte hat. Andernfalls sind die Buttons ausgegraut. Unter der Videoliste ist eine Benutzerliste, welche die registrierten Benutzer auf dem Server anzeigt, sofern der Benutzer die nötigen Rechte hat. Hier können auch Benutzer hinzugefügt und gelöscht werden. An der rechten Seite ist ein einfacher Videoplayer. Da drüber kann der Benutzer die Adresse des Servers eingeben oder eine aus dem zum Eingabefeld gehörenden Dropdown- Menü wählen. Abbildung 8-1: Hauptfenster

File-Menü (Abbildung 8-2) Upload Video: Öffnet Dateiauswahldialog um ein Video hochzuladen Open URL: Verbindung zu einem Server herstellen Exit: Beendet das Programm Help-Menü (Abbildung 8-3) Abbildung 8-2: File-Menü About: Informationen über Entwickler, Version usw. Abbildung 8-3: Help-Menü

9 Nichtfunktionale Anforderungen /NF10/ Portierbarkeit: Das Produkt soll plattformunabhängig sein. /NF20/ Anwenderfreundlichkeit Das Produkt muss anwenderfreundlich sein (intuitive Bedienbarkeit für Benutzer mit grundlegenden EDV-Vorkenntnisse, umfangreiche Hilfefunktion). /NF30/ Datensicherung Die Daten auf dem Server sollten in regelmäßigen Abständen gesichert werden, damit bei einem Hardwaredefekt etc. keine Daten verloren gehen. /NF40/ Dokumentation Die Dokumentation (Benutzerhandbuch, Kommentare im Code) muss ausführlich und klar strukturiert erarbeitet werden. /NF50/ Code Conventions Bei der Implementierung wird auf die Einhaltung der gängigen Code Conventions geachtet, um eine Weiterentwicklung/Wartbarkeit zu gewährleisten.

10 Technische Produktumgebung 10.1 Software Die Client-, Benutzerverwaltungs- und Server-Software ist generell plattformunabhängig einsetzbar, einzig eine Java Runtime Environment (JDT) wird vorausgesetzt. Die Server-Datenbank verwendet SQLite. 10.2 Hardware Client, Server und Benutzerverwaltung benötigen einen PC mit ausreichender Leistung und einer Netzwerkanbindung. 10.3 Orgware Es werden die Eclipse IDE zur Java-Code Implementierung sowie Trac und SVN zur Versionsverwaltung und Entwicklung genutzt.

Glossar Client Server Stream JRE Linux Distribution Eclipse(JDT) SVN Trac ein Computerprogramm welches nach dem Client-Server-Modell Verbindung zu einem Server aufnimmt, Nachrichten mit ihm austauscht und dessen Dienste in Anspruch nimmt ein Computerprogramm welches Clients Dienste zur Verfügung stellt kontinuierliche Abfolge von Datensätzen variabler Datenrate mit sequentiellem Zugriff Das Java Runtime Environment stellt die von SUN entwickelte Laufzeitumgebung für die Java Plattform dar. Sie besteht u.a. aus der Java Virtual Machine und der Java API. eine Zusammenstellung des Linux-Kernels mit diverser Software, die zusammen ein Betriebssystem ergeben eine Entwicklungsumgebung für die Programmiersprache Java, JDT steht hierbei für Java Development Tools freies Werkzeug zur Versionsverwaltung von Dateien und Verzeichnissen, SVN steht hierbei für Subversion ein freies Projektmanagement Werkzeug zur Softwareentwicklung