Agilis szoftverfejlesztés

Többéves nemzetközi és magyar szoftverfejlesztői tapasztalattal vállaljuk egyedi, webre optimalizált alkalmazások, szoftverek fejlesztését.
Projekt menedzsereink és a megrendelő szoros kapcsolattartás mellett, tanácsadást is nyújtva megtervezik a projektet és a végrehajtás ütemezést. A teljes lebonyolítást akár hagyományos, akár agilis szoftverfejlesztési módszertan (Scrum) mentén végezzük.
A felületet a legmodernebb eszközökkel (Angular, React, JSF-Facelets), egyedi vagy előre átadott design mentén állítjuk össze.
Profi szoftverfejlesztőink a szerver oldali komponenseket stabil támogatottságú, Java Spring vagy Java EE platformon fejlesztik.

Minőségbiztosítás a kezdetektől

Professzionális támogatás az első naptól

Nálunk már a funkcionális specifikáció írásának fázisában elkezdődik az egész folyamatot végigkísérő minőségbiztosítás, melynek célja, hogy a végtermék maximálisan megfeleljen az ügyfél elvárásainak.

A legtapasztaltabb fejlesztők, tesztelők és szoftver architektjeink ellenőrzik a terveket és teszik meg hozzá javaslataikat.

Korábbi projektjeinkből származó tapasztalatunk alapján már a lehető legkorábban becsatlakozunk a megrendelővel közös gondolkodásba, így az üzleti elképzeléseket tapasztalt Üzletelemzőink segítik szoftver termékként megfogalmazni.

Gyors kiadási ciklusok

Elsősorban Agilis szoftverfejlesztési metodikát követünk, jellemzően két hetes Sprint-ekkel, amelyek elősegítik a köztes célok elérését, mindezt rugalmas módosítás-kezelés mellett.

A szoftververziók folyamatos kiadása lehetővé teszi a gyors tesztciklusokat. Ennek eredményeként a rendszer mindenkori, működő állapota már a fejlesztés kezdetétől bármikor kipróbálható.

Teljes átláthatóság

A felhő szolgáltatásként bárhonnan elérhető feladatszervező és jelentés generáló eszköz (Jira), mindig teljes rálátást biztosít a Sprintek feladataira felhasznált munkaórákra. Emellett megoldja a jövőbeli feladatok (Backlog) közös szerkesztését is.
A tesztelési esetek és a lefutásuk eredménye is teljesen átlátható az ügyfeleink számára (a TestLink nevű eszközt használjuk erre a célra).
Így a megrendelő a teljes szoftverfejlesztési folyamat alatt úgy érezheti, mintha a belső csapata tagjai lennénk.

Jövőbiztos megoldások

A már stabil funkciók tesztjeit a tapasztalt mérnökeink automatizálni tudják a saját, korszerű, Selenium alapokra épülő megoldásunkkal. Így biztosítható az új szoftververziók gyors kiadása, mindez stabil működési minőség mellett.
A szoftvertesztelő csapatunk számos tagja ISTQB minősítéssel rendelkezik.

Hosszútávú karbantarthatóság

Fejlesztési folyamataink során olyan modern, szabványos megoldásokat alkalmazunk, amelyek szabadságot biztosítanak az ügyfél számára a szoftver további bővítésére.

Továbbfejleszthetőség

A továbbfejleszthető szoftverek szakértői vagyunk. A jövőbeli módosítások könnyű beépíthetőségének kulcsa, hogy a kezdeteknél nagyon figyelünk a megfelelő rendszerfelépítés (architektúra) megtervezésére és később a szoftver minőségének megtartására. Ez a biztosítéka annak, hogy később könnyen és fenntarthatóan hozzá lehessen adni új képességeket a szoftverhez.

Rugalmasság

Tapasztalt architektjeink moduláris felépítésű rendszereket terveznek és a kódellenőrzési lépéseket beiktatva, a funkciókat a nekik megfelelő szoftver rétegben tartatják (általában az MVC modell szerint). Amennyiben pedig szükségessé válik, a megfelelő szervezettséget újrastruktúrálással tartjuk fenn. Ily módon ha változtatási igény merül fel, csak bizonyos szoftver modulokat kell módosítani és könnyen megvalósítható újabb modulok becsatolása is.

Kódminőség

Kód analízist futtatunk automatikusan mind a felhasználói felület (Frontend), mind a háttér rendszerek (Backend) kódbázisára. Az eredményt a napi munka részeként a kódminőség emelésére használjuk fel.

Amennyiben a kódminőség már a kezdetektől és folyamatosan megfelelő, az gyorsabb, könnyebb módosításokat és ezzel együtt kisebb átlagköltséget jelent a megrendelő számára.

Széleskörű tapasztalat

Szakértő vállalati Java megoldásszállítók (Java Enterprise Edition) vagyunk már 2002 óta.
Több mint 90 emberévnyi összesített tapasztalattal a Java alapú fejlesztésben, egy huszonöt fős rendszertervező (architekt) és fejlesztőcsapat áll a megrendelőink rendelkezésére az üzleti és informatikai kihívások megoldásához.
Abban az esetben, ha a komplett megoldás kifejlesztése valamilyen egyedi tudást igényel, széles kapcsolati hálónknak köszönhetően bármikor képesek vagyunk további szakemberek bevonására. Így garantált, hogy a fejlesztett megoldás minden tekintetben a legnagyobb szakértelemmel valósul meg.

Naprakész technológiák

A használt technológiák fejlődésének és legfrissebb eredményeinek nyomonkövetése, illetve a legmodernebb munkamódszerek alkalmazása révén csapatunk különböző komplexitású és naprakész megoldásokat tud szállítani.

A kiforrott Java technológia alkalmazásával pedig hosszú időtávra kiterjeszthető az adott szoftvermegoldás hasznos életciklusa.

Teljeskörű szolgáltatás

A Precognox teljeskörű Java fejlesztési szolgáltatást nyújt. Megbízható, skálázható és biztonságos szoftver alkalmazásokat építünk, amelyek a legegyedibb követelményeket is teljesítik, így az ügyfél mindig a saját üzletére koncentrálhat.

Mihez értünk?

Üzleti elemzés és konzultáció

  • Üzleti elemzés és követelményspecifikálás
  • Üzleti folyamatok modellezése, specifikálás
  • Adatmodellezés
  • Rendszer architektúra tervezés a meglévő céges környezethez
  • Szoftverbiztonsági felmérés és konzultáció

Alkalmazásfejlesztés

  • Egyedi alkalmazás és termékfejlesztés
  • Meglévő szoftver optimalizálása, újratervezése és teljesítménynövelése
  • Idejétmúlt technológiákról átültetés Java platformra
  • Adatbányászat és üzleti intelligencia támogatás
  • Vállalati dokumentumkezelés(ECM)
  • Többnyelvűsítés és magyarítás

Architektúra tervezés és skálázás

  • Adat- és látogatóforgalom alapú igényfelmérés
  • Költséghatékony platform és rendszerelem kiválasztás (felhő vagy egyedi szerverpark)
  • Komponens alapú rendszerépítés amelyek könnyen áthelyezhetők és növekvő terhelés esetén felskálázhatók (microservice architecture)
  • Folyamatos szoftververzió szállítás (Continuous delivery, CD)
  • Infrastruktúra automatizálás
  • Strukturált logolás, gyűjtés és elemzés
  • Éles rendszer monitorozás és infrastruktúra hangolás

Keresőrendszer építés

  • Egyedi keresőindex tervezés, komplex sorrendezési logika implementálása és gyors szöveges keresés
  • Több nyelv támogatása a keresésben
  • Szókapcsolati szótárak (tezaurusz) építése és felhasználása a keresési hatékonyság növelésére
  • Automatikus keresőszó kiegészítés
  • “Erre gondolt?” javaslat funkció elgépelés esetén
  • Találati dokumentumok klaszterezése (témakörökbe sorolás)
  • Keresés előtti és utáni szűkítés többféle paraméter alapján
  • Sorbarendezési lehetőség különböző paraméterek alapján
  • Keresőfelület építés vagy saját megoldásunk testreszabása
  • Kereső skálázás a növekvő terheléshez (sharding, clustering)

Strukturálatlan adatból strukturált adatbázis építése (ETL)

  • Kiválasztott weboldalakról tartalom fókuszált gyűjtése (tematikus oldalak ciklikus bejárása)
  • Szövegből történő adatkinyerés, adattisztítás és transzformálás
  • Strukturált adattárolás (relációs, NoSQL vagy gráf adatbázisba)

Szöveg- és adatbányászat

  • Szöveg kulcskifejezések kinyerése (angol, német, magyar, spanyol, portugál, kínai, arab vagy bármilyen további természetes nyelven)
  • A Rosette Text Analytics szöveganalitikai csomag hivatalos disztribútorai vagyunk
  • Nyelvészeti eszközök és nyelvfeldolgozási keretrendszerek komplex felhasználása (UIMA, GATE , OpenNLP, Stanford NLP és Morphologic eszközei)
  • SKOS, “Linked data” szótárak, tezauruszok (szókapcslati szótárak) építése
  • Prediktív analitika
  • Elosztott, párhuzamos adat és szövegfeldolgozás
  • Szöveg klasszifikáció és klaszterezés
  • Szöveg címkézés releváns kulcsszavakkal, kulcs kifejezésekkel
  • Automatizált szöveg kivonatolás, összefoglaló készítés
  • Szentiment- és emócióelemzés

Professzionális Java alkalmazásfejlesztés

  • Programozóink közül többen is több mint 10 év tapasztalattal rendelkeznek
  • REST API-val rendelkező, Spring Java alapú alkalmazásfejlesztés
  • Automatizált alkalmazás build-elés és telepítés (Gradle, Docker, Jenkins)
  • Komponens alapú alkalmazás szervezés (microservice architecture)
  • Terheléses tesztelés, Java performancia monitorozás és kódoptimalizálás

Webfejlesztés

  • Webes szolgáltatásfejlesztés amely szabványos REST APi-t nyújt, Swagger alapú dokumentációval
  • Kliens oldali MVC Angular és React alapon
  • TypeScript alapú kliens oldali kódminőség biztosítás

Alkalmazás hosztolás és skálázás

  • Bármilyen J2EE applikációs szerveren vagy Servlet motoron
  • Terheléselosztás Apache httpd, NGinx és HAProxy alapon
  • Több gépes, elosztott konténer (Docker) architektúra hosztolás
  • Komponens alapú (microserice) orkesztráció (Ansible, Rancher, Kubernetes)
  • Többszintű cache megoldások (Squid)
  • MySQL teljesítményhangolás, optimalizálás
  • Felhő alapú hosztolás és skálázás
  • AWS (Amazon Webservices) alapú hosztolás

Biztonság

  • SSO (Single Sign On) CAS és Keycloak alapokon
  • Autentikációs szolgáltatás közösségi média oldalak szolgáltatásával
  • HTTPS/SSL
  • X.509

Használt technológiák, eszközök és képességek

  • Solr, Lucene, Elasticsearch
  • Nyelvészeti eszközök és nyelvfeldolgozási keretrendszerek (Rosette Text Analytics, UIMA, GATE , OpenNLP, Stanford NLP és Morphologic esközei)
  • Annotációs szolgáltatások felügyelt gépi tanulás ( supervised machine learning) feladatokhoz
  • ETL eszközök: Nifi, Pentaho, Talend
  • Tableau
  • Wildfly (JBoss), Tomcat, Jetty, Dropwizard
  • Apache httpd, NGinx, Lighttpd, HAProxy
  • Java 11, J2EE 7 (EJB3, CDI, JPA, JMS, JAX-RS, JAX-WS, JSF, JSP)
  • Hibernate, EclipseLink
  • Message queue (JMS, RabbitMQ)
  • HTML 5, CSS 3, Angular, React, Javascript, TypeScript
  • Ruby, python, shell+awk, groovy
  • Google Web Toolkit (GWT)
  • Relációs adattárolás (MySQL, Postgres)
  • Gráf adatbáziskezelés (neo4j)
  • Adatbázis migrálás (Liquibase, Flyway)
  • Redis, Riak
  • Git verziókezelés (Github, GitLab)
  • Redmine és Jira projektmenedzsment rendszerek
  • Testlink
  • SoapUI
  • Selenium: Automated Testing and RPA (Robotic Process Automation)
  • Docker, Docker composeI
  • Jenkins alapú folyamatos integráció (CI)
  • Swagger
  • Logstash
  • RMunin, Nagios, Datadog
  • Kibana
  • SonarQube kódminőség ellenőrző
  • gradle
  • ansible
  • rancher, rancher compose