studia magisterskie wieczorowe AIPSI NSWM
Transkrypt
studia magisterskie wieczorowe AIPSI NSWM
Załącznik Data: 19.09.2009r. Wydanie: I Symbol: Z-5.4-1-1 Strona: Status: obowiązujący 1/4 KARTA PRZEDMIOTU KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010 Nazwa przedmiotu: Analiza i projektowanie Kod/nr systemów informatycznych Kierunek: INFORMATYKA Specjalność: Tryb studiów: Wieczorowe studia II-go stopnia (magisterskie) Niestacjonarne Studia Wieczorowe Magisterskie (NSWM) Rodzaj przedmiotu: Instytut/ Katedra: Semestr: Prowadzący przedmiot: Prowadzący zajęcia: kierunkowy Liczba pkt ECTS 6 Instytut Informatyki / Zakład Teorii Informatyki I i II Dr inż. Piotr Bajerski Liczba godzin Wykład: dr inż. Dariusz Augustyn Wykład: 30 Ćwiczenia: Ćwiczenia: Laboratorium: 30 Laboratorium: Projekt: dr inż. Piotr Bajerski Seminarium: dr inż. Łukasz Wyciślik mgr inż. Sławomir Bańkowski Projekt: Seminarium: Powiązanie ze standardami i cel kształcenia Grupa treści kierunkowych 1. Kształcenie w zakresie modelowania i analizy systemów informatycznych. Cechy systemów informatycznych i związanych z nimi artefaktów. Wybrane metody modelowania i ich zastosowanie. Wybrane metody analizy systemów informatycznych i związanych z nimi artefaktów. Celem przedmiotu jest umożliwienie studentom nabycia umiejętności i kompetencji w zakresie analizowania cech systemów informatycznych oraz konstruowania modeli systemów informatycznych i umiejętnego posługiwania się nimi. Szczególny nacisk kładziony jest na stosowanie języka UML oraz poprawne wykorzystywanie wzorców projektowych i architektonicznych. Przedmioty wprowadzające oraz wymagania wstępne Inżynieria Oprogramowania, Bazy Danych Załącznik Data: 19.09.2009r. Wydanie: I Status: obowiązujący Symbol: Z-5.4-1-1 Strona: 2/4 KARTA PRZEDMIOTU Treść wykładów: Wprowadzenie. Cechy systemów informatycznych i związanych z nimi artefaktów. Klasyczne modele procesów wytwarzania oprogramowania. Rational Unified Process (RUP). Zasady zwinnego wytwarzania oprogramowania (ang. Agile Software Development), XP (ang. Extreme Programming) i SCRUM. Inżynieria wymagań. Klasyfikacja wymagań. Zarządzanie wymaganiami. Atrybuty wymagań. RequisitePro jako przykład narzędzia wspierającego dokumentację i zarządzanie wymaganiami. Dokument wizji (RUP). Łączenie wymagań z innymi artefaktami projektu (ang. traceability). Zasady tworzenia i wykorzystywania modelu przypadków użycia. Wybrane metody modelowania systemów informatycznych. Modelowanie biznesowe (BPMN i BPEL). Modelowanie obiektowe i strukturalne. UML. Diagramy klas, interakcji, aktywności, maszyny stanowej, pakietów i wdrożeniowe. Zasady doboru diagramów UML i zapisu powiązań pomiędzy ich elementami. Tworzenie modeli analitycznych, projektowych i implementacyjnych w UML. Generacja kodu na podstawie modeli w UML. Zastosowania narzędzi CASE. Klasyczne wzorce projektowe: adapter, brama, dekorator, fabryki, fasada, kompozyt, interfejs oddzielony, mediator, most, metoda szablonowa, odwiedzający, obserwator, pamiątka, pełnomocnik, polecenie, pula obiektów, pyłek, rejestr, przypadek szczególny, singleton, stan, strategia, usługa zastępcza. Zasady stosowania wzorców projektowych. Modelowanie architektury systemów informatycznych. Warstwowa budowa systemów informatycznych. Specyfikacja architektury w oparciu o „4+1 View Model” z RUP. Koncepcja architektury sterowanej modelami (ang. Model Driven Architecture; MDA). Wzorce i zręby architektury aplikacji korporacyjnych. Wzorce logiki dziedziny. Wzorce architektury źródła danych. Wzorce prezentacji. JPA oraz Hibernate i TopLink jako przykłady zastosowania wzorców mapowania obiektowo-relacyjnego w dostępie do baz danych. Wprowadzenie do EJB 3.0. Architektura serwerów aplikacyjnych. Projektowanie usług sieciowych (ang. Web Services). SOA, ROA i SaaS. Integracja korporacyjnych systemów informatycznych. Wzorce projektowe w systemach przesyłu komunikatów. ESB. Zapewnienie jakości w procesie wytwarzania oprogramowania – modele ISO 9000 i SEI CMMI. Testowanie systemów informatycznych. Testy jednostkowe, integracyjne, obciążeniowe, wydajnościowe i akceptacyjne. Automatyzacja testów. Zastosowanie ciągłej integracji (ang. Continuous Integration) w procesie wytwarzania oprogramowania. Szacowanie kosztu i pracochłonności oprogramowania – model COCOMO i metoda punktów przypadków użycia. Załącznik Data: 19.09.2009r. Wydanie: I Symbol: Z-5.4-1-1 Strona: Status: obowiązujący 3/4 KARTA PRZEDMIOTU Treść/Tematy: Laboratoriów Laboratorium składa się z 6 ćwiczeń. Wszystkie 6 spotkań jest poświęconych analizie i projektowaniu jednego systemu informatycznego. 1. Analiza wymagań. Tworzenie dokumentu wizji i słownika terminologii na postawie szablonów z RUP. Dokumentowanie zależności między wymaganiami. 2. Modelowanie przypadków użycia. Powiązanie przypadków użycia z wymaganiami. Specyfikacja wybranego przypadku użycia w oparciu o szablon dokumentu z RUP oraz za pomocą diagramów aktywności. 3. Model analityczny. Specyfikacja realizacji wybranego przypadku użycia na poziomie analitycznym. 4. Opracowanie architektury systemu w oparciu o „4+1 View Model”. Użycie wzorców architektonicznych. Projekt warstwy dziedziny. 5. Specyfikacja realizacji wybranego przypadku użycia na poziomie projektowym. Rozbudowanie diagramów klas dla warstw: prezentacji, aplikacji, dziedziny i zasobów. Użycie wzorców projektowych. Wykorzystanie diagramu zmian stanów do opisu zachowania klas. 6. Przegląd i refaktoryzacja projektu. Uaktualnienie powiązań pomiędzy wytworzonymi artefaktami. Generacja schematu bazy danych oraz fragmentów aplikacji. Na laboratorium są wykorzystywane narzędzia IBM-Rational: RequisitePro, Rational Software Architect i Rational Data Architect. Metody dydaktyczne Wykład uzupełniany slajdami i pokazami komputerowymi. Forma egzaminu/zaliczenia przedmiotu 1. Wykład — Kolokwium pisemne i aktywność na zajęciach. 2. Laboratorium — Realizacja programu laboratorium i aktywność na zajęciach. Minimalne wymagania do zaliczenia Umiejętność konstruowania i posługiwania się analitycznymi, projektowymi implementacyjnymi modelami systemów informatycznych. Znajomość UML. i Znajomość klasycznych modeli procesów wytwarzania oprogramowania oraz zasad RUP, XP, SCRUM i wytwarzania sterowanego testami. Znajomość podstawowych wzorców projektowych, zależności między nimi oraz zasad ich stosowania. Umiejętność użycia narzędzi CASE do tworzenia modeli UML oraz generacji na ich podstawie kodu aplikacji i schematu bazy danych. Załącznik Data: 19.09.2009r. Wydanie: I Status: obowiązujący Symbol: Z-5.4-1-1 Strona: 4/4 KARTA PRZEDMIOTU Literatura (podstawowa i specjalistyczna) Literatura podstawowa: 1. Sommerville I.: Inżynieria oprogramowania. WNT, Warszawa, 2003 (tłumaczenie 6 wydania Software Engineering, Addison-Wesley 2001; polecane wydanie 8, AddisonWesley 2007). 2. S. Wrycza, B. Marcinkowski, K. Wyrzykowski: Język UML 2.0 w modelowaniu systemów informatycznych. Helion, Gliwice, 2005. 3. Gamma E., Helm R., Johnson R., Vlissides J.: Wzorce projektowe. WNT, Warszawa, 2005. 4. Fowler M, Rice D., Foemmel M., Hieatt E., Mee R., Stafford R.: Architektura systemów zarządzania przedsiębiorstwem. Wzorce projektowe. Helion, Gliwice, 2005. Literatura specjalistyczna: 1. Erl T..:SOA Design Patterns. Prentice Hall, 2009. 2. Hohpe G., Woolf B.: Enterprise Integration Patterns. Designing, Building and Deploying Messaging Solutions. Addison-Wesley 2004. 3. Kroll P., Kruchten P.: Rational Unified Process od strony praktycznej. WNT, Warszawa, 2007. 4. Beck K., Andres C.: Wydajne programowanie. eXtreme Programming. MIKOM, Warszawa, 2006. 5. Leffingwell D., Widrig D.: Zarządzanie wymaganiami. WNT, Warszawa, 2003. 6. Schneider G., Winters J.: Stosowanie przypadków użycia. WNT, Warszawa, 2004. 7. Meszaros G.: xUnit Test Patterns. Refactoring Test Code. Addison-Wesley 2007. Zatwierdzono: ……………………………. ………………………………………………… (data i podpis prowadzącego) (data i podpis Dyrektora Instytutu/Kierownika Katedry)