Praca Dyplomowa Magisterska

Transkrypt

Praca Dyplomowa Magisterska
Wprowadzenie
Technologia Wykonania
Przykªady dziaªania
Testowanie
Praca Dyplomowa Magisterska
Internetowa Platform Edukacyjna w Technologii ZOPE
Autor: Jakub Kuropatnicki
Promotor: Dr in». Adam Doma«ski
Politechnika ‘l¡ska
Wydziaª Automatyki, Elektroniki i Informatyki
Kierunek Informatyka
22 wrze±nia 2009
Jakub Kuropatnicki
Praca Dyplomowa Magisterska
Podsumowanie
Wprowadzenie
Technologia Wykonania
Przykªady dziaªania
Testowanie
Podsumowanie
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)
Jakub Kuropatnicki
Praca Dyplomowa Magisterska
Wprowadzenie
Technologia Wykonania
Przykªady dziaªania
Testowanie
Podsumowanie
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.
Jakub Kuropatnicki
Praca Dyplomowa Magisterska
Wprowadzenie
Technologia Wykonania
Przykªady dziaªania
Testowanie
Podsumowanie
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±¢.
Jakub Kuropatnicki
Praca Dyplomowa Magisterska
Wprowadzenie
Technologia Wykonania
Przykªady dziaªania
Testowanie
Podsumowanie
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).
Jakub Kuropatnicki
Praca Dyplomowa Magisterska
Wprowadzenie
Technologia Wykonania
Przykªady dziaªania
Testowanie
Podsumowanie
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.
Jakub Kuropatnicki
Praca Dyplomowa Magisterska
Wprowadzenie
Technologia Wykonania
Przykªady dziaªania
Testowanie
Panel administracyjny serwera Zope
Jakub Kuropatnicki
Praca Dyplomowa Magisterska
Podsumowanie
Wprowadzenie
Technologia Wykonania
Przykªady dziaªania
Testowanie
Widok przykªadowego kursu
Jakub Kuropatnicki
Praca Dyplomowa Magisterska
Podsumowanie
Wprowadzenie
Technologia Wykonania
Przykªady dziaªania
Testowanie
Widok przykªadowego zadania
Jakub Kuropatnicki
Praca Dyplomowa Magisterska
Podsumowanie
Wprowadzenie
Technologia Wykonania
Przykªady dziaªania
Testowanie
Podsumowanie
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.
Jakub Kuropatnicki
Praca Dyplomowa Magisterska
Wprowadzenie
Technologia Wykonania
Przykªady dziaªania
Testowanie
Podsumowanie
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.
Jakub Kuropatnicki
Praca Dyplomowa Magisterska
Wprowadzenie
Technologia Wykonania
Przykªady dziaªania
Testowanie
Podsumowanie
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.
Jakub Kuropatnicki
Praca Dyplomowa Magisterska
Wprowadzenie
Technologia Wykonania
Przykªady dziaªania
Testowanie
Dzi¦kuj¦ za uwag¦
Jakub Kuropatnicki
Praca Dyplomowa Magisterska
Podsumowanie