Projektplanung Online Applikationen

Werbung
Projektplanung
Online Applikationen
[email protected]
[email protected]
Projektplanung Online Applikationen
1
Inhaltsverzeichnis
a Einleitung
.................................................. Seite 03
b Grundbegriffe
.................................................. Seite 04
c Logon / Logout .................................................. Seite 08
d Article Overview / Artikelüberblick ........................ Seite 09
e Artikel-Metainfo-Editor ........................................ Seite 13
f
Artikel-Content-Editor ......................................... Seite 16
g Text-Elemente
.................................................. Seite 18
h Microtemplates .................................................. Seite 19
i
Bild-Elemente
j
HTML-Elemente .................................................. Seite 25
k Container
l
Topics
m Rules
n Templates
.................................................. Seite 22
.................................................. Seite 26
................................................... Seite 28
................................................... Seite 29
.................................................. Seite 31
o Frequently Asked Questions (FAQ) ....................... Seite 36
Projektplanung Online Applikationen
2
a
Online Applikationen
- was ist das?
- was ist es nicht?
- Online:
was ist online, was ist offline?
offline:
CD-Rom / DVD-Rom
unvernetzte Desktop Applikationen
online:
Websiten
vernetzte Desktop Applikationen (ICQ)
- Applikationen
aka: Programme, Software:
Funktionalität wird geliefert, im Hinetrgrund steht eine
Programm-Logik (Software) bereit, die die Inputs durch
den USer unmittelbar verarbeitet (starke Interaktion durch
Benutzer).
Abgrenzung im Web:
reine HTML-Seiten ohne Funktionalität (ausser Links)
Historisch:
- zunächst im WWW: Statische Seiten, HTML, Links
- best. Bereiche lassen sich statisch lösen, ökonomischer aber
mit Applikationen (Content-Seiten (orf.at, spiegel.de)
- best. Bereiche sind gar nicht statisch zu bewältigen: alles das
wo User direkten und ständigen Einfluss auf die Inhalte nehmen
muss: Shop, Konto, Auskünfte (etb, Bahn, Flüge).
Projektplanung AM BEISPIEL von Online Appplikationen
Projektplanung Online Applikationen
3
b
Projektmanagement
Aufgaben:
-
planen
kommunizieren **
Teambildung **
begleiten
koordinieren **
Probleme lösen **
abschliesen
nachbetreuen
planen:
- Projektziel definieren
- Ablüfe & Zeitpläne festlegen
- Kosten planen
kommunizieren:
- in viiele Richtungen, mit:
Kunden, Team, Subunternehmer, annderen Auftragnehmern
Teambildung:
- noetige Ressourcen sammeln
- Zuständigkeiten und Verantwortlichkeiten vergeben
- menschliche Faktoren beachten
begleiten
- Entwicklungen verfolgen
- Projektstatus erfassen (ständig)
Projektplanung Online Applikationen
4
koordinieren :
- in viiele Richtungen, mit:
Kunden, Team, Subunternehmer, annderen Auftragnehmern
Probleme lösen:
- technische, finanzielle, rechtliche, menschliche
abschliessen
- checken, wenn Projektziel erreicht ist.
nachbetreuen
- zuätzliche Aufträge erreichen
- Support bereitstellen, garantieren
Projektplanung Online Applikationen
5
c
Faktoren für den Erfolg von IT
Projekten
• Funktionalität
• Zeit
• Kosten
Es ist leicht zu sagen ob ein Projekt erfolgreich war oder nicht:
Wenn diese 3 Faktoren vollinhaltlich erfüllt sind, ist ein Projekt
erfolgreich.
- Funktionalität:
Sind alle geplanten Features vorhanden und funktionieren sie
auch so auf einer dauerhaften Basis?
- Zeit
- Kosten
Nicht nur Kosten nach uassen, zum Kunden; sondern auch
nach innen, nach dem Aufwand der gelleistet wird. Kunde
nimmt i.d.R. keine Rücksicht auf gestiegen Kosten beim
Auftragnehhmer.
Diese Formel hat in jedem IT-Projekt gültigkeit, auch wenn es
interne oder auch nicht kommerzielle (zB Projekte an Schule).
Kurzformel:
Wurde die gewünschte F. in der geplanten Zeot zu den veranschlagten Kosten ferztiggestellt?
Projektplanung Online Applikationen
6
d
Entwicklungsmodelle
Beispiel “Wasserfallmodell”
• Analyse
• Design
• Implementierung
- Analyse (WAS)
- Design (WIE)
- Implementierung (UMSETZUNG)
Projektplanung Online Applikationen
7
e
Ausgangssituation des Projekts,
Vision
Impuls
Wunsch des Kunden
Vorgaben und Standards
Jener Moment, in dem noch nichts schief gelaufen ist, weils
noch nichts schieflaufen konnte. (magic)
Was gibt den Anstoss, dass ein Projekt begonnen wird?
Kosten? Zeit? Funktionalität?
Klar ist, dass immer der Wunsch nach einer F. den ersten
Impuls für ein Projekt gibt.
Sit:
kunde am Telefon, Ja hallo, wir brauchen ein Shop,
Produktdatenbank, können Sie das für uns regeln?
Ist diese Information ausreichend? Nein.
Aufgabe der Projektletiung, mit dem Kunden zusammen seinen
Wunsch genauer zu definieren (Re-Briefing, etc)
___
Vorgaben des Kunden: Technologie, Sicherheit, Partner,
Migration bestehender Systeme
Definition der eingesetzten Software-Technologien
Hardware: Enwticklungssysteme, Produktivsysteme
Projektplanung Online Applikationen
7
Kompatibilit‰t & Standards: Gibt es bestehende Systeme,
zuk¸nftige Systeme die mit dem Projekt interagieren sollen -->
next page
Projektplanung Online Applikationen
2
f
Initial-Szenarien
Neuentwicklung
Neuentwicklung als Ersatz
Modifikation/Erweiterung
historisch:
erster Fall immer seltener
Projektplanung Online Applikationen
7
g
Projektziel/Spezifikation
Wer kein Ziel hat, weiss nicht ob er/sie es
erreicht.
Definition des Projektzieles
Warum?
Spezifikation und Ihre Bestandteile
Wer kein Ziel hat, weiss nicht ob er/sie es erreicht.
Exakte Definition des Projektzieles:
- um das Erreichen des Zieles oder Scheitern feststellen zu können
- Klarheit zwsichen A.nehmer und Kunden über Erreichen des
Projektziels, und alle Beteiligten
- Erreichen von Zwischenschritten feststellen
- Dokumentation
Diese Definition des Projektzieles nennt sich Spezifikation. (In
jedem techn. Bereich gibts Spez., auch im Flugzeugbau.)
Durch die Spezifikation ergibt sich notwendigerweise eine
Strukturiereung des Projekts, dh einzelne Teile werden erkennbar.
Woraus besteht die Spezifikation:
- Projketbeschreibung (allgemeinverständlich (Kurz-,
Langfassung))
- detailieerte Spezifikation der Funktionalitäten
- Definition der Software- und Hardware-Umgebung (SW: OS,
Webserver, Datenbank, Skripting) , (HW: Pentium, POwerPC,
Sparc (Sun))
- Datenmodell (Db, Tabellen, Felder), programmiertechnische
Methodologie
Projektplanung Online Applikationen
7
- User Interfaces: Welche Interfaces sollen entwickelt werden?
- Spezifikationszusammenfassung für externe Verwendung
(Kunden, etc.)
Gibt es verschiedene User?
Usermodell: Welche User, welche Usergruppen, welche Rechte
gibt es?
Projektplanung Online Applikationen
2
h
Zeitplan
Projektschritte
Milestones
Deadline: Die Abnahme
Nachvollziehbarkeit nach aussen
Kommunikation
Zeitplan ist in der Regel die Frage, wie ein Projekt zeitlich strukturiert werden kann innerhalb eines vorgegebenen Zeitrahmens.
Der Zeitpunkt des Projektabschlusses wird meist in Absprache
mkit Auftragnehmer vorgegeben.
Ein Hilsmittel zur Fetslegung eines Zeitplanes istes, das Gesamtprojekt in einzelne Teile zu zerlegen, Projektschritte.
Dabei kann man sich der Spezifikation beidenen, die schon
erste Struukturierungen vorgenommen hat.
In Projektschritten werden thematisch, zeitlich und logisch
zusammenghörende Aufgaben subsummiert.
- versch. Projektschritte unterschiedlicher Aufgabenbereiche
können sich überlappen (Gleichzeitigkeit (zb: db-Design +
Interaktions-Design, Programmierung + Grafik-Design, etc.))
- es wird festgelegt, wie viel realzeit ein Projektschritt benötigt
(Realzeit im gegensatz zur Arbeistzeit)
Milestones:
Um enntlang der Zeitachse Orientierung zu schaffen, werden
Milestones eingefügt.
wichtige Projektschritte in Verbindung mit einem Zeitpunkt.
- Grund zu feiern!
- Zwischenergebnisse, die dem Kunden gezeigt werden
(Grundsteinlegung, Dachgleiche)
Projektplanung Online Applikationen
7
i
Bsp für Projektschritte
Projektleitung
Konzeption
Design
Grafikproduktion
HTML
OS
Datenbank
Skripting
Java-Entwicklung
Text
Projektplanung Online Applikationen
7
j
Human Ressources
benötigte Ressourcen
verfügbare Ressourcen
externe Ressourcen
Wo wir wissen, welche REssourcen benötigt werden, fargen wir:
Sind dieses Ressourcen verfügbar, u zw in dem Ausmaß und zu
dem Zeitpunkt wo sie benötigt werden?
Wenn nein, kann man diese Res. aufbringen, in dem man
zB zusätzliche Personen mit dem galanten Spruch “Wos is,
brauchst an Job?” anlabert.
Sollte selbst dies nicht gelingen, greift man auf externe
Ressourcen zurück.
Dies mit etwas Bacuhweh, da diese ext. Res. kosten- und kommunikationsmäßig aufwändiger als interne sind.
Projektplanung Online Applikationen
7
k
Teambildung
- Welche Rollen gibt es in Teams?
- Kompetenzverteilung, Verantwortlichkeiten
- Mögliche Probleme im Team
//- Definition von normierten Arbeitsabläufen
Rollen technisch:
- gebunden an Ressourcen
Rollen metaphysisch:
- Motivatoren
- Moderatoren
- Pedanten
- Querulanten
- Seelsorger
- ...
Klare Kompetenzverwaltung: jeder sollt eim klaren sein was
seine Kompetenzen sind, 2 Personen sollten nicht diesseleben
Kompetenzen haben.
Kompetenz ≠ Veranzwortlichkeit.
Was sind erfolgsfaktoren für Teamarbeit:
ca. 50 % konkrete Fähigkeiten
> 50 % menschliche Faktoren
Projektplanung Online Applikationen
7
l
Aufwandschätzung + Angebote
-
in “Manntagen” oder Stunden
nach Projektschritten
nach Ressourcen
Gesamt
- Verhandlungsspielraum!
Um zum Angebot zu kommen gibt es 2 Schritte:
- Einschätzung des Aufwandes
- Kalkulation des Aufwandes in Geldwert
Aufwand:
- Frage: Wieviel Aufwand in Arbeitszeit (≠ Realzeit) fällt je
Projektschritt an. Bsp Projektschritt Design = 2 Wochen
Realzeit, Arbeistzeit 3 Personen Fulltime
- Wie kann man den Aufwand quantfizieren. Arbeiststunden,
Personentage, Mannmonate, Mannjahre.
- Frage: 2 Wochen 3 Personen = 30 Personentage
- Das macht man für jeden Projektschritt
Angebot:
- Strukturierung der Projektschritte beibehalten. Auf KEINEN Fall
nur eine Summe, Kudne will wissen aus welchen Teilsummen
eine Gesamtsumme entsteht und wofür diese Teilsummen ausgegeben werden sollen.
- Kosten errechnen für jeden Projektschritte. Wie ? Indem man
den errechneten Aufwand mit einem Tages- ooder Stundensatz
multipliziert.
- Gesamtkosten sind Summe der Kosten der einzelenn
Prohjektschritte
Projektplanung Online Applikationen
7
- Kudne will eventuell einzelne Projektschritte reduzieren
- A.nehmer will Teilprojekte verrechnen
- Erste Summen sind Rohwerte, die noch dem Verstaändins des
Kunden angepasst werden können.
- Verhandlunsgspielraum: Kunden will verhandeln, Spielraum
einberechnen, nicht mehr als 10%
- Stundensätze am Beispiel Wien, B2B also Firma zu Firma
HTML: ca. 60 €
Grafik: ca 70 - 75 €
Design ca. 85 - 90 €
Programmierung ca. 100 €
Konzeption, Creation, Projektleitung: kann man das quuantfizoeren
Projektplanung Online Applikationen
7
m
Aspekte von Beschäftigung
Angestellt
Selbständig – einzeln/als Firma
Direkt/als Subunternehmer
Angestellter:
14 Gehälter, Anspruch auf Gehalt
Kündigungsschutz
Nettogehälter = keine Abagben mehr (Bruttogehalt)
Sozialversichert
Krankenversichert (bezahlter Krnaknestand)
Urlaub (bezahlter)
Arbeitsgerät u -platz bereitgestellt
feste Dienstzeiten
Weisungsbgebundenheit
Mutterschutz, Karenz
Selbsständigkeit:
Vedienstmöglichkeiten direkt proportional zur Arbeit
freie Wahl der abeitszeit
Weisungsungebundenheit
freie Wahl des Arbeitsplatzes
kein festes Einommen
nur Bruttoeinkommen
keine Sozialen Leistungen
Einkommen Selbstständiger (Brutto):
• Brutto = man muss zwischen 25 und 45 % abziehen je
nach Gesamteinnahmen(Jahr steigend mit den Einnahmen
(Progression).
• wesentlicher Unterschied: Direkt mit Kunden oder als
Subunternehmer
- wenn direkt dann B2B-Presie - ca. 30%
- wenn als Subunternehmer - 70%:
Projektplanung Online Applikationen
7
HTML: ca. 14/15 €
Grafik: ca 20 - 23 €
Design ca. 35 - 48 €
Programmierung ca. 42 - 45 €
Angestellter Nettowerte:
einfache Multimediatätigkeiten (HTML, Bildbearbeitung): 950 1.300 €
Design/Grafik: 1.230 - 1.800 € (++)
IT: 1.450 - 2.200 €
Projektplanung Online Applikationen
7
n
Externe Ressourcen / Faktoren
Welche externen Faktoren sind involviert:
Provider, Beraterfirmen, Projektverantwortliche
beim Kunden, Lieferanten., etc.
Welche Dynamik/Problemszenarien sind mit
externen Faktoren vorstellbar?
Kommunikation mit externen Faktoren
Eskalation
Projektplanung Online Applikationen
7
o
Eskalation/Notfall
•Wie werden Probleme festgestellt und bewertet?
•Wer trifft kritische Entscheidungen?
•Ab wann eskaliert ein Projekt?
•Eskalationsszenarien?
•Interne und externe Kommunikation in eskalierten Projektphasen?
Projektplanung Online Applikationen
7
p
Rechtliche Fragen
Software
Rechte am Code/an der Applikation
Rechte innerhalb des Teams
Pönalen
Projektplanung Online Applikationen
7
q
Design
im Sinne des Wasserfallmodells
≠ Design (Grafik)
======================
• Applikationsdesign
(was funktioniert wie)
• Informationsarchitektur
(wie alles organisiert ist)
• Interaktionsdesign
(was passiert, wenn User klickt)
Projektplanung Online Applikationen
7
q
Technologien
• Client-Server Modell
• Technologien und Nutzungsszenarien
• Betriebssysteme, Datenbanken, Skripting,
Sicherheit, Netzwerktechnik
Client Server Modell Intro
Die grundlegenden Komponenten einer Webapplikation
Im Zeitalter der vernetzten Computer gilt es zwei grundlegende
Komponenten zu unterscheiden: Client und Server.
Server
Die Bedeutung des Wortes Server
Oft ist von “dem Server” die Rede. Dieser weit gefasste Bergriff
scheint anfangs nicht weiter problematisch. Von äußerster
Wichtigkeit zu wissen was mit „dem Server“ gemeint ist, wird
es wenn es wenn ein Telephon läutet und eine nervöse Stimme
die unheilverkündende Nachricht überbringt: „der Server ist
DOWN“.
Wenn von „dem Server“ die Rede ist kann damit folgendes
gemeint sein:
die Hardware
wiederum bestehend aus einzelnen Komponenten: Netzteil,
Festplatte, Netzwerkkarte usw.
Keine dieser Komponenten halten ewig. Meist sind es
Festplatten, die nach 2 bis 4 Jahren ihre Betriebsbereitschaft
einstellen. Dem kann mit einem RAID (Redundant Array of
Independent Disks), einer fehlertoleranter Hardware zumindest teilweise abgeholfen werden. Jedoch treten auch bei einem
RAID System fehler auf, wodurch es unumgänglich wird, in
Projektplanung Online Applikationen
7
regelmäßigen Abständen die System-Logs zu kontrollieren.
Denn diese enthalten meist schon Wochen vor dem tatsächlichen Ausfall Hinweise auf Fehlfunktionen.
Betriebssystem (Operating System, OS; z.B Linux)
Auch ein Betriebssystem hat Bugs, die in seltenen Fällen zu
Abstürzen des Betriebssystems führen können. Unter Windows
9x/ME sind solche Abstürze durchaus häufig. Ein gut konfiguriertes Linux hingegen stürzt jedoch selten ab. Es gilt jedoch hier,
wie im übrigen Leben auch Murphy‘s Law: „Anything that can go
wrong, will go wrong“. Nur wer dieses (Natur-)Gesetz in seine
Planung einbezieht wird mit den, mit Sicherheit auftretenden
Schwierigkeiten fertig werden.
Serversoftware aka. Daemon (z.B eine HTTP-Server)
Der Daemon ist jenes Stück Software, das dem Client (siehe
unten) einen bestimmten Dienst (Service) zur Verfügung
stellt. So stellt ein HTTP-Server (z.B Apache) das Service zur
Verfügung Dokumente über das Protokoll HTTP an Clients zu
übermitteln. Der Daemon läuft auf dem Betriebssystem, das
wiederum auf der Hardware läuft. Somit besteht eine Kette von
Abhängigkeiten. folgende Szenarien sind möglich:
- die Hardware erleidet eine Defekt (z.B das Netzteil „durchbrennt“ und die CPU somit nicht mehr mit Strom versorgt wird):
das Betriebssystem kann ohne Hardware nicht laufen und der
Daemon nicht ohne Betriebssystem.
Abhilfe: Austausch der defekten Hardware und Neustart des
Betriebssystems
- das Betriebssystem stürzt ab (unter Linux: „kernel panic“):
der Daemon kann ohne Betriebssystem nicht laufen
Abhilfe: Neustart des Betriebssystems
- der Daemon stürzt ab:
Abhilfe: Neustart des Daemons
Beachte: die unpräzise Ausdrucksweise „der Server ist DOWN“
lässt auf verschiedene Szenarios schließen, die unterschiedlich
behandelt werden müssen. Aus diesem und anderen Gründen
ist es zweckmäßig von „der Serverhardware“, „dem ServerBetriebssystem“ und „dem Daemon“ zu sprechen.
Projektplanung Online Applikationen
Client
Die Bedeutung des Wortes Client
Wenn von „dem Client“ gesprochen wird so kann darunter verstanden werden:
Hardware
Betriebssystem (z.B WindowsXP)
Clientserver (z.B InternetExplorer)
Aus den oben angeführten Gründen erscheint es auch hier
zweckmäßig im Rahmen der Ausdrucksweise zwischen ClientHardware, Client-Betriebssystem und idR Browser zu unterscheiden.
Mittel zur Kommunikation zwischen Client und
Server
Um eine Kommunikation zwischen Client und Server zu
erm÷glichen müssen beide „die selbe Sprache sprechen“. Diese
Sprache bezeichnet man als Protokoll. Einige zu erwähnende
Protokolle sind:
-HTTP (zur Kommunikation zwischen einem Webbrowser und
eine Webserver)
-HTTPS (verschlüsseltes HTTP)
-FTP (File Transfer Protocol: zur Transferierung von Dateien auf
den Server)
-POP3 (Post Office Protocol: zur Abrufung von E-Mails von einer
Mailbox)
-SMTP (Simple Mail Transfer Protocol: zum Versenden von EMails)
-TELNET (ermöglicht die „Fernsteuerung“ eine Servers)
Eine typische Client-Server Kommunikation
Allgemein
1) Client sendet einen Connection-Request an den Server
2) Server bestötigt die Connection
3) Client sendet an den Server eine Anforderung (z.B: HTMLFile)
4) Server sendet and den Client die geforderten Daten
5) Client beendet die Verbindung
Projektplanung Online Applikationen
HTTP
Um manuell einen HTTP-Request an einen Server zu senden benötigt man eine unter Unix (somit auch MaxOSX) eine
Shell oder unter Windows die Eingabeaufforderung. Durch das
Command ‚telnet www.endlos.at 80‘ wird ein Verbindung mit
dem Server www.endlos.at an den Port 80 hergestellt. Ein Port
ist ein „Eingangskanal“ unter dem der Dienst angesprochen
wird.
HTTPServer verwenden per Konvention den Port 80, FTP-Server den
Port 21 und POP-Server den Port 110. Nachdem die Verbindung
zu Server besteht wird das Command ‚GET /index.html HTTP/
1.0‘ an den Server gesandt. ‚GET /index.html‘ teilt dem Server
mit, dass wir (der Client) den Inhalt des Files index.html benötigen. ‚HTTP/1.0‘ teilt dem Server mit dass wir in der Sprache
(mit dem Protokoll) HTTP in der VERSION 1.0 kommunizieren
wollen. Danach ist es n÷tig dem Server zwei Zeilenumbrüche zu
übermitteln (mit [return] angedeutet) damit dieser weiß, dass
die Anfrage beendet ist.
C:\>telnet www.endlos.at 80
GET /index.html HTTP/1.0
[return]
[return]
POP3
Ähnliches gilt für einen manuellen POP3-Request um ein E-Mail
zu lesen. Nach dem abgeschlossenen Verbindungsaufbau wird
mit den Commands USER der Benutzername und mit PASS
das Passwort übertragen. Sofern diese korrekt sind, erfolgt ein
Einloggen ein die Mailbox. Nun kann unter anderem mit den
Commands LIST und TOP gearbeitet werden. Nach abgeschlossener Arbeit wird die Verbindung durch QUIT beendet.
C:\>telnet www.endlos.at 110
USER username
PASS password
LIST (listet alle in der Mailbox vorhandenen E-Mails auf)
TOP 1 100 (listet die ersten 100 Zeilen der 1. E-Mail in
der Mailbox auf)
QUIT (Beendet die Verbindung)
Projektplanung Online Applikationen
Typische serverseitige Komponenten einer
Webapplikation
-Hardware: PIII 1GhZ
-Betriebssystem: SuSE Linux 8.1
-Webserver (Daemon): Apache 1.3.27
-Serverseitige Programmiersprache: PHP 4.2.3
-Datenbank: MySQL 3.23.53
Projektplanung Online Applikationen
r
Datenbanken
Grundfunktionalität und Notwendigkeit einer Datenbank
-Daten zu speichern
-Daten in Relation zu einander zu Besitzen
Grundbegriffe einer Datenbank
- Tabelle (Table)
- Spalte (Column)
- Datensatz (Record)
Tabelle: employee
EXCEL TABELLE
Tabelle: employee (schlechtes Design)
EXCEL TABELLE
Datenbankdesign Richtlinien
-Datenelemente in verwandte Gruppen teilen
-Definition der richtigen Beziehungen
-Daten werden niemals mehrfach abgespeichert
-Tabellen -und Spaltennamen sollen Selbsterklärend sein
Wenn man nun die genannten Richtlinien beachtend die Tabelle
unter 1.1.5.1.4 nochmals betrachtet lässt sich leicht erkennen,
dass eine mehrfache Abspeicherung von den selben Daten statt
findet. Bei 10 000 Angestellten und 10 Abteilungen würde der
Name und die Telephonnummer jeder Abteilung 1000 abgespeichert werden. Dies ist ein eindeutiges Indiz für eine schlechten Datenbank-Design! Denn wenn eine Abteilung nun ihre
Telephonnummer ändern würde, wären wir gezwungen in 1000
Datensätzen Änderungen vorzunehmen.
Projektplanung Online Applikationen
7
Zwei in Relation stehende Tabellen
Es lassen sich zwei Datengruppen ausmachen: angestelltenbezogene Daten und abeilungsbezogene Daten. Für jede
Datengruppe wird eine Tabelle erzeugt, die für jedes
Datenelement eine Spalte beinhaltet. Nun geht es darum
die richtigen Beziehungen zwischen diesen Datengruppen zu
definieren.
1) Ein Angestellter kann nur in einer Abteilung arbeiten.
2) In einer Abeilung können jedoch mehrere Angestellte arbeiten.
Um die nun analysierte Beziehung umzusetzen wurde in der
department Tabelle ein PRIMARY KEY eingeführt. Dies ist eine
Spalte die für jeden Datensatz einen einzigartigen Wert beinhaltet - einen ID. Es kann nun jeder Datensatz der department
Tabelle über seine ID angesprochen werden. Dies geschieht
auch in der employee Tabelle durch Einführung einer Spalte
namens department_id die für jeden Angestellten einen
FOREIGN KEY aus der department Tabelle enthält. Wenn nun
eine Telephonnummer einer Abeilung geändert werden muss, ist
nur die Aktualisierung eines Datensatzes (anstatt 1000!) n÷tig.
Wenn Sie nun den Vorteil gegenüber unserem zuvor gezeigten Design in der Lage sind zu erkennen, haben Sie den die
Notwendigkeit und die wesentlichste Funktion einer Datenbank
begriffen - Gratulation!
-EXCEL TABELLEN
Projektplanung Online Applikationen
r
Schema einer Client-Server
Kommunikation
Der Fokus unserer Betrachtung richtet sich auf die Server-Seite,
da dieses der Bereich ist in dem wir eine Webapplikation implementieren.
1) Die Darstellung des Clients ist vereinfacht. Serverseitig sind
die grundlegendsten, bereits behandelten Komponenten vorhanden: Hardware, Betriebssystem, Webserver-Software
2) Der Client richtet eine Einfrage nach dem File index.html an
den Server.
3) Die Anfrage wird von der Hardware an das Betriebssystem
und von diesem an die Webserversoftware weitergegeben. Der
Webserver liest aus dem Dateisystem des Betriebssystems den
Inhalt des Files index.html.
4) Der Webserver sendet den Inhalt des Files index.html an den
Client.
Projektplanung Online Applikationen
7
r
Aufbau einer Typischen WebAnwendung
Nun werden zwei, für eine jede Webapplikation notwendige, Komponenten hinzugefügt: die Serverseitige
Programmiersprache PHP und eine Datenbank (in diesem Fall
MySQL)
1) Der Client richtet eine Einfrage nach dem File news.php an
den Server.
2) Die Anfrage wird von der Hardware an das Betriebssystem
und von diesem an die Webserversoftware weitergegeben. Der
Webserver liest aus dem Dateisystem des Betriebssystems den
Inhalt des Files news.php.
3) Da die Endung des angefragten Files php lautet, übermittelt
der Webserver den Inhalt des Files news.php nicht unmittelbar
an den Client sonder an die PHP-Engine.
4) Diese bringt den übermittelten PHP-Code zur Ausführung und
richtet evtl. Anfragen an die Datenbank.
5) Sobald die Ausführung abgeschlossen ist werden die, nunmehr nur aus reinem HTML-Code bestehenden Daten an den
Webserver übermittelt.
6) Der Webserver sendet nun die reinen HTML-Daten an den
Client.
Projektplanung Online Applikationen
7
Der Inhalt des Files news.php könnte z.B so aussehen:
<html>
<body>
Number of seconds since the Unix Epoch
(January 1 1970 00:00:00 GMT):
<?
echo time();
?>
</body>
</html>
Die an den Client gesendeten Daten enthalten jedoch keine
einzige Zeile PHP-Code mehr:
<html>
<body>
Number of seconds since the Unix Epoch
(January 1 1970 00:00:00 GMT): 1028567830
</body>
</html>
Projektplanung Online Applikationen
r
Digitale Oberflächen/
User Interfaces
alles was möglich ist,. muss vorgesehen sein
==============
Seitenablaufplan.
Flussdiagramm,
Filemaker Datei
- Digitale Oberflächen: alles was möglich ist,. muss vorgesehen
sein
Mailformular beispiel
- User Interfaces: Seitenablaufplan. Flussdiagramm, Filemaker
Datei
Besipiele,
Projektplanung Online Applikationen
7
s
Implementierung
Grafisches Design: Benutzbarkeit, Grundlagen, Benutzerführung
Dokumentation der fortlaufenden Arbeit (im und außerhalb des
Codes)
Versioning (CVS), Backups
Testing, Bugreporting (normierte Verfahren), Re-testing,
Verifikation
Nach Projektabschluss:
Wartung, Pflege, Support, administratives Interface, fortlaufende Arbeiten
Projektplanung Online Applikationen
7
t
Technische Umsetzung
Dokumentation
Backups, Versionierung
Testing, Bugreporting, Verifikation
Abnahmen
Dokumentation der fortlaufenden Arbeit (im und ausserhalb des
Codes)
Testing
Bugreporting (normierte Verfahren)
Retesting
Verifikation
Projektplanung Online Applikationen
7
s
Design Modelle
Es erscheint als überaus zweckmäßig Applikationen in bestimmten strukturellen Formen umzusetzen und nicht „einfach drauf
los zu coden“. Zu diesem Zwecke kommen Design-Modelle zu
Einsatz.
JSP: Model-View-Controller (MVC)
JSP - Java Server Pages, ist ein Mittel zur Implementierung
von auf Java basierenden Webapplikationen. Java als eine sehr
fortgeschrittene Programmiersprache, die ua entwickelt wurde
um „maintainable code“ somit wartbaren Code produzieren zu
k÷nnen.
MVC trennt zwischen der Applikationslogik (Model), der
Präsentationslogik (View) und dem Request processing
(Controller)
PHP: TLM (Two Layer Model)
Da PHP, im Unterschied zu Java keine objektorientierte Sprache
ist und dadurch sich in ihren Anwendungsm÷glichkeiten unterscheidet, wurde das von Lukas Feiler für die EndlosProduktion
entwickelten Design Modell auf 2 Komponenten reduziert.
Dies führt unter der Anwendung von PHP zu einer höheren
Produktivität.
Projektplanung Online Applikationen
7
t
nach Projektabschluss
Wartung, Pflege, Support
administratives Interface
fortlaufenden Arbeiten
Projektplanung Online Applikationen
7
t
Literaturliste
Diese Literaturliste stellt eine Empfehlung von Büchern dar. Die
B¸cher sind nach Fachbereichen gegliedert. Wer sich f¸r eines
der Fachbereiche interessiert, dem sei geraten die dort aufgelisteten B¸cher zu erwerben und eingehend zu studieren. Der
Umfang der Auswahl von B¸chern variiert nach Fachgebiete.
Insbesondere im Bereich des Projektmanagements ist das Lesen
eines Buches sicherlich nicht ausreichend.
Projektmanagement
Die Kunst, IT- Projekte zum Erfolg zu f¸hren. Budgets, Termine,
Qualität von Hedwig Kellner; 260 Seiten - Hanser Fachbuch
Apache
Linux Apache Web Server Administration (Linux Library) von
Charles Aulds; 614 Seiten - Sybex
Professional Apache von Peter Wainright; 800 Seiten - Wrox
Press Ltd
MySQL
MySQL von Paul DuBois; 756 Seiten - New Riders Publishing
PHP
Professional PHP Programming von Chris Scollo, Jesus
Castagnetto, Sascha Schumann, Deepak Veliah, Harish Rawat;
920 Seiten - Wrox Press Ltd
Web Application Development with PHP 4.0 von Tobias
Ratschiller, Till Gerken; 384 Seiten - New Riders Publishing
Projektplanung Online Applikationen
7
Oracle
Oracle9i: The Complete Reference von Kevin Loney, George
Koch; 1392 Seiten - Osborne Publishing
Oracle9i PL/SQL Programming von Scott Urman; 664 Seiten Osborne/McGraw-Hill
JavaScript
JavaScript - The Definitive Guide von David Flanagan; 936
Seiten - O’Reilly UK
Java
Thinking in Java (2nd Edition) von Bruce Eckel; 1128 Seiten Prentice Hall
JavaServer Pages von Hans Bergsten; 572 Seiten - O’Reilly &
Associates
UNIX (Linux) System Administration
Learning the UNIX Operating System von Jerry Peek, Grace
Todino, John Strang; 176 Seiten - O’Reilly UK
Linux System Administration (Linux Library) von Roderick W.
Smith; 608 Seiten - Sybex Inc
Running Linux (3rd Edition) von Matt Welsh, Matthias Kalle
Dalheimer, Lar Kaufman; 730 Seiten - O’Reilly & Associates
Linux Network Administrator’s Guide von Olaf Kirch, Terry
Dawson; 512 Seiten - O’Reilly UK
Essential System Administration (3rd Edition) von Aeleen Frisch;
1104 Seiten - O’Reilly & Associates
Das Firewall- Buch von Wolfgang Barth; 470 Seiten - SuSE
Press
Der neue Linux Hacker’s Guide. Sicherheit f¸r Linux-Server und
-Netze; 970 Seiten - Markt+Technik
Learning the Bash Shell von Cameron Newham, Bill Rosenblatt;
336 Seiten - O’Reilly UK
Learning the vi Editor (6th Edition) von Linda Lamb, Arnold
Robbins; 327 Seiten - O’Reilly & Associates
Projektplanung Online Applikationen
SSH, the Secure Shell: The Definitive Guide von Daniel J.
Barrett, Richard Silverman, Mike Loukides; 558 Seiten - O’Reilly
UK
DNS and BIND von Paul Albitz, Cricket Lui, Cricket Liu, Mike
Loukides, Deborah Russell; 624 Seiten - O’Reilly UK
UNIX Backup and Recovery von W. Curtis Preston; 736 Seiten
- O’Reilly UK
Practical Unix and Internet Security von Simson Garfinkel, Gene
Spafford; 1004 Seiten - O’Reilly & Associates
Building Internet Firewalls (2nd Edition) von Elizabeth D.
Zwicky, Simon Cooper, D. Brent Chapman, Deborah Russell; 869
Seiten - O’Reilly & Associates
Projektplanung Online Applikationen
Herunterladen