Projektowanie oprogramowania systemów - multimed.org · Projektowanie przyrostowe Tego również...

19
Projektowanie oprogramowania systemów WYKŁAD WPROWADZAJĄCY

Transcript of Projektowanie oprogramowania systemów - multimed.org · Projektowanie przyrostowe Tego również...

Page 1: Projektowanie oprogramowania systemów - multimed.org · Projektowanie przyrostowe Tego również będą oczekiwać Wasi przyszli pracodawcy! O czym NIE jest ten wykład? Ten wykład

Projektowanie

oprogramowania

systemów WYKŁAD WPROWADZAJĄCY

Page 2: Projektowanie oprogramowania systemów - multimed.org · Projektowanie przyrostowe Tego również będą oczekiwać Wasi przyszli pracodawcy! O czym NIE jest ten wykład? Ten wykład

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)

Page 3: Projektowanie oprogramowania systemów - multimed.org · Projektowanie przyrostowe Tego również będą oczekiwać Wasi przyszli pracodawcy! O czym NIE jest ten wykład? Ten wykład

kontakt

Miejsce pracy: p. 730 „stare” ETI (Katedra

Systemów Multimedialnych)

Konsultacje Poniedziałek, 9-10; Czwartek 13-14

E-mail: [email protected], tel. 23-01

Portal z prezentacjami:

www.sound.eti.pg.gda.pl

Login: student

hasło: lab@kaesem

Page 4: Projektowanie oprogramowania systemów - multimed.org · Projektowanie przyrostowe Tego również będą oczekiwać Wasi przyszli pracodawcy! O czym NIE jest ten wykład? Ten wykład

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”

Page 5: Projektowanie oprogramowania systemów - multimed.org · Projektowanie przyrostowe Tego również będą oczekiwać Wasi przyszli pracodawcy! O czym NIE jest ten wykład? Ten wykład

tego nikomu nie życzymy…

Page 6: Projektowanie oprogramowania systemów - multimed.org · Projektowanie przyrostowe Tego również będą oczekiwać Wasi przyszli pracodawcy! O czym NIE jest ten wykład? Ten wykład

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” ;)

Page 7: Projektowanie oprogramowania systemów - multimed.org · Projektowanie przyrostowe Tego również będą oczekiwać Wasi przyszli pracodawcy! O czym NIE jest ten wykład? Ten wykład

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)

Page 8: Projektowanie oprogramowania systemów - multimed.org · Projektowanie przyrostowe Tego również będą oczekiwać Wasi przyszli pracodawcy! O czym NIE jest ten wykład? Ten wykład

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

Page 9: Projektowanie oprogramowania systemów - multimed.org · Projektowanie przyrostowe Tego również będą oczekiwać Wasi przyszli pracodawcy! O czym NIE jest ten wykład? Ten wykład

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

Page 10: Projektowanie oprogramowania systemów - multimed.org · Projektowanie przyrostowe Tego również będą oczekiwać Wasi przyszli pracodawcy! O czym NIE jest ten wykład? Ten wykład

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 zarzadzania 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.

Page 11: Projektowanie oprogramowania systemów - multimed.org · Projektowanie przyrostowe Tego również będą oczekiwać Wasi przyszli pracodawcy! O czym NIE jest ten wykład? Ten wykład

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.

Page 12: Projektowanie oprogramowania systemów - multimed.org · Projektowanie przyrostowe Tego również będą oczekiwać Wasi przyszli pracodawcy! O czym NIE jest ten wykład? Ten wykład

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?

Page 13: Projektowanie oprogramowania systemów - multimed.org · Projektowanie przyrostowe Tego również będą oczekiwać Wasi przyszli pracodawcy! O czym NIE jest ten wykład? Ten wykład

Projektowanie

oprogramowania

systemów CHARAKTERYSTYKA WSPÓŁCZESNYCH SYSTEMÓW INFORMATYCZNYCH,

NOWE KONCEPCJE I TRENDY

Page 14: Projektowanie oprogramowania systemów - multimed.org · Projektowanie przyrostowe Tego również będą oczekiwać Wasi przyszli pracodawcy! O czym NIE jest ten wykład? Ten wykład

Systemy IT są wszechobecne…

SmartHomeSmartWear

Internet of things

Cloud computing

Mobile platforms

Video on demand

SmartTV

Semantic Web

VoIP

Computing Everywhere

3D Printing

BigData

DLNA

…i będzie ich tylko więcej

Page 15: Projektowanie oprogramowania systemów - multimed.org · Projektowanie przyrostowe Tego również będą oczekiwać Wasi przyszli pracodawcy! O czym NIE jest ten wykład? Ten wykład

Systemy IT

Rozproszone

Wielowątkowe

Osadzone(embedded)

Mobilne

Wieloplatformowe

Webowe

Superkomputerowe

Czasu rzeczywistego

Bazodanowe

Repozytoria

Systemy IT są różnorodne…

Page 16: Projektowanie oprogramowania systemów - multimed.org · Projektowanie przyrostowe Tego również będą oczekiwać Wasi przyszli pracodawcy! O czym NIE jest ten wykład? Ten wykład

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…

Page 17: Projektowanie oprogramowania systemów - multimed.org · Projektowanie przyrostowe Tego również będą oczekiwać Wasi przyszli pracodawcy! O czym NIE jest ten wykład? Ten wykład

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!

Page 18: Projektowanie oprogramowania systemów - multimed.org · Projektowanie przyrostowe Tego również będą oczekiwać Wasi przyszli pracodawcy! O czym NIE jest ten wykład? Ten wykład

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

Page 19: Projektowanie oprogramowania systemów - multimed.org · Projektowanie przyrostowe Tego również będą oczekiwać Wasi przyszli pracodawcy! O czym NIE jest ten wykład? Ten wykład

Czy są jakieś pytania?

Cancel I Agree