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

Top zagrożeń cyberbezpieczeństwa

Cyberbezpieczeństwo było a obecnie powinno być kluczowym elementem każdej polityki bezpieczeństwa, strategii utrzymania ciągłości biznesowej, strategii IT czy strategii biznesowej. Nasilenie ataków, wycieków i kradzieży danych w ostatnich okresach przybiera na sile a trendy są wyraźnie wzrostowe. Poniżej kilka zagrożeń, które są top w ostatnim czasie w skali globalnej gospodarki:

Malware

Szkodliwe oprogramowanie Malware jest stosowane przez hackerów do kradzieży danych jak hasła, dane, szyfrowania zasobów np. celem wyłudzenia okupu czy wykorzystania komputerów do ataków DDoS. Obecnie obserwuje się ogromny wzrost infekcji komputerów czy smartphonów.

Ataki DoS, DDoS

Ataki DoS (Denial of Service) i DDoS (Distributed Denial of Services) są skierowane na usługi internetowe czy sieci komputerowe celem ich blokady lub zmniejszenia wydajności i możliwości użycia. Obecnie dzięki Malware i dużej ilości komputerów zombi bardzo popularne i powszechnie wykorzystywane przez hackerów.

Phishing – wyłudzenie danych

Wyłudzenie danych to ogromny globalny trend w przestępczości cybernetycznej. Wyłudzeniu mogą podlegać dane osobowe, numery i hasła do konto i kart kredytowych, dane dostępowe do usług rozrywkowych, dane ubezpieczeń, itd. Najczęściej są to ataki przez email.

Ataki Brute Force

Ataki Brute Force są skierowane zarówno do łamania haseł do stron www celem ich infekowania, łamania haseł do zasobów np. celem ich szyfrowania i wyłudzania okupów jak i innych, itd. Wzrost używania tej techniki przez hackerów jest związany z dostępnością słowników językowych czy specjalistycznych w danych językach online i niską świadomość użytkowników końcowych.

Ataki XSS (Cross-Site-Scripting)

Ataki XSS są skierowane na usługi internetowe podatne na wstrzyknięcia do przeglądarki kodu java script lub innego. Atak taki pozwala na zmianę działania usługi internetowej aby np. wykraść hasła, zablokować usługę, wykasować dane z usługi, zainfekowanie strony www, przejęcie sesji użytkownika (cookies), itd.

Ataki SQL Injection

Ataki SQL Injection w przeciwieństwie do XSS atakują nie aplikacje a jej bazę danych. Atak polega na dodanie złośliwego kodu w zapytaniu do baz danych. Atak pozwala na dostęp do bazy danych a więc na modyfikację danych, ich przejęcie a nawet skasowanie. Szacuje się, że 60% ataków na strony www lub sklepy internetowe wykorzystuje SQL Injection, natomiast 30% ataki XSS.

Zobacz naszą ofertę Doradztwa Strategicznego IT, Strategii IT

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