Onlineportale, Internetportale und Strukturen
Brauchst du bestimmte Funktionen, die den Standard sprengen? Soll dein Internetauftritt etwas können, was sonst kein anderer kann?
Willst du vielleicht sogar ein komplettes eigenes Internetportal, wie es auch auf swoop.de zu finden ist?
Bei uns bekommst du die Lösung die du brauchst - von einer bestimmten Funktion, die deine Anforderungen abdeckt, bis hin zu einem
in sich geschlossenen mehrstufigen Portal mit personalisierten Schnittstellen.
- 1
Frontend und Backend ProgrammierungDein System bekommt einen öffentlichen Bereich, der für alle Besucher sichtbar ist und einen geschlossenen Bereich, den nur autorisierte Nutzer im eingeloggten Zustand sehen können
- 2
MandantenverwaltungEin- und Mehrstufige Systeme bei denen bestimmt werden kann welcher Nutzertyp, welche Inhalte sehen soll (z. B.: in einem Medizinerportal gibt es Nutzer vom Typ, Patient, Arzt und Medizintechniker; jeder Nutzertyp hat seine definierten Rechte, hat Zugriff auf bestimmte Inhalte - so dürfen Ärzte untereinander ihre Kontaktdaten austauschen, während die Patienten mit Ärzten nur über die Chatfunktion kommunizieren können)
- 3
Automatische Generierung von DokumentenDefinierte Dokumente können bei Eintritt von bestimmten Ereignissen vollautomatisch erstellt und bereitgestellt werden (z.B. Bei Kauf / Buchung wird eine Rechnung erstellt. Die Bereitstellung kann auf verschiedenen Wegen erfolgen - die gängigsten sind im eingeloggten Zustand bereitgestellt werden oder per E-Mail bzw. Post versandt werden). Es ist aber auch jedes andere Szenario möglich.
- 4
DatenauswertungVerschiedenste Statistiken, Mathematische Auswertungen, Datenbankfilter und vieles mehr kann erstellt, grafisch veranschaulicht und durch Animation hinterlegt werden
- 5
KartenfunktionenWegmarken, Routenberechnungen, Ermittlung vom Postleitzahlen und Geocodes (geographischen Koordinaten) können durchgeführt werden
- 6
Automatische Datenerfassung und -verarbeitungAuslesen, Einlesen, Modifizieren und Darstellen von Daten, die von einer dritten Quelle kommen (z. B.: alle 10 Sekunden sollen die Börsenkurse bestimmter Werte ermittelt und automatisch auf der eigenen Seite dargestellt werden) Auch das Auslesen von anderen Datenbanken ist möglich.
- 7
KommunikationssystemeE-Mail, Chat, Wiki, Blog, Forum, Automatische Versandsysteme für E-Mail, Brief, SMS, Implementation von Zahlungssystemen
- 8
SchnittstellenentwicklungSoll dein System mit einem anderen Programm kommunizieren können? Wir hauchen Leben ein, so dass verschiedene Systeme miteinander reden (z.B.: Anbindung an ein Warenwirtschaftssystem, Datenexport zu einer unter- und übergeordneten Plattform, automatischer Informationsaustausch, Google Maps ansteuern usw.)
- 9
Systeme zur Verwaltung von InhaltenWir ermöglichen dir die eigenständige Pflege deiner Inhalte, sowohl mit einem der gängigen Content Management Systeme (CMS), als auch mit einer auf deine Bedürfnisse abgestimmten Custom Lösung
Ist genau deine Funktion nicht in der Beschreibung dabei? Frag uns einfach danach!
Wenn deine Phantasie es sich vorstellen kann, gibt es auch bestimmt einen Weg, wie man sie Realität werden lassen kann.
Programmierung von Software ist immer ein komplexes Unterfangen. Aus diesem Grund müssen bestimmte Schritte und Grundregeln eingehalten werden, die sich über Jahrzehnte, in denen Software entwickelt wird, bewährt haben.
Hier sind einige Grundsätze, die dir als Auftraggeber von individueller Software helfen dein Projekt zu planen und zu realisieren:
- 1
Mach dir einen wirklich guten PlanHol dir Meinungen von Mitstreitern ein, schlaf einige Nächte drüber, bis du wirklich mit deinem Plan zufrieden bist. Je besser du weißt, was du willst, desto besser wird dein Ergebnis und desto günstiger wird es sein.
- 2
Vertraue deinem EntwicklerWir haben schon viele Projekte umgesetzt und wissen genau was wir machen. Wir beraten dich gerne. Aus technischer Sicht gibt es viele Möglichkeiten, die zu deinem Ziel führen. Lass uns den Besten gemeinsam herausfinden. Versuche den Auftrag nicht mittendrin zu verändern.
- 3
Versuche den Auftrag nicht mittendrin zu verändernIst ein Auftrag ausgelöst, folgen wir dem gemeinsam festgelegten technischen Umsetzungsplan. Eine Änderung der Funktionen - auch eine, die dir klein erscheint - kann tiefgreifende Strukturänderungen mit sich bringen - das kann ein Extra Posten werden.
- 4
Lass die Leute arbeitenEs gibt besorgte Auftraggeber, die den Fehler machen, bei jeder Neuerung den Entwickler anzurufen um sie durchzusprechen, bzw. Änderungen anzusprechen. Das bringt den Entwickler aus dem Arbeitsfluss und zieht das Projekt unnötig in die Länge. Für solche Besprechungen gibt es die einzelnen Projektmeilensteine. Natürlich, wenn du merkst, dass etwas aus dem Ruder läuft - solltest du uns das sofort mitteilen.
- 1
Schritt 1: Lastenheft & PflichtenheftHier werden die Funktionalitäten deines Projekts genau abgestimmt. Deine Vorstellungen werden aus technischer Sicht analysiert und ein Umsetzungskonzept erstellt. Dieser Schritt ist unabdingbar, um dein Projekt wirklich eindeutig zu definieren und den Aufwand abzuschätzen. Erst gier wird auch wirklich klar, was die Umsetzung kosten. Preisangaben, die vorher stattgefunden haben, können nur fundierte Schätzungen sein.
Folgendes gehört in ein Lastenheft:
- Grundsätzliche Zweckbeschreibung
Beschreibe hier, welches Ziel du mit dem Projekt verfolgst, was dir wichtig ist - Auflistung einzelner Funktionalitäten
Beschreibe so genau wie möglich, was du dir vorstellst, Prozessketten, Workflow, Reihenfolgen, einzelne Buttons uvm. Hier gibt es kein "zu genau". Schreib alles auf, was dir einfällt. Je präziser du alles beschreibst, desto mehr Freude wird dir das Produkt bereiten. - Skitzen, Bilder, Screenshots
Nicht jeder Mensch hat die gleiche Vorstellung wenn er sich die gleiche Beschreibung durchliest. Wenn du Skizzen zu deinen Anführungen liefern kannst - ist das eine große Hilfe. Hast du bereits irgendwo etwas gefunden, was gänzlich, oder in Teilen deinen Vorstellungen entspricht? Wir hätten gern den Screenshot dazu.
Denk daran, das Lastenheft ist ein wichtiges Dokument, das allergrößte Sorgfalt erfordert. Was nicht drin steht, wird nicht berücksichtigt, ist etwas nicht eindeutig, oder lässt eine Betrachtung unterschiedliche Sichtweisen zu, können sich Fehler einschleichen, die im schlimmsten Fall erst nach Fertigstellung des Projekts sichtbar werden. - Grundsätzliche Zweckbeschreibung
- 2
Schritt 2: PflichtenheftDas Pflichtenheft ist die technische Beschreibung der im Lastenheft dargestellten Parameter des Projekts inkl. einer Tiefenanalyse für die Umsetzung. Grundlage des Pflichtenhefts ist das vom Auftraggeber gelieferte Lastenheft und ein Gespräch, bei dem die im Heft beschriebenen Lasten entsprechend erörtert werden. Das Gespräch ist wichtig um die Sichtweisen abzugleichen. Der Entwickler analysiert das Lastenheft Punkt für Punkt und spielt verschiedene Szenarien durch.
Tipp : Versuche den Auftrag nicht mittendrin zu verändern.
Dabei spielen folgende Fragen eine Rolle:
- Welche Möglichkeiten stehen grundsätzlich zur Verfügung?
- Welche Funktion lässt sich mit welchen Mitteln umsetzen?
- Gibt es Teilmodule, die man für bestimmte Funktionalitäten einkaufen kann, um dadurch Zeit und Budget einzusparen?
- Welche Randanforderungen gibt es, die bei dem Projekt zu berücksichtigen sind? (Sicherheit, Darstellung, Fremdsysteme, Workflow usw.)
Am Ende steht fest, welche technischen Lösungsansätze besonders sinnvoll sind und welche Wege man einschlagen kann. Es erfolgt eine technische Beschreibung der Prozesse, der Lösungsansätze mit technischen Skizzen, MockUp's usw. Am Ende steht eine klare Umsetzungsanleitung für ein Projekt mit einer realistischen Einschätzung des zeitlichen Aufwandes für die einzelnen Projektphasen. - 3
Schritt 3: EntwicklungsphaseIn der Entwicklungsphase wird das Projekt entsprechend des Pflichtenheftes vom Entwickler, oder dem Entwicklerteam im wesentlichen umgesetzt. Es hängt vom Projekt ab, ob es sinnvoll ist die Entwicklung auf einzelne Teilbereiche zu unterteilen, oder ob in einem Zug alles umgesetzt wird. Der Auftraggeber hat dabei direkten Zugriff auf einzelne Entwicklungsschritte, in dem er einzelne Teilschritte bzw. Meilensteine überwachen und sich dynamisch in den Entwicklungsprozess einbringen kann.
- 4
Schritt 4: KorrekturphaseDer Auftraggeber inspiziert das entwickelte Projekt. Jetzt ist die richtige Zeit Korrekturlisten zu erstellen und sämtliche kleineren Anpassungs- und Änderungswünsche zu äußern. Damit die Korrekturphase konstruktiv abläuft, werden sogenannte Korrekturlisten erstellt. Hier werden in tabellarischer Form alle notwendigen Anpassungen erfasst und dann hintereinander abgearbeitet. Je nach Projekt wird eine Korrekturphase am Ende, oder bei Erreichen eines jeden Meilensteins eingeleitet.
- 5
Schritt 5: TestphaseEs gibt eine unbequeme Wahrheit - eine komplexe Software ist nie perfekt. Wer schonmal erlebt hat, wie ein Computer, oder ein Handy etwas anderes macht, als es soll, weiß wovon hier die Rede ist. Obwohl jedes Modul vor der Fertigstellung ausprobiert und zur Funktion gebracht wird, ist es die Regel, dass unter realistischen Bedingungen plötzlich Fehler (Bugs) auftreten, die vorher nicht da waren. Die Testphase ist dazu gedacht, solche Softwarefehler, oder Kompatibilitätsprobleme zwischen einzelnen Modulen ausfindig zu machen und auszumerzen. Dies ist ein dynamischer Prozess bei dem mit der Software gearbeitet wird und man unter realistischen Testbedingungen die Funktionalität ausprobiert.
Alpha PhaseIn der α-Phase wird die Software unter Laborbedingungen getestet. Mit anderen Worten arbeitet man mit der Software alle möglichen Szenarien durch, klickt auf alle Knöpfe und schaut, ob die Software alles macht, was sie soll. Bereits in dieser Testphase ist der Auftraggeber eingeladen, sich als kritischster Tester, einzubringen.
Beta PhaseDie β-Phase ist für den Test unter Realbedingungen da. Das heißt es sollen Nutzer mit dieser Software arbeiten und über auftretende Bugs berichten. Nach Abschluss der Testphase ist erfolgt die Indienststellung der Software. - 6
Schritt 6: NachbetreuungJedes Projekt hat je nach Projektparametern unterschiedlichen Nachbetreuungsbedarf. Ist es eine einzelne Funktion innerhalb eines Systems, ist eine Nachbetreuung in der Regel nicht erforderlich. Je komplexer die Systeme aber werden, desto eher und mehr Nachbetreuungsaufwand bringen sie mit sich. Portale sind in der Regel Systeme, die sich dynamisch entwickeln und wachsen. Das heißt es entstehen neue Versionen und Leute, die mit dem System arbeiten haben oft Fragen, die geklärt werden müssen. Beispiel: Ein Kunde will eine Leistung kaufen/buchen und geht auf Zahlung. Genau im Moment der Zahlung geht der Server des Zahlungsdienstanbieters wenige Sekunden vom Netz. Dadurch ist ein Fehler verursacht und es stellen sich verschiedene Fragen: Hat der Kunde die Bestellung ausgelöst? Hat die Zahlung stattgefunden? Gibt es Handlungsbedarf? Es gibt viele Szenarien für Fehler, Probleme und Fragestellungen. Zwar kann man alles automatisieren, allerdings tauchen in der Praxis einzelne gleiche Szenarien nicht häufig genug auf, dass der Einbau einer Automatisierung sich wirtschaftlich lohnt. Oft ist es angebrachter, dass ein Entwickler, der sich mit dem System auskennt, in die Tiefen des Codes eintaucht, die Logdateien konsultiert und die Aufgabe manuell löst. Obwohl nicht immer zwingend erforderlich, schätzen es die meisten Kunden, wenn wir auch nach Projektabschluss mit Rat und Tat zur Seite stehen.
Der Bau von Software ist unterm Strich Arbeitsaufwand.
Die Kosten teilen Sich normalerweise in vier Hauptblöcke auf.
- 1
Block 1 - ErstellungskostenDer größte Posten sind in der Regel die Erstellungskosten. Hier ist es ganz einfach. Man nehme die Anzahl der Manntage (also Tage, die ein einzelner Entwickler an dem Projekt arbeitet; wenn 3 Entwickler jeweils 35 Tage beschäftigt sind, sind es insgesamt 105 Manntage) und multipliziere sie mit dem jeweiligen Stunden- oder Tagessatz. Selbst wenn der Tagessatz moderat ist, werden die Erstellungskosten für ein komplexes System fast immer mindestens 5-stellig sein (in Euro).
- 2
Block 2 - LizenzgebührenEs kommt häufig vor, dass bei einem Portal Codeteile verwendet werden, die von anderen Entwickler stammen - so wirds oft schneller und günstiger. Anfallende Lizenzgebühren können je nach Fall sehr unterschiedlich sein und werden entweder durch Einmalzahlung, oder durch ein monatliches Nutzungsentgelt beglichen. Die kann sehr stark variieren und hängt vom Einzelfall und ab.
- 4
Block 3 - BetreuungDie Betreuung von einem Portal sollte auf permanenter Basis erfolgen. Hier gibt es zwei Modelle: Nach Aufwand - Eher geeignet für Systeme mit geringem Betreuungsaufwand. Hier wird der angefallene Betreuungsaufwand nach Stunden abgerechnet. Wartungsvertrag - Für betreuungsintensive Projekte definiert man einen regelmäßigen Bedarf, der über monatliche Pauschalen bezahlt wird.
- 5
Block 4 - HostingJedes Projekt hat natürlich seine eigenen Anforderungen, aber grundsätzlich gilt: jedes größere komplexe System gehört auf einen eigenen Server. Dieser Server muss von Menschen eingerichtet und verwaltet werden, die wirklich wissen, was sie machen - anderenfalls wird man schnell Opfer von Performanceproblemen, Hackerangriffen, Datenverlust und anderen Problemen. Abhängig von den Anforderungen des Projekts an die Serverarchitektur gestalten sich auch die Kosten. Ein kleineres System kommt mit einem monatlichen Aufwand von ca. 100 - 150 € aus. Für einen high-performance Server mit entsprechender professioneller Verwaltung sind in der Regel ca. 300-500 € fällig. Größere Projekte, für die ein einzelner Server nicht mehr ausreicht benötigen Multiserver Lösungen. In der Regel wird einerseits der Mailserver ausgelagert. Andererseits werden die User, die aus den Tiefen des WWW auf das Projekt zugereifen auf unterschiedliche Server umgeleitet. Das funktioniert über spezielle Lastverteilungssysteme (load balancing). Da solche Systeme ziemlich Komplex sind und auf die spezifische Projektanforderungen eingestellt werden müssen, kann die Einrichtung und die Betreuung entsprechend Geld kosten. Hinzu kommen die monatlichen Kosten für die eingesetzten Server. Wer also ein großes Multiserver System betreiben möchte, sollte sich auch auf entsprechende Kosten einstellen - dass sind hunderte und manchmal auch tausende von Euro monatlich.