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.