inżynieria oprogramowania - Akademia Morska w Szczecinie
Transkrypt
inżynieria oprogramowania - Akademia Morska w Szczecinie
INŻYNIERIA OPROGRAMOWANIA Przedmiot: Jednostka prowadząca kierunek Akademia Morska w Szczecinie Wydział Nawigacyjny Kierunek NAWIGACJA Specjalność MORSKIE SYSTEMY INFORMATYCZNE Tryb studiów Stacjonarne PLAN ZAJĘĆ PROGRAMOWYCH Semestr Liczba tygodni Liczba godzin w tygodniu Liczba godzin w semestrze w semestrze A C L A C L IV 15 1 1 15 15 ECTS 2 V 15 1 1 15 15 2 VII 15 1E 1 15 15 2 Założenia i cele przedmiotu Po realizacji przewidzianych programem zajęć audytoryjnych i laboratoryjnych student powinien: Znać Struktury danych, koszt i rząd kosztu przetwarzania struktur. Podstawowe zestawy algorytmów realizujących zadania wyszukiwania, sortowania, itp. Pojęcia programowania obiektowego. Techniki programowania zaawansowanego, programowanie równoległe, sieciowe. Cykl życia systemów informatycznych i jego etapy. Metody analizy i projektowania systemów informatycznych. Narzędzia komputerowego wspomagania tworzenia oprogramowania. Zagadnienia wdrażania i eksploatacji systemów informatycznych. Umieć Stosować różnorodne typy danych oraz algorytmy w zależności od klasy problemu. Wykorzystując metody obiektowe zamodelować problemy do rozwiązania i wykonać program. Tworzyć programy sieciowe. Analizować i projektować systemy informatyczne. PROGRAM ZAJĘĆ SEMESTR IV INŻYNIERIA OPROGRAMOWANIA AUDYTORYJNE 15 GODZ. BLOK: ALGORYTMY I STRUKTURY DANYCH 1. Typy danych: typy proste, kolekcje i kolekcje indeksowane. 2. Liniowe struktury danych: listy jednokierunkowe i dwukierunkowe, pierścienie, stosy, kolejki i kolejki priorytetowe. 3. Algorytmy sortowania: Insertion Sort, Selection Sort, Bubble Sort, Quicksort, Merge Sort, Heap Sort, Straight Radix Sort, Radix Exchenge Sort, Shell Sort. 4. Algorytmy wyszukiwania: wyszukiwanie liniowe, binarne, interpolacyjne, z podziałem Fibonacciego, zastosowania funkcji mieszającej (ang. hashing). 5. Drzewa: drzewa binarne, Binary Tree Sort, drzewa o dowolnej liczbie następników, AVL, B, BB, SBB. 6. Grafy: metody implementacji grafów, przeglądanie w głąb (DFS), przeglądanie wszerz (BFS), algorytm badania osiągalności węzłów, wyznaczenie wszystkich ścieżek, wyszukiwanie najkrótszej ścieżki w grafie, algorytm Dijkstry. SEMESTR IV INŻYNIERIA OPROGRAMOWANIA LABORATORYJNE 15 GODZ. BLOK: ALGORYTMY I STRUKTURY DANYCH 1. Uzupełnienie przygotowanych szkieletów implementacji określonych typów danych przy pomocy różnych struktur danych. 2. Rozwiązywanie praktycznych problemów z zakresu programowania. 3. Kodowanie w języku programowania algorytmów (zgodnie z aksjomatami) przetwarzania struktur danych 4. Testowanie oprogramowania. SEMESTR V INŻYNIERIA OPROGRAMOWANIA BLOK: PROGRAMOWANIE OBIEKTOWE 1. Różnica między podejściem strukturalnym i obiektowym. AUDYTORYJNE 15 GODZ. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Pojęcie klasy, obiektu. Składowe obiektu (metody, pola). Wprowadzenie środowiska obiektowego. Tworzenie klas i obiektów (konstruktory). Hermetyzacja, przeciążanie metod i konstruktorów. Metody statyczne. Klasy wewnętrzne. Kompozycja i dziedziczenie jako metody konstruowania nowych klas. Typy w dziedziczeniu. Polimorfizm. Typy interfejsowe. Mechanizm wyjątków. SEMESTR V INŻYNIERIA OPROGRAMOWANIA LABORATORYJNE 15 GODZ. AUDYTORYJNE 15 GODZ. BLOK: PROGRAMOWANIE OBIEKTOWE 1. Sterowanie. 2. Dziedziczenie. 3. Obsługa błędów. 4. Kolekcje obiektów. 5. Operacje wejścia i wyjścia. 6. Równoległość. 7. Interfejs graficzny. 8. Programy sieciowe. 9. Komunikacja. SEMESTR VII INŻYNIERIA OPROGRAMOWANIA BLOK: PROJEKTOWANIE I BUDOWA SYSTEMÓW INFORMATYCZNYCH 1. Ogólna charakterystyka analitycznych metod projektowania systemów informatycznych i ich krótki przegląd. 2. Projektowanie strukturalne systemów informatycznych. 3. Projektowanie obiektowe systemów informatycznych. 4. Konstruowanie relacyjnych modeli baz danych. 5. Metody zarządzania projektami informatycznymi – diagramy Gantta, model PERT/CPM. 6. Wybrane problemy konstrukcji i wdrażania systemów informatycznych. 7. Podstawy projektowania i realizacji systemów informatycznych – fazy realizacji projektu, etapy projektowania, analizy przepływu informacji, projekt bazy danych, specyfikacja środowiska sprzętowego i oprogramowania, określenie wymagań kadrowych, projekty aplikacji systemu, określenie kosztów wykonania systemu, opracowanie harmonogramu tworzenia i wdrażania. SEMESTR VII INŻYNIERIA OPROGRAMOWANIA LABORATORYJNE 15 GODZ. BLOK: PROJEKTOWANIE I BUDOWA SYSTEMÓW INFORMATYCZNYCH 1. Narzędzia CASE, RAD. 2. Diagramy: (DFD), (ERD), (STC), (STD), słownik danych (DD). 3. Projekt wybranego systemu informatycznego przedsiębiorstwa (organizacji) z wykorzystaniem narzędzi CASE. Literatura podstawowa 1. Cantu M., Delphi 7 – praktyka programowania, Wydawnictwo Mikom, 2003 2. Górski J., Inżynieria oprogramowania w projekcie informatycznym, Mikom, Warszawa 1999 3. Graham, Metody obiektowe w teorii i w praktyce, WNT, 2004 4. Harel D., Rzecz o istocie informatyki – Algorytmika, WNT, 2000 5. Marciniak A., Borland Delphi 5 Professional – Object Pascal, Wydawnictwo NAKOM, 2000 6. Martin J., Odell J.J., Podstawy metod obiektowych, WNT, 1997 7. Sommerville, Inżynieria oprogramowania, WNT 2003 8. Wirth N., Algorytmy + Struktury danych = Programy, WNT, 1999 2 Literatura uzupełniająca 1. Booch G., Rumbaugh J., Jacobson I., UML przewodnik użytkownika, WNT, 2002 2. Kierzkowski A., Turbo Pascal. Ćwiczenia praktyczne, Wydawnictwo Helion 2006 3. Orłowski A., Delphi 2006. Ćwiczenia praktyczne, Wydawnictwo Helion, 2006 4. Pamuła T., Aplikacje w Delphi. Przykłady, Wydawnictwo Helion, 2006 5. Stephens R., Algorytmy i struktury danych z przykładami w Delphi, Wydawnictwo Helion, 2000 6. Wrycza S., Marcinkowski B., Wyrzykowski K., Język UML 2.0 w modelowaniu systemów informatycznych, Helion, 2005 3