Specyfikacja implementacyjna aplikacji serwerowej



Podobne dokumenty
Specyfikacja implementacyjna aplikacji mobilnej

Specyfikacja funkcjonalna

Plan zarządzania projektem

PHP: bazy danych, SQL, AJAX i JSON

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Szczegółowy opis zamówienia:

Specyfikacja techniczna. mprofi Interfejs API

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

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

REFERAT O PRACY DYPLOMOWEJ

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

Projektowani Systemów Inf.

REFERAT O PRACY DYPLOMOWEJ

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Aplikacje Internetowe

Bazy danych i strony WWW

SYSTEMY ZARZĄDZANIA TREŚCIĄ WORDPRESS

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

REFERAT O PRACY DYPLOMOWEJ

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

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

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Aplikacje Internetowe

WYMAGANIA EDUKACYJNE. Witryny i Aplikacje Internetowe klasa I

Wybrane działy Informatyki Stosowanej

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida

Dodatkowo, w przypadku modułu dotyczącego integracji z systemami partnerów, Wykonawca będzie przeprowadzał testy integracyjne.

Ruby i Ruby on Rails. Mateusz Drożdżyński

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2019 CZĘŚĆ PRAKTYCZNA

Wykład 5: PHP: praca z bazą danych MySQL

Nazwa kwalifikacji: Tworzenie aplikacji internetowych i baz danych oraz administrowanie bazami Oznaczenie kwalifikacji: E.14 Numer zadania: 01

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki Promotor dr inż. Paweł Figat

Smarty PHP. Leksykon kieszonkowy

Sklep Internetowy (HTML/xHTML, CSS, JavaScript, PHP, MySQL)

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

Wprowadzenie do Doctrine ORM

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner

Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS. (c) 2008 Grupa SPOT SJ

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

KatMPBSoft - 1 -

Wybrane działy Informatyki Stosowanej

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

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

Konspekt pracy inżynierskiej

OPIS PRZEDMIOTU ZAMÓWIENIA

Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE

REFERAT PRACY DYPLOMOWEJ

Dokumentacja panelu Klienta

Tomasz Grześ. Systemy zarządzania treścią, cz. II

Spis treści. O autorze 13 Przedmowa 15 Wprowadzenie 17

PHP i MySQL dla każdego / Marcin Lis. Wyd. 3. Gliwice, cop Spis treści

Nowoczesne projektowanie aplikacji intrnetowych - opis przedmiotu

Dokumentacja projektu QUAIKE Architektura oprogramowania

Generated by Foxit PDF Creator Foxit Software For evaluation only. System Szablonów

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2019 CZĘŚĆ PRAKTYCZNA

Specjalnościowy Obowiązkowy Polski Semestr 5

Dokumentacja panelu Klienta

Bezpieczeństwo systemów komputerowych. Java i JavaScript. Java i JavaScript. Java - historia

Projektowanie aplikacji internetowych Tworzenie własnego portalu Internetowego przy użyciu oprogramowania SharePoint Services

Czym jest jpalio? jpalio jpalio jpalio jpalio jpalio jpalio jpalio jpalio

Programowanie. Dodatek - uzupełnienie wiadomości. mgr inż. Krzysztof Szwarc. Sosnowiec,

Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

Aplikacja Mobilny USOS Moduły: O uczelni, Aktualności. Biuro Prasowe UW

PRZEWODNIK PO PRZEDMIOCIE

Referat Pracy Dyplomowej

Dokumentacja interfejsu HTTPD. Platforma BSMS.PL Instrukcja podłączenia po przez http

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

System generacji raportów

PHP zaawansowane programowanie

Lokalna kopia bioinformatycznego serwera obliczeniowego jako wysokowydajne środowisko obliczeniowe

JDBC w LoXiMie. Interfejs Java Database Connectivity dla systemu LoXiM. Adam Michalik 2008

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2

MAMP: Można to pobrać i zainstalować z XAMPP: Można go pobrać i zainstalować z

Imię, nazwisko i tytuł/stopień KOORDYNATORA (-ÓW) kursu/przedmiotu zatwierdzającego protokoły w systemie USOS Dr Adam Naumowicz

1 90 min. Aplikacje WWW Harmonogram spotkań, semestr zimowy (studia stacjonarne)

Multi-projekt z przedmiotów Inżynieria oprogramowania, Współczesne bazy danych i Programowanie w języku Java

Kierunkowy Wybieralny Polski Semestr V

Ełk, dn r. DOMSET Marcin Brochacki. ul. Wojska Polskiego 43 lok. 3, Ełk. Nip ZAPYTANIE OFERTOWE

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

Założenia projektowe dla zapytania ofertowego EAK_ZA_01/2015

Specyfikacja API Runtime BAS 3.0

Języki programowania wysokiego poziomu. Ćwiczenia

Przewodnik Szybki start

Programowanie dla ios

Technologia informacyjna

Odseparowanie kodu PHP i warstwy prezentacji od dawna było celem

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

Plan zarządzania ryzykiem

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Przygotowanie platformy projektowo-programowej

Dokument Detaliczny Projektu

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Transkrypt:

Projekt: System wspomagania osób studiujących Strona: 1 / 7 Opracowali: Zatwierdzili: Spis treści Damian Głuchowski Krzysztof Krajewski Krzysztof Krajewski dr inż. Sławomir Skoneczny Spis treści... 1 1. Wprowadzenie... 2 2. Ustalenia wstępne... 2 3. Format danych... 2 3.1. Rodzaj przechowywanych danych... 2 3.2. Baza danych... 3 4. Operacje dostępne dla aplikacji klienckiej... 4 4.1. Format danych... 4 4.2. Lista operacji... 4 5. Budowa aplikacji... 5 5.1. Zastosowane biblioteki... 6 5.2. Model... 6 5.3. Kontroler... 6 5.4. Widok... 7 5.5. Klasy pomocnicze... 7 Historia wersji... 7 Strona 1 z 7

Projekt: System wspomagania osób studiujących Strona: 2 / 7 1. Wprowadzenie Celem projektu jest stworzenie w języku PHP, która będzie udostępniała dane aplikacji mobilnej oraz umożliwiała zarządzanie nimi poprzez przeglądarkę WWW. 2. Ustalenia wstępne Język programowania: PHP 5.3.8 Format udostępnianych danych: Baza danych: JSON MySQL Środowisko programistyczne (IDE): Netbeans 7.0 Sposób współpracy i wersjonowania: Subversion (SVN) 3. Format danych 3.1. Rodzaj przechowywanych danych Aplikacja serwerowa będzie przechowywała jedynie dane dostępne dla wszystkich, takie jak: zbliżających się ciekawe wydarzenia (imprezy, koncerty, filmy) plan zajęd dla różnych uczelni, kierunków i semestrów zmiany harmonogramu (święta, zamiany dni jak np. czwartek zamiast wtorku) Oznacza to, że po stronie serwera nie będą przechowywane dane konkretnego studenta. Dane na sewerze, oprócz dodawania propozycji wydarzeo, będą mogły byd edytowane jedynie przez administratorów systemu. Strona 2 z 7

Projekt: System wspomagania osób studiujących Strona: 3 / 7 3.2. Baza danych Projekt bazy danych: Dane z tabel wydarzenia, przedmioty, zajęcia, egzaminy i harmonogram mogą byd pobrane przez aplikacje mobilną. Tabela użytkownicy zawiera dane logowania administratorów systemu, którzy będą mogli edytowad dane wg posiadanych uprawnieo. Tabele wydarzenia_rodzaje, dni_rodzaje, zajecia_rodzaje, powtarzalność będą zawierały te same dane na serwerze i aplikacji mobilnej. Strona 3 z 7

Projekt: System wspomagania osób studiujących Strona: 4 / 7 4. Operacje dostępne dla aplikacji klienckiej 4.1. Format danych Dane przesyłane będą w formacie JSON. Jest to lekki format wymiany danych komputerowych, dzięki czemu nie obciąża dodatkowo transferu. Dla porównania XML wymaga zastosowania znaczników i specjalnego formatu danych, co znacznie zwiększa ilośd przesyłanych danych i wymaga obliczeo na ich upakowanie. 4.2. Lista operacji 1) Pobranie wydarzeo Adres: http://asystentstudenta.x25.pl/json/pobierzwydarzenia Dane wejściowe *POST+: brak Dane wyjściowe: tablica obiektów zgodnych z tabelą wydarzenia Strona 4 z 7

Projekt: System wspomagania osób studiujących Strona: 5 / 7 2) Pobranie listy dostępnych planów zajęd Adres: http://asystentstudenta.x25.pl/json/pobierzdostepneplany Dane wejściowe *POST+: brak Dane wyjściowe: tablica tablic asocjacyjnych zawierających: id z tabeli uczelenie_semestry uczelnia - nazwa uczelni z tabeli uczelnie kierunek nazwa kierunki z tabeli uczelnie_kierunki semestr nazwa semestru z tabeli uczelenie_semestry 3) Pobranie przedmiotów z danego planu zajęd Adres: http://asystentstudenta.x25.pl/json/pobierzplanzajec Dane wejściowe *POST+: id identyfikator semestru z poprzedniej operacji Dane wyjściowe: tablica obiektów zawierających wszystkie atrybuty z tabeli przedmioty oraz: zajecia tablica obiektów zgodnych z tabelą zajecia egzaminy tablica obiektów zgodnych z tabelą egzaminy 4) Pobranie harmonogramu Adres: http://asystentstudenta.x25.pl/json/pobierzharmonogram Dane wejściowe: brak Dane wyjściowe: tablica obiektów zgodna z tabelą harmonogram 5. Budowa aplikacji Aplikacja zostanie zbudowana w oparciu o wzorzec MVC (model widok kontroler). Dzięki takiemu podziałowi w łatwy sposób możliwa będzie jej rozbudowa i konserwacja. Strona 5 z 7

Projekt: System wspomagania osób studiujących Strona: 6 / 7 5.1. Zastosowane biblioteki W projekcie zostaną użyte poniższe biblioteki: smarty - obiektowa biblioteka skryptów służąca do tworzenia szablonów dla aplikacji PHP php-activerecord - biblioteka do mapowania obiektowo-relacyjnego danych z bazy SQL (ORM) 5.2. Model Klasy modelu, czyli klasy przechowujące dane pobrane z bazy MySQL zostaną zbudowane z oparciu o wzorzec projektowy Active Record. Wyeliminuje to błędy związane z zapytaniami SQL i zwiększy przejrzystośd kodu. Biblioteka php-activerecord zabezpiecza również przed włamaniami typu SQL injection i umożliwia uniwersalne połączenie z różnymi rodzajami baz SQL. Wydarzenia, WydarzeniaRodzaje obsługuje wydarzenia dodawane do kalendarza Przedmioty przedmioty w planie zajęd studenta Egzaminy, PlanZaliczen klasy dotyczące planu zaliczeo i egzaminów Zajecia, ZajeciaRodzaje klasy przechowujące plan zajęd Harmonogram zmiany w harmonogramie roku (np. święta, zamiany dni, dni wolne) Uzytkownicy, UzytkownicyStatusy autoryzacja użytkowników i ich uprawnienia 5.3. Kontroler Klasy kontrolerów będą odpowiedzialne za logikę aplikacji, czyli odbieranie żądao, ich przetwarzanie i przesyłanie w formacie JSON lub wysyłanie do widoku. basecontroller kontroler bazowy z którego dziedziczone będą funkcje m.in. wyświetlania szablonów, autoryzacji użytkowników kalendarzcontroller zarządzanie wydarzeniami i zmianami harmonogramu Strona 6 z 7

Projekt: System wspomagania osób studiujących Strona: 7 / 7 uzytkownicycontroller autoryzacja i zarządzanie użytkownikami systemu planzajeccontroller zarządzanie planem zajęd jsoncontroller przesyłanie danych do klienta 5.4. Widok Widok będzie realizowany przez bibliotekę smarty. Pozwala ona rozdzielid wygląd aplikacji od logiki lub modelu. Umożliwia łatwą zmianę wyglądu i jest bardzo szybka w projektowaniu. Pozwala do prostego pliku HTML wstawid dane przesyłane z kontrolera. Oczywiście widok będzie wykorzystywany tylko do panelu administracyjnego. 5.5. Klasy pomocnicze Aplikacja główna klasa uruchomieniowa Config klasa przechowująca ustawienia Klasy bibliotek smarty i activerecord Historia wersji Data Autor Zakres Zatwierdził Wersja 23-10-2011 KK Pierwsza wersja A1 24-10-2011 GD Poprawki językowe / literówki A2 KK Wstawiony projekt bazy i opis operacji KK A3 Strona 7 z 7