Uniwersytet Warszawski, Wydział Nauk Ekonomicznych - Centralny System Uwierzytelniania
Strona główna

Inżynieria oprogramowania

Informacje ogólne

Kod przedmiotu: 1000-214bIOP
Kod Erasmus / ISCED: 11.302 Kod klasyfikacyjny przedmiotu składa się z trzech do pięciu cyfr, przy czym trzy pierwsze oznaczają klasyfikację dziedziny wg. Listy kodów dziedzin obowiązującej w programie Socrates/Erasmus, czwarta (dotąd na ogół 0) – ewentualne uszczegółowienie informacji o dyscyplinie, piąta – stopień zaawansowania przedmiotu ustalony na podstawie roku studiów, dla którego przedmiot jest przeznaczony. / (0612) Database and network design and administration Kod ISCED - Międzynarodowa Standardowa Klasyfikacja Kształcenia (International Standard Classification of Education) została opracowana przez UNESCO.
Nazwa przedmiotu: Inżynieria oprogramowania
Jednostka: Wydział Matematyki, Informatyki i Mechaniki
Grupy: Przedmioty obowiązkowe dla II roku informatyki
Przedmioty obowiązkowe dla II roku JSIM - wariant 3I+4M
Przedmioty obowiązkowe dla III roku JSIM - wariant 3M+4I
Strona przedmiotu: http://moodle.mimuw.edu.pl
Punkty ECTS i inne: 5.50 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.

zobacz reguły punktacji
Język prowadzenia: polski
Kierunek podstawowy MISMaP:

informatyka

Rodzaj przedmiotu:

obowiązkowe

Wymagania (lista przedmiotów):

Indywidualny projekt programistyczny 1000-222bIPP

Założenia (lista przedmiotów):

Bazy danych 1000-213bBAD
Programowanie obiektowe 1000-212bPO

Założenia (opisowo):

Znajomość zagadnień omawianych na przedmiotach:

1. Indywidualny projekt programistyczny

2. Bazy danych

3. Programowanie obiektowe

Skrócony opis:

Celem przedmiotu jest nauczenie zasad tworzenia oprogramowania w projektach programistycznych realizowanych zespołowo. Na wykładzie omawiane są praktyki tworzenia oprogramowania wybrane z obowiązujących współcześnie metodyk. Podczas laboratorium czteroosobowe zespoły pracują nad wybranymi przez siebie małymi projektami; uczą się pracować w zespole, stosować wzorce funkcjonalne i architektoniczne, korzystać z narzędzi wspierających wytwarzanie oprogramowania. Od zespołów oczekuje się, że doprowadzą w kilku (co najmniej dwóch) iteracjach do powstania uruchamialnej wersji systemu, która zawierać będzie minimalny zakres funkcjonalności, pozwalający uznać system za użyteczny (MVP, minimal viable product). Zdobyta wiedza i doświadczenie mają posłużyć w kolejnym roku przy realizacji dużego projektu programistycznego w ramach proseminarium Zespołowy Projekt Programistyczny.

Pełny opis:

Zakres wykładu:

- Projekt informatyczny

- Architektura

- Funkcjonalność

- Wzorce

- Specyfikacja

- Jakość

- Planowanie

- Zarządzanie konfiguracją

- Metodyki

- Praca w grupie

Zakres laboratorium:

- Ustalenie zespołów projektowych (4-osobowych)

- Uzgodnienie projektu przewidzianego do realizacji (pomiędzy zespołami a prowadzącym laboratorium)

- Przeprowadzenie kilku (co najmniej 2) iteracji wytwórczych, w ramach każdej iteracji stworzenie kolejnych wersji wszystkich artefaktów projektowych (co najmniej: kod źródłowy systemu, zwięzły opis architektury i funkcjonalności systemu, krótka prezentacja na temat systemu, plakat reklamujący system)

Literatura:

1. E.Yourdon, Death March

2. T.DeMarco, The Deadline

3. I.Sommerville, Software Engineering

4. S.McConnell, Code Complete

5. H.Takeuchi, I.Nonaka, The new product development game (article)

6. W.W.Royce, Managing development of large software systems (article)

7. M.Shaw, D.Garlan, Software Architecture

8. E.Gamma, R.Helm, R.Johnson, J.Vlissides, Design patterns

Efekty uczenia się:

Wiedza: student ma

* uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie programowania, algorytmów i złożoności, architektury systemów komputerowych, systemów operacyjnych, technologii sieciowych, języków i paradygmatów programowania, baz danych, inżynierii oprogramowania (K_W02);

* wiedzę na temat inżynierii oprogramowania, w tym projektowania (wzorce projektowe, architektura oprogramowania, analiza i projektowanie obiektowe), wykorzystania API, narzędzi i środowisk wytwarzania oprogramowania (narzędzia do analizy wymagań i modelowania, narzędzia do testowania, narzędzia do podglądu kodu, narzędzia do zarządzania konfiguracjami i wersjami oprogramowania), cyklu życia projektu informatycznego, specyfikacji oprogramowania, walidacji i weryfikacji, utrzymywania oprogramowania (refaktoryzacji) K_W10,

Umiejętności: student potrafi

* pozyskiwać informacje z literatury, baz wiedzy, Internetu oraz innych wiarygodnych źródeł, integrować je, dokonywać ich interpretacji oraz wyciągać wnioski i formułować opinie (K_U02);

* porozumiewać się przy użyciu różnych technik w środowisku zawodowym oraz w innych środowiskach, w tym w języku angielskim oraz z wykorzystaniem narzędzi informatycznych (K_U04);

* samodzielnie planować i realizować własne uczenie się przez całe życie (K_U09);

* posługiwać się wzorcami projektowymi (K_U24);

* opisywać systemy informatyczne tak z użyciem specjalistycznej terminologii, jak i w sposób zrozumiały dla niefachowców; potrafi przygotować prezentację (artykuł) z użyciem narzędzi informatycznych (K_U25);

* określić procesy wytwórcze właściwe dla wytwarzanego systemu;

* projektować (modelować) architekturę wytwarzanego systemu;

* projektować (modelować) funkcjonalność wytwarzanego systemu;

* definiować (w mierzalny sposób) oczekiwania jakościowe względem wytwarzanego systemu;

* planować projekt w zakresie procesów wytwórczych;

* planować projekt w zakresie narzędzi wspierających;

* zarządzać konfiguracją, zarządzać zmianami, budować wydania oprogramowania.

Student może też nabyć dodatkowe umiejętności ponadstandardowe, tak że potrafi:

* zarządzać małym projektem programistycznym;

* identyfikować i dobierać właściwe dla projektu wzorce (projektowe, architektoniczne, analityczne);

* identyfikować i dobierać właściwe dla projektu metodyki (wytwórcze, zarządcze);

* koordynować mały zespół programistów.

Kompetencje społeczne: student jest gotów do

* pracy z zachowaniem uczciwości intelektualnej w działaniach własnych i innych osób; przestrzegania zasad etyki zawodowej i wymagania tego od innych oraz dbałości o dorobek i tradycje zawodu informatyka (K_K02);

* uznawania znaczenia wiedzy w rozwiązywaniu problemów poznawczych i praktycznych oraz wyszukiwania informacji w literaturze oraz zasięgania opinii ekspertów (K_K03);

* wypełniania zobowiązań społecznych związanych z racjonalnym i bezpiecznym przetwarzaniem danych (K_K04).

Metody i kryteria oceniania:

Ocena końcowa jest oparta na sumie punktów otrzymanych za projekt laboratoryjny oraz test egzaminacyjny.

Oceny są ustalane następująco:

jeśli suma punktów > 50% wtedy ocena = 3 (dst);

jeśli suma punktów > 60% wtedy ocena = 3,5 (dst+);

jeśli suma punktów > 70% wtedy ocena = 4 (db);

jeśli suma punktów > 80% wtedy ocena = 4,5 (db+);

jeśli suma punktów > 90% wtedy ocena = 5 (bdb);

w przeciwny przypadku ocena = 2 (ndst).

Zajęcia w cyklu "Semestr letni 2022/23" (w trakcie)

Okres: 2023-02-20 - 2023-06-18
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Piotr Hofman
Prowadzący grup: Grzegorz Grudziński, Piotr Hofman, Łukasz Kamiński, Maciej Skórski, Tomasz Waleń, Patrycja Węgrzynowicz
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Warszawski, Wydział Nauk Ekonomicznych.
ul. Długa 44/50
00-241 Warszawa
tel: +48 22 55 49 126 https://www.wne.uw.edu.pl/
kontakt deklaracja dostępności USOSweb 6.8.1.0-4 (2023-02-27)