====== Studio Projektowe 2 ====== Tweety na temat @wojnickiAgh Grupy projektowe maksymalnie 2-osobowe. Termin konsultacji projektowych: wtorek 13:00. Projekty relizowane są z wykorzystaniem: https://gitlab.kis.agh.edu.pl/ ===== Tematy ===== ==== Temat 1 ==== Narzędzie wspierające grupową ocenę architektury oprogramowania za pomocą metody ATAM (kontunuacja/rozwinięcie tematu od dr Szweda z zeszłego roku). Celem projektu jest realizacja internetowej aplikacji wspierającej ocenę architektury oprogramowania za pomocą metody ATAM. Funkcjonalność obejmuje: * Definiowanie bodźców biznesowych (głosowanie uczestników) * Wybór atrybutów jakości (edytowalny słownik) * Konstrukcja drzewa użyteczności (w tym definicja scenariuszy) oraz nadanie im priorytetów (głosowanie) * Definicja elementów architektury i ich powiązań. Należy przewidzieć możliwość importu z programu Archi (format CSV) * Ilustrację architektury za pomocą diagramów (przesyłanie plików PNG) * Konstrukcja macierzy SIM (wpływu scenariuszy na elementy architektury) * Konstrukcja macierzy ADM (decyzji architektonicznych) * Wypełnienie szablonu oceny Technologie: PHP lub inne (lekkie), wymienny backend BD: SQLite/PostgreSQL. ==== Temat 2 ==== Strona Katedry Informatyki Stosowanej http://www.kis.agh.edu.pl jest stworzona przy pomocy systemu DokuWiki. Każdy z Pracowników Katedry posiada konto w systemie, uwierzytelnianie przeprowadzane jest przez wtyczkę IMAP względem serwera poczta.agh.edu.pl, a więc dostęp możliwy jest dla osób posiadających zarówno konta pracownicze, jak i studenckie. Celem projektu jest wdrożenie wtyczki //data// tak, aby globalnie mogły być gromadzone ustrukturalizowane informacje (szczegóły poniżej), a także skonfigurowanie systemu kontroli dostępu (ACL) oraz moderowania tak, aby pracownicy mogli sami uzupełniać informacje ich dotyczące, oraz aby zmiany mogły być zatwierdzane przez wyznaczonych moderatorów. Na stronie będą gromadzone następujące dane: * pracownicy – wraz z danymi teleadresowymi, godzinami konsultacji, krótką notką biograficzną, zainteresowaniami naukowymi, edytowane przez pracowników i zatwierdzane przez moderatora, * tematy prac dyplomowych – dowiązane do pracowników, zawierające informacje o tytule polskim i angielskim, typie pracy (magisterska/inżyniesrka), liczbie osób realizujących, celach pracy (krótki opis) i specjalnych wymaganiach dot. dyplomantów, * grupy badawcze – wraz z przypisanymi pracownikami (relacja m:n ), oraz z opisem grupy, * publikacje – z listą autorów (referencje do pracowników Katedry lub autorzy zewnętrzni), tytułem i innymi polami jak we wpisach BibTeX. Dane te mogą być zbierane np. na stronie/stronach w prywatnej przestrzeni nazw każdego użytkownika (jako elementy //dataentry//), a następnie zbierane przez wtyczkę //data// i publikowane w formie //datatable// lub //datalist//. Edycja może przebiegać poprzez formularze (wbudowane wtyczki //data// lub np. //bureaucracy//). Elementem, który musi zostać dodany jest proces zatwierdzania zmian po edycji zanim zostaną one opublikowane (zob. wtyczka //publish//). **rezerwacja: Michał Struś ** ==== Temat 4 ==== Implementacja hybrydowej metody (wavefront planning: [[http://www.cs.tufts.edu/comp/150IR/labs/wavefront.html]] + A*: [[http://en.wikipedia.org/wiki/A*_search_algorithm]]) poszukwania rozwiązania przy planowaniu trasy dla wielu bytów, oraz przeprowadzenie testów proponowanego rozwiązania. - zaiplementować metodę wavefront planning dla wielu bytów oprogramowanie powinno być ogólne umożlwiiające definiowanie zasad poruszania się bytów np. 4 byty w przestrzeni 2D, poruszające się zgodnie z def. sąsiedztwa von Neumana, - jak wyżej ale dla A* - połączyć powyższe rozwiązania tj. A* a dla obszarów w których może zajść kolizja dodatkowo alternatywne plany za pomocą wavefront. ==== Temat 5 ==== Rozbudowa systemu [[http://redmine.org|Redmine]] poprzez stworzenie wtyczki/wtyczek oferujących odpowiednie funkcje. Konieczna zanajomość Ruby-on-Rails. === 5.1 Kalendarze === * serwer calDAV * możliwość założenia przez użytkownika więcej niż 1-go kalendarza * definiowanie delegatow, wgląd do kalendarza dla innych uzytkowników (r/rw) * podgląd free/busy * wysyłanie zaproszeń do użytkownków lokalnych i zdalnych (nie zarejestrowanych w systemie) * integracja z istniejacym kalendarzem redmine (widoczne terminy rozpoczęcia, zakończenia zadań), * można wykorzystać np. DAViCal http://www.davical.org/ === 5.2 WebODF === * edycja dokumentow ODF on-line http://webodf.org/ * wersjonowanie * blokowanie dostepu - tylko 1 uzytkownik na raz * przeszukiwnie/indeksowanie dokumentów * edycja kolaboratywna === 5.3 Głosowanie na terminy np. spotkań === * interfejs zbliżony do Scheduleonce: http://www.scheduleonce.com/ * integracja z kalendarzem (wysłanie zaproszenia) lub zagadnieniami (generacja daty rozpoczęcia/zakończenia zagadnienia). === 5.4 CRM === * baza kontrachentów (naukowców, przedsiębiorców) - profile opisane różnymi informacjami (realizowane projekty, publikacje, zainteresowania, inne), możliwość wyszukiwania po różnych kluczach (np. wg nazwiska, wg zainteresowań itd.), baza z danymi - po wyszukaniu wyświetlenie ładnego profilu kontrahenta, * wygodne wprowadzanie danych (formularz? tak,żeby kontrahenci mogli też sami wygodnie dokonywać korekt?) * dane kontaktowe, * import/eksport csv * wysyłanie wiadomości do kontrahentów również grupowe, * definiowanie powiązań pomiędzy kontrahentami i projektami * możliwość zautomatyzowanego poszukiwania powiązań między zainteresowaniami gmin/przedsiębiorstw i naukowców * projekty wraz z opisem działań * powiązania z wiki i zadaniami * możliwość komponowania arkuszy sprawozdawczych, np. dane kontaktowe firmy, osoba kontaktowa, status kontaktów - baza przedsiębiorców, nazwa firmy i podjęte działanie - do arkusza sprawozdawczości o podejmowanych wspólnie działaniach (krótko mówiąc stworzenie baz dotyczących różnych aspektów związanych z naszymi partnerami powiązanych we właściwy sposób) ==== Temat 6 ==== System sterowania oświetleniem zewnętrznym Celem pracy jest projekt i impelmentacja systemu do sterowania oświetleniem zewnętrznym. Zakładanym wejściem są: zbiory parametrów punktów świetlnych określające położenie i możliwości sterowania (dostępne profile oświetleniowe) oraz dane sensoryczne takie jak: natężenie ruchu, pora dnia, obecność, pogoda. Spodziewanym rezultatem jest informacja sterująca dla konkretnych punktów świetlnych, zmieniająca się wraz z napływem danych sensorycznych. Zależności pomiędzy profilami oświetleniowymi, a sensorami tj. logika sterująca dana jest w postaci grafów. Zakłada się, że interfejsy dla fizycznych urządzeń tj. lamp i sensorów są dane. Proponowane rozwiązanie winno być skalowalne przynajmniej w zakresie od 1 do 30000 punktów świetlnych. Sugerowane wykorzystanie [[http://code.google.com/p/gama-platform/|Gamma Platform]]. ==== Temat 7 ==== Wizualizacja dwuwymiarowa systemu oświetleniowego Celem pracy jest projekt i impelmentacja oprogramowania do wizualizacji sterowania oświetleniem zewnętrznym. Zakładanym wejściem są: zbiory parametrów punktów świetlnych określające położenie i możliwości sterowania (dostępne profile oświetleniowe) oraz dane sensoryczne takie jak: natężenie ruchu, pora dnia, obecność, pogoda. Spodziewanym rezultatem jest mapa dwuwymiarowa uwzględniająca dystrybucję punktów świetlnych reagujących interaktywnie na zmieniające się informacje pochodzące z sensorów. Zależności pomiędzy profilami oświetleniowymi, a sensorami tj. logika sterująca dana jest w postaci grafów. Zakłada się, że interfejsy dla fizycznych urządzeń tj. lamp i sensorów są dane. Proponowane rozwiązanie winno być skalowalne przynajmniej w zakresie od 1 do 30000 punktów świetlnych. Mapa może być zrealizowana w oparciu o Open Street Map: http://www.openstreetmap.org/ ==== Temat 8 ==== Wizualizacja trójwymiarowa systemu oświetleniowego Celem pracy jest projekt i implementacja oprogramowania do wizualizacji sterowania oświetleniem zewnętrznym. Zakładanym wejściem są: zbiory parametrów punktów świetlnych określające położenie i możliwości sterowania (dostępne profile oświetleniowe) oraz dane sensoryczne takie jak: natężenie ruchu, pora dnia, obecność, pogoda. Spodziewanym rezultatem jest scena trójwymiarowa uwzględniająca dystrybucję punktów świetlnych reagujących interaktywnie na zmieniające się informacje pochodzące z sensorów. Zależności pomiędzy profilami oświetleniowymi, a sensorami tj. logika sterująca dana jest w postaci grafów. Zakłada się, że interfejsy dla fizycznych urządzeń tj. lamp i sensorów są dane. Proponowane rozwiązanie winno być skalowalne przynajmniej w zakresie od 1 do 30000 punktów świetlnych. ==== Temat 9 ==== Sterowanie oświetleniem zewnętrznym Celem pracy jest projekt i impelmentacja systemu do sterowania oświetleniem zewnętrznym. Zakładanym wejściem są: zbiory parametrów punktów świetlnych określające położenie i możliwości sterowania (dostępne profile oświetleniowe) oraz dane sensoryczne takie jak: natężenie ruchu, pora dnia, obecność, pogoda. Spodziewanym rezultatem jest informacja sterująca dla konkretnych punktów świetlnych, zmieniająca się wraz z napływem danych sensorycznych. Zależności pomiędzy profilami oświetleniowymi, a sensorami tj. logika sterująca dana jest w postaci grafów. Zakłada się, że interfejsy dla fizycznych urządzeń tj. lamp i sensorów są dane. Proponowane rozwiązanie winno być skalowalne przynajmniej w zakresie od 1 do 30000 punktów świetlnych. Platforma: Erlang/OTP.