Specjalność Inżynieria Oprogramowania (IO)

Inżynieria Oprogramowania to obszar wiedzy zajmujący się praktycznym zastosowaniem metod, technik, narzędzi, czy tzw. dobrych praktyk wytwarzania oprogramowania – od zbierania wymagań po utrzymanie oprogramowania.

W ramach specjalności studenci zdobywają teoretyczną i praktyczną wiedzę na temat:

  • Najnowszych osiągnięć z zakresu inżynierii oprogramowania, w tym zwinnych praktyk wytwarzania oprogramowania i rozwiązań wspierających DevOps (Kursy: Zwinne wytwarzanie oprogramowania, Technologie wspierające wytwarzanie oprogramowania).

  • Realizacji projektów badawczo-rozwojowych w inżynierii oprogramowania oraz wykorzystania metod data science/danologii np. na danych uzyskanych z narzędzi Git, Jira (Kursy: Metody planowania i analizy eksperymentów, Statystyka w zastosowaniach, Projekt badawczo-rozwojowy w inżynierii oprogramowania).

  • Analizy biznesowej i systemowej, a także projektowania złożonych systemów oprogramowania z uwzględnieniem wymagań jakościowych (Kursy: Analiza biznesowa i systemowa, Projektowanie systemów informatycznych).

  • Architektur referencyjnych aplikacji webowych, w tym architektury mikroserwisów i powiązanych frameworków, np. ORM (mapowania obiektowo-relacyjnego), czy wykorzystujących język JavaScript (Kurs: Projekt i implementacja systemów webowych).

  • Zabezpieczeń dla aplikacji webowych, mobilnych i ekosystemu IoT, w tym związanych z ochroną danych (kryptografia) (Kursy: Bezpieczeństwo systemów webowych i mobilnych, Inżynieria pozyskiwania i ochrony wiedzy z danych i baz danych).

  • Programowania obiektowego, funkcyjnego i współbieżnego (Kurs: Paradygmaty programowania współbieżnego i funkcyjnego).

  • Modeli, metod i narzędzi składowania i przetwarzania baz danych i dużych zbiorów danych (Big Data) (Kursy: Przetwarzanie dużych zbiorów danych, Zaawansowane systemy baz danych, Systemy wyszukiwania informacji.

Plan studiów specjalności został przygotowany we współpracy z firmami. Przy jego realizacji współpracujemy z firmą Capgemini. Szczegóły dotyczące specjalności dostępne są na stronie: http://io.pwr.edu.pl/pl/dydaktyka/specjalnoscIO

Absolwenci IO to elita wśród pracowników firm software’owych. znanych firm tworzących oprogramowanie, mających swoje siedziby zarówno we Wrocławiu jak i za granicą m.in. Volvo IT Group, Capgemini, Nokia, Comarch, Unit4, KRT, Google, Accenture, IBM, czy ThoughtWorks. Pracują jako architekci lub inżynierowie oprogramowania, programiści, trenerzy, kierownicy projektów, pracownicy i kierownicy działów zapewnienia jakości, projektanci baz danych, projektanci zabezpieczeń, projektanci rozwiązań dla Internetu Rzeczy (IoT).

Pracownicy i doktoranci Katedry Inżynierii Oprogramowania (http://io.pwr.edu.pl) są zaangażowani w przygotowanie i prowadzenie badań finansowanych przez Narodowe Centrum Badań i Rozwoju (NCBiR), Capgemini (Projekt „Data Science in Software Engineering”), jak i we współpracę z różnymi firmami, m.in., Volvo IT Group, CODEFUSION. Katedra posiada wymaganą do badań infrastrukturę serwerową. Zakres prowadzonych badań dotyczy m. in. jakości oprogramowania czy jakości testów (testowanie mutacyjne). Efektem prac badawczo-rozwojowych jest m.in. tester mutacyjny Judy dla języka Java (http://www.mutationtesting.org), platforma DePress (http://depress.io) – narzędzie do poprawy procesów i produktów programowych – z której korzystają takie firmy jak Capgemini (która współtworzy z nami platformę DePress), czy Volvo.

Pracownicy katedry publikują prace we flagowych czasopismach z zakresu inżynierii oprogramowania z listy filadelfijskiej, m. in. IEEE Transactions of Software Engineering, Empirical Software Engineering, Software Quality Journal, Information and Software Technology, IET Software, Journal of Intelligent & Fuzzy Systems, Cybernetics and Systems. Są autorami książek, m. in. dotyczących TDD („Test-Driven Development – An Empirical Evaluation of Agile Practice”), architektury i usług webowych („Usługi Microsoft Azure, Programowanie aplikacji”, „Windows Azure Wprowadzenie do programowania w chmurze”, „ASP.NET MVC 4, Programowanie aplikacji webowych”), metodyk wytwarzania oprogramowania („Metodyka QUAD: sterowane jakością wytwarzanie aplikacji bazodanowych”). Występują i recenzują prace na prestiżowych konferencjach np. Mining Software Repositories (MSR), Predictive Models and Data Analytics in Software Engineering (PROMISE), eXtreme Programming and Agile Processes in Software Engineering (XP). Wydają międzynarodowe czasopismo e-Informatica Software Engineering Journal (http://www.e-informatyka.pl)indeksowane m.in. w Web of Science, Scopus, DBLP, Google Scholar, DOAJ.