Softwareentwicklungsprozeß

Schwerpunkte
MP System ist ein Softwareunternehmen mit Schwerpunkt im Bereich der Softwareentwicklung und Realisierung von Softwaresystemen unter Verwendung von modernen Intranet/Internet-Technologien. Wir bieten unseren Kunden eine vollständige Unterstützung und Dienstleistung direkt in der Softwareentwicklung sowie im Consulting.

Softwareentwicklung
In unsererem Softwareentwicklungsprozeß basieren wir auf praktischen und pragmatischen Erfahrungen in effektiver Verwendung der objektorientierten Technologien und wir setzen ein konsequent und pragmatisch die entsprechenden CASE-Methoden. Als Hauptentwicklungsmethode setzen wir zur Zeit Elemente und Werkzeuge von RUP ( Rational Unified Process ) und der Methode UML  ein. In Abhängigkeit von der Komplexität der Anwendung und Anforderungen an das Zielsystem, versuchen wir die Grundlagen der UML-Methode mit pragmatischen Entwicklungsehrgeiz optimal einzusetzen. Die Kombination der Verwendung geeigneter Architektur- und Designpatterns sowie entsprechender Erfahrung in Verwendung verschiedener Systemarchitekturen erlauben uns unsere Vorhaben zeitgerecht, effizient und  erfolgreich in lauffähige, performante Systeme umzusetzen. Wir verfügen über vielseitige Erfahrung im Aufbau komplexer LAN/WAN/Internet-basierender Client/Server-Systeme, unter Verwendung von neuen Architekturen der verteilten Objekte (CORBA/DCOM/EJB ) und Datenspeicherung mittels verschiedener Technologien (RDMBS, OLAP, XML).
In unserer Softwareentwicklung setzen wir ein eigenes Softwareentwicklungsmodell (Modell T), welches als Ergebnis der mehrjährigen Erfahrung entstanden ist.

  • die allgemeine Prozeßdefinition basiert auf der UML-Methode und anderen OO-Methoden - mit besonderem Augenmerk auf die Projektanforderungen ( wie zB. Schwerpunkt im GUI-Design in frühen Projektphasen, Wiederverwedung des RDMBS-Designs oder Altsystems usw.)
  • Konzentration der Entwicklungskraft auf einige wenigen, Topdeveloper in der frühen Projektphase
  • pragmatische Balance zwischen formellen und werbalen Definitionstechniken
  • pragmatische und konkrete Verwendung der UML-Methode - passendes Verhältnis zwischen der Analyse- und Designphasen
  • Systemarchitektur basierend auf dem Frameworkansatz
  • Verringerung der Systemkomplexität durch Verwendung moderner Technologien
  • Schnelle und konsequente Entwicklugn der Systemarchitektur, mit schneller Prüfung des Architekturdesigns (proof of concept)
  • Know-How-Transfer an die internen Mitarbeiter des Auftraggebers in späten Phasen des Projekts, ergänzt durch die allgemeinen Schulungsmaßnahmen
  • Qualitätsbewußtsein in allen Phasen des Projekts mit praktischen Techniken zwecks Erhöhung des persönlichen Engagements und Qualität der Arbeitsergebnisse

Projektmanagement
Unser Softwareentwicklungsprozeß unterliegt festdefinierten Grundsätzen des Projektmanagements. Die Basis für die Projektabwicklung ist ein ständig praktisch aktualisierter Projektplan. Für das Projektmanagement setzen wir auch populäre Werkzeuge ein. Der Projektplan enthält die Milestones und Projektphasen, abgestimmt mit dem Auftraggeber. Die Projektdurchführung wird ständig mit dem Projektplan abgeglichen, um ein effektives Controlling zu ermöglichen.

Der Projektplan dient auch der internen Kommunikation zwischen den Teammitgliedern.

Der Projektplan enthält alle Aufgaben, Realisierungstermine, Mitarbeiter und andere Ressourcen. Darüberhinaus sind im Projektplan externe Zulieferungen enthalten sowie die ein Modell der Abhängigkeiten zwischen den einzelnen Aufgaben. Die Verwendung bekannter Analysemethoden erlaubt ein up-to-date-Management und Entscheidungen, um die Projektrealisierung auch im Falle der Nichteinhaltung der einzelner Projektziele optimal zu gestalten.

technologien
Die Verwendung der Softwaretechnologien wird in Absprache mit dem Kunden entschieden. Basierend auf den Erfahrungen in verschiedenen Bereichen der EDV, sind wir sehr flexibel hinsichtlich der Verwendung der vom Kunden präferierten Technologien.

Natürlich haben wir auch die von uns bevorzugten Technologien:

  • Programmiersprachen: JAVA, C#, C++/C, PHP
  • Datenbanksysteme:  ORACLE, IBM ( DB2 ), INFORMIX, SYBASE, MICROSOFT (SQL SERVER), Postgres SQL
  • Betriebssysteme: Windows NT, UNIX in vielen Implementierungen
  • Kommunikation: Socket-Kommunikation RMI, CORBA, EJB, HTTP, XML, WebServices
  • Application servers: BEA WebLogic, IBM Websphere, JBoss, AVAX