Tematy projektów
Transkrypt
Tematy projektów
Inżynieria Oprogramowania II Studia niestacjonarne II stopnia, 2008/2009 Tematy projektów 1. DataBase Modeler Generator skryptów SQL pozwalających na utworzenie relacyjnej bazy danych w wybranym przez użytkownika systemie: MySql, Postgresql, Oracle, itd. Użytkownik powinien w łatwy sposób określić strukturę tabel, relacji, indeksów w tworzonej bazie danych, a następnie zażądać wygenerowania skryptu SQL odpowiadającego zamodelowanej strukturze. ● na ocenę dostateczną – prosty interfejs (np. pola edycyjne); współpraca z jednym systemem baz danych, ● na ocenę dobrą – bardziej zaawansowany interfejs graficzny (np. drzewo struktury bazy danych); współpraca z 2 różnymi systemami baz danych; możliwość wczytywania istniejących skryptów SQL i operowania na uzyskanym na ich podstawie modelu bazy (reverse engeenering), ● na ocenę bardzo dobrą – interfejs graficzny pozwalający na prezentację modelu w postaci symboli tabel i relacji, operowanie na modelu graficznym (przesuwanie, zwijanie tabel, ustalanie relacji); współpraca z co najmniej 2 różnymi systemami baz danych; możliwość wczytywania istniejących skryptów SQL i operowania na uzyskanym na ich podstawie modelu bazy (reverse engeenering), możliwość połączenia z systemem bazy danych i odczytania struktury bazy. 2. Make your own house Aplikacja do aranżacji wnętrz. Proces tworzenia jest bardzo prosty i nie wymaga żadnej specjalistycznej wiedzy. Wystarczy podać wymiary i wybrać kształt pomieszczenia, a następnie nanosić poszczególne meble na zdefiniowaną powierzchnię. Można także umieszczać okna i drzwi. Aplikacja powinna zawierać narzędzia pomocne przy projektowaniu takie jak analiza kolizji elementów, czy też dostawianie do ścian. ● na ocenę dostateczną – wizualizacja w dwóch wymiarach z możliwością korekty ustawienia, przy użyciu myszki oraz zapis i odczyt zdefiniowanych pomieszczeń ● na ocenę dobrą – to co na ocenę dobrą + możliwość drukowania zdefiniowanych pomieszczeń, nakładania tekstur na podłogi oraz ściany, wybierania wersji kolorystycznych i faktury dla mebli ● na ocenę bardzo dobrą – to co na ocenę dobrą + wizualizacja w trzech wymiarach, z możliwością „chodzenia” po zdefiniowanych pomieszczeniach 3. Foreign language helper Aplikacja do wspomagania nauki języków obcych. Umożliwia wprowadzanie nowych słów wraz ich polskim tłumaczeniem. Dodatkowo można wprowadzać zdania z użyciem wybranego słowa oraz pliki graficzne (ustalone formaty). W taki sposób tworzona jest baza danych wiedzy, która użytkownik stara się utrwalić, poprzez następujące ćwiczenia: – tłumaczenie słów z języka obcego na język polski oraz vice versa (możliwość wyboru ilości słów oraz wybieranie ćwiczenia z ustalonej grupy) – uzupełnianie luk w pojedynczych wyrazach, z możliwością podpowiedzi w postaci polskiego tłumaczenia słowa – uzupełnianie luk w wyrazach umieszczonych w zdaniach, z możliwością podpowiedzi w postaci polskiego tłumaczenia słowa – wpisywanie wyrazu w języku obcym poprzez interpretacje pliku graficznego Wszystkie wykonywane zadania są sprawdzane automatycznie, w trybie wybranym przez użytkownika, czyli po całym ćwiczeniu albo też po każdym słowie lub zdaniu. ● na ocenę dostateczną – obsługa języka francuskiego (opracowanie skrótów klawiszowych lub też specjalne „buttony” umożliwiające wpisanie znaków specyficznych dla wspomnianego języka), możliwość obserwacji podstawowych statystyk, czyli np. ilości poprawnych odpowiedzi, możliwość drukowania ćwiczeń, z oraz bez odpowiedzi ● na ocenę dobrą – to co na ocenę dostateczną + obsługa języka niemieckiego oraz system identyfikacji, czyli odseparowane konta i bazy danych dla indywidualnych użytkowników, możliwość zapisu i odczytu bazy danych do pliku i z pliku ● na ocenę bardzo dobrą – to co na ocenę dobrą + przechowywanie statystyk osiąganych wyników i graficzna możliwość ich przedstawienia w wybranym przez użytkownika okresie, generowanie raportów oraz możliwość dołączania plików dźwiękowych, które mogą posłużyć do generowania ćwiczeń rozumienia ze słuchu 4. Please, detect the cheater Aplikacja porównująca dwie aplikacje i określająca stopień podobieństwa. Powinna reagować na zmianę nazwy i kolejności funkcji oraz ich argumentów oraz na zmianę nazwy i kolejność zmiennych. Podstawą do stwierdzenie pewnej części podobieństwa jest taki sam lub bardzo podobny ciąg leksemów o ustalonej długości (możliwość edycji tego parametru) (bardzo podobny to taki w którym nastąpiły jedynie np. zmiany nazwy zmiennych, czy też funkcji). Wizualizacja podobnych elementów kodu, np. tabelka z nazwami plików i liniami gdzie znajdowały się podobne elementy z możliwością ich zaznaczenia i oglądania w dwóch plikach. ● na ocenę dostateczną – kod strukturalny ● na ocenę dobrą – to co na ocenę dostateczną + propozycja alternatywnych funkcji podobieństwa, graficzna prezentacja podobieństwa, możliwość porównywania wielu projektów ● na ocenę bardzo dobrą – to co na ocenę dobrą + kod obiektowy 5. System informowania studentów drogą poczty elektronicznej System powinien umożliwiać wysyłanie wiadomości mailowych z informacjami do studentów (wybranego konkretnego studenta, wybranej grupy, semestru, itp.). Z systemu mogą korzystać pracownicy dziekanatu, sekretariatu katedr, nauczyciele. Użytkownik powinien mieć możliwość zarządzania (tworzenie, modyfikowanie, usuwanie) grup mailowych. Grupa mailowa składa się ze studentów i innych grup mailowych. Należy przewidzieć wygodny interfejs do zarządzania grupami mailowymi, m.in. dodawanie do grupy całej grupy ćwiczeniowej z wybranego semestru. ● na ocenę dostateczną – podstawowa funkcjonalność opisana powyżej, prosty interfejs graficzny, może być aplikacja desktopowa, ● na ocenę dobrą – system zrealizowany jako portal internetowy, import listy studentów z pliku tekstowego (i/lub arkusza kalkulacyjnego), import/eksport wybranych grup mailowych przez użytkownika z/do pliku, ● na ocenę bardzo dobrą – funkcjonalność jak na ocenę dobrą, system powinien być zrealizowany jako usługa sieciowa uruchomiona na serwerze (web service) + moduł klienta graficznego www. 6. Edytor obrazów graficznych SVG Aplikacja pozwalająca na tworzenie nowych i edytowanie odczytanych z dysku obrazów graficznych w formacie svg (ang. Scalable Vector Graphics) ● na ocenę dostateczną – odczytywanie z dysku i wyświetlanie plików svg, proste operacje edycyjne: rysowanie figur geometrycznych, linii, krzywych, zapisywanie obrazów na dysku, ● na ocenę dobrą – to co na ocenę dostateczną + umieszczanie napisów, operacje na obrazie: zmiana jasności, kontrastu, balans kolorów, itp., edycja właściwości poszczególnych warstw ● na ocenę bardzo dobrą – to co na ocenę dobrą + wyświetlanie i możliwość edycji właściwości obiektów w kodzie XML lub możliwość tworzenia grafiki animowanej. (zobacz: http://www.inkscape.org/) Uwaga: Autorzy zadań zastrzegają prawo nieznacznych modyfikacji w trakcie trwania semestru. Modyfikacje te polegają głównie na ściślejszym precyzowaniu wymagań projektu oraz podnoszeniu poziomu tworzonych projektów.