Inżynieria oprogramowania, procesów biznesowych i baz danych

Inżynieria oprogramowania, procesów biznesowych i baz danych

Absolwent wykształcony zgodnie z tą sylwetką jest specjalistą przygotowanym do pracy w większych zespołach wytwarzania oprogramowania oraz zespołach analizy i wsparcia procesów biznesowych. Dzięki wiedzy z obszarów inżynierii wymagań, baz danych, hurtowni danych i eksploracji danych, modelowania procesów biznesowych i komunikacji w zespole oraz procesów podejmowania decyzji w biznesie jest przygotowany do pośredniczenia w komunikacji między zespołami programistów a zespołami biznesowymi.

Dobra znajomość technologii, baz danych, architektury systemów oraz metod analizy i projektowania umożliwia mu rozwój zawodowy w różnorodnych zawodach i rolach od analityka biznesowego, analityka systemowego, inżyniera wymagań, programisty, projektanta witryn internetowych, projektanta i administratora baz danych, projektanta i analityka hurtowni danych, inżyniera oprogramowania aż po kierowników zespołów wytwarzania, wsparcia i projektów informatycznych.

Potencjalne miejsce zatrudnienia tak przygotowanego kandydata stanowią firmy tworzące i wdrażające oprogramowanie, w tym zwłaszcza systemy biznesowe, organizacje posiadające i przetwarzające duże zbiory danych (m.in. banki, firmy ubezpieczeniowe, operatorzy telefonii), firmy świadczące usługi w zakresie business intelligence, działy rozwoju i wsparcia oraz działy analityczne dużych przedsiębiorstw.

 

Najbardziej specyficzne dla tej sylwetki przedmioty

 

  • Zaawansowane modelowanie i analiza systemów informatycznych;
  • Nierelacyjne bazy danych;
  • Hurtownie danych i integracja danych;
  • Systemy rozproszone i integracja usług;
  • Analiza i eksploracja dużych zbiorów danych;
  • Modelowanie i zarządzanie procesami biznesowymi.

 

Profil kandydata

 

Kandydat zainteresowany kształceniem ukierunkowanym na tę sylwetkę powinien charakteryzować się umiejętnością analitycznego myślenia, biegłością posługiwania się wybranym językiem programowania ogólnego przeznaczenia, oraz znajomością podstaw systemów baz danych oraz predyspozycjami komunikacyjnymi i zdolnością do pracy w zespole. Wskazana jest znajomość metod analizy i projektowania obiektowego, w tym języka UML.

 

Kompetencje absolwenta

 

Zna różnorodne architektury oprogramowania; w tym architektury korporacyjne, wielowarstwowe, standardów wymiany danych i architektury usług.

 

Posiada dobrą znajomość relacyjnych i nierelacyjnych systemów zarządzania bazami danych, języków zapytań oraz trendów ich rozwoju.

Potrafi dobrać i wdrożyć narzędzia służące do gromadzenia i analizy informacji z wielu źródeł oraz z dużych zbiorów danych.

Potrafi zaprojektować hurtownię danych oraz procesy mające na celu pozyskanie danych do hurtowni z różnych źródeł danych.

Potrafi dobrać do postawionego problemu system zarządzania bazami danych oraz środki optymalizacji dostępu do bazy danych.

 

Potrafi monitorować serwer baz danych oraz stroić wydajność bazy danych.

Potrafi zaprojektować interfejs użytkownika dla aplikacji bazy danych.

Zna mechanizmy sztucznej inteligencji stosowane w systemach decyzyjnych i doradczych.

Identyfikuje, dokumentuje, waliduje oraz zarządza wymaganiami na oprogramowanie.

 

Potrafi ocenić i kontrolować jakość dokumentów projektowych, w tym: analizy przedwdrożeniowej, specyfikacji wymagań, projektu graficznego interfejsu użytkownika, specyfikacji schematu, specyfikacji architektury oprogramowania, dokumentacji użytkownika, dokumentacji kodu, scenariuszy testowych.

 

Zna metody, zasady i techniki modelowania procesów biznesowych.

Zna techniki zarządzania treścią w Internecie oraz optymalizacji dla wyszukiwarek internetowych (SEO).

Zna normy i standardy stosowane w wytwarzaniu oprogramowania, w tym zarządzania pozycjami konfiguracji, wydaniami, wersjami i liniami produktów.

 

Zna różne aspekty ponownego użycia oprogramowania, w tym zasady oceny ich wad i zalet.

Zna społeczne i psychologiczne zasady pracy w zespołach rozwoju systemów informatycznych.

Zna zasady i narzędzia tworzenia bezpiecznego oprogramowania.

 

Umie stosować wzorce projektowe (design patterns) dla realizacji odpowiednich elementów oprogramowania i architektury.

Wykorzystuje w pracy komputerowe narzędzia wspierające projektowanie graficznego interfejsu użytkownika, zarządzanie projektem i cyklem wytwórczym oprogramowania, w tym narzędzia pracy grupowej.

 

Potrafi wykorzystywać metody sztucznej inteligencji przy programowaniu.

 

Potrafi zaprojektować aplikację WWW we wszystkich jej warstwach.

 

Potrafi skutecznie komunikować się i współpracować z różnymi specjalistami zarówno po stronie biznesu, ekspertów dziedzinowych, jak i po stronie wytwórcy oprogramowania.

Posiada umiejętność wyszukiwania niezbędnych informacji, ich analizy i syntezy w celu rozwiązania zadanego problemu.