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