- Nazwa przedmiotu:
- Analiza i projektowanie systemów informacyjnych
- Koordynator przedmiotu:
- Rajmund Kożuszek
- Status przedmiotu:
- Fakultatywny dowolnego wyboru
- Poziom kształcenia:
- Studia II stopnia
- Program:
- Informatyka
- Grupa przedmiotów:
- Przedmioty techniczne - zaawansowane
- Kod przedmiotu:
- APSI
- Semestr nominalny:
- 2 / rok ak. 2021/2022
- Liczba punktów ECTS:
- 4
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- 1. liczba godzin kontaktowych – 62 godz., w tym
obecność na wykładach 30 godz.,
obecność na spotkaniach projektowych 30 godz.,
obecność na egzaminie 2 godz..
2. praca własna studenta – 56 godz., w tym
wykonanie projektu 40 godz.,
przygotowanie do egzaminu 16 godz.
Łączny nakład pracy studenta wynosi 118 godz., co odpowiada 4 pkt. ECTS.
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- 2,01 pkt. ECTS, co odpowiada 62 godz. kontaktowym
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- 2,37 pkt. ECTS, co odpowiada 40 godz. wykonania projektu plus 30 godz. spotkań projektowych
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium0h
- Projekt30h
- Lekcje komputerowe0h
- Wymagania wstępne:
- Student powinien:
– mieć wiedzę i umiejętności dotyczące projektowania baz danych,
– znać język UML.
- Limit liczby studentów:
- 60
- Cel przedmiotu:
- Zapoznanie studentów z cyklem życia i procesem wytwarzania projektu informatycznego oraz technikami analizy i projektowania jako składowymi tego procesu. Wykształcenie podstawowych umiejętności realizacji projektu przy użyciu metod zwinnych.
- Treści kształcenia:
- Wykład:
– 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: Rational Unified Process. Podsumowanie i porównanie modeli.
– 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 z jego stosowania.
– Inżynieria wymagań – zbieranie, dokumentowanie i analiza wymagań. Przegląd norm i metod inżynierii wymagań. Wymagania pozafunkcjonalne: ich znaczenie dla projektu, sposób definiowania; przegląd rodzajów wymagań pozafunkcjonalnych. Wymagania ilościowe i jakościowe.
– 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 (4 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, dekompozycja przypadków użycia, najczęstsze błędy. Analiza modelu.
– Technika historyjek użytkownika (User Stories): zasady i cechy techniki, rola historyjek użytkownika w procesie realizacji systemu, historyjki a wymagania, forma opisu, zasady i techniki dekompozycji. Relacja pomiędzy wymaganiami, przypadkami użycia, a historyjkami użytkownika. Stosowalność obu technik w projektach informatycznych.
– Metoda Scrum: wprowadzenie do metody, podstawy pojęcia i techniki: Sprint (Sprint Plannig, Sprint Review, Sprint Retrospective), Backlog – jego tworzenie i pielęgnacja; uczestnicy procesu: zespół, Scrum Master, Product Owner. Zasady stosowania, zalety, wady, i ograniczenia metody, problemy we wdrażaniu, 3 „typy” Scrum.
– Architektura systemu: zakres, cel i zasady definiowania architektury. Sposób opisu i stosowane techniki. Szablony architektoniczne.
– 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 i techniki opisu modelu stanów.
– Techniki prototypowania i projektowania: Spike, Tracer Bullet, Personas.
– Projektowanie: cel zadania, zawartość i sposób opisu specyfikacji. Relacja model analityczny – model projektowy. Projekt ogólny systemu: przegląd zagadnień koniecznych do ujęcia w specyfikacji.
Projekt:
Zajęcia projektowe polegają na wytworzeniu w zespole (od 4 do 6 osób) niewielkiego, funkcjonującego systemu. W ramach projektu wykonywane są 3 iteracje, w każdej z nich należy zaprezentować przyrost ilościowy funkcjonalności aplikacji względem poprzedniego punktu kontrolnego.
Po zdefiniowaniu problemu do rozwiązania i wyspecyfikowaniu tworzonego produktu na poziomie „biznesowym” zespól realizuje poszczególne iteracje, w ramach których:
– definiuje elementy backlogu oraz zadania do wykonania;
– wykonuje prace analityczne, projektowe i implementacyjne;
– weryfikuje rezultaty.
Każda iteracja podlega weryfikacji przez osobę prowadzącą zajęcia projektowe. Na zakończenie ostatniej iteracji powinien być gotowy działający system wraz z odpowiednią dokumentacją analityczną, projektową, techniczną, użytkową i administratorską.
- Metody oceny:
- Zajęcia projektowe:
– realizacja projektów w zespołach od 4 do 6 osób;
– możliwość cotygodniowych spotkań z prowadzącym na konsultacjach projektowych;
– 4 obowiązkowe spotkania związane z inicjacją projektu i odbiorem 3 iteracji;
– ocena projektu na podstawie demonstracji, wykonanych testów oprogramowania oraz przeglądu dokumentacji.
- Egzamin:
- tak
- Literatura:
- Robert Martin: Agile Software Development, Principles, Patterns, and Practices, Prentice Hall, 2002.
Jeff Sutherland: Scrum: The Art of Doing Twice the Work in Half the Time, Random House Business, 2015.
Kenneth S. Rubin: Essential Scrum: A Practical Guide to the Most Popular Agile Process, Addison Wesley, 2012.
Geoff Watts: Scrum Mastery: From Good To Great Servant-Leadership, Inspect & Adapt Ltd, 2013.
Andrew Stellman, Jennifer Greene: Learning Agile: Understanding Scrum, XP, Lean, and Kanban, O'Reilly Media, 2014.
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.
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.
Mike Cohn: User Stories Applied: For Agile Software Development, Addison-Wesley, 2004.
Jeff Patton: User Story Mapping: Discover the Whole Story, Build the Right Product, O'Reilly Media, 2014.
Jeffrey Whitten, Lonnie Bentley: Systems Analysis and Design Methods (7th Edition), McGraw Hill, 2007.
Per Kroll, Philippe Krutchen: The Rational Unified Process Made Easy: A Practitioner's Guide to Rational Unified Process, Addison-Wesley, 2003 (WNT 2006).
- Witryna www przedmiotu:
- https://usosweb.usos.pw.edu.pl/kontroler.php?_action=katalog2/przedmioty/pokazPrzedmiot&prz_kod=103C-INIMU-MSP-APSI
- Uwagi:
- (-)
Efekty uczenia się