Nazwa przedmiotu:
Analiza i projektowanie systemów informacyjnych
Koordynator przedmiotu:
Piotr Salata
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia II stopnia
Program:
Informatyka
Grupa przedmiotów:
Przedmioty techniczne - zaawansowane
Kod przedmiotu:
APSI
Semestr nominalny:
2 / rok ak. 2018/2019
Liczba punktów ECTS:
5
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
30 godzin wykładu 30 godzin projektu 40 godzin samodzielnej realizacji projektu 20 godzin przygotowania do egzaminu 4 godziny egzaminu w sumie 124 godziny, co daje ok. 5 ECTS
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
30 godzin wykładu 30 godzin projektu 4 godziny egzaminu w sumie 64 godziny, co daje nieco poniżej 2 ECTS
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
30 godzin projektu 40 godzin samodzielnej realizacji projektu w sumie 70 godzin, co daje ok. 3 ECTS
Formy zajęć i ich wymiar w semestrze:
  • Wykład30h
  • Ćwiczenia0h
  • Laboratorium0h
  • Projekt30h
  • Lekcje komputerowe0h
Wymagania wstępne:
podstawowa znajomość inżynierii oprogramowania, technik modelowania: UML, E-R, zagadnień dotyczących analizy i projektowania baz danych
Limit liczby studentów:
60
Cel przedmiotu:
Celem wykładu jest zapoznanie słuchaczy z cyklem życia projektu informatycznego oraz z zagadnieniami dotyczącymi prac analitycznych i projektowych. Przedstawione są tradycyjne i zwinne metody realizacji projektów, w szczególności metoda Scrum. Zasadniczym celem jest dogłębne zrozumienie przez słuchaczy problematyki prowadzenia projektów, występujących problemów, wad i zalet poszczególnych metod oraz zasad doboru metod i technik odpowiednich do realizowanych projektów. W zakresie zagadnień analityczno-projektowych omawiane są metody i techniki związane ze zbieraniem i analizą wymagań, analizą systemową, definiowaniem architektury oraz projektem ogólnym systemu. Celem zajęć projektowych jest praktyczna weryfikacja wiedzy nabytej na wykładzie oraz nabycie podstawowych umiejętności dotyczących prac analitycznych i projektowych. Istotnym celem jest również nauka pracy zespołowej. Studenci realizują projekty w zespołach (standardowo 4-osobowych) i mają do wyboru możliwość realizacji projektu w trybie tradycyjnym lub w metodzie Scrum.
Treści kształcenia:
Wprowadzenie: elementy cyklu życia systemu informatycznego. Model kaskadowy i jego problemy. Metody rozwiązywania problemów modelu kaskadowego, technika kontroli zmian, model przyrostowy i jego problemy. Modele iteracyjne, model spiralny: ich założenia, cechy i mechanizmy; technika Timeboxing. Modele hybrydowe: RUP. Podsumowanie i porównanie modeli cyklu życia systemu. Problemy tradycyjnego podejścia do realizacji projektu informatycznego, wprowadzenie do zasad podejścia zwinnego (Agile). Manifest i pryncypia podejścia zwinnego. Korzyści i problemy wynikające ze stosowania metod zwinnych. Analiza wymagań: wprowadzenie do technik zbierania i specyfikowania wymagań. Technika przypadków użycia (Use Case): sposób opisu, różnicowanie przypadków użycia (biznesowe – systemowe – współpracy, wysokiego poziomu – rozszerzone, główne – drugorzędne, istotne – rzeczywiste, black box – white box). Metody identyfikacji przypadków użycia (3 perspektywy), rola przypadków użycia w procesie realizacji systemu. Strukturalizacja modelu przypadków użycia: istota i techniki strukturalizacji, związki pomiędzy aktorami, związki pomiędzy przypadkami użycia. Analiza modelu. Technika historyjek użytkownika (User Stories): istota, zasady i cechy techniki, rola historyjek użytkownika w procesie realizacji systemu, forma opisu - kanoniczna i rozszerzona, reguły INVEST i CCC, zasady i techniki dekompozycji historyjek. Relacja pomiędzy przypadkami użycia, a historyjkami użytkownika. Stosowalność obu technik w projektach informatycznych. Wymagania niefunkcjonalne: znaczenie dla projektu, sposób definiowania. Wymagania ilościowe i jakościowe. Przegląd wymagań niefunkcjonalnych: niezawodność, dostępność, bezpieczeństwo, pojemność, wydajność, sprawność, efektywność, zarządzalność, wiarygodność, trwałość, użyteczność, ergonomia, zrozumiałość, wielojęzyczność, zgodność z normami, kompatybilność, topologia, modyfikowalność, indywidualizacja, uniwersalność, elastyczność, przenośność, kompletność, testowalność, reużywalność, skalowalność, rozszerzalność. Architektura systemu: zakres, cel i zasady definiowania architektury. Sposób opisu i stosowane techniki. Metoda Scrum: wprowadzenie do metody, podstawy pojęcia i techniki: Sprint (Sprint Plannig, Sprint Review, Sprint Retrospective), Backlog; uczestnicy procesu: zespół, Scrum Master, Product Owner. Zasady stosowania, zalety, wady, i ograniczenia metody, problemy we wdrażaniu, 3 „typy” Scrum. Techniki prototypowania i projektowania: Spike, Tracer Bullet, Personas. Analiza systemowa: model analityczny, techniki opisu (analiza obiektowa). Relacja model przypadków użycia – model analityczny. Zaawansowane zagadnienia modelowania obiektowego: semantyka diagramu klas, w tym 12 typów związków agregacji, semantyka diagramu stanów. Projektowanie: cel zadania, zawartość i sposób opisu specyfikacji, stosowane techniki opisu specyfikacji. Projekt ogólny systemu: przegląd zagadnień koniecznych do ujęcia w specyfikacji.
Metody oceny:
Ocena oparta jest na niezależnie ocenianej części projektowej i wykładowej (egzaminie). W ramach projektu każdy z członków zespołu otrzymuje ocenę indywidualną w standardowej skali 2-5. Dla zaliczenia przedmiotu ocena z projektu musi być wyższa, niż 2. Egzamin standardowo ma formę pisemną, jednakże gdy do danego terminu przystępuje nie więcej, niż 5 studentów, przeprowadzany jest w formie ustnej. Egzamin oceniany jest w zwykłej skali 2-5. Osoba, która nie przystąpi do egzaminu, otrzymuje ocenę 2. Przy zdawaniu w dwóch terminach liczona jest wyższa z uzyskanych ocen. Ostateczna ocena z przedmiotu jest średnią arytmetyczną obu otrzymanych ocen zaokrągloną w górę do 0,5, z wyjątkiem sytuacji, gdy oceną z egzaminu jest 2 – wtedy ocena końcowa zaokrąglana jest w dół.
Egzamin:
tak
Literatura:
Robert Martin: Agile Software Development, Principles, Patterns, and Practices, Prentice Hall, 2002. James Coplien, Neil Harrison: Organizational Patterns of Agile Software Development, Prentice Hall, 2004. Alistair Cockburn: Agile Software Development: The Cooperative Game, Addison-Wesley, 2006. Alistair Cockburn: Writing Effective Use Cases, Addison-Wesley, 2001 (WNT 2004). Jim Highsmith: Agile Project Management, Addison-Wesley, 2004. Mike Cohn: Succeeding With Agile: Software Development Using Scrum, Addison-Wesley, 2010. Grady Booch, James Rumbaugh, Ivar Jacobson: The Unified Modeling Language User Guide (2nd edition), Addison-Wesley, 2005. Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process, Addison-Wesley, 1999. Grady Booch, Robert Maksimchuk, Michael Engel, Bobbi Young, Jim Conallen, Kelli Houston: Object-Oriented Analysis And Design With Applications (3rd Edition), Addison-Wesley, 2007. Kurt Bittner, Ian Spence: Use Case Modeling, Addison-Wesley, 2002. Karl Wiegers: Software Requirements, Microsoft Press, 2003. Dean Leffingwell, Don Widrig: Managing Software Requirements: A Use Case Approach, Addison-Wesley, 2003. Jeffrey Whitten, Lonnie Bentley: Systems Analysis and Design Methods (7th Edition), McGraw Hill, 2007. Jim Arlow, Ila Neustadt: UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design (2nd Edition), Addison-Wesley, 2005. Jon Hunt: The Unified Process for Practitioners: Object Oriented Design, UML and Java, Sprinter-Verlag 2000. Per Kroll, Philippe Krutchen: The Rational Unified Process Made Easy: A Practitioner's Guide to Rational Unified Process, Addison-Wesley, 2003 (WNT 2006). Alan Dennis, Barbara Haley Wixom, David Tegarden: Systems Analysis and Design with UML Version 2.0: An Object-Oriented Approach, Wiley, 2005. Ian Graham: Object-Oriented Methods: Principles & Practice, Addison-Wesley, 2000. James J. Odell: Advanced Object-Oriented Analysis & Design Using UML, SIGS, 1998. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.
Witryna www przedmiotu:
https://usosweb.usos.pw.edu.pl/kontroler.php?_action=katalog2/przedmioty/pokazPrzedmiot&prz_kod=103B-INxxx-MSP-APSI
Uwagi:

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Charakterystyka APSI_W01
zna modele cyklu życia systemu informatycznego, ich problemy, wady i zalety
Weryfikacja: egzamin, projekt
Powiązane charakterystyki kierunkowe: K_W12, K_W07, K_W08
Powiązane charakterystyki obszarowe: I.P7S_WK, III.P7S_WK.o, I.P7S_WG, III.P7S_WG.o
Charakterystyka APSI_W02
zna techniki zbierania i analizy wymagań, w szczególności techniki przypadków użycia (Use Case) i historyjek użytkownika (User Stories)
Weryfikacja: egzamin, projekt
Powiązane charakterystyki kierunkowe: K_W05, K_W08
Powiązane charakterystyki obszarowe: I.P7S_WG, III.P7S_WG.o
Charakterystyka APSI_W03
zna techniki dotyczące analizy systemowej, zna semantykę modelu UML
Weryfikacja: egzamin, projekt
Powiązane charakterystyki kierunkowe: K_W02, K_W05, K_W08
Powiązane charakterystyki obszarowe: I.P7S_WG, III.P7S_WG.o
Charakterystyka APSI_W04
zna zagadnienia dotyczące specyfikacji projektu ogólnego systemu informatycznego
Weryfikacja: egzamin, projekt
Powiązane charakterystyki kierunkowe: K_W05, K_W08
Powiązane charakterystyki obszarowe: I.P7S_WG, III.P7S_WG.o
Charakterystyka APSI_W05
zna metodę Scrum
Weryfikacja: egzamin, projekt (opcjonalnie)
Powiązane charakterystyki kierunkowe: K_W08
Powiązane charakterystyki obszarowe: I.P7S_WG, III.P7S_WG.o

Profil ogólnoakademicki - umiejętności

Charakterystyka APSI_U01
potrafi dobrać odpowiednią metodę i techniki do konkretnego charakteru realizowanego projektu informatycznego
Weryfikacja: projekt
Powiązane charakterystyki kierunkowe: K_U13
Powiązane charakterystyki obszarowe: I.P7S_UW, III.P7S_UW.3.o
Charakterystyka APSI_U02
potrafi zebrać wymagania na system informatyczny i dokonać ich analizy wykorzystując odpowiednie techniki
Weryfikacja: projekt
Powiązane charakterystyki kierunkowe: K_U12, K_U13, K_U02, K_U05, K_U10
Powiązane charakterystyki obszarowe: I.P7S_UO, III.P7S_UW.4.o, I.P7S_UW, III.P7S_UW.3.o, I.P7S_UK
Charakterystyka APSI_U03
potrafi zdefiniować architekturę systemu informatycznego stosując odpowiednie metody weryfikacji jej poprawności, w tym prototypowanie
Weryfikacja: projekt
Powiązane charakterystyki kierunkowe: K_U08, K_U09, K_U10, K_U12, K_U13, K_U14
Powiązane charakterystyki obszarowe: I.P7S_UW, III.P7S_UW.3.o, III.P7S_UW.1.o, I.P7S_UO, III.P7S_UW.4.o
Charakterystyka APSI_U04
potrafi opracować specyfikację analityczną systemu informatycznego
Weryfikacja: projekt
Powiązane charakterystyki kierunkowe: K_U05, K_U12, K_U13
Powiązane charakterystyki obszarowe: I.P7S_UW, I.P7S_UO, III.P7S_UW.4.o, III.P7S_UW.3.o
Charakterystyka APSI_U05
potrafi opracować specyfikację ogólnego projektu systemu informatycznego oraz dobrać odpowiednie rozwiązania techniczne
Weryfikacja: projekt
Powiązane charakterystyki kierunkowe: K_U10, K_U12, K_U13, K_U14, K_U05, K_U08
Powiązane charakterystyki obszarowe: III.P7S_UW.3.o, I.P7S_UW, I.P7S_UO, III.P7S_UW.4.o

Profil ogólnoakademicki - kompetencje społeczne

Charakterystyka APSI_K01
potrafi pracować zespołowo
Weryfikacja: projekt
Powiązane charakterystyki kierunkowe: K_K01
Powiązane charakterystyki obszarowe: I.P7S_KO