Internetowa Platform Edukacyjna w Technologii ZOPE Autor: Promotor: Dr in». Adam Doma«ski Politechnika l ska Wydziaª Automatyki, Elektroniki i Informatyki Kierunek Informatyka 22 wrze±nia 2009
Dlaczego nowa platforma edukacyjna? Cechy platformy uproszczenia, intuicyjny interfejs, automatyzacja pewnych procesów, mo»liwo± podziaªu na grupy, sekcje oraz podsekcje, moduª ocenienia (zaliczenie czy ocena), rozwi zanie dedykowane. Przykªady ±rodowisk E-learningowych - technologia wykonania Moodle - PHP Caroline - PHP OLAT - Java FLE3 - Python (Zope2)
Zaªo»enia funkcjonalne 1. peªna kontrola zarejestrowanych w systemie u»ytkowników, 2. mo»liwo± dodawania, modykowania oraz usuwania kursów, 3. elastyczne mo»liwo±ci zwi zane z personalizacj kursu oraz podziaªem na grupy, sekcje i podsekcje, 4. tworzenie i konguracja zada«, quizów oraz wiadomo±ci w obr bie kursu, 5. mo»liwo± ªatwego ustalania formuªy oceny ko«cowej z kursu (±rednia wa»ona), 6. zapewnienie bezpiecze«stwa przechowywanych danych i prywatno±ci u»ytkowników, 7. ªatwa instalacja i szybkie tworzenie kopii zapasowych.
Dodatkowe wymagania 1. mo»liwo± dynamicznego przypisywania atrybutów u»ytkownikom, 2. podziaª u»ytkowników ze wzgl du na role (w tym równie» `lokalne'), 3. zarz dzanie nauczycielami oraz studentami w obr nie kursu, 4. mo»liwo± rozbudowy aplikacji o dodatkow funkcjonalno±.
Dlaczego Zope? rozbudowany serwer aplikacji napisany w j zyku Python, mo»liwo± korzystania z gotowych komponentów (Zope API, ZEO, AclUsers), zintegrowana obiektowa, hierarchiczna i transakcyjna baza danych, wsparcie dla systemu szablonów ZPT i DTML, wspóªpracuje z ró»nymi systemami operacyjnymi, mo»liwo± pisania aplikacji w formie wtyczek (ang. plug-in), komercyjne rozwi zanie na wolnej licencji (Zope Public License).
Wykorzystana technologia wzorzec projektowy MVC (Model-Widok-Kontroler), Python - j zyk programowania w warstwie kontrolera, Zope API, obiektowa baza danych - ZODB, j zyk DTML (Document Template Markup Language) - w warstwie prezentacji, ±rodowisko Eclipse IDE + PyDev.
Panel administracyjny serwera Zope
Widok przykªadowego kursu
Widok przykªadowego zadania
Metody Testowania 1 Python Unit Testing Framework moduª unittest jest cz ±ci dystrybucji j zyka Python od wersji 2.1 wzwy», testowanie równolegªe z pisaniem kodu programu, testy werykuj ce poprawno± dziaªania metod pojedynczych klas, sprawdzenie prawidªowego wspóªdziaªania poszczególnych moduªów, peªna automatyzacja procesu testowania, szybka lokalizacja bª dów.
Metody Testowania 2 Scenariusze testowe poprawno± przepªywu ±cie»ek sterowania dla poszczególnych akcji i widoków, skuteczno± mechanizmów kontroluj cych uprawnienia u»ytkowników i dostepu do zasobów, odporno± na `zªo±liwe' dziaªanie u»ytkownika, reakcja na manipulacji parametrami w adresie URL.
Podsumowanie Zdobyta wiedza i do±wiadczenie oraz perspektywy rozwoju nauczenie si nowej technologii, szybkie tworzenie aplikacji internetowych, du»e mo»liwo±ci dalszego rozwoju aplikacji. Ocena wyboru technologii Python, w peªni obiektowa baza danych, Open Source.
Dzi kuj za uwag