Projektowanie oprogramowania systemów WYKŁAD WPROWADZAJĄCY
przedstawmy się Osoba odpowiedzialna za wykład: dr inż. Piotr Suchomski Absolwent informatyki (PG ETI, 1997), Adiunkt w Katedrze Systemów Multimedialnych, Specjalność: systemy multimedialne, tworzenie oprogramowania do przetwarzania dźwięku i obrazu. Większość materiałów do wykładu została opracowana przez mgr inż. Andrzeja Ciarkowskiego (byłego pracownika KSM)
kontakt Miejsce pracy: p. 730 stare ETI (Katedra Systemów Multimedialnych) Konsultacje Poniedziałek, 9-10; Czwartek 13-14 E-mail: pietka@sound.eti.pg.gda.pl, tel. 23-01 Portal z prezentacjami: www.sound.eti.pg.gda.pl Login: student hasło: lab@kaesem
cel i założenia przedmiotu Olbrzymia większość aktualnie prowadzonych prac magisterskich, inżynierskich, projektów i projektów grupowych na kierunku EiT polega na wytworzeniu jakiegoś oprogramowania Studenci EiT znajdują się w tej sytuacji w gorszym położeniu, niż studenci Informatyki, gdyż nie są w toku studiów przygotowywani do realizacji tych prac najczęściej nauka praktycznych podstaw następuje w trakcie wykonywania dyplomów i projektów, absorbując znaczną część energii wykonawców, kosztem uzyskanego efektu Dla pracodawców umiejętność tworzenia systemów informatycznych staje się wymogiem równie oczywistym co znajomość języków obcych wiedza i umiejętności specjalistyczne, zdobywane w Katedrach pozwalają zaś wyróżnić absolwentów EiT wśród tłumu programistów
tego nikomu nie życzymy
cel i założenia przedmiotu Niniejszy przedmiot ma za zadanie: Wyrównać szanse studentów EiT w praktycznym podejściu do zarządzania, projektowania i programowania systemów informatycznych Umożliwić im sięganie po bardziej ambitne projekty i oswoić się z problemami jakie napotkają podczas ich realizacji Nauczyć się korzystania z narzędzi i wzorców oczekiwanych przez pracodawców Pozwolić studentom wypłynąć na szerokie wody ;)
organizacja zajęć Wykłady trwają do połowy semestru (2h/tydz) Ostatni wykład 2016-04-19 Po zakończeniu wykładów rozpoczyna się projekt, prowadzony przez osoby z Katedry odpowiedzialnej za daną specjalizację (np. KSM dr inż. Grzegorz Szwoch) W ramach projektu celem będzie wykonanie systemu informatycznego z wykorzystaniem przedstawionych narzędzi, usług i technik (tematy dostępne w Katedrach)
zaliczenie Egzamin test jednokrotnego wyboru punktacja 0/1 bez ułamków, Ok. 21 pytań Min. 50% poprawnych odpowiedzi aby zaliczyć test Punktowana jest obecność na wykładach: +3 pkt obecność na wszystkich wykładach, +2 pkt 1 nieusprawiedliwiona nieobecność, +1 pkt 2 nieusprawiedliwione nieobecności
zaliczenie Idealnym rozwiązaniem byłaby pojedyncza ocena z wykładu i projektu, odzwierciedlająca umiejętność zastosowania przekazanej wiedzy w praktyce niestety trudne do realizacji ze względu na to, że projekt prowadzi kto inny
program wykładu 1. Wykład wprowadzający: cel przedmiotu, omówienie zagadnień, kryteria zaliczenia; Projektowanie i wytwarzanie złożonych systemów w zakresie Technologii Informacyjnych (TI). 2. Specyfikacja i dokumentacja projektowa systemów w zakresie technologii informacyjnych (TI). Podstawy zarza dzania projektem metoda Scrum 3. Narzędzia pracy grupowej, kontroli wersji kodu, automatycznej generacji dokumentacji oprogramowania oraz rejestrowania i zarządzania informacjami o błędach napotkanych w oprogramowaniu. 4. Konfiguracje uruchomieniowe oprogramowania (Debug/Release). Narzędzia wspomagające usuwanie błędów oprogramowania (debbugery), optymalizację czasu wykonania (profilery) oraz kontrolę jakości oprogramowania.
program wykładu 5. Rola procesów w systemach TI, zarządzanie procesami. Wątki i synchronizacja międzywątkowa. Mechanizmy komunikacji międzyprocesowej (IPC) 6. Dostęp do zasobów systemowych i usług (zegary i liczniki czasu, pliki i urządzenia we/wy, zarządzanie pamięcią i zasobami dyskowymi. 7. Komunikacja sieciowa i międzyplatformowa w złożonych systemach TI (gniazda sieciowe, RPC/RMI, platformy middleware). 8. Wykorzystanie bibliotek programistycznych i generatorów gotowych projektów w kontekście wytwarzania oprogramowania systemów. Podstawowe wzorce proejktowe.
organizacjyjnie last but not least Jakie języki oprogramowania były dotychczas w programie studiów i na jakim poziomie? Ile osób zna języki: Java, C#, C, C++? Ile osób ma doświadczenie inne niż projekty akademickie w w/w językach? Ile osób uważa, że jest biegła w zagadnieniach poruszanych przez niniejszy wykład?
Projektowanie oprogramowania systemów CHARAKTERYSTYKA WSPÓŁCZESNYCH SYSTEMÓW INFORMATYCZNYCH, NOWE KONCEPCJE I TRENDY
SmartHome Internet of things Systemy IT są wszechobecne i będzie ich tylko więcej Mobile platforms VoIP Computing Everywhere BigData SmartTV 3D Printing Video on demand SmartWear Semantic Web Cloud computing DLNA
Rozproszone Wielowątkowe Osadzone (embedded) Systemy IT Mobilne Superkomputerowe Wieloplatformowe Bazodanowe Czasu rzeczywistego Repozytoria Webowe Systemy IT są różnorodne
Perspektywy Rozwiązania bazujące na technologiach IT będą coraz bardziej wypierać tradycyjne metody we wszystkich dziedzinach życia Coraz więcej urządzeń nas otaczających będzie miało charakter programowalny koncepcje smart Dopóki urządzenia nie nauczą się programować same, umiejętność tworzenia systemów informatycznych będzie kluczowa w każdej dziedzinie gospodarki, bez względu na obszar, specjalność, profil Współczesne trendy zakładają coraz większą rolę urządzeń połączonych np. Internet of things ważna jest komunikacja, wymiana danych, interfejsy, protokoły
Projektowanie i wytwarzanie systemów informatycznych Współczesne trendy Praca grupowa (collaborative programming) Metodyki zwinne (Agile, SCRUM) Programowanie ekstremalne (extreme programming) Test-driven development Programowanie parami Projektowanie przyrostowe Tego również będą oczekiwać Wasi przyszli pracodawcy!
O czym NIE jest ten wykład? Ten wykład nie ma ambicji nauczyć Was projektowania systemów informatycznych Nie ma czasu na omówienie nawet najważniejszych metodyk projektowych Oczekiwania pracodawców w tym zakresie są tak różnorodne, że i tak ciężko w nie trafić Ten wykład ma za zadanie nauczyć praktycznych aspektów wytwarzania oprogramowania Ale, wszędzie gdzie to możliwe, będziemy starać się konsekwentnie stosować podejście zgodne z metodykami Agile/XP
Czy są jakieś pytania? Cancel I Agree