Tworzenie aplikacji internetowych
Tworzymy dedykowane aplikacje internetowe w oparciu o nowoczesne technologie. Przeznaczenie aplikacji jest praktycznie dowolne - może to być na przykład: system CMS, sklep internetowy, portal firmowy, portal społecznościowy czy branżowy.
Jeśli takie jest życzenie klienta, wraz z działającą aplikacją dostarczamy pełną dokumentację projektową, która obejmuje elementy wymienione w opisanej poniżej usłudze "Projektowanie oprogramowania". Ponadto każdemu klientowi oferujemy wdrożenie i opiekę nad działającą już aplikacją.
Podczas pracy nad oprogramowaniem webowym najczęściej wykorzystujemy następujące technologie/narzędzia/języki:
- PHP
- JavaScript + AJAX
- PostgreSQL
- MySQL
- XHTML
- CSS
- XML
- WebServices
Wyżej wymienione łączą się w sprawnie działającą maszynerię dzięki zastosowaniu autorskiego frameworka do tworzenia aplikacji internetowych, który stanowi połączenie wzorców architektonicznych MVC (ang. Model View Controller), PCMEF (ang. Presentation Control Mediator Entity Foundation) i rozszerzenie ich w niezbędnym zakresie. Sprawia to, iż nasze aplikacje posiadają dobrze zorganizowany, obiektowy, czytelny i łatwy w utrzymaniu kod.
Ponadto, dzięki wykorzystaniu kilku metod buforowania i szeregu optymalizacji, nasze aplikacje działają szybko nawet na słabych serwerach. Dużą uwagę przywiązujemy również do bezpieczeństwa danych, wprowadzając wielopoziomowe zabezpieczenia chroniące przed różnymi typami ataków hakerskich jak SQL injection, XSS, CSRF.
Projektowanie oprogramowania
Projektujemy systemy IT dostarczając kompletną dokumentację, zawierającą specyfikację w formie tekstowej oraz wizualnej. Do wizualizacji wykorzystujemy diagramy języka UML. Proces projektowania obejmuje następujące etapy:
- analiza biznesowa - rozpoznanie potrzeb i procesów biznesowych klienta, zawiera diagramy: procesów biznesowych i encji biznesowych,
- specyfikacja systemu/analiza systemowa - zdefiniowanie sposobu komunikacji systemu z użytkownikiem i jego działania z punktu widzenia użytkownika, zawiera diagramy: przypadków użycia i aktywności,
- projekt bazy danych - określenie danych niezbędnych do trwałego przechowywania, zawiera diagram związków encji (model konceptualny) i diagram klas (model logiczny),
- projekt architektury i modułów - określenie szczegółów działania systemu i poszczególnych jego modułów, zawiera diagramy: klas, komponentów, wdrożenia.
Na życzenie klienta kompletną dokumentację dołączamy do każdego tworzonego przez nas oprogramowania.
Algorytmy i optymalizacja
Tworzymy oprogramowanie, które wykorzystuje algorytmy ewolucyjne i inne heurystyki w rozwiązywaniu szczególnie trudnych problemów optymalizacji i spełniania ograniczeń, występujących w świecie rzeczywistym. Do tego typu problemów, nazywanych NP-trudnymi, można zaliczyć między innymi:
- problem układania planu zajęć
- problem optymalnego przydziału zasobów w firmie produkcyjnej
- problem planowania dyżurów lub czasu pracy (tworzenie harmonogramu)
W przypadku takich problemów, olbrzymia liczba potencjalnych rozwiązań sprawia, że nie może sobie z nimi poradzić człowiek czy nawet grupa osób. Dlatego oferujemy wyspecjalizowane rozwiązania, które wykorzystują heurystyki (algorytmy dające rozwiązanie bliskie optymalnemu), dzięki czemu działają szybko i dają zadowalające rezultaty.
Wspomniane algorytmy i wykorzystującą je aplikację możemy zaimplementować w jednym z poniższych języków programowania:
- Java
- C++
- C#



