Pracownia Informatyki
Akademia Górniczo - Hutnicza
Wydział Inżynierii Metali i Informatyki Przemysłowej
 
tel.  +48 /0-prefix/ 12 617 20 92, fax. +48 /0-prefix/ 12 617 20 92   ip@agh.edu.pl  
  W sekcji Specjalność SIP zostały umieszczone informacje na temat przedmiotów realizowanych na specjalności Systemy Informatyki Przemysłowej.                  
TREŚCI MERYTORYCZNE - Systemy Informatyki Przemysłowej (SIP)
 
 

 
PROJEKTOWANIE SYSTEMÓW KOMPUTEROWYCH
 
OPIS PRZEDMIOTU:
Treść wykładu skupia się wokół najważniejszych zagadnień związanych z uznanymi sposo-bami na projektowanie i analizę systemów komputerowych. Przedstawiana zostanie metodo-logia projektowania systemów informatycznych w oparciu o język UML z uwzględnieniem wzorców projektowych. Studenci zostaną zaznajomieni z teorią i praktyką programowania ekstremalnego, która jest koncepcją skupiającą się na czynniku ludzkim. Przedmiotem wy-kładu jest również projektowanie systemów czasu rzeczywistego i innych specyficznych ty-pów jak systemy wspierania decyzji oraz symulacje procesów produkcyjnych. W trakcie ćwi-czeń laboratoryjnych studenci tworzą projekty systemów z uwzględnieniem zagadnień pozna-nych na wykładzie.

WYKŁAD:
30 godz.
Wprowadzenie do zagadnienia analizy i projektowania systemów komputerowych: pro-blemy projektowania systemów, dekompozycja funkcjonalna, charakter pracy zespołów pro-gramistycznych (2). Jakość oprogramowania, techniki tworzenia niezawodnych aplikacji, problem detekcji i poprawiania błędów (2). Metodologia projektowania systemów informa-tycznych w oparciu o język UML: algorytm tworzenia modelu przypadków użycia; metody budowy diagram klas (RDD, CRC, DDD); analiza dynamiczna; poprawne tworzenie diagra-mów implementacyjnych oraz diagramów pakietów (4). Mechanizmy rozszerzalności w języku UML: stereotypy, wartości etykietowane, ograniczenia i komentarze (język OCL). Jakość modelu (diagramu): zagadnienia, definicje oraz sposób oceny (2). Zasady projektowania z wykorzystaniem wzorców projektowych: przegląd wzorców projektowych - wzorce kon-strukcyjne, wzorce strukturalne, wzorce czynnościowe (2); zasady projektowania - zasada otwarcia i zamknięcia, zasada projektowania w kontekście, zasada hermetyzacji zmienności, wybór pomiędzy klasą abstrakcyjną a interfejsem; analiza wspólności i zmienności, macierz analizy (2). Extreme programming: podstawowe zasady, grupy i specjalności uczestników procesu projektowania (1). Zagadnienia związane z konceptualizacją systemu: kreowanie wizji systemu, historie użytkowników, testy akceptujące, nazewnictwo (2). Planowanie i jego rola w XP (2). Tworzenie systemu: programowanie parami, testowanie, refaktoryzacja, integrowanie (2). Udostępnianie systemu (1). Projektowanie systemów czasu rzeczywistego: pojęcie systemu czasu rzeczywistego, wymagania dotyczące systemów czasu rzeczywistego, systemy o twardych, miękkich, solidnych wymaganiach czasowych (2). Język LACATRE: obiekty programowalne i konfigurowalne, funkcje pierwotne (funkcje stanu, akcji i synchronizacji). Narzędzie graficzne systemu LACATRE (LA4_G), przykłady tworzonych aplikacji (2). Projektowanie specyficznych typów systemów: informacyjnych, baz danych, wspierania decyzji, zarządzania produkcji, symulacji oraz wizualizacji procesów (2). Zagadnienia zwią-zane z projektowanie systemów współbieżnych, rozproszonych, systemów sieciowych; tech-nologia agentowa (2).

ĆWICZENIA LABORATORYJNE:

ĆWICZENIA PROJEKTOWE:
30 godz.
Określenie głównych założeń oraz wymagań projektowanego systemu. Przyjęcie określonych standardów pracy odnośnie dokumentacji oraz implementacji (2). Analiza funkcjonalna wy-branego systemu, określenie i dokumentowanie modelu przypadków użycia (2). Konstruowa-nie diagramu klas z użyciem metody CRC oraz DDD, uwzględnienie wzorców projektowych (2). Przeprowadzenie analizy dynamicznej systemu - wykonanie diagramu stanów, diagramu aktywności oraz diagramu interakcji (4). Wykonanie diagramów implementacyjnych i wdro-żeniowych (2). Implementacja wybranych elementów systemu w wybranym języku progra-mowania (2). Testowanie oraz usuwanie błędów (2). Ocena wydajności systemu oraz wyko-nanie dokumentacji dla użytkownika (2).Tworzenie oprogramowania z uwzględnieniem zasad programowania ekstremalnego: konceptualizacja systemu (z uwzględnieniem m.in. kart wizji, historii użytkowników) (4); tworzenie systemu (z uwzględnieniem m.in. planowania etapów, iteracji, programowania parami, testowania, refaktoryzacji) (6). Wykonanie szkicu projektu systemu czasu rzeczywistego o wybranej tematyce (2).

AUTORZY OPRACOWANIA:
dr inż. Gabriel Rojek - Wydział Inżynierii Metali i Informatyki Przemysłowej

DOSTĘPNE PODRĘCZNIKI:
 
1. Jacek Płodzień, Ewa Stemposz, Analiza i projektowanie systemów informatycznych, Wydawnictwa PJWSTK, Warszawa 2003
2. Alan Shalloway, James R. Trott, Projektowanie zorientowane obiektowo. Wzorce pro-jektowe, Wydanie II, Helion, Gliwice 2005
3. Allen Holub, Wzorce projektowe. Analiza kodu sposobem na ich poznianie, Helion, Gliwice 2004
4. Martin Fowler i in., Architektura systemów zarządzania przedsiębiorstwem. Wzorce projektowe, Helion, Gliwice 2005
5. Joseph Phillips, Zarządzanie projektami IT, Poznaj najskuteczniejsze metody zarzą-dzania przedsięwzięciami informatycznymi, Helion, Gliwice 2005
6. Steve Maguire, Niezawodność oprogramowania, Helion, Gliwice 2000
7. David Astels, Granville Miller, Miroslav Novak, Extreme programmin, Helion, Gliwice 2002
8. Kent Beck, Wydajne programowanie. Extreme programming, Mikom, Warszawa 2001

  [ do góry ]