Proces tworzenia systemów informatycznych

Założenia główne

MP System Sp.z o.o jest firmą tworzącą i wspierającą tworzenie systemów oprogramowania komputerowego ze szczególnym uwzględnieniem najnowocześniejszych technologii oprogramowania (klient/serwer, internet/intranet). Oferujemy naszym Klientom pełną i profesjonalną obsługę w tworzeniu na ich zlecenie oprogramowania, doradztwa i wsparcia tworzenia systemów oprogramowania u Klienta.

Proces tworzenia oprogramowania

Podczas realizacji oprogramowania i tworzenia systemów informatycznych bazujemy na naszych praktycznych doświadczeniach zebranych podczas realizacji projektów informatycznych dla wiodących firm europejskich. W szczególności stosujemy w pragmatyczny sposób metody inżynierskie (CASE), głównie metody objektowo zorientowane (UML). Posiadając również doświadczenia w realizacji systemów w oparciu o architektury klient/serwer i relacyjne bazy danych (ORACLE, IBM DB2, INFORMIX, PROGRESS, INGRES, MS SQL SERVER) dbamy o rozsądną i efektywną integrację wszelkiego rodzaju technologii. Naszą specjalnoscią   jest optymalizacja istniejących systemów. O wiele bardziej racjonalne jest jednak stosowanie od podstaw naszych wypracowanych metod i architektur, co pozwala obniżyć koszty tworzenia oprogramowania oraz zmniejszyć ryzyko projektowe.

W naszych projektach oferujemy naszym Klientom stosowanie własnego modelu tworzenia oprogramownia, nazywanego przez nas Model T.

Kluczowymi elementami Modelu T są:

  • proces tworzenia oprogramowania oparty jest o metodę UML i inne metody objektowo zorientowane - ze szczególnym zwróceniem uwagi na wymagania projektowe (np. wczesne projektowanie graficznego interfejsu użytkownika, reengineering istniejących systemów lub schematów baz danych)
  • preferencja w zlecaniu realizacji projektu niewielu wysokiej klasy analityków i programistów - już we wczesnych fazach projektu
  • wyważone stosowanie formalnej i  werbalnej definicji funkcjonalnej systemu, przy użyciu metod takich jak Use Case Analysis
  • pragmatyczne stosowanie elementów metody UML - ze zwróceniem uwagi na właściwe proporcje pomiedzy fazą analizy i projektowania (design)
  • architektura systemu bazuje na wybranym frameworku
  • redukcja komplikacji systemu poprzez stosowanie nowoczesnych technologii
  • projektowanie architektury systemu następuje we wczesnych fazach realizacji projektu, często nastepuje po nim praktyczny test założeń
  • transfer know how do pracowników Klienta nastepuje w późniejszych fazach projektu, uzupełniony przez ogólne działania edukacyjne (kursy,szkolenia)
  • duży nacisk na wysoką jakość pracy we wszystkich fazach realizacji projektu z praktycznymi metodami wspomagającymi zaangażowanie członków zespołu

Struktura zespołu

Model T zakłada ścisłą hierarchię struktury zespołu developerskiego i dokładne określenie ról poszczególnych członków zespołu:

project management team members

Zarządzanie projektem

Proces tworzenia oprogramowania sterowany jest metodami zarządzania projektem. W naszych projektach stosujemy popularne metody i narzędzia. Bazą realizacji projektu jest plan projektu uzgodniony z Klientem. Plan projektu uwzglednia fazy projektu, określa punkty zwrotne. Plan projektu umożliwia wszystkim stronom zespołu i zleceniodawcy bieżącą kontrolę postępu projektu i podejmowanie właściwych decyzji. Plan projektu jest również podstawowym środkiem komunikacji pomiędzy członkami zespołu realizującego projekt.
Plan projektu zawiera nie tylko informacje o tworzonych modułach i objektach, ale również obejmuje planowanie niezbędnych narzedzi i środków oraz zadań wykonanych przez członków zespołu i zewnętrznych dostawców. Ilustruje to zależności, wskazuje krytyczne etapy i zadania projektu. Ta ilustracja umożliwia menadżerom bieżące podejmowanie optymalnych decyzji celem zachowania celów i terminów projektu.

Technologie oprogramowania

Użycie odpowiednich technologii i narzędzi jest oczywiście przedmiotem dyskusji z Klientem. Bazując jednak na naszych doświadczeniach proponujemy stosowanie sprawdzonych przez nas technologii z uwzględnieniem preferencji Klienta.

Nasze obecnie preferowane technologie to:

  • Podejście architektoniczne w oparciu o standard MDA
  • Objektowo zorientowany proces w oparciu o methodę UML
  • Języki programowania: JAVA, C#, C++/C, PHP
  • Język definicji struktur danych XML
  • Relacyjne bazy danych:ORACLE, IBM (DB2), INFORMIX, SYBASE, MICROSOFT (SQL SERVER)
  • Systemy operacyjne: Windows NT, UNIX/LINUX w wielu implementacjach
  • Komunikacja: Socket-based, RMI, CORBA, EJB, HTTP, WebServices
  • Stosowanie produktów Application Server: BEA WebLogic, IBM WebSphere, JBoss