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