APLIKACJA KLIENT-SERWER DO SPORZĄDZANIA I PRZEPROWADZANIA TESTÓW ONLINE - METODYKA ROZWOJU I OPISU APLIKACJI Z WYKORZYSTANIEM UML



Podobne dokumenty
IX Konferencja Informatyki Stosowanej

REFERAT PRACY DYPLOMOWEJ

Diagramy przypadków użycia. WYKŁAD Piotr Ciskowski

REFERAT PRACY DYPLOMOWEJ

Podstawy programowania III WYKŁAD 4

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji

REFERAT O PRACY DYPLOMOWEJ

PRZEWODNIK PO PRZEDMIOCIE

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

PRZEWODNIK PO PRZEDMIOCIE

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

Specyfikacja wymagań systemowych (może podlegać edytowaniu na kolejnych etapach)

Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08

PRZEWODNIK PO PRZEDMIOCIE

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Instrukcja zarządzania kontami i prawami. użytkowników w systemie express V. 5

Instrukcja obsługi/instalacji platformy Krok w Przedsiębiorczość Administrator platformy

UML w Visual Studio. Michał Ciećwierz

PRZEWODNIK PO PRZEDMIOCIE

Dokument Detaliczny Projektu

Plan wykonania systemu ISOiWUT

SVN. 10 października Instalacja. Wchodzimy na stronę i pobieramy aplikację. Rysunek 1: Instalacja - krok 1

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: Aukcjomat

System epon Dokumentacja użytkownika

Język UML w modelowaniu systemów informatycznych

Prezentacja programu. Parentis Sp. z o.o. Dział Informatyki. Kartoszyno, ul. Przemysłowa 5, Krokowa

REFERAT O PRACY DYPLOMOWEJ

KARTA MODUŁU KSZTAŁCENIA

REFERAT PRACY DYPLOMOWEJ

Instrukcja obsługi systemu zarządzania treścią dwajeden.pl

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

Wykład Ćwiczenia Laboratorium Projekt Seminarium

1. Ogólne informacje o platformie edukacyjnej

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Instrukcja zamawiania usług systemu ASG-EUPOS za pomocą Portalu PZGiK

Egzamin / zaliczenie na ocenę*

Platforma e-learningowa

OPIS PRZEDMIOTU ZAMÓWIENIA

Podstawy modelowania programów Kod przedmiotu

Projekt aplikacji internetowej specyfikacja wymagań (cz.1)

APLIKACJE KLIENT-SERWER Client-Server Applications Forma studiów: Stacjonarne Poziom kwalifikacji: I stopnia. Liczba godzin/tydzień: 2W, 2L

Tytuł pracy: PRACA MAGISTERSKA AUTOR: KRAKÓW, Marzec 2011 Promotor pracy :

Do wersji Warszawa,

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor

E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL.

Sage Migrator 2019.e Migracja do Sage 50c wersja 2019.a i 2019.b

Wykład 1 Inżynieria Oprogramowania

Referat pracy dyplomowej

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

ELEKTRONICZNA KSIĄŻKA ZDARZEŃ

PRZEWODNIK PO PRZEDMIOCIE

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Instrukcja użytkownika

System generacji raportów

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Dokument Detaliczny Projektu

APLIKACJA ZIELONA FIRMA DLA PRACOWNIKÓW FIRMY PRINT & DISPLAY (POLSKA) SP Z O.O.

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

Instrukcja uaktualnienia AdRem NetCrunch z wersji 5.3 do 6.x

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Instalacja systemu zarządzania treścią (CMS): Joomla

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2

Wyższa Szkoła Bankowa we Wrocławiu

Analiza i projektowanie aplikacji Java

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Zalogowanie generuje nowe menu: okno do wysyłania plików oraz dodatkowe menu Pomoc

Narzędzia Informatyki w biznesie

Instrukcja użytkownika

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

Modelowanie i analiza systemów informatycznych Spis treści

Języki programowania wysokiego poziomu. Ćwiczenia

Opis zmian funkcjonalności platformy E-GIODO wprowadzających możliwość podpisania wniosku bezpośrednio w oknie przeglądarki.

Twórcza szkoła dla twórczego ucznia Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Platforma e-learningowa

INŻYNIERIA OPROGRAMOWANIA. laboratorium

WOJSKOWA AKADEMIA TECHNICZNA

Numer i nazwa obszaru: Temat szkolenia:

Analiza i projektowanie obiektowe w UML Kod przedmiotu

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Instrukcja stosowania platformy internetowej "Szkoła praktycznej ekonomii - młodzieżowe miniprzedsiębiorstwo" - zakładka Nauczyciel

INFORMATYKA Pytania ogólne na egzamin dyplomowy

Praca Magisterska "System zdalnego składania ofert kupna i sprzedaży za pośrednictwem Internetu" AUTOR PROMOTOR

Rok akademicki: 2014/2015 Kod: CCB s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Instrukcja stosowania platformy internetowej "Szkoła praktycznej ekonomii - młodzieżowe miniprzedsiębiorstwo" - zakładka Nauczyciel

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

X-CONTROL -FUNKCJONALNOŚCI

REFERAT PRACY DYPLOMOWEJ

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Minimalna wspierana wersja systemu Android to zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

Modelowanie przypadków użycia. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Transkrypt:

Scientific Bulletin of Che lm Section of Mathematics and Computer Science No. 1/2008 APLIKACJA KLIENT-SERWER DO SPORZĄDZANIA I PRZEPROWADZANIA TESTÓW ONLINE - METODYKA ROZWOJU I OPISU APLIKACJI Z WYKORZYSTANIEM UML PIOTR BARAN, KAMIL BRZOZOWSKI, MAREK MĘDREK Państwowa Wyższa Szkoła Zawodowa w Chełmie Streszczenie. Artykuł prezentuje przykład wykorzystania języka UML do opisu budowy i zachowania systemów informatycznych. Przykładowe diagramy ilustrują proces realizacji kolejnych faz cyklu życia oprogramowania, począwszy od analizy aż do praktycznej implementacji systemu. 1. Wprowadzenie Rozwój technologii informatycznych i popularyzacja Internetu sprawiły, że typowe, stacjonarne aplikacje komputerowe coraz częściej nie są w stanie spełnić wielu podstawowych oczekiwań wymagającego użytkownika. Wykorzystanie technologii komunikacyjnych, związanych ze środowiskiem sieci komputerowych pozwala na znaczne wzbogacenie funkcjonalności aplikacji i warunkuje pracę grupową w systemie informatycznym. Typowym akademickim przykładem pracy grupowej jest kontrola wyników nauczania w postaci testów i sprawdzianów wspomaganych komputerowo i ocenianych w czasie rzeczywistym. Takie zastosowanie wymaga użycia bezpiecznej i wiarygodnej aplikacji umożliwiającej zaprojektowanie sprawdzianu, realizację testu w ściśle określonych ramach czasu oraz zapis wyników i ich wizualizację w formie graficznej. Przedmiotem projektu będącego tematem niniejszej publikacji jest aplikacja komputerowa dedykowana do zdalnego przeprowadzania i oceny testów wyboru. Główne założenia przedmiotowej aplikacji uwzględniają wsparcie dla wieloużytkownikowego środowiska pracy oraz możliwość ustandaryzowanej pracy z danymi niezależnie od dziedziny z jaką są związane. Szczegółowa specyfikacja systemu została opracowana w postaci odpowiednich diagramów zgodnych z językiem UML 2.0, które są zamieszczone w kolejnych częściach artykułu. Treść artykułu była prezentowana w czasie VII Konferencji Informatyki Stosowanej 30-31 maja 2008 r.) 7 (Chełm

8 PIOTR BARAN, KAMIL BRZOZOWSKI, MAREK MĘDREK 2. Analiza wymagań aplikacji 2.1. Wymagania funkcjonalne. Rysunek 1 przedstawia diagram wymagań funkcjonalnych projektowanej aplikacji. Diagram dzieli system na trzy uzupełniające się moduły, obejmujące funkcjonalności dostępne podczas redakcji testów, wypełniania testów oraz administracji użytkownikami systemu. Rysunek 1. Hierarchia wymagań funkcjonalnych systemu Na diagramie zostały oznaczone wszystkie przewidywane funkcjonalności projektowanego systemu oraz wzajemne, hierarchiczne powiązania pomiędzy nimi. Diagram wymagań funkcjonalnych nie jest częścią specyfikacji UML, jednak jego wykorzystanie w początkowej fazie projektowania aplikacji może stanowić doskonały wstęp do kolejnego kroku w dokumentacji systemu - diagramu przypadków użycia. 2.2. Diagram przypadków użycia. Diagramy przypadków użycia w języku UML to diagramy służące do modelowania funkcjonalności systemu. Ich głównym celem jest odwzorowanie funkcji projektowanego systemu w taki sposób, w jaki będą je widzieć jego użytkownicy. W metodykach opartych na UML przypadkom użycia przypisuje się szczególne znaczenie, jako środka napędzającego cały proces rozwoju systemu. Model przypadków użycia dostarcza bardzo abstrakcyjnego poglądu na system z pozycji aktorów, czyli klas użytkowników systemu [1]. Diagram przypadków użycia nie uwzględnia szczegółów implementacji, dzięki czemu pozwala wnioskować o systemie na odpowiednio ogólnym, abstrakcyjnym poziomie. Diagram ten stosowany jest we wczesnej fazie cyklu życia systemu i jego podstawowym zastosowaniem jest ułatwienie procesu formułowania jednoznacznych wymagań systemu. Rysunek 2 prezentuje diagram przypadków użycia projektowanego systemu. Na diagramie wydzielono trzy rodzaje użytkowników, którzy są symbolizowani przez ikony

APLIKACJA KLIENT-SERWER DO SPORZĄDZANIA I PRZEPROWADZANIA TESTÓW... 9 aktorów: Administrator, Nauczyciel oraz Użytkownik. Dwaj aktorzy: Nauczyciel i Użytkownik związani są relacją uogólnienia: wszystkie funkcjonalności dostępne dla Użytkownika są automatycznie dostępne dla Administratora, który oprócz tego posiada funkcje dedykowane dla własnej roli w systemie. W kolejnych częściach opracowania omówiono realizację kluczowych dla systemu przypadków użycia. Rysunek 2. Diagram przypadków użycia 2.2.1. Zarządzanie testami. Podstawowym przypadkiem użycia dla Nauczyciela jest zarządzanie testami. Realizacja tego przypadku użycia zawsze wymaga zalogowania do systemu - przypadki są połączone za pomocą relacji włączania symbolizowanej przez stereotyp «include». Pozostałe funkcje realizowane przez Nauczyciela są oznaczone przypadkami symbolizującymi: Tworzenie testu, Edycję testu oraz Usuwanie testu. Każdy z wyżej wymienionych przypadków rozszerza przypadek Zarządzanie testami, co jest oznaczone na rysunku za pomocą stereotypu «extend». Stereotyp ten oznacza, że przypadki rozszerzające mogą być zrealizowane zależnie od woli użytkownika - ich wystąpienie nie jest obligatoryjne. 2.2.2. Wypełnianie testu. Przypadek użycia Wypełnianie testu jest podstawowym przypadkiem dla aktora Użytkownik. Realizacja tego przypadku pociąga za sobą konieczność rejestracji użytkownika w systemie, która jest symbolizowana związkiem typu «include». Praktyczna realizacja tego przypadku dopuszcza dwa sposoby rozpoczęcia testu: wklejenie specjalnego linka do paska adresu przeglądarki internetowej lub wybór testu w trybie krok po kroku. Pierwszy sposób wymaga posiadania specjalnego linka lub kliknięcia w niego na innej stronie (np. stronie domowej nauczyciela). Student od razu jest przenoszony na stronę z formularzem rejestracji, zaś po jego wypełnieniu automatycznie

10 PIOTR BARAN, KAMIL BRZOZOWSKI, MAREK MĘDREK rozpoczyna się test. Drugi sposób (krok po kroku) to wybór nauczyciela i następnie testu z rozwijanych list typu select. W obu przypadkach obowiązkowe jest wpisanie hasła, jeśli nauczyciel zabezpieczył test. Na stronie testu na samej górze znajduje się tytuł, poniżej dane wprowadzone przez studenta, tekst wprowadzający (o ile nauczyciel taki wpisał), a dalej treść pytań. Pytania są ponumerowane. Jeżeli do pytania został dołączony plik graficzny, jest wyświetlany pod treścią pytania. Niżej wypisane są wszystkie warianty odpowiedzi, a obok każdej pola typu checkbox. Zadaniem wypełniającego jest zaznaczenie tych spośród pól, które jego zdaniem odpowiadają prawidłowym odpowiedziom. Na samym dole znajduje się przycisk Zakończ test. Po jego naciśnięciu dane o wypełnionych polach oraz dane studenta są zapisywane do bazy. Szczegółowy opis funkcjonalności systemu, zamieszczony powyżej, stanowi uszczegółowienie metody opisu z wykorzystaniem przypadków użycia - w dalszej części opracowania zostanie on zaprezentowany w postaci kolejnych diagramów UML. 2.2.3. Przeglądanie wyników i wizualizacja. Trzecim, kluczowym dla działania systemu, przypadkiem użycia jest Przeglądanie wyników. Przypadek ten związany jest z innymi funkcjami systemu dedykowanymi do obróbki wyników przeprowadzonych tekstów: drukowania, wizualizacji w postaci graficznej i zarządzania bazą danych wyników. System został zaprojektowany w taki sposób, że korzystanie z Przeglądania wyników wymaga autoryzacji w systemie - związek typu «include» z przypadkiem Logowanie. 2.2.4. Administracja. Głównymi zadaniami administratora aplikacji jest dodawanie uprawnień zarejestrowanym użytkownikom. Bez przyznanych, odpowiednich uprawnień Nauczyciel nie może tworzyć testów ani nimi zarządzać. Aplikacja ma charakter zamknięty - zainstalowana na serwerze np. uczelni, przeznaczona jest dla wykładowców i studentów danej jednostki i wymaga autoryzacji w systemie oraz posiada zaimplementowany mechanizm uprawnień warunkujący sposób korzystania z systemu. 3. Implementacja systemu W niniejszym rozdziale zawarte zostały informacje opisujące praktyczną realizację aplikacji - począwszy od technologii implementacji systemu, poprzez opis wyodrębnionych klas aż do diagramów opisujących zachowanie aplikacji. 3.1. Wykorzystane technologie informatyczne. Realizacja aplikacji opierała się na wykorzystaniu ogólnodostępnych, darmowych technologii programistycznych związanych ze skryptowym językiem programowania PHP. Repozytorium danych stanowiła relacyjna baza danych MySQL, zaś do wizualizacji graficznych wykorzystano bibliotekę graficzną GD. Rolę serwera aplikacji pełnił serwer Apacze z uruchomionym modułem PHP w wersji 5. 3.2. Struktura systemu - identyfikacja klas. Rysunek 3 przedstawia diagram klas systemu oraz związki pomiędzy klasami. Związki widoczne na diagramie zawierają przypadki specjalizacji - uogólnienia pomiędzy klasami Nauczyciel i Student a klasą Osoba. Ponadto pomiędzy klasami Administrator i Nauczyciel istnieje relacja agregacji, zaś pomiędzy klasami Wyniki, Wizualizacja a klasą Test zachodzi relacja agregacji zupełnej, kompozycji. Prawidłowa identyfikacja klas opisujących obiekty wchodzące w skład

APLIKACJA KLIENT-SERWER DO SPORZĄDZANIA I PRZEPROWADZANIA TESTÓW... 11 systemu jest jedną z pierwszych czynności związanych z kolejną fazą cyklu życia oprogramowania - implementacją. Sposób prezentacji związków pomiędzy klasami na rysunku 3 pozwala na określenie ról, które pełnią instancje klas w systemie oraz związków liczebności pomiędzy nimi. Rysunek 3. Diagram klas Diagram klas jest jednym z podstawowych diagramów struktury wchodzących w skład specyfikacji języka UML. 3.3. Zachowanie systemu - diagramy sekwencji. Oprócz opisu struktury systemu w fazie projektowania i analizy bardzo użyteczne są diagramy związane z opisem zachowania systemu. Do realizacji tego celu służą tzw. diagramy zachowania, których przykłady zilustrowane są na rysunkach 4i5.Rysunki te zawierają diagramy sekwencji, które opisują role i komunikacje instancji poszczególnych klas w realizacji przypadków użycia systemu. Rysunek 4 opisuje zachowanie systemu podczas realizacji przypadku Tworzenie testu, zaś rysunek 5 przypadek użycia Wypełnianie testu. Diagram sekwencji jest graficznym sposobem prezentacji scenariusza, który pokazuje interakcje pomiędzy obiektami w dziedzinie czasu. Diagramy sekwencji ustalają role obiektów oraz pomagają dostarczyć istotnych informacji do określenia zakresu odpowiedzialności klasy oraz wyznaczenia interfejsów komunikacyjnych pomiędzy klasami [2]. Na zamieszczonych diagramach sekwencji strzałki symbolizują komunikaty, które są przesyłane pomiędzy klasami - w praktycznej realizacji są one ściśle związane z metodami poszczególnych klas. Ikony reprezentujące klasy są zróżnicowane ze względu na rodzaje klas: klasa interfejsu to GUI, klasy kontroli to Aplikacja oraz Test, zaś klasa MySQL jest związana z systemem przechowywania danych.

12 PIOTR BARAN, KAMIL BRZOZOWSKI, MAREK MĘDREK 4. Testowanie systemu i uwagi ogólne Opisywana aplikacja została zrealizowana w architekturze klient-serwer opartej na technologii PHP i bazie danych MySQL. Pobieranie, zapisywanie i analiza danych odbywa się na serwerze, po czym wyniki tych operacji są generowane jako kod HTML, wysyłane do komputera-klienta i wyświetlane. Dzięki zastosowaniu takiej technologii zredukowane zostały wymagania co do mocy obliczeniowych komputera użytkownika - rolę interfejsu pełni dowolna przeglądarka stron WWW. Architektura taka ma szereg zalet, z których najważniejsze to wieloplatformowość aplikacji oraz duża dostępność systemu. Wadami takiej architektury jest mniejsza wydajność języka skryptowego PHP niż języków kompilowanych oraz całkowite uzależnienie działania aplikacji od serwera - gdy serwer nie działa, dostęp do danych jest niemożliwy, a zbyt duża ilość podłączonych klientów powoduje przeciążenie serwera i spowolnienie działania. Rysunek 4. Diagram sekwencji dla przypadku użycia: Tworzenie testu

APLIKACJA KLIENT-SERWER DO SPORZĄDZANIA I PRZEPROWADZANIA TESTÓW... 13 Rysunek 5. Diagram sekwencji ilustrujący przeprowadzanie testu 5. Podsumowanie W niniejszym opracowaniu zaprezentowano metodologię opisu procesu tworzenia aplikacji typu klient-serwer. Wybrana technika opisu poszczególnych faz cyklu życia systemu jest obecnie szybko rozwijającym się standardem - kolejne wersje języka UML czynią go coraz bardziej przyjaznym dla analityków, programistów i zamawiających systemy informatyczne. Współpraca ww. osób podczas tworzenia systemu jest konieczna i stanowi bardzo często jeden z najtrudniejszych aspektów powstawania systemu informatycznego. Z tego punktu widzenia język UML jest bardzo wartościowym narzędziem, którego znajomość staje się obligatoryjna dla szerokiego kręgu specjalistów z dziedziny IT.

14 PIOTR BARAN, KAMIL BRZOZOWSKI, MAREK MĘDREK Bibliografia [1] Davis M., Phillips J., PHP i MySQL. Wprowadzenie, Wydawnictwo Helion, 2007. [2] Naramore E., Gerner J., Le Scouarnec Y., Stolz J., Glass M., PHP5, Apache i MySQL od podstaw, Wydawnictwo Helion, 2005. CLIENT-SERVER APPLICATION FOR ONLINE TESTING - MODELLING CONCEPTS AND DESIGN TECHNIQUES WITH UML DIAGRAMS PIOTR BARAN, KAMIL BRZOZOWSKI, MAREK MĘDREK Abstract. This paper describes the example of the usage of unified modeling language (UML) for technical description of and functioning computer system. Exemplary diagrams represent the behavior and structure of modeled computer system on different stages of the software life cycle, starting with the analysis to practical system implementation.