Logo Katedry
Strona główna
Katedra Systemów Mikroelektronicznych, Wydział Elektroniki, Telekomunikacji i Informatyki, Politechnika Gdańska Logo Wydziału
English English version

Projektowanie Oprogramowania Systemów


Zasady prowadzenia i zaliczenia projektu:


Aktualności

Wyniki zaliczenia przedmiotu (2015/2016)

Projekt

Element projektu podlegający ocenie

Przykładowe narzędzia, biblioteki, oprogramowanie

% oceny

Opracowanie wymagań, modele UML
  • zidentyfikować klienta, użytkowników końcowych i inne zainteresowane strony tematu (stakeholders);
  • zgromadzić i przeanalizować szczegółowe wymagania funkcjonalne i pozafunkcjonalne zadań;
  • określić scenariusze użycia i stworzyć nadającą się do czytania specyfikację funkcjonalną;
  • opcjonalnie zawrzeć w niej diagramy UML scenariuszy użycia;
  • stworzyć model UML kluczowych elementów projektowanego rozwiązania;
  • przeanalizować możliwość użycia dodatkowych bibliotek i narzędzi do realizacji zadania;
  • opracować krótką specyfikację techniczną podsumowującą te informacje wraz z harmonogramem pracy;
  • przedstawić specyfikację do zaliczenia;
  • przygotować harmonogram pracy oraz kamienie milowe.
Microsoft Visio

10

Napisanie oprogramowania realizującego przetwarzanie obrazów

Założenia:
  • program uruchamiany z linii poleceń;
  • program z pliku *.ini powinien odczytać ścieżki źródłowe i docelowe (do analizy pliku ini można wykorzystać dowolną darmową bibliotekę, np. iniParser);
  • program odczytuje wszystkie pliki z obrazami ze ścieżki źródłowej;
  • program dokonuje wyrównanie jasności odczytanych obrazów (wielowątkowo), np. na postawie histogramów;
  • przetworzone obrazy zapisujemy w folderze docelowym;
  • w folderze docelowym zapisujemy matrycę miniatur plików źródłowych oraz matrycę miniatur obrazów docelowych (jeden plik zawierać powinien sklejone ze sobą zmniejszone obrazki źródłowe, drugi plik - sklejone obrazki po przetworzeniu, aby można było szybko zobaczyć efekty działania programu).
Proponuję najpierw zapoznać się z poszczególnymi elementami projektu:
  • analiza pliku INI;
  • odczytywanie, zapisywanie i wyświetlanie obrazów w OpenCV;
  • zasady operacji na macierzach/obrazach w OpenCV;
  • wybranie i sprawdzenie metody wyrównania jasności obrazów.
Uwagi dodatkowe:
  • w pliku INI podajemy ścieżkę do folderu z plikami wejściowymi - progam powinien przeczytać wszystkie pliki z tego folderu;
  • program powienien umożliwiać pracę z dużą liczbą plików >500;
  • obrazki miniaturki powinny mieć zachowane proporcje wysokość/szerokość;
Visual Studio 2013 i C/C++ wraz z biblioteką OpenCV

20*

Wykorzystanie narzędzia do pracy grupowej
  • uzyskać dostęp do repozytorium systemu kontroli wersji (zewnętrzny hosting GitHub, Bitbucket.);
  • wyznaczyć osobę odpowiedzialną za utrzymanie porządku w repozytorium (maintainer);
  • zaplanować strukturę repozytorium mając na uwadze używane środowisko IDE, język programowania, dodatkowe artefakty (grafiki UI, specyfikacje itp.).
GIT + GitHub

10

Wykorzystanie systemu śledzenia błędów
  • uzyskać dostęp do repozytorium systemu śledzenia błędów (zewnętrzny hosting GitHub, Bitbucket.);
  • wyznaczyć osobę odpowiedzialną za utrzymanie porządku w repozytorium (maintainer).
  • wykryte podczas cykli testowania błędy raportować do systemu śledzenia błędów;
  • opcjonalnie zastosować metodę test-driven development do zapewnienia jakości;
  • zademonstrować użycie testów jednostkowych do walidacji kluczowych elementów oprogramowania.
Bugzilla

10

Wykorzystanie wątków Windows

10

Wykorzystanie IPC Windows

10

Wykonanie dokumentacji projektu
  • podczas implementacji zaangażować odpowiedni nakład pracy na dokumentowanie API (komentarze zgodne z Doxygen) oraz inne komentarze w kodzie, wyjaśniające szczególnie zagmatwane algorytmy, mechanizmy, zależności;
  • generować dokumentację HTML z komentarzy Doxygen na bieżąco, a nie po zakończeniu projektu;
  • przedstawić dokumentację do zaliczenia.
Doxygen

10

Wykonanie profilowania projektu (hotspot'y)
  • użyć profiler do wykrycia hot spotów w opracowanym programie i przeprowadzić próbę ich optymalizacji.
Visual Studio Profiler

10

Wykonanie wykrywania wycieków pamięci
  • np. korzystając z makra _ASSERTE( _CrtCheckMemory( ) ); w trybie DEBUG sprawdzić integralność danych programu.
Visual Studio + CrtCheckMemory

10

* = Warunek konieczny. Do zaliczenia przedmiotu wymagane jest poprawne działanie oprogramowania.
Powyższą specyfikację opracowano w oparciu o materiały mgr inż. A. Ciarkowskiego.

Oprogramowanie dostępne w laboratorium:


Materiały dodatkowe: