Cykl życia oprogramowania – Software Development Life Cycle

Cykl życia oprogramowania (and. Software Development Life Cyckle – SDLC) jest usystematyzowanym podejściem do tworzenia, rozwoju oraz wycofywania danego programowania. Dzięki procesowemu podejściu wspartego przez narzędzia IT zarządzamy zarówno tym oprogramowaniem, podnosimy jakość, zmniejszamy dług technologiczny oraz zwiększamy dojrzałość organizacji wytwarzania oprogramowania.

SDLC może składać się z kilku procesów:

  1. Analiza wstępna – faza inicjalna dla każdego projektu biznesowego czy informatycznego. Określamy potrzeby, wymagania, potencjalne koszty, możliwości, zasoby potrzebne do realizacji czy ryzyka dla danego projektu. Jego potencjalne korzyści biznesowe, ramy czasowe czy opłacalność (ROI).
  2. Analiza szczegółowa, spis wymagań – szczegółowa analiza wymagań odnośnie systemów, ich integracji, kosztów, harmonogramu prac, zwrotów z inwestycji, ryzyk projektowych, itd. Analiza aspektów technologicznych, UX (User Experience), prawnych, bezpieczeństwa czy operacyjnych np. zmiany w procesach Biura Obsługi Klienta (BOK), itd.
  3. Projektowanie oprogramowania – projektowanie architektury systemów, ich integracji, bezpieczeństwa, skalowalności, zasad kodowanie, frameworków czy interfejsu użytkownika (UI – User Interface).
  4. Wytwarzanie oprogramowania (kodowanie) – najdłuższa faza projektu realizowania wg. wybranej metodyki zarządzania projektem np. Scrum. Podczas tej fazy jest tworzony kod aplikacji zgodnie z zasadami i wymaganiami ustalonymi we wcześniejszych fazach np. tworzenie testów jednostkowych czy automatycznych, dokumentacji, itd.
  5. Integracje i testy – testowanie zarówno interfejsów, szybkości działania, wydajności, bezpieczeństwa czy poprawności integracji danych.
  6. Wdrożenie na produkcję – wdrożenie oprogramowania na produkcję zgodnie z wcześniej ustaloną strategią wdrażania np. testy AB na mniejszej ilości klientów, itd. Testowanie poprawności systemu, integracji oraz infrastruktury tele-informatycznej.
  7. Utrzymanie systemów – utrzymanie systemów łącznie z wykrywaniem i łataniem błędów, zwiększonym ruchem czy większą ilością użytkowników. Zmiany w infrastrukturze tele-informatycznej oraz zwiększanie bezpieczeństwa systemu.
  8. Dalszy rozwój systemu – procedura zgłaszania zmian rozwojowych, ich wdrożenie, testowanie i ich wpływa na działanie systemu czy integracji.
  9. Wyłączenie systemów – upgrady systemów, ich archiwizacja, wyłącznie, migracja danych, itd.

Zapraszamy do zapoznania się z naszą ofertą doradztwa technologicznego i audytów aplikacji

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 300 zadowolonych klientów

Technologia Headless w eCommerce

Technologia Headless staje się coraz bardziej popularna zarówno w sklepach internatowych czy CMS-ach (Content Management System). Charakteryzuje się tym, że składa siętylko z backendu i nie koncentruje się na warstwie graficznej (frontend) jak było do tej pory. Oprogramowanie Headless może korzystać za pomocą API (Aplication Programming Interface) z różnych interfejsów graficznych zarówno na desktopie czy w mobile.

Obecnie bardzo modne są Headless CMS dla eCommerce i stron internetowych. Typowy CMS dla stron internetowych składa się z trzech elementów:

  • Baza danych
  • Backend – panele do zarządzania treścią
  • Frontend – warstwa wizualna

Headless eCommerce CMS pozwala skupić się na funkcjonalnościach panelu zarządczego, API i integracji z innymi systemami pozostawiając warstwę graficzną wyspecjalizowanym developerom skupiającym się na interfejsie i użyteczności (UX – User Experience, UI – User Interface).

Jakie są zalety Headless eCommerce CMS?

  • Odseparowanie prac and backend i frontend np. celem tworzenia frontendu poprzez zewnętrzną firmę np. agencję interaktywną specjalizującej się w warstwach graficznych i użyteczności
  • Stosowanie wielu różnych interfejsów graficznych np. mobile, internetowe sklepy dedykowane, aplikacja POS (Point of Sales) dla Retail, itd.
  • Często mniejsze koszty wymiany frontendu (zależne od wielu czynników w tym długu technologicznego backendu)
  • Przejrzysta architektura systemów eCommerce
  • Potencjalnie łatwiejsze zarządzanie długiem technologicznym i cyklem życia oprogramowania
  • Zwiększenie poziomu bezpieczeństwa systemu

Jakie są wady Headless eCommerce CMS?

  • Większe koszty developerskie do przygotowania, utrzymania i rozwoju API i frontendu
  • Często zmniejszenie wydajności stron www w wyniku braku doświadczenia w technologii Headless czy API.

Jeśli potrzebujesz wsparcia procesowo-technologicznego w obszarze eCommerce, Retail czy Omnichannel zapraszamy do kontaktu.

Zobacz naszą ofertę doradztwa:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Audyt bezpieczeństwa API

Obecnie większość systemów posiada API (Application Programming Interface) lub integruje się z innymi systemami w inny sposób. API w przypadku systemów firm typu Omnichannel, eCommerce, Retail, banków, aplikacji mobilnych czy platform SaaS (Software as a Service) staje się elementem krytycznymi (bezpieczeństwo i wydajność) i naraża firmę na straty finansowe i utratę reputacji.

Projekt OWASP (Open Web Application Security Project) w 2019 r. zdefiniował następujące najważniejsze ryzyka i ataki związane z API:

  • Broken Object Level Authorization
  • Broken Authentication
  • Excessive Data Exposure
  • Lack of Resources & Rate Limiting
  • Broken Function Level Authorization
  • Mass Assignment
  • Security Misconfiguration
  • Injection
  • Improper Assets Management
  • Insufficient Logging & Monitoring

Ataki na API pozwalają na zdobycie nieautoryzowanego dostępu do danych i systemów łączenie z przejęciem całego dostępu do nich co pozwala na manipulację danymi czy wykasowanie danych. Ataki na API często wykorzystuje się w celu uzyskania dostępu do danych prywatnych celem kradzieży tożsamości (phishing) potrzebnej do zakładania fałszywych kont bankowych i innych usług. Inne przestępstwa to ujawnienie danych wrażliwych lub osób korzystających z danych usług cyfrowych. API staje się także często ofiarą ataków typów DoS (Denial of Services) lub DDoS (Distributed Denial of Services), które powodują braki odpowiedzi API dla innych usług czy użytkowników poprzez ich przeciążenie.

Zobacz naszą ofertę doradczą dla aplikacji, systemów, platform SaaS, sklepów internetowych w zakresie jakości kodu, bezpieczeństwa i wydajności:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Metodyka rozwoju oprogramowania DevOps

Nazwa DevOps pochodzi od słów „development” czyli wytwarzanie oprogramowania i „operations” czyli operacje, eksploatacji systemów. Metodyka DevOps ma połączyć światy wytwarzania, testowania, wdrażania, administrowania i utrzymania, często inne, o innych celach i kompetencjach. Kładzie ona nacisk na komunikację pomiędzy działem utrzymania (administratorami systemów) oraz programistów i testerów oprogramowania.

Włączenie administratorów do rozwoju oprogramowania ma ewidentne zalety:

  • Pozwala na szybsze wdrażanie zmian „na produkcję” dzięki czemu biznes osiąga więcej korzyści np. częstsze wdrożenia zmian w platformie eCommerce (sklep internetowy) lub na platformie SaaS
  • Pozwala na lepsze wykorzystaniu posiadanych zasobów serwerowych i obniżeniu kosztów
  • Zwiększa wydajność i bezpieczeństwo systemów obniżając koszty utrzymania.

Metoda DevOps wykorzystuje szeroko zdalne narzędzia do komunikacji pomiędzy członkami zespołu jak wiki, wideokonferencje, czaty, itd. Dlatego bardzo dobrze sprawdza się w okresie pandemii wirusa corona Covid-19.

Metodyka i inżynierowie DevOps lubą pracować ze zwinnymi metodykami wytwarzania oprogramowania (Agile np. Scrum) czy z środowiskami chmurowymi (np. Microsoft Azure, Google GCP, Amazon AWS).

Metodyka DevOps pozwala na lepsze zarządzania cyklem życia aplikacji (oprogramowania), gdzie już w fazie planowania przewidujemy przyszłość i rozwój systemu w kolejnych latach.

Zobacz także:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Audyt Backend

Audyty aplikacji webowych, sklepów internetowych czy systemów SaaS (Software as a Service) często dzielą się na audyt Frontend, Backend i API (Application Programming Interface). W skład takiego audytu może wchodzić audyt kodu źródłowego, audyt zastosowania najlepszych praktyk kodowania, audyt wydajności, audyt bezpieczeństwa czy audyt RODO.

Zakres audytów backend:

  • Ocena długu technologicznego związanego ze starą technologią, architekturą i konsekwencje wynikające z długu czyli zwiększające się koszty utrzymania systemu, zwiększające się koszty zmian i czasu potrzebnego na wdrożenie zmian, luki w bezpieczeństwie czy problemy wydajnościowe. Zobacz więcej o długu technologicznym
  • Ocena bezpieczeństwa systemu i aplikacji pozwala na ocenę jak nasz system jest odporny lub podatny na ataki z zewnątrz np. DoD (Denial of Service) lub DDoS (Distributed Denial of Service) czyli próby wyłączenia systemu poprzez generowanie dużego ruchu, ataki na bazy danych np. poprzez formularze czy wyciek danych np. danych osobowych. Zobacz więcej Audyt Bezpieczeństwa i Testy Penetracyjne OWASP.
  • Ocena jakości kodu i zgodności z najlepszymi praktykami kodowania. Zobacz szczegóły Audyt Code Review (inspekcji kodu) oraz Audyt Kodu Źródłowego.
  • Ocena zgodności z RODO (GDPR) – Zobacz szczegóły Audytu RODO dla aplikacji.
  • Ocena i rekomendacje w zakresie poprawy wydajności zarówno po stronie kodu źródłowego, konfiguracji serwerów jak i infrastruktury tele-informatycznej (Data Center, Cloud, serwery). Zobacz więcej o Audyt Wydajności (Testy obciążeniowe aplikacji)

Zobacz także:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów