Glosariusz

Scrum Master

Proces wdrożenia

Osoba odpowiedzialna za opiekę nad zespołem deweloperskim i kontrolę procesu wytwarzania oprogramowania.

Secure Coding

Proces wdrożeniaTechnologia

Secure coding to zestaw praktyk stosowanych podczas tworzenia oprogramowania, które mają na celu minimalizację ryzyka wystąpienia luk bezpieczeństwa w aplikacjach i systemach informatycznych. Celem secure codingu jest projektowanie i pisanie kodu, który jest odporny na potencjalne ataki oraz nie zawiera błędów mogących być wykorzystanych przez osoby trzecie.

Kluczowe zasady secure coding:

  • Walidacja danych wejściowych: Dane wprowadzone przez użytkowników lub pobrane z zewnętrznych źródeł mogą zawierać złośliwy kod. Secure coding wymaga odpowiedniej walidacji i filtrowania takich danych, aby uniknąć ataków typu SQL Injection, Cross-Site Scripting (XSS) czy Buffer Overflow.
  • Zarządzanie błędami i wyjątkami: Aplikacje muszą odpowiednio reagować na błędy i wyjątki, aby nie ujawniać wewnętrznych szczegółów działania systemu (np. stack trace), które mogłyby pomóc atakującym. Zamiast tego, komunikaty o błędach powinny być neutralne i nie dostarczać nadmiernych informacji.
  • Bezpieczne przechowywanie i transmisja danych: Wrażliwe dane, takie jak hasła czy klucze kryptograficzne, powinny być przechowywane w zaszyfrowanej postaci, a transmisja między systemami musi odbywać się za pomocą bezpiecznych protokołów (np. HTTPS).
  • Zarządzanie dostępem i autoryzacją: Secure coding wymaga wprowadzenia odpowiednich mechanizmów kontroli dostępu, tak aby tylko autoryzowani użytkownicy mogli wykonywać określone działania. Ponadto dostęp do funkcji o podwyższonym poziomie uprawnień musi być ściśle kontrolowany.
  • Unikanie hardkodowania wrażliwych informacji: Wrażliwe dane, takie jak hasła, klucze API czy konfiguracje, nie powinny być zapisane bezpośrednio w kodzie źródłowym. Zamiast tego, należy korzystać z bezpiecznych menedżerów haseł lub systemów zarządzania tajnymi danymi.
  • Bezpieczne zarządzanie pamięcią: W niektórych językach programowania, szczególnie tych niższego poziomu (np. C, C++), odpowiednie zarządzanie pamięcią jest kluczowe, aby zapobiec błędom typu Buffer Overflow, które mogą prowadzić do przejęcia kontroli nad aplikacją.
  • Regularne aktualizacje i łatanie luk: Oprogramowanie powinno być regularnie aktualizowane, aby zapewnić, że wszelkie znane luki w bibliotekach zewnętrznych i komponentach są eliminowane na bieżąco.

Service Level Agreement (SLA)

Proces wdrożenia

Umowa utrzymania i systematycznego poprawiania poziomu jakości usług poprzez stały cykl obejmujący uzgodnienia, monitorowanie usługi, raportowanie, przegląd osiąganych wyników.

Software Requirement Specification (SRS)

Proces wdrożenia

Szczegółowa specyfikacja wymagań dotyczących oprogramowania w ostatecznym kształcie.

Software Requirements Specification (SRS)

Proces wdrożenia

Dokument zawierający wszystkie zidentyfikowane wymagania wobec powstającego oprogramowania. Stanowi odbicie planowanej architektury systemu i może być uzupełniany o informacje dotyczące sposobu zrealizowania rozpoznanych potrzeb.

Sprint (Iteracja)

Proces wdrożenia

Zwykle 2-tygodniowy okres, w którym realizowane są prace w celu osiągnięcia kolejnego działającego fragmentu systemu stanowiącego przyrost oprogramowania.

Sprint Backlog

Proces wdrożenia

Lista prac do wykonania przez zespół deweloperski w ramach jednego Sprintu.

Sprint Planning

Proces wdrożenia

Spotkanie, podczas którego ustalane są cele Sprintu oraz zakres niezbędnych prac i sposób ich realizacji.

Sprint Review

Proces wdrożenia

Sprint Review to regularne spotkanie w metodyce Scrum, podczas którego zespół prezentuje interesariuszom gotowy rezultat pracy wykonanej w Sprincie, inaczej: prezentacja przyrostu oprogramowania.

Time & Material

Proces wdrożenia

Time & Material — model rozliczeń stosowany w biznesie, w którym klient płaci wykonawcy za liczbę przepracowanych godzin oraz zużytych zasobów.Wykorzystywany głównie w projektach, w których zakres prac jest trudny do określenia lub podlega częstym zmianom.

Umowa wdrożeniowa

Proces wdrożenia

Dokument, na podstawie którego wykonawca dokonuje wdrożenia określonego systemu w środowisku informatycznym, czemu często towarzyszą szkolenia pracowników, migracja danych i produkcyjne uruchomienie systemu.

User adoption

Proces wdrożeniaTechnologia

Proces, w wyniku którego użytkownicy oprogramowania zaczynają z niego korzystać zgodnie z przeznaczeniem.

User Story (historyjka użytkownika)

Proces wdrożenia

Metoda opisywania wymagań przy tworzeniu oprogramowania w metodykach zwinnych. Historyjki są zazwyczaj pisane z perspektywy użytkownika końcowego. Stosowany jest prosty język, który jest zrozumiały zarówno przez programistów, jak i osoby nietechniczne (np. analitycy, projektanci, menedżerowie).

Typowa historyjka użytkownika jest napisana według następującego szablonu:

Jako <użytkownik> chcę <potrzeba>, żeby <cel do osiągnięcia>.

Waterfall (Metodyka kaskadowa)

Proces wdrożenia

Tradycyjna metodyka realizacji projektów wdrożeniowych.

Jej sednem jest szczegółowy plan zakładający sekwencyjną realizację poszczególnych etapów. W modelu kaskadowym fazy projektowe rozumiane są jako następujące po sobie, odrębne czynności. Ze względu na podstawową cechę metodyki kaskadowej, tj. określony budżet, kluczowym etapem projektu jest sporządzenie szczegółowej specyfikacji wymagań (ang. Software Requirement Specification), w tym listy koniecznych do zrealizowania prac mieszczących się w uzgodnionej obustronnie cenie (Fixed Price).

Zespół deweloperski

Proces wdrożenia

Grupa osób odpowiedzialnych za wytworzenie kodu i dostarczenie przyrostu oprogramowania.

Przewijanie do góry